aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/proto
diff options
context:
space:
mode:
authorGravatar tomlu <tomlu@google.com>2017-09-14 23:24:06 +0200
committerGravatar Philipp Wollermann <philwo@google.com>2017-09-15 11:29:04 +0200
commit7df9198a771ef2eabef396dcb7a21e6cbb3cabb0 (patch)
treee8929823a7012639db9a560589b89beacecdb757 /src/main/java/com/google/devtools/build/lib/rules/proto
parent2e7b804d29f3c1fa979d8a226d62d970dada64e2 (diff)
Support multiple command lines / params files in SpawnAction.
This is necessary for the upcoming Skylark implementation of param files. PiperOrigin-RevId: 168744486
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/proto')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java
index 265b7d6e31..6022fc4223 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java
@@ -28,7 +28,7 @@ import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.devtools.build.lib.actions.Action;
import com.google.devtools.build.lib.actions.Artifact;
-import com.google.devtools.build.lib.actions.ParameterFile;
+import com.google.devtools.build.lib.actions.ParameterFile.ParameterFileType;
import com.google.devtools.build.lib.actions.ResourceSet;
import com.google.devtools.build.lib.analysis.FilesToRunProvider;
import com.google.devtools.build.lib.analysis.MakeVariableExpander;
@@ -37,6 +37,7 @@ import com.google.devtools.build.lib.analysis.RuleContext;
import com.google.devtools.build.lib.analysis.actions.CustomCommandLine;
import com.google.devtools.build.lib.analysis.actions.CustomCommandLine.VectorArg;
import com.google.devtools.build.lib.analysis.actions.FileWriteAction;
+import com.google.devtools.build.lib.analysis.actions.ParamFileInfo;
import com.google.devtools.build.lib.analysis.actions.SpawnAction;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
@@ -251,12 +252,13 @@ public class ProtoCompileActionBuilder {
}
result
- .useParameterFile(ParameterFile.ParameterFileType.UNQUOTED)
.addOutputs(outputs)
.setResources(GENPROTO_RESOURCE_SET)
.useDefaultShellEnvironment()
.setExecutable(compilerTarget)
- .setCommandLine(createProtoCompilerCommandLine().build())
+ .addCommandLine(
+ createProtoCompilerCommandLine().build(),
+ ParamFileInfo.builder(ParameterFileType.UNQUOTED).build())
.setProgressMessage("Generating %s proto_library %s", language, ruleContext.getLabel())
.setMnemonic(MNEMONIC);
@@ -455,12 +457,11 @@ public class ProtoCompileActionBuilder {
}
result
- .useParameterFile(ParameterFile.ParameterFileType.UNQUOTED)
.addOutputs(outputs)
.setResources(GENPROTO_RESOURCE_SET)
.useDefaultShellEnvironment()
.setExecutable(compilerTarget)
- .setCommandLine(
+ .addCommandLine(
createCommandLineFromToolchains(
toolchainInvocations,
protosToCompile,
@@ -468,7 +469,8 @@ public class ProtoCompileActionBuilder {
areDepsStrict(ruleContext) ? protosInDirectDeps : null,
ruleLabel,
allowServices,
- ruleContext.getFragment(ProtoConfiguration.class).protocOpts()))
+ ruleContext.getFragment(ProtoConfiguration.class).protocOpts()),
+ ParamFileInfo.builder(ParameterFileType.UNQUOTED).build())
.setProgressMessage("Generating %s proto_library %s", flavorName, ruleContext.getLabel())
.setMnemonic(MNEMONIC);