aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/apple
diff options
context:
space:
mode:
authorGravatar janakr <janakr@google.com>2018-06-19 09:47:01 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-06-19 09:49:20 -0700
commitd7bec2e36820928a436de2ecedec2b41c9fb419f (patch)
tree98ec4b7f905a1cdf9a8e077200bbd8b64b7e3506 /src/main/java/com/google/devtools/build/lib/rules/apple
parent9b0b987e5df9a7e5d5c7cc09ed37d5ccaa8eb54e (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.java8
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());
}
/**