Gradle говорит, что теперь поддерживает Java 10, но, похоже, это только в том случае, если у вас нет тестов для запуска.
Даже тесты Java могут иметь проблемы с запуском , но есть обходные пути .
Однако я действительно изо всех сил пытался запустить тесты Kotlin в проекте только для Java (как, например, только рабочий код Java выполняется в производстве, но только тесты Kotlin).
Я использовал плагин chainsaw
, но он полон ошибок, а не работает правильно , поэтому я пытаюсь использовать только обычные плагины java
и Kotlin.
Я следовал руководству Gradle для сборки модулей Java 9/10 и заметил, что, как плагин Chainsaw, они неправильно советуют использовать этот код для "исправления" модуля Java:
'--patch-module', "$moduleName=" + files(sourceSets.test.java.srcDirs).asPath
Это будет включать только классы Java, поэтому оно не работает для Groovy, Kotlin или любого другого языка JVM.
Я исправил это, используя вместо этого:
'--patch-module', "$moduleName=" + test.getTestClassesDirs().asFileTree.asPath
Теперь каждый файл класса указан в patch-module
, но мои тесты по-прежнему не запускаются.
Кто-нибудь знает, чего мне не хватает, чтобы снова запустить тесты (они нормально работали с Java 8)?