С Gradle 6 я использовал следующий фрагмент, чтобы собрать все зависимости в моем проекте (используя project.configurations.runtime) и скопировать их в папку "$buildDir/libs".
tasks.register<Copy>("copyDependenciesToLib") {
into("$buildDir/libs")
from(project.configurations.runtime)
doLast {
println("copyDependenciesToLib:\n ${project.configurations.runtime.get().files.joinToString("\n ") { it.absolutePath }}\n ->\n $buildDir/libs")
}
}
В настоящее время я перехожу на Gradle 7, и IntelliJ говорит мне, что runtime не может быть разрешен, кажется, что он был удален из configuration? Можете ли вы указать мне правильное направление, чтобы воспроизвести поведение приведенного выше скрипта в Gradle 7?
Я только что нашел ответ сам.
Похожий вопрос был задан здесь.
Gradle удалил конфигурацию времени выполнения в Gradle 7.
Вместо этого можно использовать runtimeClasspath.
Наша задача copy теперь выглядит следующим образом:
tasks.register<Copy>("copyDependenciesToLib") {
into("$buildDir/libs")
from(project.configurations.runtimeClasspath)
doLast {
println("copyDependenciesToLib:\n ${project.configurations.runtimeClasspath.get().files.joinToString("\n ") { it.absolutePath }}\n ->\n $buildDir/libs")
}
}