aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/AppleBinary.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibrary.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/objc/AppleBinaryTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibraryTest.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/objc/IosTestTest.java21
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/objc/ObjcBinaryTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibraryTest.java13
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/objc/ObjcRuleTestCase.java9
9 files changed, 15 insertions, 42 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleBinary.java b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleBinary.java
index c7fe14fa3b..d296905dfc 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleBinary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleBinary.java
@@ -164,6 +164,8 @@ public class AppleBinary implements RuleConfiguredTargetFactory {
objcProviderBuilder.add(MULTI_ARCH_LINKED_BINARIES, outputArtifact);
ObjcProvider objcProvider = objcProviderBuilder.build();
+ // TODO(cparsons): Stop propagating ObjcProvider directly from this rule.
+ targetBuilder.addProvider(ObjcProvider.class, objcProvider);
switch (getBinaryType(ruleContext)) {
case EXECUTABLE:
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibrary.java
index 9aeb22456b..49575aa0de 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibrary.java
@@ -180,6 +180,8 @@ public class AppleStaticLibrary implements RuleConfiguredTargetFactory {
ObjcProvider objcProvider = objcProviderBuilder.build();
targetBuilder
+ // TODO(cparsons): Remove ObjcProvider as a direct provider.
+ .addProvider(ObjcProvider.class, objcProvider)
.addNativeDeclaredProvider(
new AppleStaticLibraryProvider(
ruleIntermediateArtifacts.combinedArchitectureArchive(),
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/AppleBinaryTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/AppleBinaryTest.java
index fd5b7dda98..c58c64972c 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/AppleBinaryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/AppleBinaryTest.java
@@ -1440,7 +1440,7 @@ public class AppleBinaryTest extends ObjcRuleTestCase {
@Test
public void testCustomModuleMap() throws Exception {
- checkCustomModuleMap(RULE_TYPE, true);
+ checkCustomModuleMap(RULE_TYPE);
}
@Test
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibraryTest.java
index af648730ff..6d8a4125ab 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibraryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/AppleStaticLibraryTest.java
@@ -149,9 +149,7 @@ public class AppleStaticLibraryTest extends ObjcRuleTestCase {
" resources = [':avoid.png']",
")");
- ObjcProvider provider = getConfiguredTarget("//package:test")
- .get(AppleStaticLibraryProvider.SKYLARK_CONSTRUCTOR)
- .getDepsObjcProvider();
+ ObjcProvider provider = providerForTarget("//package:test");
// Do not remove SDK_FRAMEWORK or GENERAL_RESOURCE_FILE values in avoid_deps.
assertThat(provider.get(ObjcProvider.SDK_FRAMEWORK))
.containsAllOf(new SdkFramework("AvoidSDK"), new SdkFramework("BaseSDK"));
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/IosTestTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/IosTestTest.java
index 8744460e4f..8427e72fd8 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/IosTestTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/IosTestTest.java
@@ -1167,22 +1167,7 @@ public class IosTestTest extends ObjcRuleTestCase {
// Usually, an ios_test would depend on apple_binary through a skylark_ios_application in its
// 'binary' attribute. Since we don't have skylark_ios_application here, we use the 'deps'
// attribute instead.
- scratch.file("skylarkstub/BUILD");
- scratch.file("skylarkstub/skylark_stub.bzl",
- "def skylark_ios_application_stub_impl(ctx):",
- " bin_provider = ctx.attr.binary[apple_common.AppleExecutableBinary]",
- " return struct(objc=bin_provider.objc)",
- "skylark_ios_application_stub = rule(",
- " skylark_ios_application_stub_impl,",
- // Both 'binary' and 'deps' are needed because ObjcProtoAspect is applied transitively
- // along attribute 'deps' only.
- " attrs = {'binary': attr.label(mandatory=True,",
- " providers=[apple_common.AppleExecutableBinary])},",
- " fragments = ['apple', 'objc'],",
- ")");
-
scratch.file("x/BUILD",
- "load('//skylarkstub:skylark_stub.bzl', 'skylark_ios_application_stub')",
"genrule(",
" name = 'gen_hdrs',",
" outs = ['generated.h'],",
@@ -1194,10 +1179,6 @@ public class IosTestTest extends ObjcRuleTestCase {
" platform_type = 'ios',",
" hdrs = ['generated.h'],",
")",
- "skylark_ios_application_stub(",
- " name = 'stub_application',",
- " binary = ':apple_bin',",
- ")",
"objc_binary(",
" name = 'bin',",
" srcs = ['bin.m'],",
@@ -1211,7 +1192,7 @@ public class IosTestTest extends ObjcRuleTestCase {
" srcs = ['test.m'],",
" xctest = 1,",
" xctest_app = ':testApp',",
- " deps = [':stub_application']",
+ " deps = [':apple_bin']",
")");
CommandAction compileAction = compileAction("//x:test", "test.o");
// The genfiles root for child configurations must be present in the compile action so that
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcBinaryTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcBinaryTest.java
index b645e72ebb..acc33621bd 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcBinaryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcBinaryTest.java
@@ -928,7 +928,7 @@ public class ObjcBinaryTest extends ObjcRuleTestCase {
@Test
public void testCustomModuleMap() throws Exception {
- checkCustomModuleMap(RULE_TYPE, false);
+ checkCustomModuleMap(RULE_TYPE);
}
@Test
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java
index 0de742a796..5b7155528c 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java
@@ -1596,6 +1596,6 @@ public class ObjcLibraryTest extends ObjcRuleTestCase {
@Test
public void testCustomModuleMap() throws Exception {
- checkCustomModuleMap(RULE_TYPE, false);
+ checkCustomModuleMap(RULE_TYPE);
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibraryTest.java
index 4a87049350..a2689cd8fc 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibraryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibraryTest.java
@@ -679,12 +679,12 @@ public class ObjcProtoLibraryTest extends ObjcRuleTestCase {
@Test
public void testModulemapCreatedForNonLinkingTargets() throws Exception {
- checkOnlyLibModuleMapsArePresentForTarget("//package:opl_protobuf", false);
+ checkOnlyLibModuleMapsArePresentForTarget("//package:opl_protobuf");
}
@Test
public void testModulemapNotCreatedForLinkingTargets() throws Exception {
- checkOnlyLibModuleMapsArePresentForTarget("//package:opl_binary", true);
+ checkOnlyLibModuleMapsArePresentForTarget("//package:opl_binary");
}
@Test
@@ -760,8 +760,7 @@ public class ObjcProtoLibraryTest extends ObjcRuleTestCase {
return Joiner.on('\n').join(Ordering.natural().immutableSortedCopy(elements));
}
- private void checkOnlyLibModuleMapsArePresentForTarget(String target,
- boolean fromBinary) throws Exception {
+ private void checkOnlyLibModuleMapsArePresentForTarget(String target) throws Exception {
Artifact libModuleMap =
getGenfilesArtifact(
"opl_protobuf.modulemaps/module.modulemap",
@@ -771,11 +770,7 @@ public class ObjcProtoLibraryTest extends ObjcRuleTestCase {
"protobuf_lib.modulemaps/module.modulemap",
getConfiguredTarget("//objcproto:protobuf_lib"));
- ObjcProvider provider = fromBinary
- ? getConfiguredTarget(target)
- .get(AppleExecutableBinaryProvider.SKYLARK_CONSTRUCTOR)
- .getDepsObjcProvider()
- : providerForTarget(target);
+ ObjcProvider provider = providerForTarget(target);
assertThat(Artifact.toRootRelativePaths(provider.get(ObjcProvider.MODULE_MAP).toSet()))
.containsExactlyElementsIn(
Artifact.toRootRelativePaths(ImmutableSet.of(libModuleMap, protolibModuleMap)));
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcRuleTestCase.java b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcRuleTestCase.java
index b8877ab46f..9ae12ffe0f 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcRuleTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcRuleTestCase.java
@@ -4896,7 +4896,7 @@ public abstract class ObjcRuleTestCase extends BuildViewTestCase {
.isEqualTo("a.o");
}
- protected void checkCustomModuleMap(RuleType ruleType, boolean fromBinary) throws Exception {
+ protected void checkCustomModuleMap(RuleType ruleType) throws Exception {
useConfiguration("--experimental_objc_enable_module_maps");
ruleType.scratchTarget(scratch, "srcs", "['a.m']", "deps", "['//z:testModuleMap']");
scratch.file("x/a.m");
@@ -4921,15 +4921,10 @@ public abstract class ObjcRuleTestCase extends BuildViewTestCase {
assertThat(compileActionA.getArguments()).doesNotContain("-fmodule-name");
ObjcProvider provider = providerForTarget("//z:testModuleMap");
-
assertThat(Artifact.toExecPaths(provider.get(MODULE_MAP)))
.containsExactly("y/module.modulemap");
- provider = fromBinary
- ? getConfiguredTarget("//x:x")
- .get(AppleExecutableBinaryProvider.SKYLARK_CONSTRUCTOR)
- .getDepsObjcProvider()
- : providerForTarget("//x:x");
+ provider = providerForTarget("//x:x");
assertThat(Artifact.toExecPaths(provider.get(MODULE_MAP))).contains("y/module.modulemap");
}