记录gradle插件学习一

我就不说那么多废话,直接上图一个一个步骤来,看得更清晰
步骤一:创建插件项目
描述:新建android项目后,再建一个module,然后删掉一些不必要的文件,如下所示:
在这里插入图片描述

步骤二:新建groovy文件夹
步骤三:新建MyPlugin.groovy文件,后缀名是groovy。
MyPlugin的内容,看着就跟java一样,因为groovy也是jvm语言,是兼容java的。

class MyPlugin implements Plugin<Project> {

    @Override
    void apply(Project project) {
        System.out.println("========== this is MyPlugin ==========")
    }
}

步骤四:新建resouces文件夹,接着在之下建META-INF文件夹,最后在META-INFO之下建gradle-plugins文件夹。

步骤五:新建 *.properties文件
*.properties 文件名是插件的剪短名称(id),用于应用插件。

*.properties 文件内容配置了插件实现类的映射,需要使用implementation-class来指定插件实习类的全限定类名。

properties文件内容:implementation-class=com.asm.plugin.MyPlugin

步骤六:本地上传插件

在这里插入图片描述

plugins {
    id 'groovy' // (必选)用于实现插件
    id 'maven' // (mavenDeployer 插件)用于发布插件
}

dependencies {
    implementation gradleApi()
    implementation localGroovy()
}
// 设置源文件路径
sourceSets {
    main {
        groovy {
            srcDir 'src/main/groovy'
        }

        resources {
            srcDir 'src/main/resources'
        }
    }
}
uploadArchives {
    repositories {
        mavenDeployer {
            pom.groupId = 'com.river.plugin'
            pom.artifactId = 'asm.plugin'
            pom.version = '1.0.0'
            //生成的插件存放地址
            repository(url: uri('D:/Repo'))
        }
    }
}

步骤七:应用插件

新建一个demo
在根项目的build文件里,写上: classpath ‘com.river.plugin:asm.plugin:1.0.0’
然后在app里的build文件里,写上如下的,作为引用
plugins {
id ‘com.android.application’
id ‘kotlin-android’
id ‘myplugin’
}

完整如下

buildscript {
    ext.kotlin_version = "1.4.30"
    ext.compose_version = '1.0.0-beta03'
    repositories {
        google()
        jcenter()
        maven{
            url uri('D:/Repo')
        }
    }
    dependencies {
        classpath "com.android.tools.build:gradle:4.1.3"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.river.plugin:asm.plugin:1.0.0'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

步骤八:运行
如果控制台打印出上面的一行日志,说明插件引用成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值