diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTargetFactory.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTargetFactory.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTargetFactory.java b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTargetFactory.java index dbce56b589..30861cd3ac 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTargetFactory.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTargetFactory.java @@ -31,9 +31,11 @@ import com.google.devtools.build.lib.analysis.config.BuildConfiguration.Fragment import com.google.devtools.build.lib.analysis.config.BuildOptions; import com.google.devtools.build.lib.analysis.config.ConfigMatchingProvider; import com.google.devtools.build.lib.analysis.configuredtargets.EnvironmentGroupConfiguredTarget; +import com.google.devtools.build.lib.analysis.configuredtargets.FilesetOutputConfiguredTarget; import com.google.devtools.build.lib.analysis.configuredtargets.InputFileConfiguredTarget; import com.google.devtools.build.lib.analysis.configuredtargets.OutputFileConfiguredTarget; import com.google.devtools.build.lib.analysis.configuredtargets.PackageGroupConfiguredTarget; +import com.google.devtools.build.lib.analysis.fileset.FilesetProvider; import com.google.devtools.build.lib.analysis.skylark.SkylarkRuleConfiguredTargetUtil; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.collect.nestedset.NestedSet; @@ -230,7 +232,16 @@ public final class ConfiguredTargetFactory { } TransitiveInfoCollection rule = targetContext.findDirectPrerequisite( outputFile.getGeneratingRule().getLabel(), config); + if (isFileset) { + return new FilesetOutputConfiguredTarget( + targetContext, + outputFile, + rule, + artifact, + rule.getProvider(FilesetProvider.class).getTraversals()); + } else { return new OutputFileConfiguredTarget(targetContext, outputFile, rule, artifact); + } } else if (target instanceof InputFile) { InputFile inputFile = (InputFile) target; SourceArtifact artifact = |