aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc
diff options
context:
space:
mode:
authorGravatar Sergio Campama <kaipi@google.com>2016-09-19 21:08:50 +0000
committerGravatar Laszlo Csomor <laszlocsomor@google.com>2016-09-20 06:46:41 +0000
commit01a9bd1579b0a6155ee9364b55f2a3b868f8d8bf (patch)
tree9bbc7e484ea52c6a374b1aee525c08e728830018 /src/main/java/com/google/devtools/build/lib/rules/objc
parent6e7c3a46ae0fd84369664636407d406368318869 (diff)
Enable the generation of Objc protos in whichever host machine it is running.
-- MOS_MIGRATED_REVID=133629682
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibraryRule.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ObjcRuleClasses.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ProtobufSupport.java6
3 files changed, 7 insertions, 7 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibraryRule.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibraryRule.java
index 2ed8d58eaf..8bf1c8f6aa 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibraryRule.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibraryRule.java
@@ -106,7 +106,7 @@ public class ObjcProtoLibraryRule implements RuleDefinition {
.cfg(HOST))
.add(
attr(PROTO_COMPILER_ATTR, LABEL)
- .allowedFileTypes(FileType.of(".py"))
+ .allowedFileTypes(FileType.of(".py"), FileType.of(".sh"))
.cfg(HOST)
.singleArtifact()
.value(
@@ -114,7 +114,7 @@ public class ObjcProtoLibraryRule implements RuleDefinition {
@Override
public Object getDefault(AttributeMap rule) {
return rule.isAttributeValueExplicitlySpecified(PORTABLE_PROTO_FILTERS_ATTR)
- ? env.getToolsLabel("//tools/objc:protobuf_compiler")
+ ? env.getToolsLabel("//tools/objc:protobuf_compiler_wrapper")
: env.getToolsLabel("//tools/objc:compile_protos");
}
}))
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcRuleClasses.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcRuleClasses.java
index 103fe54532..54edc474ed 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcRuleClasses.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcRuleClasses.java
@@ -882,10 +882,10 @@ public class ObjcRuleClasses {
.add(attr("$dummy_lib", LABEL).value(env.getToolsLabel("//tools/objc:dummy_lib")))
.add(
attr(PROTO_COMPILER_ATTR, LABEL)
- .allowedFileTypes(FileType.of(".py"))
+ .allowedFileTypes(FileType.of(".sh"))
.cfg(HOST)
.singleArtifact()
- .value(env.getToolsLabel("//tools/objc:protobuf_compiler")))
+ .value(env.getToolsLabel("//tools/objc:protobuf_compiler_wrapper")))
.add(
attr(PROTO_COMPILER_SUPPORT_ATTR, LABEL)
.legacyAllowAnyFileType()
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ProtobufSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ProtobufSupport.java
index 8c4e49671f..f17e6f6c74 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ProtobufSupport.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ProtobufSupport.java
@@ -30,6 +30,7 @@ import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode;
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.FileWriteAction;
+import com.google.devtools.build.lib.analysis.actions.SpawnAction;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.cmdline.LabelSyntaxException;
@@ -480,7 +481,7 @@ final class ProtobufSupport {
false));
ruleContext.registerAction(
- ObjcRuleClasses.spawnOnDarwinActionBuilder()
+ new SpawnAction.Builder()
.setMnemonic("GenObjcBundledProtos")
.addInput(attributes.getProtoCompiler())
.addInputs(attributes.getProtoCompilerSupport())
@@ -489,7 +490,7 @@ final class ProtobufSupport {
.addInputs(inputProtos)
.addOutputs(getGeneratedProtoOutputs(outputProtos, ".pbobjc.h"))
.addOutputs(getGeneratedProtoOutputs(outputProtos, ".pbobjc.m"))
- .setExecutable(new PathFragment("/usr/bin/python"))
+ .setExecutable(attributes.getProtoCompiler().getExecPath())
.setCommandLine(getGenerationCommandLine(protoInputsFile))
.build(ruleContext));
}
@@ -510,7 +511,6 @@ final class ProtobufSupport {
private CustomCommandLine getGenerationCommandLine(Artifact protoInputsFile) {
return new CustomCommandLine.Builder()
- .add(attributes.getProtoCompiler().getExecPathString())
.add("--input-file-list")
.add(protoInputsFile.getExecPathString())
.add("--output-dir")