groovy - 我可以从 .gradle 文件中的 groovy 方法调用 gradle 任务吗?

标签 groovy gradle task

我在 gradle 中有一个非常规的构建脚本,它可以对项目进行循环编译。
更改为标准 gradle 构建需要数周时间,因此现在不会发生。

问题是我想停止在我的脚本中使用 ant 并转而只使用 groovy + gradle。
问题是如何更改像 copy 这样的任务?替换正则表达式?解压?
我假设在标准的 gradle 插件和 java 插件中我拥有大部分我需要的东西,但它们都是任务,现在如果我的主要任务中有一个需要复制操作的方法,我该怎么办?
有没有办法调用任务代码?有没有办法从 groovy 脚本中调用任务本身?

最佳答案

首先,你永远不应该从另一个任务中调用一个任务 - 如果你这样做会发生不好的事情。相反,您应该声明两个任务之间的关系( dependsOnmustRunAfterfinalizedBy )。

在某些情况下(比人们认为的要少),链接任务可能不够灵活;因此,对于某些任务(例如 Copy ),提供了等效的方法(例如 project.copy )。但是,应谨慎使用这些方法。在许多情况下,任务是更好的选择,因为它们是 Gradle 的基本构建块并提供许多优势(例如自动更新最新检查)。

有时,使用 GradleBuild 也是有意义的。任务,它允许执行一个构建作为另一个构建的一部分。

关于groovy - 我可以从 .gradle 文件中的 groovy 方法调用 gradle 任务吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18204077/

相关文章:

build - 将 Gradle 脚本从根目录导入子项目

c# - 在 WPF 应用程序中使用等待

.net - Threading.Tasks.TaskScheduler - 请帮我解决这个问题

spring-boot - 如何设置Spring/Gradle项目类路径以获取配置XML文件

Android Gradle - 为特定配置添加库依赖

WPF 异步 Task<T> 阻塞 UI

groovy - 我想念什么方法? project.apply插件上的MissingMethodException: 'customPlugin'

groovy - groovy 中的字符串是否可以为空而不是空?

java - Spock:我怎样才能得到失败测试的上下文?

java - 如何引用对象本身的方法