diff options
author | Kristina Chodorow <kchodorow@google.com> | 2016-08-11 14:44:40 +0000 |
---|---|---|
committer | Yue Gan <yueg@google.com> | 2016-08-12 08:50:54 +0000 |
commit | f8a1ae63ed616c4579db724a4d97effb8c216ceb (patch) | |
tree | 0843a158162c246f49d10058e57427f13754c6de /src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java | |
parent | 153e5586a0a09237119f613ce591f892adc7efe4 (diff) |
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
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java | 17 |
1 files changed, 9 insertions, 8 deletions
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<Root, BuildConfiguration> 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); } } } |