我想使用Gradle Tooling API通过Buildship插件从Eclipse插件调用Gradle。我能够正常运行基本任务。
我的用例之一是在新的项目文件夹中执行gradle init
任务,但是要以非交互方式工作,我必须传递--type
命令行参数(或设置{{1 }}属性)。我在工具API中找不到任何方法来设置任务的属性或传递任务特定的命令行参数。
我尝试过type
,但这被解释为Gradle本身的一个参数,这是无效的。
如何将init
参数传递给BuildLauncher.addArgument("--type", "plain")
任务?
答案 0 :(得分:0)
阅读docs here之后,我发现您可以通过Gradle命令行构建参数来设置任务参数。文档中的重要部分是:
此外,如果您碰巧通过构建参数指定其他任务,则可以覆盖BuildLauncher.forTasks(String ...)配置的任务名称。
就我而言,我想通过工具api运行gradle tasks --all
。为了使此工作正常进行,我没有指定要通过forTasks()
运行的任务,我只是不调用该方法。我通过withArguments()
将任务设置为作为自变量的一部分运行。 (在这种情况下,参数将为tasks --all
。)
我认为这对于init
任务应该是相同的。