如何发布gradle插件到gradle远程仓库

原创
2020/10/15 23:23
阅读数 4K

插件开发

gradle插件的开发这里就不多介绍了。大家可以参考smart-doc文档工具官方开源的插件smart-doc-gradle-plugin这个经典例子,这个官方插件比网上普通的gradle插件开发例子技术点全面太多了。

注册账号

打开gradle plugin官网,然后点击右上角登录按钮,然后选择注册,当然也可以直接选择使用github账号授权登录,这一步比较简单。

获取API Keys

如下图,点击右上角的个人账号,然后进入个人编辑页,然后切换到API Keys的tab,就可以看到对应的内容。

已经生成的按照提示复制内容到用户根目录的 ~/.gradle/gradle.properties 文件中,这里是gradle的全局变量的保存位置。 当然也可以本项目的gradle.properties文件中,但是这种方式容易泄露信息,不小心就把key和secret提交了。

添加插件发布配置

在插件的build.gradle中添加发布配置,以smart-doc官方的smart-doc-gradle-plugin插件为例。

buildscript {
    repositories {
        maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
        mavenCentral()
    }
}

plugins {
    id 'groovy'
    id "java"
    id "java-gradle-plugin"
    id "com.gradle.plugin-publish" version "0.12.0"
}

group 'com.github.shalousun'
version '1.2.0'
sourceCompatibility = 1.8

repositories {
    maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.13.1'
    compile 'com.github.shalousun:smart-doc:1.9.6'
}
tasks.withType(JavaCompile) {
    options.encoding = "UTF-8"
}

task javadocJar(type: Jar) {
    classifier = 'javadoc'
    from javadoc
}

task sourcesJar(type: Jar) {
    classifier = 'sources'
    from sourceSets.main.allSource
}

artifacts {
    archives javadocJar, sourcesJar
}

gradlePlugin {
    plugins {
        greetingsPlugin {
            id = 'com.github.shalousun.smart-doc' //插件的id
            implementationClass = 'com.smartdoc.gradle.plugin.SmartDocPlugin'
        }
    }
}

pluginBundle {
    website = 'https://github.com/smart-doc-group/smart-doc-gradle-plugin'
    vcsUrl = 'https://github.com/smart-doc-group/smart-doc-gradle-plugin'
    description = 'smart-doc gradle plugin' //插件描述
    tags = ['smart-doc'] //搜索关键词
    plugins {
        greetingsPlugin {
            // id is captured from java-gradle-plugin configuration
            displayName = 'smart-doc gradle plugin'
        }
    }
}

发布插件

在build.gradle完成了发布配置后,在命令行执行命令gradle publishPlugins 然后等待上传结束就发布成功了。

当然,添加完成后并且同步后,在idea右侧对应模块的 Tasks 目录下,会多出 plugin portal ,然后点击 publishPlugins 就完成发布了。

gradle成功发布到gradle的插件库后需要等待官方的审核,审核周期大概需要两周,耐心等待审核即可。

使用插件

官方审核通过后就可以通过搜索找到自己的插件,直接查看gradle官方自动给插件生成集成使用操作即可。

企业级域名的group id处理

如果发布的插件不是使用的github的二级域名而是使用公司的域名,则需要域名解析认证。首先推送插件后会收到认证邮件。

需要按照邮件做一个dns record, 做完后后gradle仓库的工作人员会在工作日做审核,完成审核后即可正常发布。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部