2012-07-17 183 views
3

我正在创建自己的插件,当我尝试创建任务类型Exec时。它没有运行任何命令。我得到命令行错误陈述命令不正确。我已经显示生成的命令Exec命令来命令提示符,当我运行它的作品。代码在gradle插件的作用域内并不是垃圾邮件。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] 
} 

任何人都可以告诉我有没有在代码中的错误?

回答

6

这里的答案是相同的post of yours in the Gradle forum

commandLine是一个列表,每一个论点成为该列表中一个单独的元素:

commandLine "visage", "-cp", cp, "visage.javafx.scene.effect.EffectTest" 
0

另一种方法是使用这样的

exec clause 
{ 
executable = "bash" 
args = [ "-c", """ "command arg1 arg2... argn" """] 
... 
}