From 017ce7966c22b266e236dab396e05008428ef089 Mon Sep 17 00:00:00 2001 From: Carmi Grushko Date: Mon, 28 Dec 2015 22:37:41 +0000 Subject: Add convenience methods to register a proto compile action. -- MOS_MIGRATED_REVID=111032954 --- .../build/lib/rules/proto/ProtoCompileAction.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src') diff --git a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileAction.java b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileAction.java index cb7243bbb4..ce5a6d3c6e 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileAction.java +++ b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileAction.java @@ -190,6 +190,16 @@ public final class ProtoCompileAction { } } + /** + * A convenience method to register an action, if it's present. + * @param protoCompileActionOptional + */ + public static void registerAction(Optional protoCompileActionOptional) { + if (protoCompileActionOptional.isPresent()) { + protoCompileActionOptional.get().registerAction(); + } + } + public ProtoCompileAction( RuleContext ruleContext, SupportData supportData, @@ -209,6 +219,14 @@ public final class ProtoCompileAction { this.compilerTarget = compilerTarget; } + /** + * Registers a proto compile action with the RuleContext. + */ + public void registerAction() { + SpawnAction.Builder action = createAction(protoCompileCommandLine().build()); + ruleContext.registerAction(action.build(ruleContext)); + } + public SpawnAction.Builder createAction(CommandLine commandLine) { SpawnAction.Builder builder = new SpawnAction.Builder().addTransitiveInputs(supportData.getTransitiveImports()); -- cgit v1.2.3