使用gradle工具API时,如何设置gradle项目属性?

使用gradle工具API时,如何设置gradle项目属性?,gradle,groovy,gradle-tooling-api,Gradle,Groovy,Gradle Tooling Api,我试图使用工具API从groovy代码运行gradle任务。以下工作: ProjectConnection connection = GradleConnector.newConnector() .forProjectDirectory(new File(System.properties.getProperty('user.dir'))) .connect() connection.newBuild() .for

我试图使用工具API从groovy代码运行gradle任务。以下工作:

ProjectConnection connection = GradleConnector.newConnector()
            .forProjectDirectory(new File(System.properties.getProperty('user.dir')))
            .connect()    

connection.newBuild()
            .forTasks('deploy')
            .setStandardOutput(System.out)
            .run()
但是我想要运行的任务取决于项目属性。例如,如果我从命令行运行它,我会使用

 gradle -Penv=local deploy
我不知道如何使用工具API设置这些项目值。

您可以:

connection.newBuild()
            .withArguments('-Penv=local')
            .forTasks('deploy')
            .setStandardOutput(System.out)
            .run()

你不能在
.fortask
行之前添加
.withArguments('-Penv=local')
吗。我在发帖前反复尝试过,但由于打字错误,没有成功。在你的评论之后,我回去重新键入了这行,它突然开始工作了。