From f8a1ae63ed616c4579db724a4d97effb8c216ceb Mon Sep 17 00:00:00 2001 From: Kristina Chodorow Date: Thu, 11 Aug 2016 14:44:40 +0000 Subject: Add the repository name as a parameter to the output path functions This doesn't do anything yet, it's in preparation for the execroot rearranging change. The execroot will have one bazel-out per repo, so it'll look like: execroot/ repo1/ bazel-out/ local-fastbuild/ bin/ repo2/ bazel-out/ local-fastbuild/ bin/ genfiles/ repo3/ bazel-out/ local-fastbuild/ testlogs/ and so on. Thus, any output path (getBinDirectory() & friends) needs to know what the repo name is. This changes so many places in the code I thought it would be good to do separately, then just flip the functionality in the execroot-rearranging commit. While I was poking around, I changed all of the refs I could from getPackageRelativeArtifact() to getBin/GenfilesArtifact(), so that 1) rule implementation don't have to know as much about roots and 2) they'll be more isolated from other output dir changes. `bazel info` and similar just return roots for the main repository. The only "change" is passing around a target label in the Java rules. Continues work on #1262. -- MOS_MIGRATED_REVID=129985336 --- src/test/java/com/google/devtools/build/lib/BUILD | 1 + .../devtools/build/lib/analysis/BuildViewTest.java | 5 ++++- .../analysis/config/BuildConfigurationTest.java | 13 +++++------ .../build/lib/analysis/util/AnalysisTestCase.java | 6 ++---- .../build/lib/analysis/util/AnalysisTestUtil.java | 25 ++++++++++++++++------ .../build/lib/analysis/util/BuildViewTestCase.java | 25 ++++++++++++++-------- .../lib/analysis/util/ConfigurationTestCase.java | 17 ++++++++------- .../build/lib/exec/MiddlemanActionTest.java | 20 +++++++++-------- .../lib/ideinfo/AndroidStudioInfoAspectTest.java | 15 +++++++------ .../build/lib/rules/cpp/CppLinkActionTest.java | 16 +++++++++----- 10 files changed, 88 insertions(+), 55 deletions(-) (limited to 'src/test/java/com/google') diff --git a/src/test/java/com/google/devtools/build/lib/BUILD b/src/test/java/com/google/devtools/build/lib/BUILD index 7dbbf5f614..0317052eaa 100644 --- a/src/test/java/com/google/devtools/build/lib/BUILD +++ b/src/test/java/com/google/devtools/build/lib/BUILD @@ -1056,6 +1056,7 @@ java_test( "//src/main/java/com/google/devtools/build/lib:util", "//src/main/java/com/google/devtools/build/lib:vfs", "//src/main/java/com/google/devtools/build/lib/actions", + "//src/main/java/com/google/devtools/build/lib/cmdline", "//third_party:guava", "//third_party:junit4", "//third_party:truth", diff --git a/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java b/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java index 0aab4dddae..9d8e2badd1 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java @@ -152,7 +152,10 @@ public class BuildViewTest extends BuildViewTestBase { OutputFileConfiguredTarget outputCT = (OutputFileConfiguredTarget) getConfiguredTarget("//pkg:a.out"); Artifact outputArtifact = outputCT.getArtifact(); - assertEquals(outputCT.getConfiguration().getBinDirectory(), outputArtifact.getRoot()); + assertEquals( + outputCT.getConfiguration().getBinDirectory( + outputCT.getTarget().getLabel().getPackageIdentifier().getRepository()), + outputArtifact.getRoot()); assertEquals(outputCT.getConfiguration().getBinFragment().getRelative("pkg/a.out"), outputArtifact.getExecPath()); assertEquals(new PathFragment("pkg/a.out"), outputArtifact.getRootRelativePath()); diff --git a/src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationTest.java b/src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationTest.java index fc60ff6fb7..53009de1e9 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationTest.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationTest.java @@ -25,6 +25,7 @@ import com.google.common.collect.Iterables; import com.google.devtools.build.lib.analysis.config.BuildConfiguration.Fragment; import com.google.devtools.build.lib.analysis.util.ConfigurationTestCase; import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.cmdline.RepositoryName; import com.google.devtools.build.lib.rules.cpp.CppConfiguration; import com.google.devtools.build.lib.rules.cpp.CppOptions; import com.google.devtools.build.lib.rules.java.JavaConfiguration; @@ -53,15 +54,15 @@ public class BuildConfigurationTest extends ConfigurationTestCase { + "/workspace/blaze-out/gcc-4.4.0-glibc-2.3.6-grte-piii-fastbuild"; assertEquals(outputDirPrefix, - config.getOutputDirectory().getPath().toString()); + config.getOutputDirectory(RepositoryName.MAIN).getPath().toString()); assertEquals(outputDirPrefix + "/bin", - config.getBinDirectory().getPath().toString()); + config.getBinDirectory(RepositoryName.MAIN).getPath().toString()); assertEquals(outputDirPrefix + "/include", - config.getIncludeDirectory().getPath().toString()); + config.getIncludeDirectory(RepositoryName.MAIN).getPath().toString()); assertEquals(outputDirPrefix + "/genfiles", - config.getGenfilesDirectory().getPath().toString()); + config.getGenfilesDirectory(RepositoryName.MAIN).getPath().toString()); assertEquals(outputDirPrefix + "/testlogs", - config.getTestLogsDirectory().getPath().toString()); + config.getTestLogsDirectory(RepositoryName.MAIN).getPath().toString()); } @Test @@ -72,7 +73,7 @@ public class BuildConfigurationTest extends ConfigurationTestCase { BuildConfiguration config = create("--platform_suffix=-test"); assertEquals(outputBase + "/workspace/blaze-out/gcc-4.4.0-glibc-2.3.6-grte-k8-fastbuild-test", - config.getOutputDirectory().getPath().toString()); + config.getOutputDirectory(RepositoryName.MAIN).getPath().toString()); } @Test diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java index f7ffb7083a..030fee3edd 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java @@ -66,13 +66,11 @@ import com.google.devtools.build.lib.vfs.PathFragment; import com.google.devtools.build.skyframe.SkyKey; import com.google.devtools.common.options.Options; import com.google.devtools.common.options.OptionsParser; - -import org.junit.Before; - import java.util.Arrays; import java.util.HashSet; import java.util.Set; import java.util.UUID; +import org.junit.Before; /** * Testing framework for tests of the analysis phase that uses the BuildView and LoadingPhaseRunner @@ -388,7 +386,7 @@ public abstract class AnalysisTestCase extends FoundationTestCase { Label label = owner.getLabel(); return buildView.getArtifactFactory().getDerivedArtifact( label.getPackageFragment().getRelative(packageRelativePath), - getTargetConfiguration().getBinDirectory(), + getTargetConfiguration().getBinDirectory(label.getPackageIdentifier().getRepository()), new ConfiguredTargetKey(owner)); } diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestUtil.java b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestUtil.java index 1087e8c7e7..304d964fdf 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestUtil.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestUtil.java @@ -45,6 +45,7 @@ import com.google.devtools.build.lib.analysis.WorkspaceStatusAction.Key; import com.google.devtools.build.lib.analysis.buildinfo.BuildInfoFactory.BuildInfoKey; import com.google.devtools.build.lib.analysis.config.BuildConfiguration; import com.google.devtools.build.lib.analysis.config.BuildConfigurationCollection; +import com.google.devtools.build.lib.cmdline.RepositoryName; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; import com.google.devtools.build.lib.events.EventHandler; import com.google.devtools.build.lib.testutil.TestConstants; @@ -408,14 +409,26 @@ public final class AnalysisTestUtil { Map rootMap = new HashMap<>(); BuildConfiguration targetConfiguration = Iterables.getOnlyElement(configurations.getTargetConfigurations()); - rootMap.put(targetConfiguration.getBinDirectory().getPath().toString(), "bin"); - rootMap.put(targetConfiguration.getGenfilesDirectory().getPath().toString(), "genfiles"); - rootMap.put(targetConfiguration.getMiddlemanDirectory().getPath().toString(), "internal"); + rootMap.put( + targetConfiguration.getBinDirectory(RepositoryName.MAIN).getPath().toString(), + "bin"); + rootMap.put( + targetConfiguration.getGenfilesDirectory(RepositoryName.MAIN).getPath().toString(), + "genfiles"); + rootMap.put( + targetConfiguration.getMiddlemanDirectory(RepositoryName.MAIN).getPath().toString(), + "internal"); BuildConfiguration hostConfiguration = configurations.getHostConfiguration(); - rootMap.put(hostConfiguration.getBinDirectory().getPath().toString(), "bin(host)"); - rootMap.put(hostConfiguration.getGenfilesDirectory().getPath().toString(), "genfiles(host)"); - rootMap.put(hostConfiguration.getMiddlemanDirectory().getPath().toString(), "internal(host)"); + rootMap.put( + hostConfiguration.getBinDirectory(RepositoryName.MAIN).getPath().toString(), + "bin(host)"); + rootMap.put( + hostConfiguration.getGenfilesDirectory(RepositoryName.MAIN).getPath().toString(), + "genfiles(host)"); + rootMap.put( + hostConfiguration.getMiddlemanDirectory(RepositoryName.MAIN).getPath().toString(), + "internal(host)"); if (targetConfiguration.useDynamicConfigurations()) { // With dynamic configurations, the output paths that bin, genfiles, etc. refer to may 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 0197e985ba..ad82d32dfe 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 @@ -84,6 +84,7 @@ import com.google.devtools.build.lib.buildtool.BuildRequest; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.cmdline.LabelSyntaxException; import com.google.devtools.build.lib.cmdline.PackageIdentifier; +import com.google.devtools.build.lib.cmdline.RepositoryName; 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; @@ -963,7 +964,8 @@ public abstract class BuildViewTestCase extends FoundationTestCase { * used instead. */ protected Artifact getBinArtifactWithNoOwner(String rootRelativePath) { - return getDerivedArtifact(new PathFragment(rootRelativePath), targetConfig.getBinDirectory(), + return getDerivedArtifact(new PathFragment(rootRelativePath), + targetConfig.getBinDirectory(RepositoryName.MAIN), ActionsTestUtil.NULL_ARTIFACT_OWNER); } @@ -985,7 +987,8 @@ public abstract class BuildViewTestCase extends FoundationTestCase { */ protected Artifact getBinArtifact(String packageRelativePath, ConfiguredTarget owner) { return getPackageRelativeDerivedArtifact(packageRelativePath, - owner.getConfiguration().getBinDirectory(), new ConfiguredTargetKey(owner)); + owner.getConfiguration().getBinDirectory(RepositoryName.MAIN), + new ConfiguredTargetKey(owner)); } /** @@ -1019,7 +1022,7 @@ public abstract class BuildViewTestCase extends FoundationTestCase { AspectParameters parameters) { return getPackageRelativeDerivedArtifact( packageRelativePath, - owner.getConfiguration().getBinDirectory(), + owner.getConfiguration().getBinDirectory(RepositoryName.MAIN), (AspectValue.AspectKey) AspectValue.key( owner.getLabel(), @@ -1037,7 +1040,8 @@ public abstract class BuildViewTestCase extends FoundationTestCase { * be "foo.o". */ private Artifact getBinArtifact(String packageRelativePath, ArtifactOwner owner) { - return getPackageRelativeDerivedArtifact(packageRelativePath, targetConfig.getBinDirectory(), + return getPackageRelativeDerivedArtifact(packageRelativePath, + targetConfig.getBinDirectory(RepositoryName.MAIN), owner); } @@ -1049,7 +1053,8 @@ public abstract class BuildViewTestCase extends FoundationTestCase { */ protected Artifact getGenfilesArtifactWithNoOwner(String rootRelativePath) { return getDerivedArtifact(new PathFragment(rootRelativePath), - targetConfig.getGenfilesDirectory(), ActionsTestUtil.NULL_ARTIFACT_OWNER); + targetConfig.getGenfilesDirectory(RepositoryName.MAIN), + ActionsTestUtil.NULL_ARTIFACT_OWNER); } /** @@ -1094,7 +1099,8 @@ public abstract class BuildViewTestCase extends FoundationTestCase { AspectParameters params) { return getPackageRelativeDerivedArtifact( packageRelativePath, - owner.getConfiguration().getGenfilesDirectory(), + owner.getConfiguration().getGenfilesDirectory( + owner.getTarget().getLabel().getPackageIdentifier().getRepository()), (AspectValue.AspectKey) AspectValue.key( owner.getLabel(), @@ -1125,7 +1131,7 @@ public abstract class BuildViewTestCase extends FoundationTestCase { */ private Artifact getGenfilesArtifact(String packageRelativePath, ArtifactOwner owner) { return getPackageRelativeDerivedArtifact(packageRelativePath, - targetConfig.getGenfilesDirectory(), + targetConfig.getGenfilesDirectory(RepositoryName.MAIN), owner); } @@ -1147,7 +1153,7 @@ public abstract class BuildViewTestCase extends FoundationTestCase { */ private Artifact getIncludeArtifact(String packageRelativePath, ArtifactOwner owner) { return getPackageRelativeDerivedArtifact(packageRelativePath, - targetConfig.getIncludeDirectory(), + targetConfig.getIncludeDirectory(owner.getLabel().getPackageIdentifier().getRepository()), owner); } @@ -1159,7 +1165,8 @@ public abstract class BuildViewTestCase extends FoundationTestCase { * @param owner the artifact's owner. */ protected Artifact getSharedArtifact(String rootRelativePath, ConfiguredTarget owner) { - return getDerivedArtifact(new PathFragment(rootRelativePath), targetConfig.getBinDirectory(), + return getDerivedArtifact(new PathFragment(rootRelativePath), + targetConfig.getBinDirectory(RepositoryName.MAIN), new ConfiguredTargetKey(owner)); } diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java index 4bead55dfd..15e4e6887b 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java @@ -29,6 +29,7 @@ import com.google.devtools.build.lib.analysis.config.BuildOptions; import com.google.devtools.build.lib.analysis.config.ConfigurationFactory; import com.google.devtools.build.lib.analysis.config.FragmentOptions; import com.google.devtools.build.lib.analysis.config.InvalidConfigurationException; +import com.google.devtools.build.lib.cmdline.RepositoryName; import com.google.devtools.build.lib.flags.InvocationPolicyEnforcer; import com.google.devtools.build.lib.packages.PackageFactory; import com.google.devtools.build.lib.packages.Preprocessor; @@ -49,16 +50,14 @@ import com.google.devtools.common.options.Option; import com.google.devtools.common.options.Options; import com.google.devtools.common.options.OptionsBase; import com.google.devtools.common.options.OptionsParser; - -import org.junit.Before; -import org.junit.runner.RunWith; -import org.junit.runners.JUnit4; - import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; +import org.junit.Before; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; /** * Testing framework for tests which check ConfigurationFactory. @@ -179,12 +178,14 @@ public abstract class ConfigurationTestCase extends FoundationTestCase { Map outputPaths = new HashMap<>(); for (BuildConfiguration config : allConfigs) { if (config.isActionsEnabled()) { - BuildConfiguration otherConfig = outputPaths.get(config.getOutputDirectory()); + BuildConfiguration otherConfig = outputPaths.get( + config.getOutputDirectory(RepositoryName.MAIN)); if (otherConfig != null) { - throw new IllegalStateException("The output path '" + config.getOutputDirectory() + throw new IllegalStateException("The output path '" + + config.getOutputDirectory(RepositoryName.MAIN) + "' is the same for configurations '" + config + "' and '" + otherConfig + "'"); } else { - outputPaths.put(config.getOutputDirectory(), config); + outputPaths.put(config.getOutputDirectory(RepositoryName.MAIN), config); } } } diff --git a/src/test/java/com/google/devtools/build/lib/exec/MiddlemanActionTest.java b/src/test/java/com/google/devtools/build/lib/exec/MiddlemanActionTest.java index 7176669d40..b58554cada 100644 --- a/src/test/java/com/google/devtools/build/lib/exec/MiddlemanActionTest.java +++ b/src/test/java/com/google/devtools/build/lib/exec/MiddlemanActionTest.java @@ -26,17 +26,16 @@ import com.google.devtools.build.lib.actions.MiddlemanAction; import com.google.devtools.build.lib.actions.MiddlemanFactory; import com.google.devtools.build.lib.analysis.util.AnalysisTestUtil; import com.google.devtools.build.lib.analysis.util.BuildViewTestCase; +import com.google.devtools.build.lib.cmdline.RepositoryName; import com.google.devtools.build.lib.testutil.Suite; import com.google.devtools.build.lib.testutil.TestSpec; - +import java.util.ArrayList; +import java.util.Arrays; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; -import java.util.ArrayList; -import java.util.Arrays; - /** * A test for {@link MiddlemanAction}. */ @@ -63,7 +62,7 @@ public class MiddlemanActionTest extends BuildViewTestCase { middle = middlemanFactory.createAggregatingMiddleman( NULL_ACTION_OWNER, "middleman_test", Arrays.asList(a, b), - targetConfig.getMiddlemanDirectory()); + targetConfig.getMiddlemanDirectory(RepositoryName.MAIN)); analysisEnvironment.registerWith(getMutableActionGraph()); } @@ -89,7 +88,8 @@ public class MiddlemanActionTest extends BuildViewTestCase { @Test public void testMiddlemanIsNullForEmptyInputs() throws Exception { assertNull(middlemanFactory.createAggregatingMiddleman(NULL_ACTION_OWNER, - "middleman_test", new ArrayList(), targetConfig.getMiddlemanDirectory())); + "middleman_test", new ArrayList(), + targetConfig.getMiddlemanDirectory(RepositoryName.MAIN))); } @Test @@ -98,7 +98,7 @@ public class MiddlemanActionTest extends BuildViewTestCase { middlemanFactory.createAggregatingMiddleman( NULL_ACTION_OWNER, "middleman_test", Lists.newArrayList(a), - targetConfig.getMiddlemanDirectory())); + targetConfig.getMiddlemanDirectory(RepositoryName.MAIN))); } @Test @@ -112,10 +112,12 @@ public class MiddlemanActionTest extends BuildViewTestCase { analysisEnvironment.clear(); Artifact middlemanForC = middlemanFactory.createRunfilesMiddleman( - NULL_ACTION_OWNER, c, Arrays.asList(c, common), targetConfig.getMiddlemanDirectory(), + NULL_ACTION_OWNER, c, Arrays.asList(c, common), + targetConfig.getMiddlemanDirectory(RepositoryName.MAIN), "runfiles"); Artifact middlemanForD = middlemanFactory.createRunfilesMiddleman( - NULL_ACTION_OWNER, d, Arrays.asList(d, common), targetConfig.getMiddlemanDirectory(), + NULL_ACTION_OWNER, d, Arrays.asList(d, common), + targetConfig.getMiddlemanDirectory(RepositoryName.MAIN), "runfiles"); analysisEnvironment.registerWith(getMutableActionGraph()); diff --git a/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java b/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java index 85ee79c0ab..c7e161b8e5 100644 --- a/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java +++ b/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java @@ -19,6 +19,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import com.google.common.collect.Iterables; +import com.google.devtools.build.lib.cmdline.RepositoryName; import com.google.devtools.build.lib.ideinfo.androidstudio.AndroidStudioIdeInfo.ArtifactLocation; import com.google.devtools.build.lib.ideinfo.androidstudio.AndroidStudioIdeInfo.CRuleIdeInfo; import com.google.devtools.build.lib.ideinfo.androidstudio.AndroidStudioIdeInfo.CToolchainIdeInfo; @@ -28,15 +29,13 @@ import com.google.devtools.build.lib.ideinfo.androidstudio.AndroidStudioIdeInfo. import com.google.devtools.build.lib.vfs.Path; import com.google.protobuf.ByteString; import com.google.protobuf.ProtocolStringList; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.JUnit4; - import java.nio.file.Paths; import java.util.List; import java.util.Map; import java.util.Map.Entry; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; /** * Tests for {@link AndroidStudioInfoAspect} validating proto's contents. @@ -937,9 +936,11 @@ public class AndroidStudioInfoAspectTest extends AndroidStudioInfoAspectTestBase ArtifactLocation.newBuilder() .setRootPath( testLegacyAswbPluginVersionCompatibility() - ? targetConfig.getGenfilesDirectory().getPath().getPathString() : "") + ? targetConfig.getGenfilesDirectory(RepositoryName.MAIN).getPath() + .getPathString() + : "") .setRootExecutionPathFragment( - targetConfig.getGenfilesDirectory().getExecPathString()) + targetConfig.getGenfilesDirectory(RepositoryName.MAIN).getExecPathString()) .setRelativePath("com/google/example/gen.java") .setIsSource(false) .build(), diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java index 963d831af6..d81ca401a7 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java @@ -31,6 +31,7 @@ import com.google.devtools.build.lib.analysis.RuleContext; import com.google.devtools.build.lib.analysis.util.ActionTester; import com.google.devtools.build.lib.analysis.util.ActionTester.ActionCombinationFactory; import com.google.devtools.build.lib.analysis.util.BuildViewTestCase; +import com.google.devtools.build.lib.cmdline.RepositoryName; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.collect.nestedset.Order; import com.google.devtools.build.lib.rules.cpp.CcToolchainFeatures.FeatureConfiguration; @@ -225,10 +226,12 @@ public class CppLinkActionTest extends BuildViewTestCase { public void testCommandLineSplitting() throws Exception { RuleContext ruleContext = createDummyRuleContext(); Artifact output = getDerivedArtifact( - new PathFragment("output/path.xyz"), getTargetConfiguration().getBinDirectory(), + new PathFragment("output/path.xyz"), getTargetConfiguration().getBinDirectory( + RepositoryName.MAIN), ActionsTestUtil.NULL_ARTIFACT_OWNER); final Artifact outputIfso = getDerivedArtifact( - new PathFragment("output/path.ifso"), getTargetConfiguration().getBinDirectory(), + new PathFragment("output/path.ifso"), getTargetConfiguration().getBinDirectory( + RepositoryName.MAIN), ActionsTestUtil.NULL_ARTIFACT_OWNER); CppLinkActionBuilder builder = new CppLinkActionBuilder(ruleContext, output); builder.setLinkType(LinkTargetType.STATIC_LIBRARY); @@ -316,7 +319,9 @@ public class CppLinkActionTest extends BuildViewTestCase { new CppLinkActionBuilder( ruleContext, new Artifact( - new PathFragment(outputPath), getTargetConfiguration().getBinDirectory()), + new PathFragment(outputPath), + getTargetConfiguration().getBinDirectory( + ruleContext.getRule().getRepository())), ruleContext.getConfiguration(), shouldIncludeToolchain ? CppHelper.getToolchain(ruleContext) : null) .addObjectFiles(nonLibraryInputs) @@ -344,8 +349,9 @@ public class CppLinkActionTest extends BuildViewTestCase { public Artifact getOutputArtifact(String relpath) { return new Artifact( - getTargetConfiguration().getBinDirectory().getPath().getRelative(relpath), - getTargetConfiguration().getBinDirectory(), + getTargetConfiguration().getBinDirectory(RepositoryName.MAIN).getPath() + .getRelative(relpath), + getTargetConfiguration().getBinDirectory(RepositoryName.MAIN), getTargetConfiguration().getBinFragment().getRelative(relpath)); } -- cgit v1.2.3