aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Carmi Grushko <carmi@google.com>2015-12-28 22:37:41 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2015-12-30 14:44:03 +0000
commit017ce7966c22b266e236dab396e05008428ef089 (patch)
treed0311226fa8b7ec5adf1bf5ddbc5558157573092 /src
parent4dc5ecbf664dd5f574d8d2f4d37bd99af8d16c99 (diff)
Add convenience methods to register a proto compile action.
-- MOS_MIGRATED_REVID=111032954
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileAction.java18
1 files changed, 18 insertions, 0 deletions
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<ProtoCompileAction> 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());