美文网首页
gradle插件开发、本地调试及发布

gradle插件开发、本地调试及发布

作者: channelRead0 | 来源:发表于2018-06-16 11:17 被阅读0次

    gradle插件开发、本地调试

    1、新建一个Android Library Module,删减其他目录文件,并创建groovy目录直至如下


    image.png

    2、build.gradle修改成:

    apply plugin: 'groovy'
    apply plugin: 'maven'
    
    dependencies {
        compile gradleApi()
        compile localGroovy()
        compile 'com.android.tools.build:gradle:3.2.0'//对应项目版本
        compile 'org.ow2.asm:asm:6.0'
    }
    
    repositories {
        jcenter()
        google()
        mavenCentral()
    }
    

    3、创建groovy文件

    import org.gradle.api.Plugin
    import org.gradle.api.Project
    
    class TestPlugin implements Plugin<Project> {
    
        @Override
        void apply(Project project) {
            println("TestPlugin --> test")
        }
    }
    

    4、使用插件
    app模块build.gradle添加
    apply plugin: cn.plugin.TestPlugin
    注意,不要引号。

    gradle插件上传

    1、创建module选择Android Library。
    2、删除src/main目录下所有文件/文件夹,创建如下目录和FirstPlugin.groovy文件,vkel.plugin.properties文件


    目录

    3、新建java文件FirstPlugin.java,实现Plugin,泛型为Project,实现apply方法。改文件后缀为.groovy。

    package cn.vkel.plugindemo
    import org.gradle.api.Plugin
    import org.gradle.api.Project
    
    public class FirstPlugin implements Plugin<Project>{
        @Override
        void apply(Project project) {
            project.task("testTask")<<{
                println("我的第一个gradle插件")
            }
        }
    }
    
    

    4、vkel.plugin.properties
    implementation-class=cn.vkel.plugindemo.FirstPlugin
    5、插件模块build.gradle,发布到本项目中的配置

    apply plugin: 'groovy'
    apply plugin: 'maven'
    
    group='cn.vkel.plugin'
    version='1.0.0'
    
    dependencies {
        compile gradleApi()
        compile localGroovy()
    }
    
    uploadArchives {
        repositories {
            mavenDeployer {
                repository(url: uri('../plugins'))
            }
        }
    }
    

    6、根目录bulid.gradle

    buildscript {
        
        repositories {
            google()
            jcenter()
            maven {
                url uri('plugins')
            }
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.0.1'
            
            classpath 'cn.vkel.plugin:plugindemo:1.0.0'
        }
    }
    

    7、在app模块build.gradle中使用插件

    apply plugin:"vkel.plugin"
    

    8、测试
    终端(Terminal)输入

    gradlew testTask
    

    打印结果


    image.png

    9、发布到Maven私服的配置

    apply plugin: 'groovy'
    apply plugin: 'maven'
    
    repositories {
        mavenCentral()
    }
    dependencies {
        compile gradleApi()
        compile localGroovy()
    }
    uploadArchives {
        repositories {
            mavenDeployer {
                repository(url: "http://localhost:8081/repository/ComponentDemo/") {
                    authentication(userName: "admin", password: "admin123")      //账号,密码
                }
    
                pom.project {
                    version '1.0.2'
                    artifactId 'plugindemo'
                    groupId 'cn.vkel.electrocar'
                    description '我的第一个gradle插件'
                }
            }
        }
    }
    
    

    10、发布到jCenter配置

    相关文章

      网友评论

          本文标题:gradle插件开发、本地调试及发布

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