问题标签 [gradle-task]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
193302 浏览

gradle - 如何将参数从命令行传递到 Gradle

我正在尝试将参数从命令行传递给 java 类。我关注了这篇文章:http : //gradle.1045684.n5.nabble.com/Gradle-application-plugin-question-td5539555.html 但代码对我不起作用(也许它不适用于JavaExec?)。这是我尝试过的:

上述硬编码 args 值的输出为:

但是,一旦我将代码更改为使用 hasProperty 部分并在命令行上将“demo”作为参数传递,就会得到 NullPointerException:

http://gradle.1045684.n5.nabble.com/file/n5709919/testgradle.zip上有一个简单的测试项目可以说明问题。

这是使用 Gradle 1.0-rc-3。NullPointer 来自这行代码:

我在任务定义之前添加了以下分配,但它并没有改变结果:

任何有关如何将命令行参数传递给 gradle 的指针表示赞赏。

0 投票
7 回答
80162 浏览

android - 在 Android Gradle 构建之前执行任务?

Gradle 是否可以在调用之前执行任务

类似的东西precompile。有人请帮忙。这样的事情可能吗?如何?

0 投票
1 回答
66 浏览

android - Gradle:使用和不使用 << 运算符定义任务时的差异

我正在使用 Gradle,并尝试为我的 Android 项目进行配置。我阅读了文档,发现有两种定义任务的方法。

没有 << 运算符

使用 << 运算符:

我的问题是:以上两种方式之间的真正区别是什么?

谢谢 :)

0 投票
1 回答
169 浏览

gradle - 自定义增量 Gradle 编译任务的依赖项

如果希望我的编译任务是增量的,我想知道使用具有传递依赖关系的文件管理自定义编译步骤的最佳方法。这是特定的用例:我有一个充满模板的目录(在这种情况下为车把模板)。可以说这些都在一个pages目录中。其中一些模板包括其他模板(Handlebars partials)。假设包含的模板位于includes. 编译所有模板相当容易。例如,我可以使用 handlebars 命令handlebars <input-file>来编译每个文件pages(例如for (File file : srcDir) { project.exec { commandLine 'handlebars', file.name }}.

当调用handlebars 命令时,会编译input-file并在必要时提取任何包含的模板input-file以及包含添加等的任何模板。无需赘述,我还可以在编译时了解模板的全部传递依赖项它。所以,例如,如果模板A包含B和C,而B在编译过程中包含E,AI会知道如果B,C或E发生变化,我需要重新编译A。注意,我几乎需要编译模板学习这些信息,因为我需要解析它并确定它包含的所有位置,这些包含如何解析等。

我想创建一个编译文件的自定义增量任务,但仅在必要时。我知道如何声明此任务的输入,并且我知道如何在内存中维护从包含目录中的文件到直接或传递依赖它的页面中的模板的映射。因此,如果 IncrementalTask​​Inputs.outOfDate 包括,例如,includes/EI 知道我需要重新编译 A。到目前为止一切都很好,但我不清楚让这个实际工作的最佳方法。

显然,仅将依赖项存储在内存中是行不通的,因为守护进程可能会重新启动,甚至可能不会运行(而且我并不完全清楚哪些对象在运行之间的守护进程中仍然存在于内存中)。据我了解,Gradle 维护某种缓存,因此它能够计算正确的 IncrementalTask​​Inputs 并知道,例如,自上次运行以来仅包含/E 更改。因此,我不知何故需要维护一个依赖项缓存,以便在必要时从磁盘中读取。我可以通过将它们写入文件来手动执行此操作,但这似乎很容易出错。例如,不合时宜的 Ctrl-C 可能会使我的缓存与 Gradle 的缓存过时。我猜有一个内置系统允许我简单地声明依赖项并让 Gradle 负责将其与它自己的缓存一起保存。或者更好的是,也许有一个现有的基类可以处理这种事情,而我所要做的就是声明依赖关系是什么?有这样的事吗?

0 投票
1 回答
4109 浏览

gradle - 如何在构建期间排除 gradle 任务或方法

我定义了一个读取属性文件并更新某个字段的任务。我希望它仅在我执行“发布”时运行,而不是在“构建”期间运行。

我正在使用这个 gradle-release 插件进行发布:https ://github.com/researchgate/gradle-release

此插件在每个版本中将 gradle.properties 文件中的版本更新为下一个版本。我还需要保留当前版本号,因此我编写了这个方法。

但是,每当我进行构建时,都会执行此任务。我试图将其更改为一种方法,并在“uploadArchives”中调用该方法,我认为该方法仅在“发布”期间运行。然而没有结果。它会在每次构建时继续执行!

如何将它从“构建”中排除并仅在发布时调用它?

这是任务和一些代码片段:

0 投票
1 回答
2403 浏览

grails - Gradle 等价于 'grails -Dgrails.env=production run-app'

我正在将我的 Grails 2.5.1 网络应用程序升级到 Grails 3.1.1。production使用我使用的活动环境在本地运行应用程序

现在我正在使用 Gradle 任务,特别是gradle bootRun.

与前面的语法最简单的等价物是什么?

0 投票
1 回答
569 浏览

android - Gradle 复制任务既不复制文件也不给出任何错误

我已将以下任务及其执行计划添加到build.gradle

我没有收到任何错误,但Test.txt文件没有被复制到assets文件夹中。

我看到该任务在以下位置被调用/执行gradle console

但该文件不会被复制。我没有收到任何错误。以前从未写过 gradle 任务,我怀疑有一些语法错误或者我错过了一些东西。但由于我没有看到任何错误,我无法弄清楚。

您认为上面的问题是什么,因为文件没有被复制到目标文件夹?

assetsstore文件夹都在目录下的同一级别app

0 投票
1 回答
1065 浏览

android - 构建过程中包含的自定义 active-flavor-specific gradle 任务

每个 Android Gradle 构建环境:

我目前通过“readVersions”gradle 任务从本地 version.properties 文件中读取我的版本代码和版本名称。我正在为我的应用程序添加风味。这些口味需要不同的版本。所以我正在考虑将两个不同的 version.properties 文件放在风味特定的目录中(例如一个/version.properties,两个/version.properties),紧挨着风味特定的“res”和“src”目录。

我有一个 readVersions 任务:

我想要一个包含风味的新 readVersions 任务,以便我可以使用它来访问“风味”目录中的“version.properties”文件。

我努力了:

但是我不知道如何在“preBuild”步骤中 只让活动风味的任务运行。

从概念上讲,我想要这个:

对于那些建议重组和寻找更简单解决方案的人。我的构建过程目前对这些 version.properties 文件有其他依赖项。我可以在两个地方定义版本代码和版本名称(例如在“风味”以及风味的 version.properties 文件中,但我真的想要 DRY 配置)

0 投票
1 回答
330 浏览

android - android gradle Copy任务没有被执行?

这是我的 build.gradle

这三个没有被执行为什么?
afterEvaluate
switchToDebug
switchToRelease
在此处输入图像描述 我做错了什么?

0 投票
2 回答
1980 浏览

gradle - 停止显示来自输出的 Welcome to Gradle 消息

我正在从命令行运行 gradle 命令,我只想显示输出。有一个选项 -q, -quiet 表示它只会记录错误。运行命令后,我也得到了这个带有输出的废话。我怎么能阻止这个?