private Artifact scopedArtifact(PathFragment scopeRelative, boolean inGenfiles) { Root root = inGenfiles ? buildConfiguration.getGenfilesDirectory(ruleContext.getRule().getRepository()) : buildConfiguration.getBinDirectory(ruleContext.getRule().getRepository()); // The path of this artifact will be RULE_PACKAGE/SCOPERELATIVE return ruleContext.getPackageRelativeArtifact(scopeRelative, root); }
private static Artifact derivedArtifact( ConfiguredTarget base, RuleContext ruleContext, String suffix) { BuildConfiguration configuration = ruleContext.getConfiguration(); assert configuration != null; Root genfilesDirectory = configuration.getGenfilesDirectory(); PathFragment derivedFilePath = getOutputFilePath(base, ruleContext, suffix); return ruleContext .getAnalysisEnvironment() .getDerivedArtifact(derivedFilePath, genfilesDirectory); }