Обновление Gradle v4 до Gradle v5 - отдельные выходные каталоги для каждого языка JVM - PullRequest
0 голосов
/ 09 мая 2019

Я хочу обновить Gradle с v4 до v5, но на v4 я получаю следующее предупреждение:

Gradle теперь использует отдельные выходные каталоги для каждого языка JVM, но эта сборка предполагает наличие единого каталога для всех классов из источника задавать. Это поведение устарело и планируется удалить в Gradle 5.0.

Так что я считаю, что мне нужно избавиться от этого предупреждения, прежде чем я смогу обновиться до v5. Проблема в том, что я не совсем уверен, что он просит меня сделать. Как я могу изменить сборку, чтобы она не предполагала единую директорию для всех классов из исходного набора?

Я попытался добавить ниже в build.gradle, но я все еще получаю предупреждение:

sourceSets {
    main {
        // Compiled Java classes should use this directory
        java.outputDir = new File(buildDir, "classes/java/main")
    }
}

Ответы [ 2 ]

0 голосов
/ 14 мая 2019

Это сообщение об устаревании отображается при использовании sourceSet.output.classesDir, которое возвращает File.

Это было заменено в Gradle 4.x и удалено в Gradle 5.x на sourceSet.output.classesDirs(обратите внимание на s в конце), который возвращает FileCollection.

Так что вам нужно выяснить, где вы используете это в вашем buildscript, а если нет, то какой плагин это делает.Обратите внимание, что новый метод уже доступен в Gradle 4.x, и поэтому вы сможете обновить код или версию плагина, чтобы сообщение об устаревании исчезло.

Удачной охоты!

0 голосов
/ 10 мая 2019

Вам не нужно ничего добавлять в скрипт сборки. Вам просто нужно организовать свой проект , как это :

├── build.gradle
├── settings.gradle
└── src
    └── main
        ├── java
        │   └── HelloWorld.java
        └── kotlin
            └── Utils.kt
...