Gradle插件<第四篇>:Gradle 7.0配置

2022-07-26  本文已影响0人  NoBugException

本章节是Gradle插件<第一篇>:自定义插件的补充。

在Gradle 7.0 中,如果要做一个插件,配置会有所变化。
完整的配置如下:

plugins {
    id 'java-gradle-plugin'  // Gradle开发插件
    id 'maven-publish'       // 插件发布
    id 'groovy'              // 使用Groovy
}

dependencies {
    implementation "com.android.tools.build:gradle:7.2.1"
}

gradlePlugin {
    plugins {
        MethodTracer {
            id = 'com.nobugexception.routerplugin.register'            //定义插件id
            version = '1.0'
            implementationClass = 'com.nobugexception.routerplugin.register.launch.PluginLaunch'  //定义插件实现类
        }
    }
}

// 本地发布
publishing {
    // 定义发布什么
    publications {
        plugin(MavenPublication) {
            from components.java //使用默认的配置生成jar包
            groupId = 'com.nobugexception'
            artifactId = 'router-register'
            version = '1.0'
        }
    }
    repositories {
        maven {
            // name = 'repo'
            // url = layout.buildDirectory.dir("repo") // 发布到 router-gradle-plugin/build/repo
            url = uri('../router-register') // 发布到项目根目录
        }
    }
}


//远程发布, 发布到我自己的私有库
//publishing {
//    publications {
//        maven(MavenPublication) {
//            groupId = "com.sand.group"
//            artifactId = "mt"
//            version = "1.0.2"
//            description "MTPlug is a good apm tool"
//            from components.java
//        }
//    }
//
//    repositories {
//        maven {
//            allowInsecureProtocol true
//            url = 'http://161.117.195.45:6677/repository/sand_repo/'
//            credentials {
//                it.username = "username"
//                it.password = "pwd"
//            }
//        }
//    }
//}

有一点需要注意:

一般情况下,一个插件的resources文件夹是必不可少的,但是如果在gradle中配置了:

gradlePlugin {
    plugins {
        MethodTracer {
            id = 'com.nobugexception.routerplugin.register'            //定义插件id
            version = '1.0'
            implementationClass = 'com.nobugexception.routerplugin.register.launch.PluginLaunch'  //定义插件实现类
        }
    }
}

就不需要再创建resources文件夹了。

上一篇下一篇

猜你喜欢

热点阅读