我想使用Gradle Tooling API通过Buildship插件从Eclipse插件调用Gradle。我能够正常运行基本任务。
我的用例之一是在新的项目文件夹中执行gradle init
任务,但要以非交互方式工作,我必须在--type
任务上传递type
命令行参数(或设置init
属性)。我在工具API中找不到任何方法来设置任务的属性或传递特定于任务的命令行参数。
我已经尝试过BuildLauncher.addArgument("--type", "plain")
,但这被解释为Gradle本身的一个参数,这是无效的。
如何将--type plain
参数传递给init
任务?
最佳答案
阅读docs here之后,我发现您可以通过Gradle命令行生成参数来设置任务参数。文档中的重要部分是:
Also, the task names configured by BuildLauncher.forTasks(String...) can be overridden if you happen to specify other tasks via the build arguments.
就我而言,我想通过工具api运行
gradle tasks --all
。为了使此工作正常进行,我没有指定要通过forTasks()
运行的任务,我只是不调用该方法。我通过withArguments()
将任务设置为作为参数的一部分运行。 (在这种情况下,参数将为tasks --all
)。我认为这对于
init
任务应该是相同的。
关于gradle - 使用Gradle Tooling API设置任务属性(或命令行参数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56682316/