Gradle 学习之插件介绍

Posted Nicholas_hzf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gradle 学习之插件介绍相关的知识,希望对你有一定的参考价值。

目录

一、Gradle 设计介绍

Gradle 的扩展性十分强,它本身提供基本的概念和整体的核心框架,其他的具体场景逻辑,都是以插件的形式进行扩展

Gradle 本身就内置了很多常用插件,可以满足我们大部分的需求,但是也有一些常用的插件没有内置,这就需要我们自己去扩展实现,然后应用到 Gradle 当中去

二、Gradle 插件介绍

1. 二进制插件

二进制插件就是实现了 org.gradle.api.Plugin 接口的插件

应用:

// 法一:java 是 Java 插件的 plugin id
// Gradle 自带的核心插件都有一个容易记的短名,是唯一的
apply plugin:'java'
// 法二:
apply plugin:org.gradle.api.plugins.JavaPlugin
// 法三:
apply plugin:JavaPlugin

2. 脚本插件

脚本插件,严格来说不能算是一个插件,而是脚本。应用脚本插件,其本质就是把这个脚本加载进来,这个脚本可以是本地的,也可以是网络的

应用:

apply from:'version.gradle'

意义:脚本文件模块化的基础,可以按照功能模块把我们的脚本进行拆分,然后在主脚本文件引用,方便复用与归类,化整为零

3.应用第三方发布的插件

使用第三方发布的 jar 的二进制插件,一般需要配置对应的仓库和类路径

buildscript 
    repositories 
        mavenCentral()
    
    dependencies 
        classpath "com.android.tools.build:gradle:7.0.3"
    

// 使用 plugins DSL 应用插件
plugins 
    id 'com.android.application'

但是如果是使用 plugins DSL 应用插件,且插件已经被托管在 https://plugins.gradle.org/ 网站上,就可以不用在 buildscript 里配置 classpath 依赖了,直接使用 plugins 就可以应用了,这里以目前网址上显示第一个插件为例:com.hcl.security.appscan

  • 使用 plugins DSL 方式
plugins 
  id "com.hcl.security.appscan" version "1.0.6"

  • 使用传统的应用方式
buildscript 
  repositories 
    maven 
      url "https://plugins.gradle.org/m2/"
    
  
  dependencies 
    classpath "gradle.plugin.com.hcl.security:appscan-gradle-plugin:1.0.6"
  


apply plugin: "com.hcl.security.appscan"

整理学习自飞雪无情大佬的《Android Gradle 权威指南》和互联网资料

以上是关于Gradle 学习之插件介绍的主要内容,如果未能解决你的问题,请参考以下文章

Gradle 学习之插件介绍

Gradle学习之构建java与web项目

Gradle 学习之入门知识

Gradle 学习之入门知识

Gradle 学习之入门知识

Android学习之基础知识二(build.gradle文件详解)