我试图通过AspectJ编织Java和Kotlin类文件:
android.applicationVariants.all { variant ->
JavaCompile javaCompile = variant.javaCompiler
javaCompile.doLast {
String[] args = ["-showWeaveInfo",
"-1.8",
"-inpath", javaCompile.destinationDir.toString(),
"-aspectpath", javaCompile.classpath.asPath,
"-d", javaCompile.destinationDir.toString(),
"-classpath", javaCompile.classpath.asPath,
"-bootclasspath", project.android.bootClasspath.join(
File.pathSeparator)]
我已确保将Kotlin路径包括在适当的路径中,但不会处理任何Kotlin类。
如何确保以这种方式处理Kotlin类文件?
答案 0 :(得分:1)
该任务称为KotlinCompile
,因为Gradle Kotlin DSL不同(这里是examples)。
不确定是否可以直接迁移脚本,但是可能是variant.kotlinCompiler
。
或者,也可以像下面那样挂接这些任务:
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
doLast {
}
}
.kt
未被处理是因为Java编译器无法识别它们。会假设您可能需要KAPT才能处理这些AspectJ注释。