diff options
author | 2018-06-19 09:47:01 -0700 | |
---|---|---|
committer | 2018-06-19 09:49:20 -0700 | |
commit | d7bec2e36820928a436de2ecedec2b41c9fb419f (patch) | |
tree | 98ec4b7f905a1cdf9a8e077200bbd8b64b7e3506 /src/main/java/com/google/devtools/build/lib/rules/apple | |
parent | 9b0b987e5df9a7e5d5c7cc09ed37d5ccaa8eb54e (diff) |
Make some Apple objects more serializable: tag constants as constant, tag lambdas as Serializable.
PiperOrigin-RevId: 201191461
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/AppleToolchain.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/apple/AppleToolchain.java b/src/main/java/com/google/devtools/build/lib/rules/apple/AppleToolchain.java index 21e3ffba45..73917ca798 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/apple/AppleToolchain.java +++ b/src/main/java/com/google/devtools/build/lib/rules/apple/AppleToolchain.java @@ -24,10 +24,12 @@ import com.google.devtools.build.lib.analysis.RuleDefinition; import com.google.devtools.build.lib.analysis.RuleDefinitionEnvironment; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; +import com.google.devtools.build.lib.packages.Attribute; import com.google.devtools.build.lib.packages.Attribute.LabelLateBoundDefault; import com.google.devtools.build.lib.packages.RuleClass; import com.google.devtools.build.lib.packages.RuleClass.Builder.RuleClassType; import com.google.devtools.build.lib.skylarkbuildapi.apple.AppleToolchainApi; +import java.io.Serializable; /** * Utility class for resolving items for the Apple toolchain (such as common tool flags, and paths). @@ -131,12 +133,14 @@ public class AppleToolchain implements AppleToolchainApi<AppleConfiguration> { } /** The default label of the build-wide {@code xcode_config} configuration rule. */ - public static LabelLateBoundDefault<?> getXcodeConfigLabel(String toolsRepository) { + public static LabelLateBoundDefault<AppleConfiguration> getXcodeConfigLabel( + String toolsRepository) { return LabelLateBoundDefault.fromTargetConfiguration( AppleConfiguration.class, Label.parseAbsoluteUnchecked( toolsRepository + AppleCommandLineOptions.DEFAULT_XCODE_VERSION_CONFIG_LABEL), - (rule, attributes, appleConfig) -> appleConfig.getXcodeConfigLabel()); + (Attribute.LateBoundDefault.Resolver<AppleConfiguration, Label> & Serializable) + (rule, attributes, appleConfig) -> appleConfig.getXcodeConfigLabel()); } /** |