diff options
author | tomlu <tomlu@google.com> | 2017-09-14 23:24:06 +0200 |
---|---|---|
committer | Philipp Wollermann <philwo@google.com> | 2017-09-15 11:29:04 +0200 |
commit | 7df9198a771ef2eabef396dcb7a21e6cbb3cabb0 (patch) | |
tree | e8929823a7012639db9a560589b89beacecdb757 /src/main/java/com/google/devtools/build/lib/rules/proto | |
parent | 2e7b804d29f3c1fa979d8a226d62d970dada64e2 (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.java | 14 |
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); |