Jcenter工程上传

1.将upload.gradle复制到要发布的module目录下;

apply plugin: 'com.jfrog.bintray'
apply plugin: 'com.github.dcendents.android-maven'

version = libraryVersion
group = publishedGroupId// Maven Group ID for the artifact

task androidSourcesJar(type: Jar) {
    classifier = 'sources'
    from android.sourceSets.main.java.srcDirs
}

task androidJavadocs(type: Javadoc) {
    source = android.sourceSets.main.java.srcDirs
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}


artifacts {
//    archives androidJavadocs
    archives androidSourcesJar
}

// Bintray
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())

bintray {
    user = properties.getProperty("bintray.user")
    key = properties.getProperty("bintray.apikey")

    configurations = ['archives']
    pkg {
        repo = bintrayRepo
        name = bintrayName
        desc = libraryDescription
        websiteUrl = siteUrl
        vcsUrl = gitUrl
        licenses = allLicenses
        publish = true
        publicDownloadNumbers = true
        version {
            desc = libraryDescription
            gpg {
                sign = true //Determines whether to GPG sign the files. The default is false
                passphrase = properties.getProperty("bintray.gpg.password")
                //Optional. The passphrase for GPG signing'
            }
        }
    }
}

install {
    repositories.mavenInstaller {
        // This generates POM.xml with proper parameters
        pom {
            project {
                packaging 'aar'
                groupId publishedGroupId
                artifactId artifact

                // Add your description here
                name libraryName
                description libraryDescription
                url siteUrl

                // Set your license
                licenses {
                    license {
                        name licenseName
                        url licenseUrl
                    }
                }
                developers {
                    developer {
                        id developerId
                        name developerName
                        email developerEmail
                    }
                }
                scm {
                    connection gitUrl
                    developerConnection gitUrl
                    url siteUrl

                }
            }
        }
    }
}

 

2.在项目根build.gradle中增加

        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2'
        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.1'
        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2'
        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'//这个插件的版本会跟着gradle版本有变化,如果不相符,会有Plugin with id 'com.github.dcendents.android-maven' not found
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }

 

3.在local.properties中增加

bintray.user=xxxx //jcenter上的用户名
bintray.apikey=xxxxxxx //在用户信息编辑页面中有一个ApiKey

4.在要发布的module的build.gradle中增加

ext {
    //项目地址
    siteUrl = 'https://github.com/qwerttest/ShareLoginCharge'
    //项目下载地址
    gitUrl = 'https://github.com/qwerttest/ShareLoginCharge.git'

    //要发布的仓库,需要在jCenter中创建
    bintrayRepo = 'maven'
    //在maven仓库中创建的工程的名字
    bintrayName = 'loginShareCharge'

    //要发布到的group的标识,使用module包名即可
    publishedGroupId = 'com.android.frame.third.library'
    //libraryName, artifact, moduleName必须保持一致
    libraryName = 'library'
    //artifactId 要发布的工程的标识
    artifact = 'library'
    libraryDescription = 'this is a test'//项目描述
    //要发布的版本号
    libraryVersion = '1.0.0'

    //发布者的信息
    developerId = 'jin'
    developerName = 'jin'
    developerEmail = '[email protected]'

    //许可信息,不用修改
    licenseName = 'The Apache Software License, Version 2.0'
    licenseUrl = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
    allLicenses = ["Apache-2.0"]
}

apply from:'upload.gradle

5.配置完成后,在terminal中执行

gradlew.bat install

successful之后再执行:

gradlew.bat bintrayUpload

都执行成功后便成功发布到了maven库中。

6.这时,如果想使用发布的项目,还需要在工程的根build.gradle中加入

allprojects {
    repositories {
        jcenter()
        mavenCentral()
        maven { url "https://dl.bintray.com/thelasterstar/maven/" }//添加此句
    }
}
maven { url "https://dl.bintray.com/thelasterstar/maven/" }//添加此句
    }
}

或者在app中的build.gradle中加入

repositories {
    maven { url "https://dl.bintray.com/thelasterstar/maven/" }
}

现在,就可以在

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:26.+'
    compile 'com.android.support.constraint:constraint-layout:1.0.0'
    testCompile 'junit:junit:4.12'
    compile 'com.android.frame.third.library:library:1.0.0'//这个是发布的工程
}


引入使用了。

7.如果要想不加入6步骤,则需要将项目join jcenter中:Jcenter工程上传_第1张图片

提交之后审核大概3-4个小时,也可能很短。审核通过之后就可以很方便地使用了。

你可能感兴趣的:(Jcenter工程上传)