diff options
author | Ulf Adams <ulfjack@google.com> | 2015-08-21 11:03:37 +0000 |
---|---|---|
committer | Han-Wen Nienhuys <hanwen@google.com> | 2015-08-24 14:01:43 +0000 |
commit | c8a8c2a3be4aa473affd565311916953db27ec9b (patch) | |
tree | 03543b97fb0f16c6e2d5e4e1f97d8e622de70020 /src/main/java/com/google/devtools/build/lib/rules/objc | |
parent | 6a4d36a4300a0b0e5c2acfece66b92bf0034f395 (diff) |
Prefer RuleContext.getFragment over BuildConfiguration.getFragment.
This improves the coverage of the legality check in RuleContext.getFragment.
--
MOS_MIGRATED_REVID=101208822
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc')
4 files changed, 6 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/IosFrameworkBinaryRule.java b/src/main/java/com/google/devtools/build/lib/rules/objc/IosFrameworkBinaryRule.java index af8f8b07bf..f331abae08 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/IosFrameworkBinaryRule.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/IosFrameworkBinaryRule.java @@ -19,6 +19,7 @@ import com.google.devtools.build.lib.analysis.RuleDefinition; import com.google.devtools.build.lib.analysis.RuleDefinitionEnvironment; import com.google.devtools.build.lib.packages.RuleClass; import com.google.devtools.build.lib.packages.RuleClass.Builder; +import com.google.devtools.build.lib.rules.java.J2ObjcConfiguration; /** * Rule definition for ios_framework_binary. @@ -28,6 +29,7 @@ public class IosFrameworkBinaryRule implements RuleDefinition { @Override public RuleClass build(Builder builder, RuleDefinitionEnvironment environment) { return builder + .requiresConfigurationFragments(ObjcConfiguration.class, J2ObjcConfiguration.class) /*<!-- #BLAZE_RULE(ios_framework_binary).IMPLICIT_OUTPUTS --> <ul> <li><code><var>name</var>.xcodeproj/project.pbxproj</code>: An Xcode project file which diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/IosFrameworkRule.java b/src/main/java/com/google/devtools/build/lib/rules/objc/IosFrameworkRule.java index 766b86ca17..838c11344b 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/IosFrameworkRule.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/IosFrameworkRule.java @@ -33,6 +33,7 @@ public class IosFrameworkRule implements RuleDefinition { @Override public RuleClass build(Builder builder, RuleDefinitionEnvironment environment) { return builder + .requiresConfigurationFragments(ObjcConfiguration.class) // TODO(blaze-team): IPA is not right here, should probably be just zipped framework bundle. .setImplicitOutputsFunction( ImplicitOutputsFunction.fromFunctions(ReleaseBundlingSupport.IPA, XcodeSupport.PBXPROJ)) diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibrary.java index ce1709a5ab..4c404d8595 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibrary.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibrary.java @@ -163,7 +163,7 @@ public class ObjcProtoLibrary implements RuleConfiguredTargetFactory { boolean libPerProtoIncludes = ruleContext.attributes().get( ObjcProtoLibraryRule.PER_PROTO_INCLUDES, Type.BOOLEAN); - if (ruleContext.getConfiguration().getFragment(ObjcConfiguration.class).perProtoIncludes() + if (ruleContext.getFragment(ObjcConfiguration.class).perProtoIncludes() || libPerProtoIncludes) { searchPathEntriesBuilder .add(generatedProtoDir) 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 ec3f27950b..60e4d2956e 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 @@ -712,7 +712,7 @@ public class ObjcRuleClasses { .add(attr(":dumpsyms", LABEL) .cfg(HOST) .singleArtifact() - .value(new LateBoundLabel<BuildConfiguration>() { + .value(new LateBoundLabel<BuildConfiguration>(ObjcConfiguration.class) { @Override public Label getDefault(Rule rule, BuildConfiguration configuration) { if (!configuration.getFragment(ObjcConfiguration.class).generateDebugSymbols()) { @@ -892,7 +892,7 @@ public class ObjcRuleClasses { .add(attr(":default_provisioning_profile", LABEL) .singleArtifact() .allowedFileTypes(FileType.of(".mobileprovision")) - .value(new LateBoundLabel<BuildConfiguration>() { + .value(new LateBoundLabel<BuildConfiguration>(ObjcConfiguration.class) { @Override public Label getDefault(Rule rule, BuildConfiguration configuration) { ObjcConfiguration objcConfiguration = |