diff options
author | 2015-06-24 18:42:41 +0000 | |
---|---|---|
committer | 2015-06-25 06:47:40 +0000 | |
commit | dfde4e5cd86f00c30bdedeed020844c861658b53 (patch) | |
tree | c3cc9eac5950b6f0e8f0ce99cc58faf8ef6e8cb8 | |
parent | 78f2e94bbfa69c42bf58614da5df5d0bd51f8ab6 (diff) |
experimental_ios_test: Support data dependencies
This CL makes me so unhappy. As a follow up, I may rename BaseRule and/or RuleBase. Because seriously, you guys, naming.
--
MOS_MIGRATED_REVID=96795834
3 files changed, 18 insertions, 6 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ExperimentalIosTest.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ExperimentalIosTest.java index cad88fe005..069963c298 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/ExperimentalIosTest.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ExperimentalIosTest.java @@ -38,7 +38,8 @@ public final class ExperimentalIosTest extends IosTest { public ConfiguredTarget create(RuleContext ruleContext, ObjcCommon common, XcodeProvider xcodeProvider, NestedSet<Artifact> filesToBuild) throws InterruptedException { - Runfiles.Builder runfilesBuilder = new Runfiles.Builder(); + Runfiles.Builder runfilesBuilder = new Runfiles.Builder() + .addRunfiles(ruleContext, RunfilesProvider.DEFAULT_RUNFILES); NestedSetBuilder<Artifact> filesToBuildBuilder = NestedSetBuilder.<Artifact>stableOrder(); filesToBuildBuilder.addTransitive(filesToBuild); 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 c70a25e735..2163ae0d4a 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 @@ -47,7 +47,7 @@ public class ObjcProtoLibraryRule implements RuleDefinition { The directly depended upon proto_library rules. ${SYNOPSIS} <!-- #END_BLAZE_RULE.ATTRIBUTE -->*/ - .add(attr("deps", LABEL_LIST) + .override(attr("deps", LABEL_LIST) .allowedRuleClasses("proto_library", "filegroup") .legacyAllowAnyFileType()) /* <!-- #BLAZE_RULE(objc_proto_library).ATTRIBUTE(options_file) --> @@ -85,7 +85,9 @@ public class ObjcProtoLibraryRule implements RuleDefinition { return RuleDefinition.Metadata.builder() .name("objc_proto_library") .factoryClass(ObjcProtoLibrary.class) - .ancestors(BaseRuleClasses.BaseRule.class, ObjcRuleClasses.ObjcProtoRule.class) + .ancestors( + BaseRuleClasses.RuleBase.class, + ObjcRuleClasses.ObjcProtoRule.class) .build(); } } 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 5207f1ecf0..88d0049e1e 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 @@ -28,6 +28,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.devtools.build.lib.actions.Artifact; +import com.google.devtools.build.lib.analysis.BaseRuleClasses; import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode; import com.google.devtools.build.lib.analysis.RuleConfiguredTargetBuilder; import com.google.devtools.build.lib.analysis.RuleContext; @@ -597,7 +598,7 @@ public class ObjcRuleClasses { The list of targets that are linked together to form the final bundle. ${SYNOPSIS} <!-- #END_BLAZE_RULE.ATTRIBUTE -->*/ - .add(attr("deps", LABEL_LIST) + .override(attr("deps", LABEL_LIST) .direct_compile_time_input() .allowedRuleClasses(ALLOWED_DEPS_RULE_CLASSES) .allowedFileTypes()) @@ -630,7 +631,11 @@ public class ObjcRuleClasses { return RuleDefinition.Metadata.builder() .name("$objc_compiling_rule") .type(RuleClassType.ABSTRACT) - .ancestors(CompileDependencyRule.class, OptionsRule.class, CoptsRule.class) + .ancestors( + BaseRuleClasses.RuleBase.class, + CompileDependencyRule.class, + OptionsRule.class, + CoptsRule.class) .build(); } } @@ -808,7 +813,11 @@ public class ObjcRuleClasses { .name("$ios_test_base_rule") .type(RuleClassType.ABSTRACT) .ancestors( - ReleaseBundlingRule.class, LinkingRule.class, XcodegenRule.class, SimulatorRule.class) + CompilingRule.class, + ReleaseBundlingRule.class, + LinkingRule.class, + XcodegenRule.class, + SimulatorRule.class) .build(); } } |