Gradle Plugin

文章目录

在 Gradle 中使用 Plugin 大概有如下两种方式

  1. 使用 Gradle 第一方提供的内置插件,或第三方的插件
  2. 自己编写的,放在 buildSrc 的

在本篇中插件和 Plugin 为同义 本篇只写如何使用Plugin,关于编写Plugin单独开一篇来写

内置插件

有2种常见的引入模式

1plugins {
2    id 'java'
3}
4
5apply plugin: 'java'
6apply plugin: JavaPlugin // 注意这里没有引号,这个 JavaPlugin 是一个 Groovy 对象

这几种是相同的作用 需要注意的一点是,如果是使用 plugins 闭包来引入插件,则要注意顺序,否则会报如下的错,而apply plugin则没有这样的要求

1only buildscript {}, pluginManagement {} and other plugins {} script blocks are allowed before plugins {} blocks, 
2no other statements are allowed

按 Gradle 定义,只有buildscript``pluginManagement两种闭包可以放在这个前面,另外就是其他的 plugins 闭包可以在前面

三方插件

1plugins {
2    id 'com.jfrog.bintray' version '1.8.5' 
3    id 'com.jfrog.bintray' version '1.8.5' apply false
4}

使用 version 来指定版本号,如果 apply 为false,则表示在子项目中使用,不立即加载

pluginManagement 闭包的使用

按,可以在settings中定义插件版本,然后在build.gradle中使用而不指定版本号,这样的好处是所有子项目的插件版本号保持一致,官方示例如下

1pluginManagement {
2  plugins {
3        id 'com.example.hello' version "${helloPluginVersion}"
4    }
5}
1plugins {
2    id 'com.example.hello'
3}
1helloPluginVersion=1.0.0

引入 Script plugin

在中,其他的gradle文件也是plugin,比如

1apply from: 'other.gradle'

找到其他插件

去官方提供的地方找找吧