KT-49910: Fix adding sources for Android projects

Avoid adding ConfigurableFileTrees to sources as that causes
individual *.java files to be evaluated as sources roots. To
pass the dependency info, manual dependsOn is used, but in the
future SourceRoots should be fixed to carry the dependency info.
This commit is contained in:
Ivan Gavrilovic
2021-11-25 19:14:46 +00:00
committed by Yahor Berdnikau
parent 4fb8ab052f
commit f6263e64e0
2 changed files with 6 additions and 5 deletions
@@ -1027,7 +1027,12 @@ abstract class AbstractAndroidProjectHandler(private val kotlinConfigurationTool
val javaTask = variantData.getJavaTaskProvider()
val kotlinTask = compilation.compileKotlinTaskProvider
compilation.androidVariant.forEachJavaSourceDir { sources -> kotlinTask.configure { it.source(sources.dir) } }
compilation.androidVariant.forEachJavaSourceDir { sources ->
kotlinTask.configure {
it.source(sources.dir)
it.dependsOn(sources)
}
}
wireKotlinTasks(project, compilation, androidPlugin, androidExt, variantData, javaTask, kotlinTask)
}
}
@@ -60,10 +60,6 @@ class Android25ProjectHandler(
val preJavaClasspathKey = variantData.registerPreJavacGeneratedBytecode(preJavaKotlinOutput)
kotlinTask.configure { kotlinTaskInstance ->
kotlinTaskInstance.source(
variantData.getSourceFolders(SourceKind.JAVA)
)
kotlinTaskInstance.classpath = project.files()
.from(variantData.getCompileClasspath(preJavaClasspathKey))
.from(Callable { AndroidGradleWrapper.getRuntimeJars(androidPlugin, androidExt) })