如何使 gradle processResources 任务更快
Posted
技术标签:
【中文标题】如何使 gradle processResources 任务更快【英文标题】:How to make gradle processResources task faster 【发布时间】:2018-12-10 14:18:51 【问题描述】:我正在开发 Spring Boot 项目,但我正忙于构建时间。我的项目的 processResources 任务耗时太长。
如果资源文件是最新的,它只需要大约 10 秒。 但如果文件至少更改一个,则需要几分钟。 这是因为一个资源库占用了 90000+ 个文件。
我尝试使用 --build-cache 选项,但似乎无法在 processResources 任务中工作。
我可以让 processResources 任务只对更改的文件起作用吗?如何使 processResources 任务更快?
【问题讨论】:
"因为一个资源库占用了 90000+ 个文件" 为什么你有这么多文件?是哪个资源库? 该资源库中的文件是否正在更改?如果不是,那么我会将其拆分:创建一个单独的任务来仅处理该库的资源,让 processResources 依赖它,并让 Gradle 跟踪几乎总是最新的。这样,其他资源文件更改不会影响 Gradle 对慢速库的最新检查。 @g00glen00b 我正在使用material-design-icons 库 @nickb 你能详细说明一下吗?我是 gradle 新手。 @shj 你真的需要单独的.*design
或*.svg
文件吗?如果你使用npm install @mdi/font
,它应该只安装CSS和webfont,这会大大减少文件数量。
【参考方案1】:
使用排除!
processResources
exclude '**/*.svg' // Exclude all SVG files
exclude '**/design/**' // Exclude whole "design" directory
【讨论】:
以上是关于如何使 gradle processResources 任务更快的主要内容,如果未能解决你的问题,请参考以下文章
如何在gradle中从一个位置复制到另一个位置时即时修改文件
如何在spring boot gradle项目的.jar根目录中构建一个文件夹?
如何使 runProguard 为 android-library Gradle 插件工作?
如何使旧的 Eclipse 项目在带有 Gradle 的 Android Studio 上运行? [关闭]