aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/BundleSupport.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/BundleSupport.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/BundleSupport.java34
1 files changed, 25 insertions, 9 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/BundleSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/BundleSupport.java
index 4b586c1e6a..8d51f5752d 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/BundleSupport.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/BundleSupport.java
@@ -20,6 +20,7 @@ import static com.google.devtools.build.lib.rules.objc.ObjcProvider.XCASSETS_DIR
import com.google.common.base.Optional;
import com.google.common.base.Verify;
+import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.analysis.FilesToRunProvider;
import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode;
@@ -191,6 +192,8 @@ final class BundleSupport {
private void registerInterfaceBuilderActions(ObjcProvider objcProvider) {
IntermediateArtifacts intermediateArtifacts =
ObjcRuleClasses.intermediateArtifacts(ruleContext);
+ ObjcConfiguration objcConfiguration = ObjcRuleClasses.objcConfiguration(ruleContext);
+ String minimumOs = objcConfiguration.getMinimumOs();
for (Artifact storyboardInput : objcProvider.get(ObjcProvider.STORYBOARD)) {
String archiveRoot = BundleableFile.flatBundlePath(storyboardInput.getExecPath()) + "c";
Artifact zipOutput = intermediateArtifacts.compiledStoryboardZip(storyboardInput);
@@ -205,7 +208,7 @@ final class BundleSupport {
.add(archiveRoot)
.addPath(ObjcActionsBuilder.IBTOOL)
- .add("--minimum-deployment-target").add(bundling.getMinimumOsVersion())
+ .add("--minimum-deployment-target").add(minimumOs)
.addPath(storyboardInput.getExecPath())
.build())
.addOutput(zipOutput)
@@ -231,21 +234,25 @@ final class BundleSupport {
.addPath(outputZip.getExecPath())
.add(datamodel.archiveRootForMomczip())
.add(IosSdkCommands.MOMC_PATH)
-
- .add("-XD_MOMC_SDKROOT=" + IosSdkCommands.sdkDir(objcConfiguration))
- .add("-XD_MOMC_IOS_TARGET_VERSION=" + bundling.getMinimumOsVersion())
- .add("-MOMC_PLATFORMS")
- .add(objcConfiguration.getBundlingPlatform().getLowerCaseNameInPlist())
- .add("-XD_MOMC_TARGET_VERSION=10.6")
+ .add(commonMomczipArguments(objcConfiguration))
.add(datamodel.getContainer().getSafePathString())
.build())
.build(ruleContext));
}
}
+ static Iterable<String> commonMomczipArguments(ObjcConfiguration configuration) {
+ return ImmutableList.of(
+ "-XD_MOMC_SDKROOT=" + IosSdkCommands.sdkDir(configuration),
+ "-XD_MOMC_IOS_TARGET_VERSION=" + configuration.getMinimumOs(),
+ "-MOMC_PLATFORMS", configuration.getBundlingPlatform().getLowerCaseNameInPlist(),
+ "-XD_MOMC_TARGET_VERSION=10.6");
+ }
+
private void registerConvertXibsActions(ObjcProvider objcProvider) {
IntermediateArtifacts intermediateArtifacts =
ObjcRuleClasses.intermediateArtifacts(ruleContext);
+ ObjcConfiguration objcConfiguration = ObjcRuleClasses.objcConfiguration(ruleContext);
for (Artifact original : objcProvider.get(ObjcProvider.XIB)) {
Artifact zipOutput = intermediateArtifacts.compiledXibFileZip(original);
String archiveRoot = BundleableFile.flatBundlePath(
@@ -260,7 +267,7 @@ final class BundleSupport {
.add(archiveRoot)
.addPath(ObjcActionsBuilder.IBTOOL)
- .add("--minimum-deployment-target").add(bundling.getMinimumOsVersion())
+ .add("--minimum-deployment-target").add(objcConfiguration.getMinimumOs())
.addPath(original.getExecPath())
.build())
.addOutput(zipOutput)
@@ -287,6 +294,15 @@ final class BundleSupport {
}
}
+ /**
+ * Validates any rule attributes and dependencies related to this bundle.
+ *
+ * @return this bundle support
+ */
+ BundleSupport validateAttributes() {
+ return this;
+ }
+
private void registerMergeInfoplistAction() {
// TODO(bazel-team): Move action implementation from InfoplistMerging to this class.
ruleContext.registerAction(bundling.getInfoplistMerging().getMergeAction());
@@ -332,7 +348,7 @@ final class BundleSupport {
.add("--platform").add(objcConfiguration.getBundlingPlatform().getLowerCaseNameInPlist())
.addExecPath("--output-partial-info-plist", partialInfoPlist)
- .add("--minimum-deployment-target").add(bundling.getMinimumOsVersion());
+ .add("--minimum-deployment-target").add(objcConfiguration.getMinimumOs());
for (TargetDeviceFamily targetDeviceFamily : targetDeviceFamilies) {
commandLine.add("--target-device").add(targetDeviceFamily.name().toLowerCase(Locale.US));