gradle - 将Gradle构建代码移动到插件有什么好处?

标签 gradle

我使用第三方Java应用程序,该应用程序提供了gradle构建以将应用程序与站点中的自定义打包在一起。

但是,最近他们将代码从build.gradle文件转移到了已编译的插件。

这让我很烦,因为我不再了解构建的工作原理,因为大多数都在未记录的插件中。

除了隐藏代码(不确定为什么要在构建脚本中隐藏代码...)以外,迁移到插件还有好处-特别是当插件没有在其他地方重用时?

例如

您可以在插件中做一些您在常规build.gradle脚本中无法做到的事情吗?

与使用build.gradle脚本中的相同代码相比,使用编译后的插件时,构建的运行速度会更快吗?

作为引用,大多数构建都是解压缩/压缩war文件和签名jar。

最佳答案

从功能上说,您无法在插件中执行任何操作,而不能在gradle文件中执行任何操作。从语法上讲,有些事情您可以使用Gradle文件无法实现的插件来完成。

例如,文件buildSrc/src/main/groovy/Main.groovy将在所有gradle脚本中自动可用。 buildSrc文件夹很特殊。

对于复杂的Groovy代码,将它们开发为插件还可以运行静态代码检查器,单元测试和类似的工具来提高插件代码的质量,而使用gradle文件中的代码则更加困难。

而且,编译后的插件可以更快。

关于gradle - 将Gradle构建代码移动到插件有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48836105/

相关文章:

windows - 将 gradle 构建移动到另一台机器

gradle - 使用gradle工具API时如何设置gradle项目属性?

gradle - 如何使用 Gradle 构建强制工件/模块名称

gradle - Gradle 1.5不能在编译中排除多个依赖项

android - 使用gradle更新Android应用程序版本(存储在build.gradle中)

java - 如何在属性文件中维护 Gradle 构建的项目和依赖项 jar 版本?

android - Crashlytics (Fabric) 为应用程序变体(构建类型、产品风格)分离组织

java - Gradle war 插件: creates an intermediate directory in project root

android - 未知的 'LibraryVariants' 属性 - Gradle 不会同步

android - 如何将 BuildConfig 值传递给依赖模块?