Try to detect target for output items using outputDir when sourceFiles is empty
This commit is contained in:
committed by
Michael Bogdanov
parent
01f3710211
commit
879b1a8abb
@@ -329,23 +329,18 @@ public class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR
|
|||||||
|
|
||||||
val representativeTarget = chunk.representativeTarget()
|
val representativeTarget = chunk.representativeTarget()
|
||||||
for (outputItem in outputItemCollector.getOutputs()) {
|
for (outputItem in outputItemCollector.getOutputs()) {
|
||||||
var target: ModuleBuildTarget? = null
|
val sourceFiles = outputItem.sourceFiles
|
||||||
val sourceFiles = outputItem.getSourceFiles()
|
val outputFile = outputItem.outputFile
|
||||||
val outputFile = outputItem.getOutputFile()
|
val target =
|
||||||
|
sourceFiles.firstOrNull()?.let { sourceToTarget[it] } ?:
|
||||||
if (!sourceFiles.isEmpty()) {
|
chunk.targets.filter { it.outputDir?.let { outputFile.startsWith(it) } ?: false }.singleOrNull() ?:
|
||||||
target = sourceToTarget[sourceFiles.iterator().next()]
|
representativeTarget
|
||||||
}
|
|
||||||
|
|
||||||
if (target == null) {
|
|
||||||
target = representativeTarget
|
|
||||||
}
|
|
||||||
|
|
||||||
if (outputFile.getName().endsWith(".class")) {
|
if (outputFile.getName().endsWith(".class")) {
|
||||||
result.add(GeneratedJvmClass(target!!, sourceFiles, outputFile))
|
result.add(GeneratedJvmClass(target, sourceFiles, outputFile))
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
result.add(GeneratedFile(target!!, sourceFiles, outputFile))
|
result.add(GeneratedFile(target, sourceFiles, outputFile))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result
|
return result
|
||||||
|
|||||||
Reference in New Issue
Block a user