aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com
diff options
context:
space:
mode:
authorGravatar Sergio Campama <kaipi@google.com>2016-11-07 19:33:03 +0000
committerGravatar Klaus Aehlig <aehlig@google.com>2016-11-08 09:14:29 +0000
commit71ef85cff53aaa12ee3feb2b2fbc49c0d87fbab0 (patch)
treeab5a59167906aa0c813e9f5f92235e44c6ead92e /src/main/java/com
parentb91fac3b1f0f5142a906aa12280de936f29fb607 (diff)
Expand ios_test to accept xctest_app targets that provide an XcTestAppProvider.
-- MOS_MIGRATED_REVID=138417384
Diffstat (limited to 'src/main/java/com')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/IosTest.java8
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/IosTestRule.java6
2 files changed, 10 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/IosTest.java b/src/main/java/com/google/devtools/build/lib/rules/objc/IosTest.java
index 0df05538e6..46ddaf45a6 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/IosTest.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/IosTest.java
@@ -115,11 +115,13 @@ public final class IosTest implements RuleConfiguredTargetFactory {
extraLinkInputs = ImmutableList.of();
bundleFormat = ReleaseBundlingSupport.APP_BUNDLE_DIR_FORMAT;
} else {
+ xcodeProviderBuilder.setProductType(productType);
+
XcodeProvider appIpaXcodeProvider =
ruleContext.getPrerequisite(XCTEST_APP_ATTR, Mode.TARGET, XcodeProvider.class);
- xcodeProviderBuilder
- .setTestHost(appIpaXcodeProvider)
- .setProductType(productType);
+ if (appIpaXcodeProvider != null) {
+ xcodeProviderBuilder.setTestHost(appIpaXcodeProvider);
+ }
XcTestAppProvider testApp = xcTestAppProvider(ruleContext);
Artifact bundleLoader = testApp.getBundleLoader();
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/IosTestRule.java b/src/main/java/com/google/devtools/build/lib/rules/objc/IosTestRule.java
index 4d6313b50b..1946a662e8 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/IosTestRule.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/IosTestRule.java
@@ -21,9 +21,11 @@ import static com.google.devtools.build.lib.packages.BuildType.LABEL_LIST;
import static com.google.devtools.build.lib.syntax.Type.BOOLEAN;
import static com.google.devtools.build.lib.syntax.Type.STRING_LIST;
+import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.analysis.BaseRuleClasses;
import com.google.devtools.build.lib.analysis.RuleDefinition;
import com.google.devtools.build.lib.analysis.RuleDefinitionEnvironment;
+import com.google.devtools.build.lib.analysis.TransitiveInfoProvider;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.packages.Attribute.ComputedDefault;
@@ -90,7 +92,9 @@ public class IosTestRule implements RuleDefinition {
}
})
.allowedFileTypes()
- .allowedRuleClasses("ios_application"))
+ .mandatoryNativeProviders(
+ ImmutableList.<Class<? extends TransitiveInfoProvider>>of(
+ XcTestAppProvider.class)))
.override(
attr(BundlingRule.INFOPLIST_ATTR, LABEL)
.value(