From 1cdcdf9a72458850f8a0f40c7cab1699685ed6cc Mon Sep 17 00:00:00 2001 From: tomlu Date: Tue, 16 Jan 2018 11:07:51 -0800 Subject: Rename Root to ArtifactRoot. This is slightly more descriptive, and we will potentially want to use the name Root for a broader concept shared between ArtifactRoot and RootedPath. PiperOrigin-RevId: 182082367 --- .../devtools/build/lib/rules/cpp/CcIncLibrary.java | 4 +-- .../devtools/build/lib/rules/cpp/CppBuildInfo.java | 5 ++-- .../devtools/build/lib/rules/cpp/FdoSupport.java | 29 +++++++++++++--------- .../build/lib/rules/cpp/SolibSymlinkAction.java | 4 +-- .../build/lib/rules/java/JavaBuildInfoFactory.java | 4 +-- .../build/lib/rules/java/JavaCompileAction.java | 18 +++++++------- .../lib/rules/nativedeps/NativeDepsHelper.java | 4 +-- .../lib/rules/objc/IntermediateArtifacts.java | 4 +-- .../build/lib/rules/proto/ProtoCommon.java | 6 ++--- .../build/lib/rules/python/PythonUtils.java | 6 ++--- 10 files changed, 44 insertions(+), 40 deletions(-) (limited to 'src/main/java/com/google/devtools/build/lib/rules') diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcIncLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcIncLibrary.java index c1a40fc579..a459e42ac1 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcIncLibrary.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcIncLibrary.java @@ -17,7 +17,7 @@ package com.google.devtools.build.lib.rules.cpp; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSortedMap; import com.google.devtools.build.lib.actions.Artifact; -import com.google.devtools.build.lib.actions.Root; +import com.google.devtools.build.lib.actions.ArtifactRoot; import com.google.devtools.build.lib.analysis.ConfiguredTarget; import com.google.devtools.build.lib.analysis.RuleConfiguredTargetBuilder; import com.google.devtools.build.lib.analysis.RuleConfiguredTargetFactory; @@ -85,7 +85,7 @@ public abstract class CcIncLibrary implements RuleConfiguredTargetFactory { // is actually a symlink into the source tree. PathFragment includeDirectory = PathFragment.create("_") .getRelative(ruleContext.getTarget().getName()); - Root configIncludeDirectory = + ArtifactRoot configIncludeDirectory = ruleContext.getConfiguration().getIncludeDirectory(ruleContext.getRule().getRepository()); PathFragment includePath = configIncludeDirectory diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppBuildInfo.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppBuildInfo.java index 8e49f99c75..1c68580476 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppBuildInfo.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppBuildInfo.java @@ -16,13 +16,12 @@ package com.google.devtools.build.lib.rules.cpp; import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.actions.Action; import com.google.devtools.build.lib.actions.Artifact; -import com.google.devtools.build.lib.actions.Root; +import com.google.devtools.build.lib.actions.ArtifactRoot; import com.google.devtools.build.lib.analysis.buildinfo.BuildInfoCollection; import com.google.devtools.build.lib.analysis.buildinfo.BuildInfoFactory; import com.google.devtools.build.lib.analysis.config.BuildConfiguration; import com.google.devtools.build.lib.cmdline.RepositoryName; import com.google.devtools.build.lib.vfs.PathFragment; - import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -69,7 +68,7 @@ public final class CppBuildInfo implements BuildInfoFactory { BuildConfiguration config, PathFragment headerName, Collection inputs, boolean writeVolatileInfo, boolean writeNonVolatileInfo, RepositoryName repositoryName) { - Root outputPath = config.getIncludeDirectory(repositoryName); + ArtifactRoot outputPath = config.getIncludeDirectory(repositoryName); final Artifact header = buildInfoContext.getBuildInfoArtifact(headerName, outputPath, writeVolatileInfo && !inputs.isEmpty() diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupport.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupport.java index 738cc982f6..8edc2d9cc5 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupport.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoSupport.java @@ -26,7 +26,7 @@ import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; import com.google.common.io.ByteSource; import com.google.devtools.build.lib.actions.Artifact; -import com.google.devtools.build.lib.actions.Root; +import com.google.devtools.build.lib.actions.ArtifactRoot; import com.google.devtools.build.lib.analysis.AnalysisEnvironment; import com.google.devtools.build.lib.analysis.RuleContext; import com.google.devtools.build.lib.cmdline.Label; @@ -172,14 +172,13 @@ public class FdoSupport { private final Path fdoProfile; /** - * Temporary directory to which the coverage ZIP file is extracted to - * (relative to the exec root), or {@code null} if FDO optimization is - * disabled. This is used to create artifacts for the extracted files. + * Temporary directory to which the coverage ZIP file is extracted to (relative to the exec root), + * or {@code null} if FDO optimization is disabled. This is used to create artifacts for the + * extracted files. * - *

Note that this root is intentionally not registered with the artifact - * factory. + *

Note that this root is intentionally not registered with the artifact factory. */ - private final Root fdoRoot; + private final ArtifactRoot fdoRoot; /** * The relative path of the FDO root to the exec root. @@ -227,8 +226,14 @@ public class FdoSupport { * @param fdoProfile path to the profile file passed to --fdo_optimize option * @param lipoMode value of the --lipo_mode option */ - private FdoSupport(FdoMode fdoMode, LipoMode lipoMode, Root fdoRoot, PathFragment fdoRootExecPath, - PathFragment fdoInstrument, Path fdoProfile, FdoZipContents fdoZipContents) { + private FdoSupport( + FdoMode fdoMode, + LipoMode lipoMode, + ArtifactRoot fdoRoot, + PathFragment fdoRootExecPath, + PathFragment fdoInstrument, + Path fdoProfile, + FdoZipContents fdoZipContents) { this.fdoInstrument = fdoInstrument; this.fdoProfile = fdoProfile; this.fdoRoot = fdoRoot; @@ -248,7 +253,7 @@ public class FdoSupport { } } - public Root getFdoRoot() { + public ArtifactRoot getFdoRoot() { return fdoRoot; } @@ -281,10 +286,10 @@ public class FdoSupport { lipoMode = LipoMode.OFF; } - Root fdoRoot = + ArtifactRoot fdoRoot = (fdoProfile == null) ? null - : Root.asDerivedRoot(execRoot, execRoot.getRelative(productName + "-fdo")); + : ArtifactRoot.asDerivedRoot(execRoot, execRoot.getRelative(productName + "-fdo")); PathFragment fdoRootExecPath = fdoProfile == null ? null diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/SolibSymlinkAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/SolibSymlinkAction.java index 7f14ee22b0..7d60680cec 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/SolibSymlinkAction.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/SolibSymlinkAction.java @@ -25,7 +25,7 @@ import com.google.devtools.build.lib.actions.ActionOwner; import com.google.devtools.build.lib.actions.ActionResult; import com.google.devtools.build.lib.actions.Actions; import com.google.devtools.build.lib.actions.Artifact; -import com.google.devtools.build.lib.actions.Root; +import com.google.devtools.build.lib.actions.ArtifactRoot; import com.google.devtools.build.lib.analysis.RuleContext; import com.google.devtools.build.lib.analysis.config.BuildConfiguration; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; @@ -149,7 +149,7 @@ public final class SolibSymlinkAction extends AbstractAction { Preconditions.checkArgument(!library.getRootRelativePath().getSegment(0).startsWith("_solib_")); // Ignore libraries that are already represented by the symlinks. - Root root = configuration.getBinDirectory(ruleContext.getRule().getRepository()); + ArtifactRoot root = configuration.getBinDirectory(ruleContext.getRule().getRepository()); Artifact symlink = ruleContext.getShareableArtifact(symlinkName, root); ruleContext.registerAction( new SolibSymlinkAction(ruleContext.getActionOwner(), library, symlink)); diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaBuildInfoFactory.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaBuildInfoFactory.java index be7abfbb36..c37214686d 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaBuildInfoFactory.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaBuildInfoFactory.java @@ -17,7 +17,7 @@ package com.google.devtools.build.lib.rules.java; import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.actions.Action; import com.google.devtools.build.lib.actions.Artifact; -import com.google.devtools.build.lib.actions.Root; +import com.google.devtools.build.lib.actions.ArtifactRoot; import com.google.devtools.build.lib.analysis.buildinfo.BuildInfoCollection; import com.google.devtools.build.lib.analysis.buildinfo.BuildInfoFactory; import com.google.devtools.build.lib.analysis.config.BuildConfiguration; @@ -126,7 +126,7 @@ public abstract class JavaBuildInfoFactory implements BuildInfoFactory { boolean includeVolatile, boolean includeNonVolatile, RepositoryName repositoryName) { - Root outputPath = config.getIncludeDirectory(repositoryName); + ArtifactRoot outputPath = config.getIncludeDirectory(repositoryName); final Artifact output = context.getBuildInfoArtifact(propertyFileName, outputPath, includeVolatile && !inputs.isEmpty() ? BuildInfoType.NO_REBUILD : BuildInfoType.FORCE_REBUILD_IF_CHANGED); diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java index 62bce3865f..7bc087bde6 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java @@ -32,10 +32,10 @@ import com.google.devtools.build.lib.actions.ActionKeyContext; import com.google.devtools.build.lib.actions.ActionOwner; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.ArtifactOwner; +import com.google.devtools.build.lib.actions.ArtifactRoot; import com.google.devtools.build.lib.actions.CommandLineExpansionException; import com.google.devtools.build.lib.actions.ParameterFile; import com.google.devtools.build.lib.actions.ResourceSet; -import com.google.devtools.build.lib.actions.Root; import com.google.devtools.build.lib.actions.RunfilesSupplier; import com.google.devtools.build.lib.actions.extra.ExtraActionInfo; import com.google.devtools.build.lib.actions.extra.JavaCompileInfo; @@ -474,17 +474,15 @@ public final class JavaCompileAction extends SpawnAction { */ public interface ArtifactFactory { - /** - * Create an artifact with the specified root-relative path under the specified root. - */ - Artifact create(PathFragment rootRelativePath, Root root); + /** Create an artifact with the specified root-relative path under the specified root. */ + Artifact create(PathFragment rootRelativePath, ArtifactRoot root); } @VisibleForTesting static ArtifactFactory createArtifactFactory(final AnalysisEnvironment env) { return new ArtifactFactory() { @Override - public Artifact create(PathFragment rootRelativePath, Root root) { + public Artifact create(PathFragment rootRelativePath, ArtifactRoot root) { return env.getDerivedArtifact(rootRelativePath, root); } }; @@ -557,15 +555,17 @@ public final class JavaCompileAction extends SpawnAction { * Creates a Builder from an owner and a build configuration. */ public Builder(final RuleContext ruleContext, JavaSemantics semantics) { - this(ruleContext.getActionOwner(), + this( + ruleContext.getActionOwner(), ruleContext.getAnalysisEnvironment(), new ArtifactFactory() { @Override - public Artifact create(PathFragment rootRelativePath, Root root) { + public Artifact create(PathFragment rootRelativePath, ArtifactRoot root) { return ruleContext.getDerivedArtifact(rootRelativePath, root); } }, - ruleContext.getConfiguration(), semantics); + ruleContext.getConfiguration(), + semantics); } public JavaCompileAction build() { diff --git a/src/main/java/com/google/devtools/build/lib/rules/nativedeps/NativeDepsHelper.java b/src/main/java/com/google/devtools/build/lib/rules/nativedeps/NativeDepsHelper.java index 55a8efe822..7f6437ed24 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/nativedeps/NativeDepsHelper.java +++ b/src/main/java/com/google/devtools/build/lib/rules/nativedeps/NativeDepsHelper.java @@ -19,7 +19,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.devtools.build.lib.actions.Artifact; -import com.google.devtools.build.lib.actions.Root; +import com.google.devtools.build.lib.actions.ArtifactRoot; import com.google.devtools.build.lib.analysis.RuleContext; import com.google.devtools.build.lib.analysis.actions.SymlinkAction; import com.google.devtools.build.lib.analysis.config.BuildConfiguration; @@ -175,7 +175,7 @@ public abstract class NativeDepsHelper { CcToolchainProvider toolchain, Artifact nativeDeps, String libraryIdentifier, - Root bindirIfShared, + ArtifactRoot bindirIfShared, boolean useDynamicRuntime, CppSemantics cppSemantics) throws InterruptedException { diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java b/src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java index 459de19d70..4619758e83 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java @@ -17,7 +17,7 @@ package com.google.devtools.build.lib.rules.objc; import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.devtools.build.lib.actions.Artifact; -import com.google.devtools.build.lib.actions.Root; +import com.google.devtools.build.lib.actions.ArtifactRoot; import com.google.devtools.build.lib.analysis.RuleContext; import com.google.devtools.build.lib.analysis.config.BuildConfiguration; import com.google.devtools.build.lib.cmdline.Label; @@ -244,7 +244,7 @@ public final class IntermediateArtifacts { } private Artifact scopedArtifact(PathFragment scopeRelative, boolean inGenfiles) { - Root root = + ArtifactRoot root = inGenfiles ? buildConfiguration.getGenfilesDirectory(ruleContext.getRule().getRepository()) : buildConfiguration.getBinDirectory(ruleContext.getRule().getRepository()); diff --git a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCommon.java b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCommon.java index 3d2d55567e..a09a9afa62 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCommon.java +++ b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCommon.java @@ -20,7 +20,7 @@ import static com.google.devtools.build.lib.collect.nestedset.Order.STABLE_ORDER import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.actions.Artifact; -import com.google.devtools.build.lib.actions.Root; +import com.google.devtools.build.lib.actions.ArtifactRoot; import com.google.devtools.build.lib.analysis.RuleContext; import com.google.devtools.build.lib.analysis.Runfiles; import com.google.devtools.build.lib.analysis.TransitiveInfoCollection; @@ -142,8 +142,8 @@ public class ProtoCommon { public static ImmutableList getGeneratedOutputs(RuleContext ruleContext, ImmutableList protoSources, String extension, boolean pythonNames) { ImmutableList.Builder outputsBuilder = new ImmutableList.Builder<>(); - Root genfiles = ruleContext.getConfiguration().getGenfilesDirectory( - ruleContext.getRule().getRepository()); + ArtifactRoot genfiles = + ruleContext.getConfiguration().getGenfilesDirectory(ruleContext.getRule().getRepository()); for (Artifact src : protoSources) { PathFragment srcPath = src.getRootRelativePath(); if (pythonNames) { diff --git a/src/main/java/com/google/devtools/build/lib/rules/python/PythonUtils.java b/src/main/java/com/google/devtools/build/lib/rules/python/PythonUtils.java index c44e46e3eb..d76b55b510 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/python/PythonUtils.java +++ b/src/main/java/com/google/devtools/build/lib/rules/python/PythonUtils.java @@ -15,7 +15,7 @@ package com.google.devtools.build.lib.rules.python; import com.google.common.collect.ImmutableSet; import com.google.devtools.build.lib.actions.Artifact; -import com.google.devtools.build.lib.actions.Root; +import com.google.devtools.build.lib.actions.ArtifactRoot; import com.google.devtools.build.lib.analysis.FilesToRunProvider; import com.google.devtools.build.lib.analysis.RuleContext; import com.google.devtools.build.lib.analysis.Runfiles; @@ -82,8 +82,8 @@ public final class PythonUtils { * subdirectory to avoid conflicts (eg. when the input file is generated). */ private static Artifact get2to3OutputArtifact(RuleContext ruleContext, Artifact input) { - Root root = ruleContext.getConfiguration().getGenfilesDirectory( - ruleContext.getRule().getRepository()); + ArtifactRoot root = + ruleContext.getConfiguration().getGenfilesDirectory(ruleContext.getRule().getRepository()); PathFragment path = PathFragment.create("python3").getRelative(input.getRootRelativePath()); return ruleContext.getShareableArtifact(path, root); } -- cgit v1.2.3