从groovy调用gradle任务没有Runtime.exec()

时间:2014-02-23 11:26:17

标签: groovy gradle

我是否可以从groovy脚本调用gradle任务而不调用gradle(gradlew)脚本作为外部程序? 即把gradle jar放到classpath并调用main?

1 个答案:

答案 0 :(得分:6)

您可以使用Gradle Api以编程方式执行任务:

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

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

你需要依赖Gradle Api(你提到的jar):

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