Командная строка Gradle Exec не работает

я создаю свой собственный плагин, когда пытаюсь создать задачу типа Exec. Он не выполняет никакой команды. я получаю сообщение об ошибке командной строки, указывающее, что команда неверна. Я отобразил сгенерированную команду в команде Exec в командной строке, и когда я запускаю ее, она работает. Код не работает внутри области плагина Gradle.

task myrun (type: Exec) {
    def cp = project.files(
    project.sourceSets.main.output.classesDir,
    project.sourceSets.main.resources,
    project.configurations.runtime
    ).getAsPath()

String myCommand = "visage -cp ${cp} visage.javafx.scene.effect.EffectTest"


println "RUN COMMAND : ${myCommand}"
workingDir project.sourceSets.main.output.classesDir
// classpath project.files([project.sourceSets.main.output.classesDir,project.sourceSets.main.resources, project.configurations.runtime,])
commandLine = [myCommand]
}

Может ли кто-нибудь сказать мне, есть ли какая-либо ошибка в коде?


person Rajmahendra    schedule 17.07.2012    source источник


Ответы (2)


Вот ответ на тот же ваш пост на форуме Gradle:

commandLine — это список, и каждый аргумент становится отдельным элементом этого списка:

commandLine "visage", "-cp", cp, "visage.javafx.scene.effect.EffectTest"
person Peter Niederwieser    schedule 17.07.2012

Альтернативным подходом было бы использовать что-то вроде этого

exec clause
{
executable = "bash"
args = [ "-c", """ "command arg1 arg2... argn" """]
...
}
person Peter Kahn    schedule 20.04.2016