From 692d148ac5e8580f80eeeac44dab5252dbc271ca Mon Sep 17 00:00:00 2001 From: juliexxia Date: Thu, 29 Nov 2018 09:24:44 -0800 Subject: [PATCH] Starlarkify all starlark build configurations-related work thus far (s/skylark/starlark) #5577 PiperOrigin-RevId: 223357995 --- .../lib/analysis/config/BuildOptions.java | 163 +++++++++--------- .../analysis/skylark/SkylarkRuleContext.java | 2 +- ...SkylarkConfig.java => StarlarkConfig.java} | 10 +- .../test/TestTrimmingTransitionFactory.java | 2 +- .../build/lib/buildtool/BuildRequest.java | 9 +- .../build/lib/packages/BuildSetting.java | 2 +- .../build/lib/rules/config/ConfigRules.java | 6 +- .../SkylarkRuleFunctionsApi.java | 2 +- ...kConfigApi.java => StarlarkConfigApi.java} | 6 +- .../config/ConfigBootstrap.java | 10 +- .../FakeBuildSettingDescriptor.java | 2 +- .../skydoc/fakebuildapi/FakeConfigApi.java | 8 +- .../common/options/OptionsParser.java | 10 +- .../common/options/OptionsProvider.java | 32 ++-- .../lib/analysis/config/BuildOptionsTest.java | 26 +-- .../lib/analysis/util/BuildViewTestCase.java | 4 +- ...onfigFeatureFlagTransitionFactoryTest.java | 2 +- .../MacOSXFsEventsDiffAwarenessTest.java | 2 +- 18 files changed, 145 insertions(+), 153 deletions(-) rename src/main/java/com/google/devtools/build/lib/analysis/skylark/{SkylarkConfig.java => StarlarkConfig.java} (89%) rename src/main/java/com/google/devtools/build/lib/skylarkbuildapi/{SkylarkConfigApi.java => StarlarkConfigApi.java} (96%) diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildOptions.java b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildOptions.java index 5f322b8d08a880..587e3ea5dda87b 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildOptions.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildOptions.java @@ -98,9 +98,9 @@ private static OptionsParser createDefaultParser( public BuildOptions createHostOptions() { Builder builder = builder(); for (FragmentOptions options : fragmentOptionsMap.values()) { - builder.add(options.getHost()); + builder.addFragmentOptions(options.getHost()); } - return builder.addSkylarkOptions(skylarkOptionsMap).build(); + return builder.addStarlarkOptions(skylarkOptionsMap).build(); } /** @@ -114,10 +114,10 @@ public BuildOptions trim(Set> optionsClasses) { // TODO(bazel-team): make this non-hacky while not requiring BuildConfiguration access // to BuildOptions. || options.toString().contains("BuildConfiguration$Options")) { - builder.add(options); + builder.addFragmentOptions(options); } } - return builder.addSkylarkOptions(skylarkOptionsMap).build(); + return builder.addStarlarkOptions(skylarkOptionsMap).build(); } /** @@ -128,9 +128,9 @@ public static BuildOptions of( Iterable> optionsList, OptionsProvider provider) { Builder builder = builder(); for (Class optionsClass : optionsList) { - builder.add(provider.getOptions(optionsClass)); + builder.addFragmentOptions(provider.getOptions(optionsClass)); } - return builder.addSkylarkOptions(provider.getSkylarkOptions()).build(); + return builder.addStarlarkOptions(provider.getStarlarkOptions()).build(); } /** @@ -146,7 +146,7 @@ public static BuildOptions of(List> optionsList ImmutableList.>copyOf(optionsList)); parser.parse(args); for (Class optionsClass : optionsList) { - builder.add(parser.getOptions(optionsClass)); + builder.addFragmentOptions(parser.getOptions(optionsClass)); } return builder.build(); } @@ -156,7 +156,7 @@ public static BuildOptions of(List> optionsList */ @VisibleForTesting public static BuildOptions of(Map skylarkOptions) { - return builder().addSkylarkOptions(skylarkOptions).build(); + return builder().addStarlarkOptions(skylarkOptions).build(); } /** Returns the actual instance of a FragmentOptions class. */ @@ -221,7 +221,7 @@ public Collection getNativeOptions() { return fragmentOptionsMap.values(); } - public ImmutableMap getSkylarkOptions() { + public ImmutableMap getStarlarkOptions() { return skylarkOptionsMap; } @@ -324,26 +324,26 @@ public BuildOptions applyDiff(OptionsDiffForReconstruction optionsDiff) { for (FragmentOptions options : fragmentOptionsMap.values()) { FragmentOptions newOptions = optionsDiff.transformOptions(options); if (newOptions != null) { - builder.add(newOptions); + builder.addFragmentOptions(newOptions); } } for (FragmentOptions extraSecondFragment : optionsDiff.extraSecondFragments) { - builder.add(extraSecondFragment); + builder.addFragmentOptions(extraSecondFragment); } Map skylarkOptions = new HashMap<>(); for (Map.Entry buildSettingAndValue : skylarkOptionsMap.entrySet()) { String buildSetting = buildSettingAndValue.getKey(); - if (optionsDiff.extraFirstSkylarkOptions.contains(buildSetting)) { + if (optionsDiff.extraFirstStarlarkOptions.contains(buildSetting)) { continue; - } else if (optionsDiff.differingSkylarkOptions.containsKey(buildSetting)) { - skylarkOptions.put(buildSetting, optionsDiff.differingSkylarkOptions.get(buildSetting)); + } else if (optionsDiff.differingStarlarkOptions.containsKey(buildSetting)) { + skylarkOptions.put(buildSetting, optionsDiff.differingStarlarkOptions.get(buildSetting)); } else { skylarkOptions.put(buildSetting, skylarkOptionsMap.get(buildSetting)); } } - skylarkOptions.putAll(optionsDiff.extraSecondSkylarkOptions); - builder.addSkylarkOptions(skylarkOptions); + skylarkOptions.putAll(optionsDiff.extraSecondStarlarkOptions); + builder.addStarlarkOptions(skylarkOptions); return builder.build(); } @@ -358,28 +358,28 @@ public static class Builder { * Adds a new FragmentOptions instance to the builder. Overrides previous instances of the exact * same subclass of FragmentOptions. */ - public Builder add(T options) { - builderMap.put(options.getClass(), options); + public Builder addFragmentOptions(T options) { + fragmentOptions.put(options.getClass(), options); return this; } - Builder addSkylarkOptions(Map options) { - builderSkylarkOptionsMap.putAll(options); + Builder addStarlarkOptions(Map options) { + starlarkOptions.putAll(options); return this; } public BuildOptions build() { return new BuildOptions( - ImmutableSortedMap.copyOf(builderMap, lexicalFragmentOptionsComparator), - ImmutableSortedMap.copyOf(builderSkylarkOptionsMap, skylarkOptionsComparator)); + ImmutableSortedMap.copyOf(fragmentOptions, lexicalFragmentOptionsComparator), + ImmutableSortedMap.copyOf(starlarkOptions, skylarkOptionsComparator)); } - private Map, FragmentOptions> builderMap; - private Map builderSkylarkOptionsMap; + private final Map, FragmentOptions> fragmentOptions; + private final Map starlarkOptions; private Builder() { - builderMap = new HashMap<>(); - builderSkylarkOptionsMap = new HashMap<>(); + fragmentOptions = new HashMap<>(); + starlarkOptions = new HashMap<>(); } } @@ -401,7 +401,7 @@ public static OptionsDiff diff(@Nullable BuildOptions first, @Nullable BuildOpti */ public static OptionsDiff diff( OptionsDiff diff, @Nullable BuildOptions first, @Nullable BuildOptions second) { - if (diff.hasSkylarkOptions) { + if (diff.hasStarlarkOptions) { throw new IllegalStateException( "OptionsDiff cannot handle multiple 'second' BuildOptions with skylark options " + "and is trying to diff against a second BuildOptions with skylark options."); @@ -450,16 +450,16 @@ public static OptionsDiff diff( } // Compare skylark options for the two classes - Map skylarkFirst = first.getSkylarkOptions(); - Map skylarkSecond = second.getSkylarkOptions(); - diff.setHasSkylarkOptions(!skylarkFirst.isEmpty() || !skylarkSecond.isEmpty()); + Map skylarkFirst = first.getStarlarkOptions(); + Map skylarkSecond = second.getStarlarkOptions(); + diff.setHasStarlarkOptions(!skylarkFirst.isEmpty() || !skylarkSecond.isEmpty()); for (String buildSetting : Sets.union(skylarkFirst.keySet(), skylarkSecond.keySet())) { if (skylarkFirst.get(buildSetting) == null) { - diff.addExtraSecondSkylarkOption(buildSetting, skylarkSecond.get(buildSetting)); + diff.addExtraSecondStarlarkOption(buildSetting, skylarkSecond.get(buildSetting)); } else if (skylarkSecond.get(buildSetting) == null) { - diff.addExtraFirstSkylarkOption(buildSetting); + diff.addExtraFirstStarlarkOption(buildSetting); } else if (!skylarkFirst.get(buildSetting).equals(skylarkSecond.get(buildSetting))) { - diff.putSkylarkDiff( + diff.putStarlarkDiff( buildSetting, skylarkFirst.get(buildSetting), skylarkSecond.get(buildSetting)); } } @@ -509,19 +509,16 @@ public static OptionsDiffForReconstruction diffForReconstruction( first.maybeInitializeFingerprintAndHashCode(); return new OptionsDiffForReconstruction( differingOptions, - diff.extraFirstFragments - .stream() + diff.extraFirstFragments.stream() .sorted(lexicalFragmentOptionsComparator) .collect(ImmutableSet.toImmutableSet()), - diff.extraSecondFragments - .stream() - .sorted(Comparator.comparing(o -> o.getClass().getName())) - .collect(ImmutableList.toImmutableList()), + ImmutableList.sortedCopyOf( + Comparator.comparing(o -> o.getClass().getName()), diff.extraSecondFragments), first.fingerprint, second.computeChecksum(), diff.skylarkSecond, - diff.extraSkylarkOptionsFirst, - diff.extraSkylarkOptionsSecond); + diff.extraStarlarkOptionsFirst, + diff.extraStarlarkOptionsSecond); } /** @@ -547,10 +544,10 @@ public static class OptionsDiff { // skylark options anywhere yet so add that feature when necessary. private final Map skylarkSecond = new LinkedHashMap<>(); - private final List extraSkylarkOptionsFirst = new ArrayList<>(); - private final Map extraSkylarkOptionsSecond = new HashMap<>(); + private final List extraStarlarkOptionsFirst = new ArrayList<>(); + private final Map extraStarlarkOptionsSecond = new HashMap<>(); - private boolean hasSkylarkOptions = false; + private boolean hasStarlarkOptions = false; @VisibleForTesting Set> getExtraFirstFragmentClassesForTesting() { @@ -588,41 +585,41 @@ private void addExtraSecondFragment(FragmentOptions options) { extraSecondFragments.add(options); } - private void putSkylarkDiff(String buildSetting, Object firstValue, Object secondValue) { + private void putStarlarkDiff(String buildSetting, Object firstValue, Object secondValue) { skylarkFirst.put(buildSetting, firstValue); skylarkSecond.put(buildSetting, secondValue); } - private void addExtraFirstSkylarkOption(String buildSetting) { - extraSkylarkOptionsFirst.add(buildSetting); + private void addExtraFirstStarlarkOption(String buildSetting) { + extraStarlarkOptionsFirst.add(buildSetting); } - private void addExtraSecondSkylarkOption(String buildSetting, Object value) { - extraSkylarkOptionsSecond.put(buildSetting, value); + private void addExtraSecondStarlarkOption(String buildSetting, Object value) { + extraStarlarkOptionsSecond.put(buildSetting, value); } - private void setHasSkylarkOptions(boolean hasSkylarkOptions) { - this.hasSkylarkOptions = hasSkylarkOptions; + private void setHasStarlarkOptions(boolean hasStarlarkOptions) { + this.hasStarlarkOptions = hasStarlarkOptions; } @VisibleForTesting - Map getSkylarkFirstForTesting() { + Map getStarlarkFirstForTesting() { return skylarkFirst; } @VisibleForTesting - Map getSkylarkSecondForTesting() { + Map getStarlarkSecondForTesting() { return skylarkSecond; } @VisibleForTesting - List getExtraSkylarkOptionsFirstForTesting() { - return extraSkylarkOptionsFirst; + List getExtraStarlarkOptionsFirstForTesting() { + return extraStarlarkOptionsFirst; } @VisibleForTesting - Map getExtraSkylarkOptionsSecondForTesting() { - return extraSkylarkOptionsSecond; + Map getExtraStarlarkOptionsSecondForTesting() { + return extraStarlarkOptionsSecond; } /** @@ -637,8 +634,8 @@ boolean areSame() { && differingOptions.isEmpty() && skylarkFirst.isEmpty() && skylarkSecond.isEmpty() - && extraSkylarkOptionsFirst.isEmpty() - && extraSkylarkOptionsSecond.isEmpty(); + && extraStarlarkOptionsFirst.isEmpty() + && extraStarlarkOptionsSecond.isEmpty(); } public String prettyPrint() { @@ -672,9 +669,9 @@ public static final class OptionsDiffForReconstruction { private final byte[] baseFingerprint; private final String checksum; - private final Map differingSkylarkOptions; - private final List extraFirstSkylarkOptions; - private final Map extraSecondSkylarkOptions; + private final Map differingStarlarkOptions; + private final List extraFirstStarlarkOptions; + private final Map extraSecondStarlarkOptions; @VisibleForTesting public OptionsDiffForReconstruction( @@ -683,17 +680,17 @@ public OptionsDiffForReconstruction( ImmutableList extraSecondFragments, byte[] baseFingerprint, String checksum, - Map differingSkylarkOptions, - List extraFirstSkylarkOptions, - Map extraSecondSkylarkOptions) { + Map differingStarlarkOptions, + List extraFirstStarlarkOptions, + Map extraSecondStarlarkOptions) { this.differingOptions = differingOptions; this.extraFirstFragmentClasses = extraFirstFragmentClasses; this.extraSecondFragments = extraSecondFragments; this.baseFingerprint = baseFingerprint; this.checksum = checksum; - this.differingSkylarkOptions = differingSkylarkOptions; - this.extraFirstSkylarkOptions = extraFirstSkylarkOptions; - this.extraSecondSkylarkOptions = extraSecondSkylarkOptions; + this.differingStarlarkOptions = differingStarlarkOptions; + this.extraFirstStarlarkOptions = extraFirstStarlarkOptions; + this.extraSecondStarlarkOptions = extraSecondStarlarkOptions; } private static OptionsDiffForReconstruction getEmpty(byte[] baseFingerprint, String checksum) { @@ -738,9 +735,9 @@ private boolean isEmpty() { return differingOptions.isEmpty() && extraFirstFragmentClasses.isEmpty() && extraSecondFragments.isEmpty() - && differingSkylarkOptions.isEmpty() - && extraFirstSkylarkOptions.isEmpty() - && extraSecondSkylarkOptions.isEmpty(); + && differingStarlarkOptions.isEmpty() + && extraFirstStarlarkOptions.isEmpty() + && extraSecondStarlarkOptions.isEmpty(); } @Override @@ -762,9 +759,9 @@ public String toString() { .add("differingOptions", differingOptions) .add("extraFirstFragmentClasses", extraFirstFragmentClasses) .add("extraSecondFragments", extraSecondFragments) - .add("differingSkylarkOptions", differingSkylarkOptions) - .add("extraFirstSkylarkOptions", extraFirstSkylarkOptions) - .add("extraSecondSkylarkOptions", extraSecondSkylarkOptions) + .add("differingStarlarkOptions", differingStarlarkOptions) + .add("extraFirstStarlarkOptions", extraFirstStarlarkOptions) + .add("extraSecondStarlarkOptions", extraSecondStarlarkOptions) .toString(); } @@ -797,9 +794,9 @@ public void serialize( context.serialize(diff.extraSecondFragments, bytesOut); bytesOut.writeByteArrayNoTag(diff.baseFingerprint); context.serialize(diff.checksum, bytesOut); - context.serialize(diff.differingSkylarkOptions, bytesOut); - context.serialize(diff.extraFirstSkylarkOptions, bytesOut); - context.serialize(diff.extraSecondSkylarkOptions, bytesOut); + context.serialize(diff.differingStarlarkOptions, bytesOut); + context.serialize(diff.extraFirstStarlarkOptions, bytesOut); + context.serialize(diff.extraSecondStarlarkOptions, bytesOut); bytesOut.flush(); byteStringOut.flush(); int optionsDiffSize = byteStringOut.size(); @@ -832,9 +829,9 @@ public OptionsDiffForReconstruction deserialize( ImmutableList extraSecondFragments = context.deserialize(codedInput); byte[] baseFingerprint = codedInput.readByteArray(); String checksum = context.deserialize(codedInput); - Map differingSkylarkOptions = context.deserialize(codedInput); - List extraFirstSkylarkOptions = context.deserialize(codedInput); - Map extraSecondSkylarkOptions = context.deserialize(codedInput); + Map differingStarlarkOptions = context.deserialize(codedInput); + List extraFirstStarlarkOptions = context.deserialize(codedInput); + Map extraSecondStarlarkOptions = context.deserialize(codedInput); diff = new OptionsDiffForReconstruction( differingOptions, @@ -842,9 +839,9 @@ public OptionsDiffForReconstruction deserialize( extraSecondFragments, baseFingerprint, checksum, - differingSkylarkOptions, - extraFirstSkylarkOptions, - extraSecondSkylarkOptions); + differingStarlarkOptions, + extraFirstStarlarkOptions, + extraSecondStarlarkOptions); cache.putBytesFromOptionsDiff(diff, bytes); } return diff; diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java index 72ac8b07f88910..2f9d6a59183f93 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java @@ -587,7 +587,7 @@ public Object getBuildSettingValue() throws EvalException { ruleLabelCanonicalName)); } ImmutableMap skylarkFlagSettings = - ruleContext.getConfiguration().getOptions().getSkylarkOptions(); + ruleContext.getConfiguration().getOptions().getStarlarkOptions(); Type buildSettingType = ruleContext.getRule().getRuleClassObject().getBuildSetting().getType(); diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkConfig.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/StarlarkConfig.java similarity index 89% rename from src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkConfig.java rename to src/main/java/com/google/devtools/build/lib/analysis/skylark/StarlarkConfig.java index 061e0b5eec4726..e5b1f7c16e1135 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkConfig.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/StarlarkConfig.java @@ -22,14 +22,12 @@ import static com.google.devtools.build.lib.syntax.Type.STRING_LIST; import com.google.devtools.build.lib.packages.BuildSetting; -import com.google.devtools.build.lib.skylarkbuildapi.SkylarkConfigApi; +import com.google.devtools.build.lib.skylarkbuildapi.StarlarkConfigApi; import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter; -/** - * Skylark namespace for creating build settings. - * TODO(juliexxia): Consider adding more types of build settings, specifically other label types. - */ -public class SkylarkConfig implements SkylarkConfigApi { +/** Starlark namespace for creating build settings. */ +// TODO(juliexxia): Consider adding more types of build settings, specifically other label types. +public class StarlarkConfig implements StarlarkConfigApi { @Override public BuildSetting intSetting(Boolean flag) { diff --git a/src/main/java/com/google/devtools/build/lib/analysis/test/TestTrimmingTransitionFactory.java b/src/main/java/com/google/devtools/build/lib/analysis/test/TestTrimmingTransitionFactory.java index 5a35c16b13bae1..956a6455da1873 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/test/TestTrimmingTransitionFactory.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/test/TestTrimmingTransitionFactory.java @@ -54,7 +54,7 @@ public BuildOptions patch(BuildOptions originalOptions) { BuildOptions.Builder builder = BuildOptions.builder(); for (FragmentOptions options : originalOptions.getNativeOptions()) { if (!(options instanceof TestOptions)) { - builder.add(options); + builder.addFragmentOptions(options); } } return builder.build(); diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequest.java b/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequest.java index 67c333c4b8b702..7003f0ef9219e6 100644 --- a/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequest.java +++ b/src/main/java/com/google/devtools/build/lib/buildtool/BuildRequest.java @@ -51,7 +51,7 @@ public class BuildRequest implements OptionsProvider { private final UUID id; private final LoadingCache, Optional> optionsCache; - private final Map skylarkOptions; + private final Map starlarkOptions; /** A human-readable description of all the non-default option settings. */ private final String optionsDescription; @@ -107,17 +107,16 @@ public Optional load(Class key) throws Excep return Optional.fromNullable(result); } }); - this.skylarkOptions = options.getSkylarkOptions(); + this.starlarkOptions = options.getStarlarkOptions(); for (Class optionsClass : MANDATORY_OPTIONS) { Preconditions.checkNotNull(getOptions(optionsClass)); } } - @Override - public Map getSkylarkOptions() { - return skylarkOptions; + public Map getStarlarkOptions() { + return starlarkOptions; } /** diff --git a/src/main/java/com/google/devtools/build/lib/packages/BuildSetting.java b/src/main/java/com/google/devtools/build/lib/packages/BuildSetting.java index 506aaab842b4a9..f3f677349136b8 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/BuildSetting.java +++ b/src/main/java/com/google/devtools/build/lib/packages/BuildSetting.java @@ -14,7 +14,7 @@ package com.google.devtools.build.lib.packages; import com.google.common.annotations.VisibleForTesting; -import com.google.devtools.build.lib.skylarkbuildapi.SkylarkConfigApi.BuildSettingApi; +import com.google.devtools.build.lib.skylarkbuildapi.StarlarkConfigApi.BuildSettingApi; import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter; import com.google.devtools.build.lib.syntax.Type; diff --git a/src/main/java/com/google/devtools/build/lib/rules/config/ConfigRules.java b/src/main/java/com/google/devtools/build/lib/rules/config/ConfigRules.java index 2f48187f6f37bd..6edf1e69e26219 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/config/ConfigRules.java +++ b/src/main/java/com/google/devtools/build/lib/rules/config/ConfigRules.java @@ -17,7 +17,7 @@ import com.google.devtools.build.lib.analysis.BaseRuleClasses; import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider; import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider.RuleSet; -import com.google.devtools.build.lib.analysis.skylark.SkylarkConfig; +import com.google.devtools.build.lib.analysis.skylark.StarlarkConfig; import com.google.devtools.build.lib.rules.core.CoreRules; import com.google.devtools.build.lib.rules.platform.PlatformRules; import com.google.devtools.build.lib.skylarkbuildapi.config.ConfigBootstrap; @@ -44,9 +44,7 @@ public void init(ConfiguredRuleClassProvider.Builder builder) { builder.addRuleDefinition(new ConfigRuleClasses.ConfigFeatureFlagRule()); builder.addSkylarkBootstrap( new ConfigBootstrap( - new ConfigSkylarkCommon(), - new SkylarkConfig(), - new ConfigGlobalLibrary())); + new ConfigSkylarkCommon(), new StarlarkConfig(), new ConfigGlobalLibrary())); } @Override diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkRuleFunctionsApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkRuleFunctionsApi.java index 654b8d33ac06f7..aab2e531bbf6b2 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkRuleFunctionsApi.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkRuleFunctionsApi.java @@ -16,7 +16,7 @@ import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.events.Location; -import com.google.devtools.build.lib.skylarkbuildapi.SkylarkConfigApi.BuildSettingApi; +import com.google.devtools.build.lib.skylarkbuildapi.StarlarkConfigApi.BuildSettingApi; import com.google.devtools.build.lib.skylarkinterface.Param; import com.google.devtools.build.lib.skylarkinterface.ParamType; import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable; diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkConfigApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/StarlarkConfigApi.java similarity index 96% rename from src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkConfigApi.java rename to src/main/java/com/google/devtools/build/lib/skylarkbuildapi/StarlarkConfigApi.java index eb8da0a40faf9c..446183d9d1f3e9 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkConfigApi.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/StarlarkConfigApi.java @@ -23,7 +23,7 @@ /** * The "config" module of the Build API. * - *

This exposes methods to describe what kind of build setting (if any) a skylark rule is using + *

This exposes methods to describe what kind of build setting (if any) a starlark rule is using * the {@code build_setting} attr of the {@code rule(...)} function. */ @SkylarkModule( @@ -46,9 +46,9 @@ + " build_setting = config.int(flag = True),\n" + " ...\n" + " )") -// TODO(juliexxia): Create formal documentation for skylark build configuration efforts +// TODO(juliexxia): Create formal documentation for starlark build configuration efforts // (b/112545834) -public interface SkylarkConfigApi extends SkylarkValue { +public interface StarlarkConfigApi extends SkylarkValue { static final String FLAG_ARG = "flag"; static final String FLAG_ARG_DOC = diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/config/ConfigBootstrap.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/config/ConfigBootstrap.java index 7300f5f6058324..752a74d8cf7d57 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/config/ConfigBootstrap.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/config/ConfigBootstrap.java @@ -16,7 +16,7 @@ import com.google.common.collect.ImmutableMap.Builder; import com.google.devtools.build.lib.skylarkbuildapi.Bootstrap; -import com.google.devtools.build.lib.skylarkbuildapi.SkylarkConfigApi; +import com.google.devtools.build.lib.skylarkbuildapi.StarlarkConfigApi; import com.google.devtools.build.lib.syntax.Runtime; /** @@ -25,22 +25,22 @@ public class ConfigBootstrap implements Bootstrap { private final ConfigSkylarkCommonApi configSkylarkCommonApi; - private final SkylarkConfigApi skylarkConfigApi; + private final StarlarkConfigApi starlarkConfigApi; private final ConfigGlobalLibraryApi configGlobalLibrary; public ConfigBootstrap( ConfigSkylarkCommonApi configSkylarkCommonApi, - SkylarkConfigApi skylarkConfigApi, + StarlarkConfigApi starlarkConfigApi, ConfigGlobalLibraryApi configGlobalLibrary) { this.configSkylarkCommonApi = configSkylarkCommonApi; - this.skylarkConfigApi = skylarkConfigApi; + this.starlarkConfigApi = starlarkConfigApi; this.configGlobalLibrary = configGlobalLibrary; } @Override public void addBindingsToBuilder(Builder builder) { builder.put("config_common", configSkylarkCommonApi); - builder.put("config", skylarkConfigApi); + builder.put("config", starlarkConfigApi); Runtime.setupSkylarkLibrary(builder, configGlobalLibrary); } } diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeBuildSettingDescriptor.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeBuildSettingDescriptor.java index 9135f97a48d5be..9b00b26a3488b7 100644 --- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeBuildSettingDescriptor.java +++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeBuildSettingDescriptor.java @@ -14,7 +14,7 @@ package com.google.devtools.build.skydoc.fakebuildapi; -import com.google.devtools.build.lib.skylarkbuildapi.SkylarkConfigApi.BuildSettingApi; +import com.google.devtools.build.lib.skylarkbuildapi.StarlarkConfigApi.BuildSettingApi; import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter; /** diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeConfigApi.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeConfigApi.java index 2bd322b9f75836..4fd7d0b68c4687 100644 --- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeConfigApi.java +++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeConfigApi.java @@ -14,13 +14,11 @@ package com.google.devtools.build.skydoc.fakebuildapi; -import com.google.devtools.build.lib.skylarkbuildapi.SkylarkConfigApi; +import com.google.devtools.build.lib.skylarkbuildapi.StarlarkConfigApi; import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter; -/** - * Fake implementation of {@link SkylarkConfigApi}. - */ -public class FakeConfigApi implements SkylarkConfigApi { +/** Fake implementation of {@link StarlarkConfigApi}. */ +public class FakeConfigApi implements StarlarkConfigApi { @Override public BuildSettingApi intSetting(Boolean flag) { diff --git a/src/main/java/com/google/devtools/common/options/OptionsParser.java b/src/main/java/com/google/devtools/common/options/OptionsParser.java index c6fb96d432abc0..fb0b9e3d22c809 100644 --- a/src/main/java/com/google/devtools/common/options/OptionsParser.java +++ b/src/main/java/com/google/devtools/common/options/OptionsParser.java @@ -180,7 +180,7 @@ public static OptionsParser newOptionsParser(OpaqueOptionsData optionsData) { private final List residue = new ArrayList(); private final List postDoubleDashResidue = new ArrayList<>(); private boolean allowResidue = true; - private Map skylarkOptions = new HashMap<>(); + private Map starlarkOptions = new HashMap<>(); OptionsParser(OptionsData optionsData) { impl = new OptionsParserImpl(optionsData); @@ -197,13 +197,13 @@ public void setAllowResidue(boolean allowResidue) { } @Override - public Map getSkylarkOptions() { - return skylarkOptions; + public Map getStarlarkOptions() { + return starlarkOptions; } @VisibleForTesting - public void setSkylarkOptionsForTesting(Map skylarkOptions) { - this.skylarkOptions = skylarkOptions; + public void setStarlarkOptionsForTesting(Map starlarkOptions) { + this.starlarkOptions = starlarkOptions; } /** diff --git a/src/main/java/com/google/devtools/common/options/OptionsProvider.java b/src/main/java/com/google/devtools/common/options/OptionsProvider.java index 73ef80e13220e8..28fb5ef7f22d13 100644 --- a/src/main/java/com/google/devtools/common/options/OptionsProvider.java +++ b/src/main/java/com/google/devtools/common/options/OptionsProvider.java @@ -22,17 +22,19 @@ * a specific class, but not e.g. the residue any other information pertaining to the command line. */ public interface OptionsProvider { - public static final OptionsProvider EMPTY = new OptionsProvider() { - @Override @Nullable - public O getOptions(Class optionsClass) { - return null; - } + public static final OptionsProvider EMPTY = + new OptionsProvider() { + @Override + @Nullable + public O getOptions(Class optionsClass) { + return null; + } - @Override - public Map getSkylarkOptions() { - return ImmutableMap.of(); - } - }; + @Override + public Map getStarlarkOptions() { + return ImmutableMap.of(); + } + }; /** * Returns the options instance for the given {@code optionsClass}, that is, @@ -44,13 +46,13 @@ public Map getSkylarkOptions() { @Nullable O getOptions(Class optionsClass); /** - * Returns the skylark options in a name:value map. + * Returns the starlark options in a name:value map. * *

These follow the basics of the option syntax, --= but are parsed and stored * differently than native options based on starting with "//". This is a sufficient - * demarcation between skylark flags and native flags for now since all skylark flags are targets - * and are identified by their package path. But in the future when we implement short names for - * skylark options, this will need to change. + * demarcation between starlark flags and native flags for now since all starlark flags are + * targets and are identified by their package path. But in the future when we implement short + * names for starlark options, this will need to change. */ - Map getSkylarkOptions(); + Map getStarlarkOptions(); } diff --git a/src/test/java/com/google/devtools/build/lib/analysis/config/BuildOptionsTest.java b/src/test/java/com/google/devtools/build/lib/analysis/config/BuildOptionsTest.java index c5bcd36888011c..b19c014cad4fcb 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/config/BuildOptionsTest.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/config/BuildOptionsTest.java @@ -187,7 +187,7 @@ public void applyDiff_nativeOptions() throws Exception { } @Test - public void optionsDiff_sameSkylarkOptions() throws Exception { + public void optionsDiff_sameStarlarkOptions() throws Exception { String flagName = "//foo/flag"; String flagValue = "value"; BuildOptions one = BuildOptions.of(ImmutableMap.of(flagName, flagValue)); @@ -197,7 +197,7 @@ public void optionsDiff_sameSkylarkOptions() throws Exception { } @Test - public void optionsDiff_differentSkylarkOptions() throws Exception { + public void optionsDiff_differentStarlarkOptions() throws Exception { String flagName = "//bar/flag"; String flagValueOne = "valueOne"; String flagValueTwo = "valueTwo"; @@ -207,15 +207,15 @@ public void optionsDiff_differentSkylarkOptions() throws Exception { OptionsDiff diff = BuildOptions.diff(one, two); assertThat(diff.areSame()).isFalse(); - assertThat(diff.getSkylarkFirstForTesting().keySet()) - .isEqualTo(diff.getSkylarkSecondForTesting().keySet()); - assertThat(diff.getSkylarkFirstForTesting().keySet()).containsExactly(flagName); - assertThat(diff.getSkylarkFirstForTesting().values()).containsExactly(flagValueOne); - assertThat(diff.getSkylarkSecondForTesting().values()).containsExactly(flagValueTwo); + assertThat(diff.getStarlarkFirstForTesting().keySet()) + .isEqualTo(diff.getStarlarkSecondForTesting().keySet()); + assertThat(diff.getStarlarkFirstForTesting().keySet()).containsExactly(flagName); + assertThat(diff.getStarlarkFirstForTesting().values()).containsExactly(flagValueOne); + assertThat(diff.getStarlarkSecondForTesting().values()).containsExactly(flagValueTwo); } @Test - public void optionsDiff_extraSkylarkOptions() throws Exception { + public void optionsDiff_extraStarlarkOptions() throws Exception { String flagNameOne = "//extra/flag/one"; String flagNameTwo = "//extra/flag/two"; String flagValue = "foo"; @@ -225,13 +225,13 @@ public void optionsDiff_extraSkylarkOptions() throws Exception { OptionsDiff diff = BuildOptions.diff(one, two); assertThat(diff.areSame()).isFalse(); - assertThat(diff.getExtraSkylarkOptionsFirstForTesting()).containsExactly(flagNameOne); - assertThat(diff.getExtraSkylarkOptionsSecondForTesting().entrySet()) + assertThat(diff.getExtraStarlarkOptionsFirstForTesting()).containsExactly(flagNameOne); + assertThat(diff.getExtraStarlarkOptionsSecondForTesting().entrySet()) .containsExactly(Maps.immutableEntry(flagNameTwo, flagValue)); } @Test - public void applyDiff_sameSkylarkOptions() throws Exception { + public void applyDiff_sameStarlarkOptions() throws Exception { String flagName = "//foo/flag"; String flagValue = "value"; BuildOptions one = BuildOptions.of(ImmutableMap.of(flagName, flagValue)); @@ -248,7 +248,7 @@ public void applyDiff_sameSkylarkOptions() throws Exception { } @Test - public void applyDiff_differentSkylarkOptions() throws Exception { + public void applyDiff_differentStarlarkOptions() throws Exception { String flagName = "//bar/flag"; String flagValueOne = "valueOne"; String flagValueTwo = "valueTwo"; @@ -262,7 +262,7 @@ public void applyDiff_differentSkylarkOptions() throws Exception { } @Test - public void applyDiff_extraSkylarkOptions() throws Exception { + public void applyDiff_extraStarlarkOptions() throws Exception { String flagNameOne = "//extra/flag/one"; String flagNameTwo = "//extra/flag/two"; String flagValue = "foo"; diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java index 2edf89d7b9ffe5..a33f235a71f324 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java @@ -358,8 +358,8 @@ private BuildConfigurationCollection createConfigurations( optionsParser.parse(allArgs); optionsParser.parse(args); - // TODO(juliexxia): when the skylark options parsing work goes in, add type verification here. - optionsParser.setSkylarkOptionsForTesting(skylarkOptions); + // TODO(juliexxia): when the starlark options parsing work goes in, add type verification here. + optionsParser.setStarlarkOptionsForTesting(skylarkOptions); InvocationPolicyEnforcer optionsPolicyEnforcer = getAnalysisMock().getInvocationPolicyEnforcer(); diff --git a/src/test/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlagTransitionFactoryTest.java b/src/test/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlagTransitionFactoryTest.java index 9a06276a6ccce4..e9f2825607fb1a 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlagTransitionFactoryTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlagTransitionFactoryTest.java @@ -60,7 +60,7 @@ public O getOptions(Class optionsClass) { } @Override - public Map getSkylarkOptions() { + public Map getStarlarkOptions() { return ImmutableMap.of(); } } diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/MacOSXFsEventsDiffAwarenessTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/MacOSXFsEventsDiffAwarenessTest.java index cd5fbb7336d101..bd3c9921ef5c83 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/MacOSXFsEventsDiffAwarenessTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/MacOSXFsEventsDiffAwarenessTest.java @@ -141,7 +141,7 @@ public O getOptions(Class optionsClass) { } @Override - public Map getSkylarkOptions() { + public Map getStarlarkOptions() { return ImmutableMap.of(); } }