diff options
author | 2017-11-04 01:00:59 +0100 | |
---|---|---|
committer | 2017-11-06 20:20:21 +0100 | |
commit | caceacd984a3f86b623ea726f4df36bd81998d25 (patch) | |
tree | fe7ec2dbd11dfdb10abc2994335c34972c26b77b /src/main/java/com/google/devtools/build/lib/rules/apple | |
parent | e8d32b7c922f65539b74357711d5ad6b70934115 (diff) |
Expose late-bound-attributes to Skylark.
RELNOTES: Late-bound attributes are exposed to skylark. This is a new API (`configuration_field()`) to depend on certain configuration-defined targets from skylark rules.
PiperOrigin-RevId: 174534104
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/apple')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/apple/AppleCommandLineOptions.java | 3 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/apple/AppleConfiguration.java | 7 |
2 files changed, 9 insertions, 1 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 1446cd0ed3..14fb440670 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 @@ -331,7 +331,8 @@ public class AppleCommandLineOptions extends FragmentOptions { * changed from the default using the {@code xcode_version_config} build flag. */ // TODO(cparsons): Update all callers to reference the actual xcode_version_config flag value. - static final String DEFAULT_XCODE_VERSION_CONFIG_LABEL = "//tools/objc:host_xcodes"; + @VisibleForTesting + public static final String DEFAULT_XCODE_VERSION_CONFIG_LABEL = "//tools/objc:host_xcodes"; /** Converter for --default_ios_provisioning_profile. */ public static class DefaultProvisioningProfileConverter extends DefaultLabelConverter { 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 cdd22ee85f..127b0ace57 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 @@ -25,6 +25,7 @@ import com.google.devtools.build.lib.analysis.config.BuildOptions; import com.google.devtools.build.lib.analysis.config.ConfigurationEnvironment; import com.google.devtools.build.lib.analysis.config.ConfigurationFragmentFactory; import com.google.devtools.build.lib.analysis.config.FragmentOptions; +import com.google.devtools.build.lib.analysis.skylark.SkylarkConfigurationField; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; import com.google.devtools.build.lib.rules.apple.AppleCommandLineOptions.AppleBitcodeMode; @@ -416,6 +417,12 @@ public class AppleConfiguration extends BuildConfiguration.Fragment { /** * Returns the label of the xcode_config rule to use for resolving the host system xcode version. */ + @SkylarkConfigurationField( + name = "xcode_config_label", + doc = "Returns the target denoted by the value of the --xcode_version_config flag", + defaultLabel = AppleCommandLineOptions.DEFAULT_XCODE_VERSION_CONFIG_LABEL, + defaultInToolRepository = true + ) public Label getXcodeConfigLabel() { return xcodeConfigLabel; } |