diff options
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 | 26 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java | 22 |
2 files changed, 30 insertions, 18 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 3277c38440..5ef70d319b 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 @@ -59,15 +59,6 @@ public class SkylarkSemanticsOptions extends OptionsBase implements Serializable // <== Add new options here in alphabetic order ==> @Option( - name = "experimental_enable_repo_mapping", - defaultValue = "false", - documentationCategory = OptionDocumentationCategory.UNDOCUMENTED, - effectTags = OptionEffectTag.BUILD_FILE_SEMANTICS, - help = "If set to true, enables the use of the `repo_mapping` attribute in WORKSPACE files." - ) - public boolean experimentalEnableRepoMapping; - - @Option( name = "experimental_cc_skylark_api_enabled_packages", converter = CommaSeparatedOptionListConverter.class, defaultValue = "", @@ -80,6 +71,22 @@ public class SkylarkSemanticsOptions extends OptionsBase implements Serializable public List<String> experimentalCcSkylarkApiEnabledPackages; @Option( + name = "experimental_enable_repo_mapping", + defaultValue = "false", + documentationCategory = OptionDocumentationCategory.UNDOCUMENTED, + effectTags = OptionEffectTag.BUILD_FILE_SEMANTICS, + help = "If set to true, enables the use of the `repo_mapping` attribute in WORKSPACE files.") + public boolean experimentalEnableRepoMapping; + + @Option( + name = "experimental_remap_main_repo", + defaultValue = "false", + documentationCategory = OptionDocumentationCategory.UNDOCUMENTED, + effectTags = OptionEffectTag.LOADING_AND_ANALYSIS, + help = "If set to true, will treat references to '@<main repo name>' the same as '@'.") + public boolean experimentalRemapMainRepo; + + @Option( name = "incompatible_bzl_disallow_load_after_statement", defaultValue = "false", documentationCategory = OptionDocumentationCategory.UNCATEGORIZED, @@ -363,6 +370,7 @@ public class SkylarkSemanticsOptions extends OptionsBase implements Serializable // <== Add new options here in alphabetic order ==> .experimentalCcSkylarkApiEnabledPackages(experimentalCcSkylarkApiEnabledPackages) .experimentalEnableRepoMapping(experimentalEnableRepoMapping) + .experimentalRemapMainRepo(experimentalRemapMainRepo) .incompatibleBzlDisallowLoadAfterStatement(incompatibleBzlDisallowLoadAfterStatement) .incompatibleDepsetIsNotIterable(incompatibleDepsetIsNotIterable) .incompatibleDepsetUnion(incompatibleDepsetUnion) diff --git a/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java b/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java index 6cc7ddfffe..c412181506 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java +++ b/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java @@ -346,10 +346,12 @@ public class WorkspaceFactory { } // Add entry in repository map from "@name" --> "@" to avoid issue where bazel // treats references to @name as a separate external repo - builder.addRepositoryMappingEntry( - RepositoryName.MAIN, - RepositoryName.createFromValidStrippedName(name), - RepositoryName.MAIN); + if (env.getSemantics().experimentalRemapMainRepo()) { + builder.addRepositoryMappingEntry( + RepositoryName.MAIN, + RepositoryName.createFromValidStrippedName(name), + RepositoryName.MAIN); + } return NONE; } }; @@ -498,11 +500,13 @@ public class WorkspaceFactory { // Add an entry in every repository from @<mainRepoName> to "@" to avoid treating // @<mainRepoName> as a separate repository. This will be overridden if the main // repository has a repo_mapping entry from <mainRepoName> to something. - if (!Strings.isNullOrEmpty(builder.pkg.getWorkspaceName())) { - builder.addRepositoryMappingEntry( - RepositoryName.createFromValidStrippedName(externalRepoName), - RepositoryName.createFromValidStrippedName(builder.pkg.getWorkspaceName()), - RepositoryName.MAIN); + if (env.getSemantics().experimentalRemapMainRepo()) { + if (!Strings.isNullOrEmpty(builder.pkg.getWorkspaceName())) { + builder.addRepositoryMappingEntry( + RepositoryName.createFromValidStrippedName(externalRepoName), + RepositoryName.createFromValidStrippedName(builder.pkg.getWorkspaceName()), + RepositoryName.MAIN); + } } if (env.getSemantics().experimentalEnableRepoMapping()) { if (kwargs.containsKey("repo_mapping")) { |