diff options
author | 2015-05-13 19:22:24 +0000 | |
---|---|---|
committer | 2015-05-15 09:44:25 +0000 | |
commit | 9263b46f85a63f8f9ad7d36103a306d65dfbee4f (patch) | |
tree | ee3ba0f69078077b375cf82b31efd2b861f20571 /src/test/java/com/google/devtools/build/lib/analysis/util | |
parent | db4d8619023693c97e5afb467737084ccd30b311 (diff) |
Adds a provider that exports Java source information. Adds some testing support for Aspects.
--
MOS_MIGRATED_REVID=93547419
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/analysis/util')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java | 19 |
1 files changed, 19 insertions, 0 deletions
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 a2cfe086d9..95c4b95d92 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 @@ -45,6 +45,7 @@ import com.google.devtools.build.lib.analysis.BlazeDirectories; import com.google.devtools.build.lib.analysis.BuildView; import com.google.devtools.build.lib.analysis.BuildView.AnalysisResult; import com.google.devtools.build.lib.analysis.CachingAnalysisEnvironment; +import com.google.devtools.build.lib.analysis.ConfiguredAspectFactory; import com.google.devtools.build.lib.analysis.ConfiguredAttributeMapper; import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider; import com.google.devtools.build.lib.analysis.ConfiguredTarget; @@ -98,6 +99,7 @@ import com.google.devtools.build.lib.pkgcache.PackageManager; import com.google.devtools.build.lib.pkgcache.PathPackageLocator; import com.google.devtools.build.lib.pkgcache.TransitivePackageLoader; import com.google.devtools.build.lib.rules.test.BaselineCoverageAction; +import com.google.devtools.build.lib.skyframe.AspectValue; import com.google.devtools.build.lib.skyframe.ConfiguredTargetKey; import com.google.devtools.build.lib.skyframe.DiffAwareness; import com.google.devtools.build.lib.skyframe.PrecomputedValue; @@ -807,6 +809,23 @@ public abstract class BuildViewTestCase extends FoundationTestCase { /** * Gets a derived Artifact for testing in the subdirectory of the {@link + * BuildConfiguration#getBinDirectory()} corresponding to the package of {@code owner}, + * where the given artifact belongs to the given ConfiguredTarget together with the given Aspect. + * So to specify a file foo/foo.o owned by target //foo:foo with an apsect from FooAspect, + * {@code packageRelativePath} should just be "foo.o", and aspectOfOwner should be + * FooAspect.class. This method is necessary when an Apsect of the target, not the target itself, + * is creating an Artifact. + */ + protected Artifact getBinArtifact(String packageRelativePath, ConfiguredTarget owner, + Class<? extends ConfiguredAspectFactory> creatingAspectFactory) { + return getPackageRelativeDerivedArtifact(packageRelativePath, + owner.getConfiguration().getBinDirectory(), + (AspectValue.AspectKey) AspectValue.key( + owner.getLabel(), owner.getConfiguration(), creatingAspectFactory).argument()); + } + + /** + * Gets a derived Artifact for testing in the subdirectory of the {@link * BuildConfiguration#getBinDirectory()} corresponding to the package of {@code owner}. So * to specify a file foo/foo.o owned by target //foo:foo, {@code packageRelativePath} should just * be "foo.o". |