aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc
diff options
context:
space:
mode:
authorGravatar Ulf Adams <ulfjack@google.com>2015-08-21 11:03:37 +0000
committerGravatar Han-Wen Nienhuys <hanwen@google.com>2015-08-24 14:01:43 +0000
commitc8a8c2a3be4aa473affd565311916953db27ec9b (patch)
tree03543b97fb0f16c6e2d5e4e1f97d8e622de70020 /src/main/java/com/google/devtools/build/lib/rules/objc
parent6a4d36a4300a0b0e5c2acfece66b92bf0034f395 (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')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/IosFrameworkBinaryRule.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/IosFrameworkRule.java1
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibrary.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ObjcRuleClasses.java4
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 =