diff options
author | 2018-08-03 01:47:22 -0700 | |
---|---|---|
committer | 2018-08-03 01:48:53 -0700 | |
commit | 7e41f9bd7000a8e51101d91b0c72ce7e6775068e (patch) | |
tree | 5e037fb9512bd09415fd1bec1f0420ab78d90ae2 /src/main/java/com/google/devtools/build/lib/packages | |
parent | 3081fd98eae4bcd27bad71762835d9610d41eef0 (diff) |
C++: Change Skylark API whitelisting to be part of flag.
This uses SkylarkSemantics now instead of the C++ configuration. The flag is:
--experimental_cc_skylark_api_enabled_packages
RELNOTES:none
PiperOrigin-RevId: 207235431
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/packages')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/packages/SkylarkSemanticsOptions.java | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/SkylarkSemanticsOptions.java b/src/main/java/com/google/devtools/build/lib/packages/SkylarkSemanticsOptions.java index e48c1be9fa..3277c38440 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/SkylarkSemanticsOptions.java +++ b/src/main/java/com/google/devtools/build/lib/packages/SkylarkSemanticsOptions.java @@ -15,12 +15,14 @@ package com.google.devtools.build.lib.packages; import com.google.devtools.build.lib.syntax.SkylarkSemantics; +import com.google.devtools.common.options.Converters.CommaSeparatedOptionListConverter; import com.google.devtools.common.options.Option; import com.google.devtools.common.options.OptionDocumentationCategory; import com.google.devtools.common.options.OptionEffectTag; import com.google.devtools.common.options.OptionMetadataTag; import com.google.devtools.common.options.OptionsBase; import java.io.Serializable; +import java.util.List; /** * Contains options that affect Skylark's semantics. @@ -41,9 +43,6 @@ import java.io.Serializable; * should be that name written in snake_case. Add a line to set the new field in {@link * #toSkylarkSemantics}. * - * <li>Add a line to read and write the new field in {@link SkylarkSemanticsCodec#serialize} and - * {@link SkylarkSemanticsCodec#deserialize}. - * * <li>Add a line to set the new field in both {@link * SkylarkSemanticsConsistencyTest#buildRandomOptions} and {@link * SkylarkSemanticsConsistencyTest#buildRandomSemantics}. @@ -69,6 +68,18 @@ public class SkylarkSemanticsOptions extends OptionsBase implements Serializable public boolean experimentalEnableRepoMapping; @Option( + name = "experimental_cc_skylark_api_enabled_packages", + converter = CommaSeparatedOptionListConverter.class, + defaultValue = "", + documentationCategory = OptionDocumentationCategory.UNDOCUMENTED, + effectTags = {OptionEffectTag.LOADING_AND_ANALYSIS}, + metadataTags = {OptionMetadataTag.EXPERIMENTAL}, + help = + "Passes list of packages that can use the C++ Skylark API. Don't enable this flag yet, " + + "we will be making breaking changes.") + public List<String> experimentalCcSkylarkApiEnabledPackages; + + @Option( name = "incompatible_bzl_disallow_load_after_statement", defaultValue = "false", documentationCategory = OptionDocumentationCategory.UNCATEGORIZED, @@ -350,6 +361,7 @@ public class SkylarkSemanticsOptions extends OptionsBase implements Serializable public SkylarkSemantics toSkylarkSemantics() { return SkylarkSemantics.builder() // <== Add new options here in alphabetic order ==> + .experimentalCcSkylarkApiEnabledPackages(experimentalCcSkylarkApiEnabledPackages) .experimentalEnableRepoMapping(experimentalEnableRepoMapping) .incompatibleBzlDisallowLoadAfterStatement(incompatibleBzlDisallowLoadAfterStatement) .incompatibleDepsetIsNotIterable(incompatibleDepsetIsNotIterable) |