aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java
diff options
context:
space:
mode:
authorGravatar elenairina <elenairina@google.com>2017-09-19 13:20:17 +0200
committerGravatar László Csomor <laszlocsomor@google.com>2017-09-19 14:45:01 +0200
commit655a529db693e0d3c89a68ca81fc4858147b90f0 (patch)
treeb6b266a4076e8ea7ebc15e145db36a64b3bfa5a4 /src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java
parentf20ae6b20816df6a393c6e8352befba9b158fdf4 (diff)
Expose full compile time jars in Skylark
There are several use cases for using full compile time jars instead of ijars (scala macros cannot use ijar, kotlin dependencies, etc). This change allows creating a provider with or without creating interface jars for compile time, exposing the right full/interface jars on target[JavaInfo].compile_jars and target[JavaInfo].full_compile_jars. For more details see https://github.com/bazelbuild/bazel/issues/3528. Fixes #3528 RELNOTES: java_common.create_provider is now supported with creating ijars by default. This introduces incompatibilities for existing users. Please set use_ijar=False if you don't want to use ijars. PiperOrigin-RevId: 169222793
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java
index be6d6348cd..8a8ccc8ec1 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java
@@ -410,6 +410,13 @@ public class SkylarkActionFactory implements SkylarkValue {
envUnchecked, executionRequirementsUnchecked, inputManifestsUnchecked, builder);
}
+ /**
+ * Builds and registers a spawn action on the rule context.
+ */
+ public void buildAndRegisterSpawnAction(SpawnAction.Builder action) {
+ ruleContext.registerAction(action.build(ruleContext));
+ }
+
@SkylarkCallable(
name = "run_shell",
doc = "Creates an action that runs a shell command.",