Factor out constants in Label class. This is to be able to create an additional target in the cmdline package to split a cycle in unknown commit. RELNOTES: None PiperOrigin-RevId: 225409893
diff --git a/src/main/java/com/google/devtools/build/lib/actions/Artifact.java b/src/main/java/com/google/devtools/build/lib/actions/Artifact.java index 1ed8df5..d6c610e 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/Artifact.java +++ b/src/main/java/com/google/devtools/build/lib/actions/Artifact.java
@@ -29,6 +29,7 @@ import com.google.devtools.build.lib.actions.ActionAnalysisMetadata.MiddlemanType; import com.google.devtools.build.lib.actions.ArtifactResolver.ArtifactResolverSupplier; import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.concurrent.BlazeInterners; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; import com.google.devtools.build.lib.shell.ShellUtils; @@ -662,9 +663,9 @@ */ public final PathFragment getRunfilesPath() { PathFragment relativePath = rootRelativePath; - if (relativePath.startsWith(Label.EXTERNAL_PATH_PREFIX)) { + if (relativePath.startsWith(LabelConstants.EXTERNAL_PATH_PREFIX)) { // Turn external/repo/foo into ../repo/foo. - relativePath = relativePath.relativeTo(Label.EXTERNAL_PATH_PREFIX); + relativePath = relativePath.relativeTo(LabelConstants.EXTERNAL_PATH_PREFIX); relativePath = PathFragment.create("..").getRelative(relativePath); } return relativePath;
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java b/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java index 1d8e23f..477764e 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/Runfiles.java
@@ -24,7 +24,7 @@ import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.ArtifactPathResolver; import com.google.devtools.build.lib.analysis.configuredtargets.RuleConfiguredTarget.Mode; -import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.collect.nestedset.Order; @@ -554,7 +554,7 @@ } private PathFragment getExternalPath(PathFragment path) { - return checkForWorkspace(path.relativeTo(Label.EXTERNAL_PACKAGE_NAME)); + return checkForWorkspace(path.relativeTo(LabelConstants.EXTERNAL_PACKAGE_NAME)); } private PathFragment checkForWorkspace(PathFragment path) { @@ -564,7 +564,7 @@ } private static boolean isUnderWorkspace(PathFragment path) { - return !path.startsWith(Label.EXTERNAL_PACKAGE_NAME); + return !path.startsWith(LabelConstants.EXTERNAL_PACKAGE_NAME); } }
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/commands/SyncCommand.java b/src/main/java/com/google/devtools/build/lib/bazel/commands/SyncCommand.java index 81299e3..843f9bd 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/commands/SyncCommand.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/commands/SyncCommand.java
@@ -19,7 +19,7 @@ import com.google.devtools.build.lib.analysis.NoBuildEvent; import com.google.devtools.build.lib.analysis.NoBuildRequestFinishedEvent; import com.google.devtools.build.lib.bazel.repository.RepositoryOrderEvent; -import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.cmdline.LabelSyntaxException; import com.google.devtools.build.lib.cmdline.RepositoryName; import com.google.devtools.build.lib.events.Event; @@ -98,7 +98,7 @@ env.getCommandId().toString()))); // Obtain the key for the top-level WORKSPACE file - SkyKey packageLookupKey = PackageLookupValue.key(Label.EXTERNAL_PACKAGE_IDENTIFIER); + SkyKey packageLookupKey = PackageLookupValue.key(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER); LoadingPhaseThreadsOption threadsOption = options.getOptions(LoadingPhaseThreadsOption.class); EvaluationContext evaluationContext = EvaluationContext.newBuilder() @@ -117,7 +117,7 @@ } RootedPath workspacePath = ((PackageLookupValue) packageLookupValue.get(packageLookupKey)) - .getRootedPath(Label.EXTERNAL_PACKAGE_IDENTIFIER); + .getRootedPath(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER); SkyKey workspace = WorkspaceFileValue.key(workspacePath); // read and evaluate the WORKSPACE file to its end
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryFunction.java b/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryFunction.java index 375cfea..62f5e14 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryFunction.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryFunction.java
@@ -20,7 +20,7 @@ import com.google.devtools.build.lib.analysis.RuleDefinition; import com.google.devtools.build.lib.bazel.repository.RepositoryResolvedEvent; import com.google.devtools.build.lib.bazel.repository.downloader.HttpDownloader; -import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.events.Event; import com.google.devtools.build.lib.packages.Rule; import com.google.devtools.build.lib.rules.repository.RepositoryDelegatorFunction; @@ -169,7 +169,7 @@ new IOException(rule + " must create a directory"), Transience.TRANSIENT); } - if (!outputDirectory.getRelative(Label.WORKSPACE_FILE_NAME).exists()) { + if (!outputDirectory.getRelative(LabelConstants.WORKSPACE_FILE_NAME).exists()) { createWorkspaceFile(outputDirectory, rule.getTargetKind(), rule.getName()); }
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java index 5583042..afb58ea 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java
@@ -58,7 +58,7 @@ import com.google.devtools.build.lib.bazel.rules.workspace.MavenServerRule; import com.google.devtools.build.lib.bazel.rules.workspace.NewGitRepositoryRule; import com.google.devtools.build.lib.bazel.rules.workspace.NewHttpArchiveRule; -import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.packages.Attribute.LabelLateBoundDefault; import com.google.devtools.build.lib.rules.android.AarImportBaseRule; import com.google.devtools.build.lib.rules.android.AndroidConfiguration; @@ -209,7 +209,7 @@ public void init(ConfiguredRuleClassProvider.Builder builder) { builder .setPrelude("//tools/build_rules:prelude_bazel") - .setRunfilesPrefix(Label.DEFAULT_REPOSITORY_DIRECTORY) + .setRunfilesPrefix(LabelConstants.DEFAULT_REPOSITORY_DIRECTORY) .setPrerequisiteValidator(new BazelPrerequisiteValidator()) .setActionEnvironmentProvider(SHELL_ACTION_ENV);
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java index 0ff5d15..31b6275 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java
@@ -39,7 +39,7 @@ import com.google.devtools.build.lib.analysis.actions.TemplateExpansionAction; import com.google.devtools.build.lib.analysis.configuredtargets.RuleConfiguredTarget.Mode; import com.google.devtools.build.lib.analysis.test.InstrumentedFilesCollector.InstrumentationSpec; -import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.rules.cpp.CcInfo; @@ -236,7 +236,7 @@ } private static boolean isUnderWorkspace(PathFragment path) { - return !path.startsWith(Label.EXTERNAL_PATH_PREFIX); + return !path.startsWith(LabelConstants.EXTERNAL_PATH_PREFIX); } private static String getZipRunfilesPath(PathFragment path, PathFragment workspaceName) { @@ -246,7 +246,7 @@ zipRunfilesPath = workspaceName.getRelative(path).toString(); } else { // If the file is in external package, strip "external" - zipRunfilesPath = path.relativeTo(Label.EXTERNAL_PATH_PREFIX).toString(); + zipRunfilesPath = path.relativeTo(LabelConstants.EXTERNAL_PATH_PREFIX).toString(); } // We put the whole runfiles tree under the ZIP_RUNFILES_DIRECTORY_NAME directory, by doing this // , we avoid the conflict between default workspace name "__main__" and __main__.py file.
diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/SymlinkForest.java b/src/main/java/com/google/devtools/build/lib/buildtool/SymlinkForest.java index 4ed8fda..d4ce23d 100644 --- a/src/main/java/com/google/devtools/build/lib/buildtool/SymlinkForest.java +++ b/src/main/java/com/google/devtools/build/lib/buildtool/SymlinkForest.java
@@ -20,7 +20,7 @@ import com.google.common.collect.ImmutableSet; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.cmdline.PackageIdentifier; import com.google.devtools.build.lib.concurrent.ThreadSafety; import com.google.devtools.build.lib.vfs.FileSystemUtils; @@ -118,7 +118,7 @@ Map<PackageIdentifier, Set<Root>> dirRootsMap = Maps.newTreeMap(); for (Map.Entry<PackageIdentifier, Root> entry : packageRoots.entrySet()) { PackageIdentifier pkgId = entry.getKey(); - if (pkgId.equals(Label.EXTERNAL_PACKAGE_IDENTIFIER)) { + if (pkgId.equals(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER)) { // This isn't a "real" package, don't add it to the symlink tree. continue; }
diff --git a/src/main/java/com/google/devtools/build/lib/cmdline/Label.java b/src/main/java/com/google/devtools/build/lib/cmdline/Label.java index ecde524..bd8aab6 100644 --- a/src/main/java/com/google/devtools/build/lib/cmdline/Label.java +++ b/src/main/java/com/google/devtools/build/lib/cmdline/Label.java
@@ -58,9 +58,6 @@ @ThreadSafe public final class Label implements Comparable<Label>, Serializable, SkylarkValue, SkyKey, CommandLineItem { - public static final PathFragment EXTERNAL_PACKAGE_NAME = PathFragment.create("external"); - public static final PathFragment WORKSPACE_FILE_NAME = PathFragment.create("WORKSPACE"); - public static final String DEFAULT_REPOSITORY_DIRECTORY = "__main__"; /** * Package names that aren't made relative to the current repository because they mean special @@ -75,12 +72,8 @@ // Visibility is labels aren't actually targets PathFragment.create("visibility"), // There is only one //external package - Label.EXTERNAL_PACKAGE_NAME); + LabelConstants.EXTERNAL_PACKAGE_NAME); - public static final PackageIdentifier EXTERNAL_PACKAGE_IDENTIFIER = - PackageIdentifier.createInMainRepo(EXTERNAL_PACKAGE_NAME); - - public static final PathFragment EXTERNAL_PATH_PREFIX = PathFragment.create("external"); public static final SkyFunctionName TRANSITIVE_TRAVERSAL = SkyFunctionName.createHermetic("TRANSITIVE_TRAVERSAL");
diff --git a/src/main/java/com/google/devtools/build/lib/cmdline/LabelConstants.java b/src/main/java/com/google/devtools/build/lib/cmdline/LabelConstants.java new file mode 100644 index 0000000..b6c3d72 --- /dev/null +++ b/src/main/java/com/google/devtools/build/lib/cmdline/LabelConstants.java
@@ -0,0 +1,26 @@ +// Copyright 2018 The Bazel Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +package com.google.devtools.build.lib.cmdline; + +import com.google.devtools.build.lib.vfs.PathFragment; + +/** Constants associated with {@code Label}s */ +public class LabelConstants { + public static final PathFragment EXTERNAL_PACKAGE_NAME = PathFragment.create("external"); + public static final PackageIdentifier EXTERNAL_PACKAGE_IDENTIFIER = + PackageIdentifier.createInMainRepo(EXTERNAL_PACKAGE_NAME); + public static final PathFragment EXTERNAL_PATH_PREFIX = PathFragment.create("external"); + public static final PathFragment WORKSPACE_FILE_NAME = PathFragment.create("WORKSPACE"); + public static final String DEFAULT_REPOSITORY_DIRECTORY = "__main__"; +}
diff --git a/src/main/java/com/google/devtools/build/lib/cmdline/PackageIdentifier.java b/src/main/java/com/google/devtools/build/lib/cmdline/PackageIdentifier.java index 732e6a0..4db5bf6 100644 --- a/src/main/java/com/google/devtools/build/lib/cmdline/PackageIdentifier.java +++ b/src/main/java/com/google/devtools/build/lib/cmdline/PackageIdentifier.java
@@ -86,7 +86,7 @@ ? Preconditions.checkNotNull( execPath.getParentDirectory(), "Must pass in files, not root directory") : execPath; - if (tofind.startsWith(Label.EXTERNAL_PATH_PREFIX)) { + if (tofind.startsWith(LabelConstants.EXTERNAL_PATH_PREFIX)) { // TODO(ulfjack): Remove this when kchodorow@'s exec root rearrangement has been rolled out. RepositoryName repository = RepositoryName.create("@" + tofind.getSegment(1)); return PackageIdentifier.create(repository, tofind.subFragment(2));
diff --git a/src/main/java/com/google/devtools/build/lib/cmdline/RepositoryName.java b/src/main/java/com/google/devtools/build/lib/cmdline/RepositoryName.java index 1678c81..b914a75 100644 --- a/src/main/java/com/google/devtools/build/lib/cmdline/RepositoryName.java +++ b/src/main/java/com/google/devtools/build/lib/cmdline/RepositoryName.java
@@ -140,7 +140,7 @@ * was invalid. */ public static Pair<RepositoryName, PathFragment> fromPathFragment(PathFragment path) { - if (path.segmentCount() < 2 || !path.startsWith(Label.EXTERNAL_PATH_PREFIX)) { + if (path.segmentCount() < 2 || !path.startsWith(LabelConstants.EXTERNAL_PATH_PREFIX)) { return null; } try { @@ -223,7 +223,8 @@ */ public PathFragment getSourceRoot() { return isDefault() || isMain() - ? PathFragment.EMPTY_FRAGMENT : Label.EXTERNAL_PACKAGE_NAME.getRelative(strippedName()); + ? PathFragment.EMPTY_FRAGMENT + : LabelConstants.EXTERNAL_PACKAGE_NAME.getRelative(strippedName()); } /** @@ -233,7 +234,7 @@ public PathFragment getPathUnderExecRoot() { return isDefault() || isMain() ? PathFragment.EMPTY_FRAGMENT - : Label.EXTERNAL_PATH_PREFIX.getRelative(strippedName()); + : LabelConstants.EXTERNAL_PATH_PREFIX.getRelative(strippedName()); } /**
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Package.java b/src/main/java/com/google/devtools/build/lib/packages/Package.java index ac19cef..58c93fe 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/Package.java +++ b/src/main/java/com/google/devtools/build/lib/packages/Package.java
@@ -23,6 +23,7 @@ import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.cmdline.LabelSyntaxException; import com.google.devtools.build.lib.cmdline.PackageIdentifier; import com.google.devtools.build.lib.cmdline.RepositoryName; @@ -246,7 +247,7 @@ */ public ImmutableMap<RepositoryName, RepositoryName> getRepositoryMapping( RepositoryName repository) { - if (!packageIdentifier.equals(Label.EXTERNAL_PACKAGE_IDENTIFIER)) { + if (!packageIdentifier.equals(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER)) { throw new UnsupportedOperationException("Can only access the external package repository" + "mappings from the //external package"); } @@ -266,7 +267,7 @@ */ public ImmutableMap<RepositoryName, ImmutableMap<RepositoryName, RepositoryName>> getExternalPackageRepositoryMappings() { - if (!packageIdentifier.equals(Label.EXTERNAL_PACKAGE_IDENTIFIER)) { + if (!packageIdentifier.equals(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER)) { throw new UnsupportedOperationException( "Can only access the external package repository" + "mappings from the //external package"); @@ -740,8 +741,9 @@ public static Builder newExternalPackageBuilder( Builder.Helper helper, RootedPath workspacePath, String runfilesPrefix) { - Builder b = new Builder(helper.createFreshPackage( - Label.EXTERNAL_PACKAGE_IDENTIFIER, runfilesPrefix)); + Builder b = + new Builder( + helper.createFreshPackage(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER, runfilesPrefix)); b.setFilename(workspacePath); return b; } @@ -876,7 +878,7 @@ /** Determine if we are in the WORKSPACE file or not */ boolean isWorkspace() { - return pkg.getPackageIdentifier().equals(Label.EXTERNAL_PACKAGE_IDENTIFIER); + return pkg.getPackageIdentifier().equals(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER); } String getPackageWorkspaceName() {
diff --git a/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java b/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java index 189876b..b482d92 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java +++ b/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java
@@ -24,6 +24,7 @@ import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.google.devtools.build.lib.analysis.skylark.BazelStarlarkContext; import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.cmdline.LabelSyntaxException; import com.google.devtools.build.lib.cmdline.LabelValidator; import com.google.devtools.build.lib.cmdline.PackageIdentifier; @@ -1334,7 +1335,9 @@ newExternalPackageBuilder( RootedPath.toRootedPath( buildFile.getRoot(), - buildFile.getRootRelativePath().getRelative(Label.WORKSPACE_FILE_NAME)), + buildFile + .getRootRelativePath() + .getRelative(LabelConstants.WORKSPACE_FILE_NAME)), "TESTING") .build(); return createPackageForTesting(
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 24cfdfe..65b3093 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
@@ -21,6 +21,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.cmdline.LabelSyntaxException; import com.google.devtools.build.lib.cmdline.LabelValidator; import com.google.devtools.build.lib.cmdline.RepositoryName; @@ -156,7 +157,7 @@ BuildFileAST buildFileAST = BuildFileAST.parseBuildFile(source, localReporter); if (buildFileAST.containsErrors()) { throw new BuildFileContainsErrorsException( - Label.EXTERNAL_PACKAGE_IDENTIFIER, "Failed to parse " + source.getPath()); + LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER, "Failed to parse " + source.getPath()); } execute(buildFileAST, null, skylarkSemantics, localReporter); }
diff --git a/src/main/java/com/google/devtools/build/lib/pkgcache/PathPackageLocator.java b/src/main/java/com/google/devtools/build/lib/pkgcache/PathPackageLocator.java index b0c780b..71c8f84 100644 --- a/src/main/java/com/google/devtools/build/lib/pkgcache/PathPackageLocator.java +++ b/src/main/java/com/google/devtools/build/lib/pkgcache/PathPackageLocator.java
@@ -17,7 +17,7 @@ import com.google.common.base.Preconditions; import com.google.common.base.Verify; import com.google.common.collect.ImmutableList; -import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.cmdline.PackageIdentifier; import com.google.devtools.build.lib.events.Event; import com.google.devtools.build.lib.events.EventHandler; @@ -249,7 +249,7 @@ AtomicReference<? extends UnixGlob.FilesystemCalls> cache = UnixGlob.DEFAULT_SYSCALLS_REF; // TODO(bazel-team): correctness in the presence of changes to the location of the WORKSPACE // file. - return getFilePath(Label.WORKSPACE_FILE_NAME, cache); + return getFilePath(LabelConstants.WORKSPACE_FILE_NAME, cache); } private Path getFilePath(PathFragment suffix,
diff --git a/src/main/java/com/google/devtools/build/lib/query2/RBuildFilesVisitor.java b/src/main/java/com/google/devtools/build/lib/query2/RBuildFilesVisitor.java index 17db2618f..9adfae7 100644 --- a/src/main/java/com/google/devtools/build/lib/query2/RBuildFilesVisitor.java +++ b/src/main/java/com/google/devtools/build/lib/query2/RBuildFilesVisitor.java
@@ -14,7 +14,7 @@ package com.google.devtools.build.lib.query2; import com.google.common.collect.Iterables; -import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.collect.compacthashset.CompactHashSet; import com.google.devtools.build.lib.packages.Target; import com.google.devtools.build.lib.query2.engine.Callback; @@ -36,7 +36,7 @@ // deal with at once. A value of 100 was chosen experimentally. private static final int PROCESS_RESULTS_BATCH_SIZE = 100; private static final SkyKey EXTERNAL_PACKAGE_KEY = - PackageValue.key(Label.EXTERNAL_PACKAGE_IDENTIFIER); + PackageValue.key(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER); private final SkyQueryEnvironment env; private final QueryExpressionContext<Target> context;
diff --git a/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java b/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java index 5e81ec8..47c9786 100644 --- a/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java +++ b/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java
@@ -42,6 +42,7 @@ import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.google.devtools.build.lib.actions.FileStateValue; import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.cmdline.PackageIdentifier; import com.google.devtools.build.lib.cmdline.TargetParsingException; import com.google.devtools.build.lib.cmdline.TargetPattern; @@ -1014,13 +1015,15 @@ private static Iterable<SkyKey> getPkgLookupKeysForFile(PathFragment originalFileFragment, PathFragment currentPathFragment) { if (originalFileFragment.equals(currentPathFragment) - && originalFileFragment.equals(Label.WORKSPACE_FILE_NAME)) { + && originalFileFragment.equals(LabelConstants.WORKSPACE_FILE_NAME)) { // TODO(mschaller): this should not be checked at runtime. These are constants! Preconditions.checkState( - Label.WORKSPACE_FILE_NAME.getParentDirectory().equals(PathFragment.EMPTY_FRAGMENT), - Label.WORKSPACE_FILE_NAME); + LabelConstants.WORKSPACE_FILE_NAME + .getParentDirectory() + .equals(PathFragment.EMPTY_FRAGMENT), + LabelConstants.WORKSPACE_FILE_NAME); return ImmutableList.of( - PackageLookupValue.key(Label.EXTERNAL_PACKAGE_IDENTIFIER), + PackageLookupValue.key(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER), PackageLookupValue.key(PackageIdentifier.createInMainRepo(PathFragment.EMPTY_FRAGMENT))); } PathFragment parentPathFragment = currentPathFragment.getParentDirectory();
diff --git a/src/main/java/com/google/devtools/build/lib/repository/ExternalPackageUtil.java b/src/main/java/com/google/devtools/build/lib/repository/ExternalPackageUtil.java index aa67974..b787d73 100644 --- a/src/main/java/com/google/devtools/build/lib/repository/ExternalPackageUtil.java +++ b/src/main/java/com/google/devtools/build/lib/repository/ExternalPackageUtil.java
@@ -19,7 +19,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; -import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.events.Event; import com.google.devtools.build.lib.packages.BuildFileContainsErrorsException; import com.google.devtools.build.lib.packages.Package; @@ -47,12 +47,13 @@ private static List<Rule> getRules( Environment env, boolean returnFirst, Function<Package, List<Rule>> selector) throws ExternalPackageException, InterruptedException { - SkyKey packageLookupKey = PackageLookupValue.key(Label.EXTERNAL_PACKAGE_IDENTIFIER); + SkyKey packageLookupKey = PackageLookupValue.key(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER); PackageLookupValue packageLookupValue = (PackageLookupValue) env.getValue(packageLookupKey); if (packageLookupValue == null) { return null; } - RootedPath workspacePath = packageLookupValue.getRootedPath(Label.EXTERNAL_PACKAGE_IDENTIFIER); + RootedPath workspacePath = + packageLookupValue.getRootedPath(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER); List<Rule> rules = returnFirst ? ImmutableList.of() : Lists.newArrayList(); SkyKey workspaceKey = WorkspaceFileValue.key(workspacePath); @@ -66,7 +67,7 @@ Event.replayEventsOn(env.getListener(), externalPackage.getEvents()); throw new ExternalPackageException( new BuildFileContainsErrorsException( - Label.EXTERNAL_PACKAGE_IDENTIFIER, "Could not load //external package"), + LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER, "Could not load //external package"), Transience.PERSISTENT); } List<Rule> results = selector.apply(externalPackage);
diff --git a/src/main/java/com/google/devtools/build/lib/repository/ExternalRuleNotFoundException.java b/src/main/java/com/google/devtools/build/lib/repository/ExternalRuleNotFoundException.java index 7534bcb..158890e 100644 --- a/src/main/java/com/google/devtools/build/lib/repository/ExternalRuleNotFoundException.java +++ b/src/main/java/com/google/devtools/build/lib/repository/ExternalRuleNotFoundException.java
@@ -14,7 +14,7 @@ package com.google.devtools.build.lib.repository; -import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.packages.BuildFileContainsErrorsException; /** Exception thrown when a rule cannot be found. */ @@ -22,7 +22,7 @@ public ExternalRuleNotFoundException(String ruleName) { super( new BuildFileContainsErrorsException( - Label.EXTERNAL_PACKAGE_IDENTIFIER, + LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER, "The rule named '" + ruleName + "' could not be resolved"), Transience.PERSISTENT); }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java index 27a7c17..40ff497 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
@@ -46,7 +46,7 @@ import com.google.devtools.build.lib.actions.extra.CppCompileInfo; import com.google.devtools.build.lib.actions.extra.EnvironmentVariable; import com.google.devtools.build.lib.actions.extra.ExtraActionInfo; -import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.collect.CollectionUtils; import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; @@ -866,8 +866,8 @@ continue; } // One starting ../ is okay for getting to a sibling repository. - if (includePath.startsWith(Label.EXTERNAL_PATH_PREFIX)) { - includePath = includePath.relativeTo(Label.EXTERNAL_PATH_PREFIX); + if (includePath.startsWith(LabelConstants.EXTERNAL_PATH_PREFIX)) { + includePath = includePath.relativeTo(LabelConstants.EXTERNAL_PATH_PREFIX); } if (includePath.isAbsolute() || includePath.containsUplevelReferences()) { throw new ActionExecutionException(
diff --git a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryFunction.java b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryFunction.java index bf3a52a..b03bfc2 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryFunction.java +++ b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryFunction.java
@@ -24,6 +24,7 @@ import com.google.devtools.build.lib.analysis.BlazeDirectories; import com.google.devtools.build.lib.analysis.RuleDefinition; import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.cmdline.LabelSyntaxException; import com.google.devtools.build.lib.cmdline.LabelValidator; import com.google.devtools.build.lib.cmdline.RepositoryName; @@ -121,7 +122,7 @@ public RepositoryNotFoundException(String repositoryName) { super( new BuildFileContainsErrorsException( - Label.EXTERNAL_PACKAGE_IDENTIFIER, + LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER, "The repository named '" + repositoryName + "' could not be resolved"), Transience.PERSISTENT); } @@ -491,7 +492,7 @@ } protected static Path getExternalRepositoryDirectory(BlazeDirectories directories) { - return directories.getOutputBase().getRelative(Label.EXTERNAL_PACKAGE_NAME); + return directories.getOutputBase().getRelative(LabelConstants.EXTERNAL_PACKAGE_NAME); } /**
diff --git a/src/main/java/com/google/devtools/build/lib/rules/repository/ResolvedFileFunction.java b/src/main/java/com/google/devtools/build/lib/rules/repository/ResolvedFileFunction.java index 5766cdc..3bb1d18 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/repository/ResolvedFileFunction.java +++ b/src/main/java/com/google/devtools/build/lib/rules/repository/ResolvedFileFunction.java
@@ -17,14 +17,13 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.actions.FileValue; -import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.packages.BazelLibrary; import com.google.devtools.build.lib.packages.BuildFileContainsErrorsException; import com.google.devtools.build.lib.packages.NoSuchThingException; import com.google.devtools.build.lib.rules.repository.ResolvedFileValue.ResolvedFileKey; import com.google.devtools.build.lib.skyframe.PrecomputedValue; import com.google.devtools.build.lib.syntax.BuildFileAST; -import com.google.devtools.build.lib.syntax.Environment; import com.google.devtools.build.lib.syntax.Mutability; import com.google.devtools.build.lib.syntax.ParserInputSource; import com.google.devtools.build.lib.syntax.SkylarkSemantics; @@ -70,7 +69,7 @@ if (ast.containsErrors()) { throw new ResolvedFileFunctionException( new BuildFileContainsErrorsException( - Label.EXTERNAL_PACKAGE_IDENTIFIER, + LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER, "Failed to parse file resolved file " + key.getPath())); } com.google.devtools.build.lib.syntax.Environment resolvedEnvironment; @@ -83,7 +82,7 @@ if (!ast.exec(resolvedEnvironment, env.getListener())) { throw new ResolvedFileFunctionException( new BuildFileContainsErrorsException( - Label.EXTERNAL_PACKAGE_IDENTIFIER, + LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER, "Failed to evaluate resolved file " + key.getPath())); } } @@ -91,24 +90,25 @@ if (resolved == null) { throw new ResolvedFileFunctionException( new BuildFileContainsErrorsException( - Label.EXTERNAL_PACKAGE_IDENTIFIER, + LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER, "Symbol 'resolved' not exported in resolved file " + key.getPath())); } if (!(resolved instanceof List)) { throw new ResolvedFileFunctionException( new BuildFileContainsErrorsException( - Label.EXTERNAL_PACKAGE_IDENTIFIER, - "Symbol 'resolved' in resolved file " + key.getPath() + " not a list")); + LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER, + "Symbol 'resolved' in resolved file " + key.getPath() + " not a list")); } ImmutableList.Builder<Map<String, Object>> result = new ImmutableList.Builder<Map<String, Object>>(); for (Object entry : (List) resolved) { if (!(entry instanceof Map)) { - throw new ResolvedFileFunctionException( - new BuildFileContainsErrorsException( - Label.EXTERNAL_PACKAGE_IDENTIFIER, - "Symbol 'resolved' in resolved file " + key.getPath() - + " contains a non-map entry")); + throw new ResolvedFileFunctionException( + new BuildFileContainsErrorsException( + LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER, + "Symbol 'resolved' in resolved file " + + key.getPath() + + " contains a non-map entry")); } ImmutableMap.Builder<String, Object> entryBuilder = new ImmutableMap.Builder<String, Object>(); @@ -117,8 +117,9 @@ if (!(attribute instanceof String)) { throw new ResolvedFileFunctionException( new BuildFileContainsErrorsException( - Label.EXTERNAL_PACKAGE_IDENTIFIER, - "Symbol 'resolved' in resolved file " + key.getPath() + LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER, + "Symbol 'resolved' in resolved file " + + key.getPath() + " contains a non-string key in one of its entries")); } entryBuilder.put((String) attribute, keyValue.getValue());
diff --git a/src/main/java/com/google/devtools/build/lib/rules/repository/WorkspaceAttributeMapper.java b/src/main/java/com/google/devtools/build/lib/rules/repository/WorkspaceAttributeMapper.java index 0328462..812c708 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/repository/WorkspaceAttributeMapper.java +++ b/src/main/java/com/google/devtools/build/lib/rules/repository/WorkspaceAttributeMapper.java
@@ -17,7 +17,7 @@ import static com.google.common.base.Preconditions.checkNotNull; import com.google.common.base.Preconditions; -import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.packages.AggregatingAttributeMapper; import com.google.devtools.build.lib.packages.BuildType.SelectorList; import com.google.devtools.build.lib.packages.Rule; @@ -64,8 +64,10 @@ Object value = rule.getAttributeContainer().getAttr(checkNotNull(attributeName)); if (value instanceof SelectorList) { String message; - if (rule.getLocation().getPath().getBaseName().equals( - Label.WORKSPACE_FILE_NAME.getPathString())) { + if (rule.getLocation() + .getPath() + .getBaseName() + .equals(LabelConstants.WORKSPACE_FILE_NAME.getPathString())) { message = "select() cannot be used in WORKSPACE files"; } else { message = "select() cannot be used in macros called from WORKSPACE files";
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ExternalFilesHelper.java b/src/main/java/com/google/devtools/build/lib/skyframe/ExternalFilesHelper.java index 3331fda..aa7f036 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ExternalFilesHelper.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ExternalFilesHelper.java
@@ -15,7 +15,7 @@ import com.google.common.base.Preconditions; import com.google.devtools.build.lib.analysis.BlazeDirectories; -import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadCompatible; import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe; import com.google.devtools.build.lib.pkgcache.PathPackageLocator; @@ -183,7 +183,7 @@ return FileType.EXTERNAL; } if (rootedPath.asPath().startsWith(outputBase)) { - Path externalRepoDir = outputBase.getRelative(Label.EXTERNAL_PACKAGE_NAME); + Path externalRepoDir = outputBase.getRelative(LabelConstants.EXTERNAL_PACKAGE_NAME); if (rootedPath.asPath().startsWith(externalRepoDir)) { anyNonOutputExternalFilesSeen = true; return FileType.EXTERNAL_REPO;
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/LocalRepositoryLookupFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/LocalRepositoryLookupFunction.java index cb1012d..7dbe529 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/LocalRepositoryLookupFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/LocalRepositoryLookupFunction.java
@@ -18,7 +18,7 @@ import com.google.common.collect.Iterables; import com.google.devtools.build.lib.actions.FileValue; import com.google.devtools.build.lib.actions.InconsistentFilesystemException; -import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.cmdline.LabelSyntaxException; import com.google.devtools.build.lib.cmdline.RepositoryName; import com.google.devtools.build.lib.events.Event; @@ -146,7 +146,7 @@ externalPackageLookupValue = (PackageLookupValue) env.getValueOrThrow( - PackageLookupValue.key(Label.EXTERNAL_PACKAGE_IDENTIFIER), + PackageLookupValue.key(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER), BuildFileNotFoundException.class, InconsistentFilesystemException.class); if (externalPackageLookupValue == null) { @@ -165,7 +165,7 @@ } RootedPath workspacePath = - externalPackageLookupValue.getRootedPath(Label.EXTERNAL_PACKAGE_IDENTIFIER); + externalPackageLookupValue.getRootedPath(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER); SkyKey workspaceKey = WorkspaceFileValue.key(workspacePath); do {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PackageFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/PackageFunction.java index d580796..3f03429 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/PackageFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/PackageFunction.java
@@ -29,6 +29,7 @@ import com.google.devtools.build.lib.actions.InconsistentFilesystemException; import com.google.devtools.build.lib.clock.BlazeClock; import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.cmdline.LabelSyntaxException; import com.google.devtools.build.lib.cmdline.PackageIdentifier; import com.google.devtools.build.lib.cmdline.RepositoryName; @@ -291,8 +292,8 @@ if (skylarkSemantics == null) { return null; } - RootedPath workspacePath = RootedPath.toRootedPath( - packageLookupPath, Label.WORKSPACE_FILE_NAME); + RootedPath workspacePath = + RootedPath.toRootedPath(packageLookupPath, LabelConstants.WORKSPACE_FILE_NAME); SkyKey workspaceKey = ExternalPackageFunction.key(workspacePath); PackageValue workspace = null; try { @@ -308,7 +309,7 @@ } catch (IOException | EvalException | SkylarkImportFailedException e) { throw new PackageFunctionException( new NoSuchPackageException( - Label.EXTERNAL_PACKAGE_IDENTIFIER, + LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER, "Error encountered while dealing with the WORKSPACE file: " + e.getMessage()), Transience.PERSISTENT); } @@ -370,7 +371,7 @@ } } - if (packageId.equals(Label.EXTERNAL_PACKAGE_IDENTIFIER)) { + if (packageId.equals(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER)) { return getExternalPackage(env, packageLookupValue.getRoot()); } WorkspaceNameValue workspaceNameValue =
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupFunction.java index b3496b0..32e1b69 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupFunction.java
@@ -18,7 +18,7 @@ import com.google.common.collect.ImmutableSet; import com.google.devtools.build.lib.actions.FileValue; import com.google.devtools.build.lib.actions.InconsistentFilesystemException; -import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.cmdline.LabelValidator; import com.google.devtools.build.lib.cmdline.PackageIdentifier; import com.google.devtools.build.lib.packages.BuildFileName; @@ -79,7 +79,7 @@ if (!packageKey.getRepository().isMain()) { return computeExternalPackageLookupValue(skyKey, env, packageKey); - } else if (packageKey.equals(Label.EXTERNAL_PACKAGE_IDENTIFIER)) { + } else if (packageKey.equals(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER)) { return computeWorkspacePackageLookupValue(env, pkgLocator.getPathEntries()); } @@ -272,7 +272,10 @@ throws PackageLookupFunctionException, InterruptedException { PackageLookupValue result = getPackageLookupValue( - env, packagePathEntries, Label.EXTERNAL_PACKAGE_IDENTIFIER, BuildFileName.WORKSPACE); + env, + packagePathEntries, + LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER, + BuildFileName.WORKSPACE); if (result == null) { return null; } @@ -286,10 +289,11 @@ return PackageLookupValue.NO_BUILD_FILE_VALUE; } Root lastPackagePath = packagePathEntries.get(packagePathEntries.size() - 1); - FileValue lastPackagePackagePathFileValue = getFileValue( - RootedPath.toRootedPath(lastPackagePath, PathFragment.EMPTY_FRAGMENT), - env, - Label.EXTERNAL_PACKAGE_IDENTIFIER); + FileValue lastPackagePackagePathFileValue = + getFileValue( + RootedPath.toRootedPath(lastPackagePath, PathFragment.EMPTY_FRAGMENT), + env, + LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER); if (lastPackagePackagePathFileValue == null) { return null; }
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ProcessPackageDirectory.java b/src/main/java/com/google/devtools/build/lib/skyframe/ProcessPackageDirectory.java index 71155a7..5ff75e8 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ProcessPackageDirectory.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ProcessPackageDirectory.java
@@ -21,7 +21,7 @@ import com.google.devtools.build.lib.actions.FileValue; import com.google.devtools.build.lib.actions.InconsistentFilesystemException; import com.google.devtools.build.lib.analysis.BlazeDirectories; -import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.cmdline.PackageIdentifier; import com.google.devtools.build.lib.cmdline.RepositoryName; import com.google.devtools.build.lib.events.Event; @@ -188,7 +188,7 @@ } String basename = dirent.getName(); PathFragment subdirectory = rootRelativePath.getRelative(basename); - if (subdirectory.equals(Label.EXTERNAL_PACKAGE_NAME)) { + if (subdirectory.equals(LabelConstants.EXTERNAL_PACKAGE_NAME)) { // Not a real package. continue; }
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredExecutionPlatformsFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredExecutionPlatformsFunction.java index ed5b15d..e5b3012 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredExecutionPlatformsFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredExecutionPlatformsFunction.java
@@ -25,6 +25,7 @@ import com.google.devtools.build.lib.analysis.platform.PlatformInfo; import com.google.devtools.build.lib.analysis.platform.PlatformProviderUtils; import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.cmdline.TargetParsingException; import com.google.devtools.build.lib.packages.Package; import com.google.devtools.build.lib.packages.RuleClass; @@ -109,7 +110,7 @@ public static List<String> getWorkspaceExecutionPlatforms(Environment env) throws InterruptedException { PackageValue externalPackageValue = - (PackageValue) env.getValue(PackageValue.key(Label.EXTERNAL_PACKAGE_IDENTIFIER)); + (PackageValue) env.getValue(PackageValue.key(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER)); if (externalPackageValue == null) { return null; }
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunction.java index 1bb553e..c839e4c 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunction.java
@@ -23,6 +23,7 @@ import com.google.devtools.build.lib.analysis.config.BuildConfiguration; import com.google.devtools.build.lib.analysis.platform.DeclaredToolchainInfo; import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.cmdline.TargetParsingException; import com.google.devtools.build.lib.packages.Package; import com.google.devtools.build.lib.pkgcache.FilteringPolicies; @@ -111,7 +112,7 @@ @VisibleForTesting public static List<String> getRegisteredToolchains(Environment env) throws InterruptedException { PackageValue externalPackageValue = - (PackageValue) env.getValue(PackageValue.key(Label.EXTERNAL_PACKAGE_IDENTIFIER)); + (PackageValue) env.getValue(PackageValue.key(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER)); if (externalPackageValue == null) { return null; }
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RepositoryMappingFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/RepositoryMappingFunction.java index 51e697a..0dcf235 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/RepositoryMappingFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/RepositoryMappingFunction.java
@@ -15,7 +15,7 @@ package com.google.devtools.build.lib.skyframe; import com.google.common.collect.ImmutableMap; -import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.cmdline.RepositoryName; import com.google.devtools.build.lib.packages.BuildFileContainsErrorsException; import com.google.devtools.build.lib.packages.Package; @@ -32,7 +32,7 @@ @Override public SkyValue compute(SkyKey skyKey, Environment env) throws SkyFunctionException, InterruptedException { - SkyKey externalPackageKey = PackageValue.key(Label.EXTERNAL_PACKAGE_IDENTIFIER); + SkyKey externalPackageKey = PackageValue.key(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER); PackageValue externalPackageValue = (PackageValue) env.getValue(externalPackageKey); if (env.valuesMissing()) { return null; @@ -56,7 +56,7 @@ private class RepositoryMappingFunctionException extends SkyFunctionException { RepositoryMappingFunctionException() { super( - new BuildFileContainsErrorsException(Label.EXTERNAL_PACKAGE_IDENTIFIER), + new BuildFileContainsErrorsException(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER), Transience.PERSISTENT); } }
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseFunction.java index afd09b5..fa3db31 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseFunction.java
@@ -23,6 +23,7 @@ import com.google.common.collect.Iterables; import com.google.common.collect.Sets; import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.cmdline.ResolvedTargets; import com.google.devtools.build.lib.cmdline.TargetParsingException; import com.google.devtools.build.lib.events.Event; @@ -72,8 +73,11 @@ PackageValue packageValue = null; boolean workspaceError = false; try { - packageValue = (PackageValue) env.getValueOrThrow( - PackageValue.key(Label.EXTERNAL_PACKAGE_IDENTIFIER), NoSuchPackageException.class); + packageValue = + (PackageValue) + env.getValueOrThrow( + PackageValue.key(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER), + NoSuchPackageException.class); } catch (NoSuchPackageException e) { env.getListener().handle(Event.error(e.getMessage())); workspaceError = true;
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTFunction.java index 2d6942a..4e61794 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTFunction.java
@@ -23,7 +23,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.actions.FileValue; -import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.packages.BuildFileContainsErrorsException; import com.google.devtools.build.lib.packages.RuleClassProvider; import com.google.devtools.build.lib.rules.repository.RepositoryDelegatorFunction; @@ -91,7 +91,8 @@ if (ast.containsErrors()) { throw new WorkspaceASTFunctionException( new BuildFileContainsErrorsException( - Label.EXTERNAL_PACKAGE_IDENTIFIER, "Failed to parse default WORKSPACE file"), + LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER, + "Failed to parse default WORKSPACE file"), Transience.PERSISTENT); } if (newWorkspaceFileContents != null) { @@ -114,7 +115,7 @@ if (ast.containsErrors()) { throw new WorkspaceASTFunctionException( new BuildFileContainsErrorsException( - Label.EXTERNAL_PACKAGE_IDENTIFIER, "Failed to parse WORKSPACE file"), + LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER, "Failed to parse WORKSPACE file"), Transience.PERSISTENT); } } @@ -129,7 +130,8 @@ if (ast.containsErrors()) { throw new WorkspaceASTFunctionException( new BuildFileContainsErrorsException( - Label.EXTERNAL_PACKAGE_IDENTIFIER, "Failed to parse default WORKSPACE file suffix"), + LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER, + "Failed to parse default WORKSPACE file suffix"), Transience.PERSISTENT); } return new WorkspaceASTValue(splitAST(ast)); @@ -140,7 +142,7 @@ private static WorkspaceASTFunctionException resolvedValueError(String message) { return new WorkspaceASTFunctionException( - new BuildFileContainsErrorsException(Label.EXTERNAL_PACKAGE_IDENTIFIER, message), + new BuildFileContainsErrorsException(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER, message), Transience.PERSISTENT); }
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceNameFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceNameFunction.java index 9284f5c..17f7c9a 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceNameFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceNameFunction.java
@@ -13,7 +13,7 @@ // limitations under the License. package com.google.devtools.build.lib.skyframe; -import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.packages.BuildFileContainsErrorsException; import com.google.devtools.build.lib.packages.NoSuchPackageException; import com.google.devtools.build.lib.packages.Package; @@ -34,7 +34,7 @@ @Nullable public SkyValue compute(SkyKey skyKey, Environment env) throws InterruptedException, WorkspaceNameFunctionException { - SkyKey externalPackageKey = PackageValue.key(Label.EXTERNAL_PACKAGE_IDENTIFIER); + SkyKey externalPackageKey = PackageValue.key(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER); PackageValue externalPackageValue = (PackageValue) env.getValue(externalPackageKey); if (externalPackageValue == null) { return null; @@ -54,7 +54,8 @@ private class WorkspaceNameFunctionException extends SkyFunctionException { WorkspaceNameFunctionException() { - super(new BuildFileContainsErrorsException(Label.EXTERNAL_PACKAGE_IDENTIFIER), + super( + new BuildFileContainsErrorsException(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER), Transience.PERSISTENT); } }
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkImports.java b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkImports.java index 9857f0f..fda4e0c 100644 --- a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkImports.java +++ b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkImports.java
@@ -16,6 +16,7 @@ import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.cmdline.LabelSyntaxException; import com.google.devtools.build.lib.cmdline.LabelValidator; import com.google.devtools.build.lib.cmdline.PackageIdentifier; @@ -198,7 +199,7 @@ throw new SkylarkImportSyntaxException(MUST_HAVE_BZL_EXT_MSG); } PackageIdentifier packageId = importLabel.getPackageIdentifier(); - if (packageId.equals(Label.EXTERNAL_PACKAGE_IDENTIFIER)) { + if (packageId.equals(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER)) { throw new SkylarkImportSyntaxException(EXTERNAL_PKG_NOT_ALLOWED_MSG); } return new AbsoluteLabelImport(importString, importLabel);
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/RunfilesTest.java b/src/test/java/com/google/devtools/build/lib/analysis/RunfilesTest.java index 54d215a..5a7cb89 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/RunfilesTest.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/RunfilesTest.java
@@ -22,7 +22,7 @@ import com.google.common.collect.Maps; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.ArtifactRoot; -import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.events.EventKind; import com.google.devtools.build.lib.testutil.FoundationTestCase; import com.google.devtools.build.lib.vfs.PathFragment; @@ -371,7 +371,7 @@ public void testConflictWithExternal() { ArtifactRoot root = ArtifactRoot.asSourceRoot(Root.fromPath(scratch.resolve("/workspace"))); PathFragment pathB = PathFragment.create("repo/b"); - PathFragment externalPathB = Label.EXTERNAL_PACKAGE_NAME.getRelative(pathB); + PathFragment externalPathB = LabelConstants.EXTERNAL_PACKAGE_NAME.getRelative(pathB); Artifact artifactB = new Artifact(pathB, root); Artifact artifactExternalB = new Artifact(externalPathB, root);
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 bf69366..74245b9 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
@@ -96,6 +96,7 @@ import com.google.devtools.build.lib.buildtool.BuildRequestOptions; import com.google.devtools.build.lib.clock.BlazeClock; import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.cmdline.LabelSyntaxException; import com.google.devtools.build.lib.cmdline.PackageIdentifier; import com.google.devtools.build.lib.cmdline.RepositoryName; @@ -1028,7 +1029,7 @@ protected Rule scratchRule(String packageName, String ruleName, String... lines) throws Exception { String buildFilePathString = packageName + "/BUILD"; - if (packageName.equals(Label.EXTERNAL_PACKAGE_NAME.getPathString())) { + if (packageName.equals(LabelConstants.EXTERNAL_PACKAGE_NAME.getPathString())) { buildFilePathString = "WORKSPACE"; scratch.overwriteFile(buildFilePathString, lines); } else {
diff --git a/src/test/java/com/google/devtools/build/lib/buildtool/SymlinkForestTest.java b/src/test/java/com/google/devtools/build/lib/buildtool/SymlinkForestTest.java index ab550a0..da35f94 100644 --- a/src/test/java/com/google/devtools/build/lib/buildtool/SymlinkForestTest.java +++ b/src/test/java/com/google/devtools/build/lib/buildtool/SymlinkForestTest.java
@@ -19,7 +19,7 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; -import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.cmdline.LabelSyntaxException; import com.google.devtools.build.lib.cmdline.PackageIdentifier; import com.google.devtools.build.lib.cmdline.RepositoryName; @@ -147,7 +147,7 @@ private PackageIdentifier createPkg(Root root, String repo, String pkg) throws IOException, LabelSyntaxException { if (root != null) { - Path repoRoot = root.getRelative(Label.EXTERNAL_PACKAGE_NAME).getRelative(repo); + Path repoRoot = root.getRelative(LabelConstants.EXTERNAL_PACKAGE_NAME).getRelative(repo); createDirectoryAndParents(repoRoot.getRelative(pkg)); FileSystemUtils.createEmptyFile(repoRoot.getRelative(pkg).getChild("file")); } @@ -224,9 +224,12 @@ @Test public void testRemotePackage() throws Exception { Root outputBase = Root.fromPath(fileSystem.getPath("/ob")); - Root rootY = Root.fromPath(outputBase.getRelative(Label.EXTERNAL_PATH_PREFIX).getRelative("y")); - Root rootZ = Root.fromPath(outputBase.getRelative(Label.EXTERNAL_PATH_PREFIX).getRelative("z")); - Root rootW = Root.fromPath(outputBase.getRelative(Label.EXTERNAL_PATH_PREFIX).getRelative("w")); + Root rootY = + Root.fromPath(outputBase.getRelative(LabelConstants.EXTERNAL_PATH_PREFIX).getRelative("y")); + Root rootZ = + Root.fromPath(outputBase.getRelative(LabelConstants.EXTERNAL_PATH_PREFIX).getRelative("z")); + Root rootW = + Root.fromPath(outputBase.getRelative(LabelConstants.EXTERNAL_PATH_PREFIX).getRelative("w")); createDirectoryAndParents(rootY.asPath()); FileSystemUtils.createEmptyFile(rootY.getRelative("file")); @@ -243,15 +246,17 @@ new SymlinkForest(packageRootMap, linkRoot, TestConstants.PRODUCT_NAME, "wsname") .plantSymlinkForest(); - assertThat(linkRoot.getRelative(Label.EXTERNAL_PATH_PREFIX + "/y/file").exists()).isFalse(); + assertThat(linkRoot.getRelative(LabelConstants.EXTERNAL_PATH_PREFIX + "/y/file").exists()) + .isFalse(); assertLinksTo( - linkRoot.getRelative(Label.EXTERNAL_PATH_PREFIX + "/y/w"), rootY.getRelative("w")); + linkRoot.getRelative(LabelConstants.EXTERNAL_PATH_PREFIX + "/y/w"), rootY.getRelative("w")); assertLinksTo( - linkRoot.getRelative(Label.EXTERNAL_PATH_PREFIX + "/z/file"), rootZ.getRelative("file")); + linkRoot.getRelative(LabelConstants.EXTERNAL_PATH_PREFIX + "/z/file"), + rootZ.getRelative("file")); assertLinksTo( - linkRoot.getRelative(Label.EXTERNAL_PATH_PREFIX + "/z/a"), rootZ.getRelative("a")); + linkRoot.getRelative(LabelConstants.EXTERNAL_PATH_PREFIX + "/z/a"), rootZ.getRelative("a")); assertLinksTo( - linkRoot.getRelative(Label.EXTERNAL_PATH_PREFIX + "/w/file"), + linkRoot.getRelative(LabelConstants.EXTERNAL_PATH_PREFIX + "/w/file"), rootW.getRelative("file")); } @@ -261,12 +266,12 @@ ImmutableMap<PackageIdentifier, Root> packageRootMap = ImmutableMap.<PackageIdentifier, Root>builder() // Virtual root, shouldn't actually be linked in. - .put(Label.EXTERNAL_PACKAGE_IDENTIFIER, root) + .put(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER, root) .build(); new SymlinkForest(packageRootMap, linkRoot, TestConstants.PRODUCT_NAME, "wsname") .plantSymlinkForest(); - assertThat(linkRoot.getRelative(Label.EXTERNAL_PATH_PREFIX).exists()).isFalse(); + assertThat(linkRoot.getRelative(LabelConstants.EXTERNAL_PATH_PREFIX).exists()).isFalse(); } @Test
diff --git a/src/test/java/com/google/devtools/build/lib/packages/RuleFactoryTest.java b/src/test/java/com/google/devtools/build/lib/packages/RuleFactoryTest.java index ab0a636..a9cf29b 100644 --- a/src/test/java/com/google/devtools/build/lib/packages/RuleFactoryTest.java +++ b/src/test/java/com/google/devtools/build/lib/packages/RuleFactoryTest.java
@@ -23,6 +23,7 @@ import com.google.common.eventbus.EventBus; import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider; import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.cmdline.PackageIdentifier; import com.google.devtools.build.lib.events.Location; import com.google.devtools.build.lib.events.Reporter; @@ -169,7 +170,7 @@ Path myPkgPath = scratch.resolve("/workspace/WORKSPACE"); Package.Builder pkgBuilder = packageFactory - .newPackageBuilder(Label.EXTERNAL_PACKAGE_IDENTIFIER, "TESTING") + .newPackageBuilder(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER, "TESTING") .setFilename(RootedPath.toRootedPath(root, myPkgPath)); Map<String, Object> attributeValues = new HashMap<>();
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/PackageFactoryApparatus.java b/src/test/java/com/google/devtools/build/lib/packages/util/PackageFactoryApparatus.java index cf1f485..5223f91 100644 --- a/src/test/java/com/google/devtools/build/lib/packages/util/PackageFactoryApparatus.java +++ b/src/test/java/com/google/devtools/build/lib/packages/util/PackageFactoryApparatus.java
@@ -16,6 +16,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.cmdline.PackageIdentifier; import com.google.devtools.build.lib.events.Event; import com.google.devtools.build.lib.events.ExtendedEventHandler; @@ -114,7 +115,9 @@ .newExternalPackageBuilder( RootedPath.toRootedPath( buildFile.getRoot(), - buildFile.getRootRelativePath().getRelative(Label.WORKSPACE_FILE_NAME)), + buildFile + .getRootRelativePath() + .getRelative(LabelConstants.WORKSPACE_FILE_NAME)), "TESTING") .build(); Package pkg =
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java index 3982276..1b690c8 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java
@@ -37,7 +37,7 @@ import com.google.devtools.build.lib.analysis.BlazeDirectories; import com.google.devtools.build.lib.analysis.ServerDirectories; import com.google.devtools.build.lib.clock.BlazeClock; -import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.LabelConstants; import com.google.devtools.build.lib.cmdline.PackageIdentifier; import com.google.devtools.build.lib.cmdline.RepositoryName; import com.google.devtools.build.lib.events.NullEventHandler; @@ -352,7 +352,10 @@ @Test public void testAbsoluteSymlinkToExternal() throws Exception { String externalPath = - outputBase.getRelative(Label.EXTERNAL_PACKAGE_NAME).getRelative("a/b").getPathString(); + outputBase + .getRelative(LabelConstants.EXTERNAL_PACKAGE_NAME) + .getRelative("a/b") + .getPathString(); symlink("a", externalPath); file("b"); file(externalPath);