使用Gradle Tooling API

时间:2019-06-20 08:50:02

标签: gradle gradle-tooling-api

我想使用Gradle Tooling API通过Buildship插件从Eclipse插件调用Gradle。我能够正常运行基本任务。

我的用例之一是在新的项目文件夹中执行gradle init任务,但是要以非交互方式工作,我必须传递--type命令行参数(或设置{{1 }}属性)。我在工具API中找不到任何方法来设置任务的属性或传递任务特定的命令行参数。

我尝试过type,但这被解释为Gradle本身的一个参数,这是无效的。

如何将init参数传递给BuildLauncher.addArgument("--type", "plain")任务?

1 个答案:

答案 0 :(得分:0)

阅读docs here之后,我发现您可以通过Gradle命令行构建参数来设置任务参数。文档中的重要部分是:

此外,如果您碰巧通过构建参数指定其他任务,则可以覆盖BuildLauncher.forTasks(String ...)配置的任务名称。

就我而言,我想通过工具api运行gradle tasks --all。为了使此工作正常进行,我没有指定要通过forTasks()运行的任务,我只是不调用该方法。我通过withArguments()将任务设置为作为自变量的一部分运行。 (在这种情况下,参数将为tasks --all。)

我认为这对于init任务应该是相同的。