tasks.register('buildUi', Exec) { task ->
task.workingDir = uiProjectDir
task.inputs.dir("${uiProjectDir}/src")
task.inputs.dir("${uiProjectDir}/node_modules")
task.outputs.dir(uiDistDir)
task.dependsOn tasks.named('npmInstall')
// Use bash directly when in WSL
task.commandLine 'bash', '-c', 'npm run build'
}
После двух предупреждений - первое находится в первой строке
'register' нельзя применить к '(java .lang.String, java.lang.Class, groovy.lang.Closure)'
Второй находится на задаче.зависит от Tasks.named('npmInstall')
'named' нельзя применить к '(java.lang.String)'
Спрашивая CoPilot, он просто путался между
task.dependsOn tasks.getByName('npmInstall') и Tasks.register('buildUi', Exec).configure { Task ->
Но, похоже, у всех них было одно и то же предупреждение. Как правильно это сделать, чтобы избежать предупреждений?
Обновить
Это было еще одно предложение....
tasks.register('buildUi', Exec) {
workingDir = uiProjectDir
inputs.dir("${uiProjectDir}/src")
inputs.dir("${uiProjectDir}/node_modules")
outputs.dir(uiDistDir)
dependsOn tasks.named('npmInstall')
// Use bash directly when in WSL
commandLine 'bash', '-c', 'npm run build'
}
Какой функциональный эквивалент без лямбда-выражения? Однако предупреждения по-прежнему сохранялись...
'register' нельзя применить к '(java. lang. String, java. lang. Class, groovy. Closure)'
'named' не может быть применено к '(java. lang. String). )'

------------------------------------------------------------
Gradle 8.10.2
------------------------------------------------------------
Build time: 2024-09-23 21:28:39 UTC
Revision: 415adb9e06a516c44b391edff552fd42139443f7
Kotlin: 1.9.24
Groovy: 3.0.22
Ant: Apache Ant(TM) version 1.10.14 compiled on August 16 2023
Launcher JVM: 23 (Oracle Corporation 23+37-2369)
Daemon JVM: /home/jgleason/lib/java/jdk-23 (no JDK specified, using current Java home)
OS: Linux 5.15.153.1-microsoft-standard-WSL2 amd64
Подробнее здесь: https://stackoverflow.com/questions/791 ... -project-f