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

How can I set gradle project properties when using gradle tooling API?

我正在尝试使用工具 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()