发布并引入本地gradle插件

  • Post author:
  • Post category:其他




1 创建gradle项目

创建Module项目后,选择Android Library。



1.1 创建成功后,配置gradle
apply plugin: 'groovy'


dependencies {
    implementation gradleApi()
    implementation localGroovy()
}

sourceSets {
    main {
        groovy {
            srcDir 'src/main/groovy'
        }

        resources {
            srcDir 'src/main/resources'
        }
    }
}


1.2 编写Test.groovy
package com.testmodule

import org.gradle.api.Plugin
import org.gradle.api.Project

class Test implements Plugin<Project>{

    @Override
    void apply(Project target) {
        target.task('testPrint') {
            println "this is gradle plugin"
        }
    }
}



2 通过maven发布到本地



2.1 gradle中引入maven
apply plugin: 'maven'


repositories {
    mavenCentral()
}

uploadArchives {
    repositories.mavenDeployer {
        repository(url: uri('../release'))
        pom.groupId = 'com.test.plugin'
        pom.version = '1.0.0'
        pom.artifactId = 'gradle-plugin-test'
    }
}


2.2 在本地创建gradle-plugin-test.properties

目录结构(src/main/resources/META-INF)如下

在这里插入图片描述

peoperties中的内容为

implementation-class=com.testmodule.Test


2.3 通过命令行或者点击右侧的对应模块的uploadArchives来发布到本地

点击发布



2.4 此时可以在本地看到构建好的依赖

发布结果



3 引入本地gradle插件



3.1 在root project目录下的build文件中添加依赖
	dependencies {
        classpath 'com.test.plugin:gradle-plugin-test:1.0.0'
    }
    
	allprojects {
	    repositories {
	        maven {
	            url uri('./release')
	        }
	    }
}


3.2 在app module下引入plugin
apply plugin: 'gradle-plugin-test'


3.3 执行名为testPrint的task

./gradlew testPrint

输出内容

this is gradle plugin



参考


编写一个android本地gradle插件


找不到自定义的 gradle plugin



版权声明:本文为SImple_a原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。