diff options
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.java | 34 |
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)); |