Gradle: как сохранить kotlin и java в одной исходной папке? - PullRequest
0 голосов
/ 30 декабря 2018

Я бы хотел, чтобы файлы kotlin и java находились в одной папке, например:

src/main/xxx/JavaClass.java
src/main/xxx/KotlinClass.kt

src/test/xxx/JavaTestClass.java
src/test/xxx/KotlinTestClass.kt

Мне все равно, если xxx равно kotlin, java, whatever.я просто хочу, чтобы все файлы обеспечивали единую функциональность в одном месте с рабочими перекрестными ссылками / кросс-компиляцией.

как я могу настроить его в Gradle?

Ответы [ 2 ]

0 голосов
/ 30 декабря 2018

это должно работать

sourceSets {
    main.java.srcDirs = ['src/main/xxx']
    main.kotlin.srcDirs = ['src/main/xxx']
    test.java.srcDirs = ['src/test/xxx']
    test.kotlin.srcDirs = ['src/test/xxx']
}
0 голосов
/ 30 декабря 2018

= - неправильный оператор;+= может использоваться для расширения пути к классам.

sourceSets {
    main.java.srcDirs += "src/main/kotlin"
}

ссылка на отдельный модуль все же более надежна, чем в том же модуле:

a), поскольку некоторые Gradle DSL являются Javaили специфичные для Kotlin.

b) исполнители тестов не заботятся о других технологиях.

добавление большей сложности (модуль библиотеки) едва решает проблему;но в этом случае он обходит это - потому что это разрешает другой build.gradle & test-runner.что в противном случае было бы невозможно.

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