如何發佈gradle插件到gradle遠程倉庫

插件開發

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官方自動給插件生成集成使用操作即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章