当前位置:   article > 正文

发布并引入本地gradle插件_apply plugin 本地模块

apply plugin 本地模块

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
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
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"
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

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'
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
2.2 在本地创建gradle-plugin-test.properties

目录结构(src/main/resources/META-INF)如下
在这里插入图片描述
peoperties中的内容为

implementation-class=com.testmodule.Test
  • 1
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')
	        }
	    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
3.2 在app module下引入plugin
apply plugin: 'gradle-plugin-test'
  • 1
3.3 执行名为testPrint的task

./gradlew testPrint
输出内容

this is gradle plugin
  • 1

参考

编写一个android本地gradle插件

找不到自定义的 gradle plugin

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/266234
推荐阅读
相关标签
  

闽ICP备14008679号