Классы Kotlin не доступны для варианта .javaCompiler.doLast - PullRequest
0 голосов
/ 09 октября 2018

Я пытаюсь сплести файлы классов Java и Kotlin с AspectJ следующим образом:

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 обрабатываются таким образом?

1 Ответ

0 голосов
/ 09 октября 2018

задача называется KotlinCompile, поскольку Gradle Kotlin DSL отличается (вот примеры ).

не уверен, что ваш скрипт может быть перенесен напрямую, но это может быть variant.kotlinCompiler.

в качестве альтернативы, можно подключиться к следующим задачам:

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
    doLast {

    }
}

, что .kt не обрабатывается, потому что компилятор Java делаетне узнаю их.Предполагается, что вам может потребоваться KAPT для обработки аннотаций AspectJ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...