aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules
diff options
context:
space:
mode:
authorGravatar cparsons <cparsons@google.com>2017-06-29 22:38:18 +0200
committerGravatar Marcel Hlopko <hlopko@google.com>2017-06-30 13:00:45 +0200
commit50d347168a56dda30d904b644162dbfaaf270f51 (patch)
tree6d4b85b7d75e3e38d52bcd9c2f9d3dee4093e655 /src/main/java/com/google/devtools/build/lib/rules
parent8b295441b9944eb9b4418c426742caac7ab018c7 (diff)
{ios,macos}_minimum_os flags now default to {ios_macos}_sdk_version values
RELNOTES: None. PiperOrigin-RevId: 160566592
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/apple/AppleCommandLineOptions.java8
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/apple/AppleConfiguration.java8
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/IosExtension.java6
3 files changed, 12 insertions, 10 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/apple/AppleCommandLineOptions.java b/src/main/java/com/google/devtools/build/lib/rules/apple/AppleCommandLineOptions.java
index fd328754ec..c9c91a2d7b 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/apple/AppleCommandLineOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/apple/AppleCommandLineOptions.java
@@ -40,10 +40,6 @@ import java.util.List;
*/
public class AppleCommandLineOptions extends FragmentOptions {
- @VisibleForTesting
- public static final String DEFAULT_MINIMUM_IOS = "7.0";
- public static final String DEFAULT_MINIMUM_MACOS = "10.10";
-
@Option(
name = "xcode_version",
defaultValue = "null",
@@ -105,7 +101,7 @@ public class AppleCommandLineOptions extends FragmentOptions {
@Option(
name = "ios_minimum_os",
- defaultValue = DEFAULT_MINIMUM_IOS,
+ defaultValue = "null",
category = "flags",
converter = DottedVersionConverter.class,
documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
@@ -138,7 +134,7 @@ public class AppleCommandLineOptions extends FragmentOptions {
@Option(
name = "macos_minimum_os",
- defaultValue = DEFAULT_MINIMUM_MACOS,
+ defaultValue = "null",
category = "flags",
converter = DottedVersionConverter.class,
documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
diff --git a/src/main/java/com/google/devtools/build/lib/rules/apple/AppleConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/apple/AppleConfiguration.java
index 860afbca2d..36394f51a3 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/apple/AppleConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/apple/AppleConfiguration.java
@@ -101,6 +101,7 @@ public class AppleConfiguration extends BuildConfiguration.Fragment {
String cpu,
@Nullable DottedVersion xcodeVersion,
DottedVersion iosSdkVersion,
+ DottedVersion iosMinimumOs,
DottedVersion watchosSdkVersion,
DottedVersion watchosMinimumOs,
DottedVersion tvosSdkVersion,
@@ -108,7 +109,7 @@ public class AppleConfiguration extends BuildConfiguration.Fragment {
DottedVersion macosSdkVersion,
DottedVersion macosMinimumOs) {
this.iosSdkVersion = Preconditions.checkNotNull(iosSdkVersion, "iosSdkVersion");
- this.iosMinimumOs = Preconditions.checkNotNull(appleOptions.iosMinimumOs, "iosMinimumOs");
+ this.iosMinimumOs = Preconditions.checkNotNull(iosMinimumOs, "iosMinimumOs");
this.watchosSdkVersion =
Preconditions.checkNotNull(watchosSdkVersion, "watchOsSdkVersion");
this.watchosMinimumOs =
@@ -616,8 +617,8 @@ public class AppleConfiguration extends BuildConfiguration.Fragment {
DottedVersion iosSdkVersion = (appleOptions.iosSdkVersion != null)
? appleOptions.iosSdkVersion : xcodeVersionProperties.getDefaultIosSdkVersion();
- // TODO(cparsons): Look into ios_minimum_os matching the defaulting behavior of the other
- // platforms.
+ DottedVersion iosMinimumOsVersion = (appleOptions.iosMinimumOs != null)
+ ? appleOptions.iosMinimumOs : iosSdkVersion;
DottedVersion watchosSdkVersion = (appleOptions.watchOsSdkVersion != null)
? appleOptions.watchOsSdkVersion : xcodeVersionProperties.getDefaultWatchosSdkVersion();
DottedVersion watchosMinimumOsVersion = (appleOptions.watchosMinimumOs != null)
@@ -636,6 +637,7 @@ public class AppleConfiguration extends BuildConfiguration.Fragment {
cpu,
xcodeVersionProperties.getXcodeVersion().orNull(),
iosSdkVersion,
+ iosMinimumOsVersion,
watchosSdkVersion,
watchosMinimumOsVersion,
tvosSdkVersion,
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/IosExtension.java b/src/main/java/com/google/devtools/build/lib/rules/objc/IosExtension.java
index e7747bc258..c8d74f9b21 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/IosExtension.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/IosExtension.java
@@ -31,6 +31,7 @@ import com.google.devtools.build.lib.rules.apple.DottedVersion;
import com.google.devtools.build.lib.rules.apple.Platform.PlatformType;
import com.google.devtools.build.lib.rules.objc.ReleaseBundlingSupport.SplitArchTransition;
import java.io.Serializable;
+import javax.annotation.Nullable;
/**
* Implementation for {@code ios_extension}.
@@ -95,8 +96,11 @@ public class IosExtension extends ReleaseBundlingTargetFactory {
* @param fromFlag the minimum OS version from command line flag
* @param minimumOSVersion the minumum OS version the extension should be built with
*/
- private static DottedVersion determineMinimumOsVersion(DottedVersion fromFlag,
+ private static DottedVersion determineMinimumOsVersion(@Nullable DottedVersion fromFlag,
DottedVersion minimumOSVersion) {
+ if (fromFlag == null) {
+ return minimumOSVersion;
+ }
return Ordering.natural().max(fromFlag, minimumOSVersion);
}