这里有关jcenter的注册以及创建jcenter仓库,在我的另一篇上传jcenter已经写过。

第一步:用Android Studio建立一个简单的插件

1、新建一个项目pluginlibrary(名字随意),再新建一个module(library),类型选择Android Library

2、将src/main下的目录全部删除,创建一个新的目录groovy,接着根据module的包名创建目录,比如我的module包名是com.plugin.gradle.library,

那么就按照这个目录创建。之后在该目录下创建一个以groovy后缀名的文件TestPlugin.groovy,作用是打印出一行字,目的是检验插件是否能运行。

大家直接copy就好,因为代码没有自动提示,需要手写。
package com.plugin.gradle.library

import org.gradle.api.Plugin
import org.gradle.api.Project


class TestPlugin implements Plugin<Project> {
    @Override
    void apply(Project project) {
        println "mack success haha"
    }
}

项目结构和代码如下:

3、在main目录下创建resources目录,在这个目录下创建META-INF/gradle-plugins, 在目录里面我们再创建名为com.test.plugin.properties的文件,

文件名library就是以后给别人引用的插件名(插件名相当于 其他项目引入的builde apply plugin: 'com.test.plugin')。

在该文件添加代码:implementation-class=com.plugin.gradle.library.TestPlugin

 

第二步:配置gradle(重要)

1、先配置好主项目的build.gradle,这里需要引入两个依赖

 

   classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'

   classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.5'

 2、配置module:library里面的gradle,因为我们最终上传的是这个插件,所以重要的信息都包含在里面。

 

 

apply plugin:'groovy'

apply plugin:'maven'

apply plugin:'com.jfrog.bintray'

apply plugin:'maven-publish'

//另外一个上传包到 jcenter 的插件

//apply plugin: 'com.novoda.bintray-release'//添加

dependencies {

    implementation gradleApi()

    implementation localGroovy()

    implementation 'com.android.tools.build:gradle:3.0.0'

    implementation "org.aspectj:aspectjtools:1.8.9"

    implementation "org.aspectj:aspectjrt:1.8.9"

    implementation 'com.android.tools.build:transform-api:1.5.0'

}

repositories {

    mavenCentral()

}

//打包到本地

//group = 'com.huodonghezi.aspectj.Plugin'

//version = '1.1.0'

//uploadArchives {

//    repositories {

//        mavenDeployer {

//            repository(url: uri('../repo'))

//        }

//    }

//}

group ='com.test.plugin.android'  // 组名 jcenter中的仓库路径

version ='1.0.0' // 版本

//// 应用插件

apply from:'bintray.gradle'

 2、配置module:里面创建上传jcenter的bintray.gradle,所有重要的信息都包含在里面。

 


applyplugin: 'com.jfrog.bintray'

applyplugin: 'maven-publish'

def baseUrl = '项目git路径'

def siteUrl = baseUrl

def gitUrl = "${baseUrl}/ hzAspectJ"

def issueUrl = "${gitUrl}/issues"

install {

repositories {

mavenInstaller {

// This generates POM.xml with proper paramters

pom.project {

//添加项目描述

name 'Gradle Plugin for Android'

url siteUrl

//设置开源证书信息

licenses {

license {

name 'The Apache Software License, Version 2.0'

url 'http://www.apache.org/licenses/LICENSE-2.0.txt'

}

}

//添加开发者信息

developers {

developer {

name 'jcenter 的用户名'

email ' jcenter 登录邮箱'

}

}

scm {

connection gitUrl

developerConnection gitUrl

url siteUrl

}

}

}

}

}

//配置上传Bintray相关信息

bintray {

user = '用户名'

key = ' jcenter 的个人 api key'

configurations = ['archives']

pkg {

repo = 'welljan' // 上传到中央仓库的名称

name = 'hzAspectJ' // 上传到jcenter 的项目名称

desc = 'test aop' // 项目描述

websiteUrl = siteUrl

issueTrackerUrl = issueUrl

vcsUrl = gitUrl

labels = ['gradle', 'plugin']

licenses = ['Apache-2.0']

publish = true

}

}

第三步:上传插件

我们到底怎么上传这个插件呢,其实有两种方法,但本质上是一样的,可以使用工具,或者使用命令行。
1、使用gradle快捷工具

 

 第一步,在右上角侧边栏找到Gradle,点击打开,在目录中展开pluginlibrary,双击install运行

 

 第二步如图展开publishing,双击bintrayUpload运行。

 

打开Messages,当你看到BUILD SUCCESSFUL,就代表已经上传成功啦。

posted on 2020-08-07 11:05  南巷挽清风  阅读(671)  评论(0编辑  收藏  举报