2014-02-23 37 views
0

我可以從groovy腳本調用gradle任務而不用調用gradle(gradlew)腳本作爲外部程序嗎? 也就是說把gradle jar放到classpath並調用main?從groovy調用gradle任務沒有Runtime.exec()

+0

是的,你一定能夠做到這一點,唯一的問題是如何。也許這將是很好的改變你的問題。 –

回答

6

您可以使用搖籃API以編程方式執行任務:

ProjectConnection connection = GradleConnector.newConnector() 
      .forProjectDirectory(projectDir) // the gradle project directory 
      .connect() 

    connection.newBuild() 
       .forTasks(taskName) // set your task name here 
       .run() 

您需要依賴於搖籃API(正如你所提到的jar):

 "org.gradle:gradle-tooling-api:${gradle.gradleVersion}"