美文网首页Android开发
gradle 插件的plugins和apply引入区别

gradle 插件的plugins和apply引入区别

作者: JohnYuCN | 来源:发表于2021-01-26 14:43 被阅读0次

一、插件的地位

  • Gradle使用插件,完成"可复用的"和“复杂的”构建管理工作。
  • Todo: 后续简书完成自定义插件

二、引入插件的方式:

(一) 高版本plugins方式:

必须在Top Level(父项目或子项目的gradle.build顶级),直接使用:

plugins{
    id 'java'
    id 'org.springframework.boot' version '2.4.1'
}

注意: java是“核心插件”,而org.springframework.boot是“社区插件”(Gradle插件中心),必须指定version

(二)遗留版本的apply方式:

此方式又有以下几种不现的表现:

1. 与buildscript结合:

buildscript {
    ext {
        springBootVersion = "2.3.3.RELEASE"
    }
    repositories {
        mavenLocal()
        maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
        jcenter()
    }
//    此处引入插件
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}
apply plugin: 'java' //核心插件,无需事先引入
apply plugin: 'org.springframework.boot' //社区插件,需要事先引入,不必写版本号

2. 父项目的subprojects块中指定子项目中使用:

// 此处也可与buildscripts和apply plugin结合
plugins {
    id 'java'
    id 'org.springframework.boot' version '2.4.2'
}
//所有的子项目,都应用了以下插件
subprojects {
    apply plugin: 'java' //核心插件,无需事先引入
    apply plugin: 'org.springframework.boot' //社区插件,需要事先引入,不必写版本号
}

3. 子项目中直接使用:

在父项目中指定了插件的情况下(父项目中使用了plugins或者buildscript+apply),此时,可以直接在子项目中直接使用apply

//这是子项目的位置
apply plugin: 'java' //核心插件,无需事先引入
apply plugin: 'org.springframework.boot' //社区插件,需要事先引入,不必写版本号

相关文章

网友评论

    本文标题:gradle 插件的plugins和apply引入区别

    本文链接:https://www.haomeiwen.com/subject/gyugzktx.html