Search in sources :

Example 6 with ArtifactOwner

use of com.google.devtools.build.lib.actions.ArtifactOwner in project bazel by bazelbuild.

the class BuildViewTestCase method getImplicitOutputArtifact.

protected Artifact getImplicitOutputArtifact(ConfiguredTarget target, SafeImplicitOutputsFunction outputFunction) {
    Rule associatedRule = target.getTarget().getAssociatedRule();
    RepositoryName repository = associatedRule.getRepository();
    BuildConfiguration configuration = target.getConfiguration();
    Root root;
    if (associatedRule.hasBinaryOutput()) {
        root = configuration.getBinDirectory(repository);
    } else {
        root = configuration.getGenfilesDirectory(repository);
    }
    ArtifactOwner owner = new ConfiguredTargetKey(target.getTarget().getLabel(), target.getConfiguration());
    RawAttributeMapper attr = RawAttributeMapper.of(associatedRule);
    String path = Iterables.getOnlyElement(outputFunction.getImplicitOutputs(attr));
    return view.getArtifactFactory().getDerivedArtifact(target.getTarget().getLabel().getPackageFragment().getRelative(path), root, owner);
}
Also used : BuildConfiguration(com.google.devtools.build.lib.analysis.config.BuildConfiguration) RawAttributeMapper(com.google.devtools.build.lib.packages.RawAttributeMapper) ArtifactOwner(com.google.devtools.build.lib.actions.ArtifactOwner) Root(com.google.devtools.build.lib.actions.Root) RepositoryName(com.google.devtools.build.lib.cmdline.RepositoryName) Rule(com.google.devtools.build.lib.packages.Rule) ConfiguredTargetKey(com.google.devtools.build.lib.skyframe.ConfiguredTargetKey)

Aggregations

ArtifactOwner (com.google.devtools.build.lib.actions.ArtifactOwner)6 Artifact (com.google.devtools.build.lib.actions.Artifact)3 SkyKey (com.google.devtools.build.skyframe.SkyKey)3 ActionAnalysisMetadata (com.google.devtools.build.lib.actions.ActionAnalysisMetadata)2 Root (com.google.devtools.build.lib.actions.Root)2 Rule (com.google.devtools.build.lib.packages.Rule)2 ConfiguredTargetKey (com.google.devtools.build.lib.skyframe.ConfiguredTargetKey)2 Action (com.google.devtools.build.lib.actions.Action)1 ActionGraph (com.google.devtools.build.lib.actions.ActionGraph)1 SpecialArtifact (com.google.devtools.build.lib.actions.Artifact.SpecialArtifact)1 TreeFileArtifact (com.google.devtools.build.lib.actions.Artifact.TreeFileArtifact)1 SpawnActionTemplate (com.google.devtools.build.lib.analysis.actions.SpawnActionTemplate)1 BuildConfiguration (com.google.devtools.build.lib.analysis.config.BuildConfiguration)1 RepositoryName (com.google.devtools.build.lib.cmdline.RepositoryName)1 RawAttributeMapper (com.google.devtools.build.lib.packages.RawAttributeMapper)1 Target (com.google.devtools.build.lib.packages.Target)1 CoverageReportActionsWrapper (com.google.devtools.build.lib.rules.test.CoverageReportActionFactory.CoverageReportActionsWrapper)1 ActionLookupValue (com.google.devtools.build.lib.skyframe.ActionLookupValue)1 ActionLookupKey (com.google.devtools.build.lib.skyframe.ActionLookupValue.ActionLookupKey)1 OwnedArtifact (com.google.devtools.build.lib.skyframe.ArtifactSkyKey.OwnedArtifact)1