当前位置: 首页 > 知识库问答 >
问题:

使用Gradle Tooling API设置任务属性(或命令行arg)

卢骏俊
2023-03-14

我想使用Gradle工具API通过Buildship插件从Eclipse插件调用Gradle。我能够运行基本的任务没有问题。

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

我尝试了buildlauncher.addargument("--type“,”plain“),但这被解释为一个参数来分级自己,这是无效的。

如何将--type plain参数传递给init任务?

共有1个答案

濮阳旭东
2023-03-14

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

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

在我的例子中,我希望通过工具API运行gradle任务--所有。为了使其工作,我不通过fortasks()指定要运行的任务,我只是不调用该方法。我通过witharguments()将任务设置为作为参数的一部分运行。(在本例中,参数将是tasks--all)。

 类似资料:
  • 问题内容: 我对使用Maven时通过命令行为某些单元测试设置属性的正确方法感到困惑。有很多问题(例如,在不设置MAVEN_OPTS环境变量的情况下指定Maven内存参数,是否可以通过命令行将jvmargs传递给maven,如何为Junit单元测试设置JVM参数?)碰到这个问题,但是没有人正在寻找我的答案。 我想将属性设置为某个值,但是我不想设置环境变量。 我可以使用以下属性在我的pom文件中配置s

  • 问题内容: 有没有一种简单的方法可以在命令行上为Java程序指定多个系统属性,而不是具有多个-D语句? 试图避免这种情况: 我以为我看到了一个例子,该例子之后有人使用一个引号引起来的字符串,但是我再也找不到该例子了。 问题答案: 答案是否定的。您可能已经看到了一个示例,其中有人会设置如下内容: 然后,应用程序将解析属性字符串的值以获得单个值。在您中,您可以将键值设为(假设可以保证输入格式): 另外

  • 你可以用命令行选项-x来排除某些任务,让我们用上面的例子来示范一下. 例子 11.2. 排除任务 gradle dist -x test 命令的输出 > gradle dist -x test :compile compiling source :dist building the distribution BUILD SUCCESSFUL Total time: 1 secs 可以看到, tes

  • 你可以以列表的形式在命令行中一次调用多个任务. 例如 gradle compile test 命令会依次调用 compile 和 test 任务, 它们所依赖的任务也会被调用. 这些任务只会被调用一次, 无论它们是否被包含在脚本中:即无论是以命令行的形式定义的任务还是依赖于其它任务都会被调用执行.来看下面的例子. 下面定义了四个任务 dist和test 都 依赖于 compile ,只用当 com

  • 当你试图调用某个任务的时候, 你并不需要输入任务的全名. 只需提供足够的可以唯一区分出该任务的字符即可. 例如, 上面的例子你也可以这么写. 用 gradle di 来直接调用 dist 任务: 例 11.3. 简化任务名 gradle di 命令的输出 > gradle di :compile compiling source :compileTest compiling unit tests

  • 本文向大家介绍Linux环境使用crontab命令设置定时周期性执行任务【含php执行代码】,包括了Linux环境使用crontab命令设置定时周期性执行任务【含php执行代码】的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Linux环境使用crontab命令设置定时周期性执行任务。分享给大家供大家参考,具体如下: 从linux帮助中查看crontab命令有以下参数: -u userna