Gradle_Plugin_For_Publish

Gradle Plugin For publish AAR,JAR,Javadoc to Artifactory or Jcenter

View the Project on GitHub

目录

一 插件配置

1.1 引用插件

buildscript {
    repositories {
        jcenter()
    }
    
    dependencies {
        classpath "com.android.tools.build:gradle:1.3.1"
        classpath "com.meizu.flyme.internet:publish-plugin:1.+"
    }
}

apply plugin: 'com.android.library'

// 在apply android gradle插件之后apply本插件
apply plugin: 'com.comsince.publisher'

1.2 JCenter支持

引用过本插件的Library工程, 可以打包aar,javadoc,jar 发布到 Jcenter 可以在 Android Studio 的gradle任务图形化界面中双击 publishing -> bintrayUpload

会失败, 因为没有配置 帐号, 密码

1.2.1 local.properties文件中配置jCenter基本信息

NOTE: 有关JCenter申请可参考

1.2.2 gradle.properties 文件中配置发布信息

Library开发者发布的时候, 可以在 工程里面修改以上数据, 也可以通过 gradle.properties 更改

默认的 Group 是工程的 包名 默认的 artifactId 是library工程的 项目名 默认的 version 是library工程的 versionName

1.3 Artifactory支持

如果你自己搭建了Actifactory,需要配置一下内容:

此时通过 Android Studio 图形面板, 或者gradle命令

1.4 上传指令

./gradlew bintrayUpload
./gradlew artifactoryPublish

二 Gradle参数说明

gradle.properties: build.gradle同级目录下

local.properties: build.gradle同级目录下,

local.properties文件应该在.gitignore中屏蔽掉, 此文件仅用于本地开发

NOTE: 以下信息不填写,代表不启动bintray的MavenCentral同步功能,请在确认此gpg使用方法后启用此功能

三 示例工程

注意事项

    org.gradle.jvmargs=-Xmx2048m 
    -XX:MaxPermSize=512m 
    -XX:+HeapDumpOnOutOfMemoryError 
    -Dfile.encoding=UTF-8
    org.gradle.parallel=true   
    android {
        dexOptions {
            jumboMode true
            incremental true
            preDexLibraries false
            javaMaxHeapSize "4g"
        }
    }

更新日志

四 参考文档

五 同步更新到MavenCentral

NOTE:插件支持自动同步到MavenCentral,需要你按照如下步骤操作

    #  你的bintray 用户名
    bintray.user=
    #  你的bintray api key          
    bintray.apikey=        
    #  你创建的bintray repo名称
    bintray.repo=          
    #  你所要发布的库的名称
    bintray.name=  
    # 你的开源项目地址
    bintray.vcsUrl=
    #  新版的jcenter,需要提供你创建的组织名称,不然无法上传成功
    bintray.userOrg=       
    #  [详情参看](https://github.com/bintray/gradle-bintray-plugin#buildgradle)
    bintray.gpg.password = 
    #  oss账户名
    oss_user=   
    #  如果要同步到MavenCentral,需要到这里[申请](https://issues.sonatype.org/secure/Dashboard.jspa)账户
    oss_password=
              
    # 同步到MavenCentral必须配置
    developer_id = 
    developer_name=
    developer_email=
 # 需要上传的artifactory的url,默认为http://oss.jfrog.org/artifactory
 artifactory.url=  
 # artifactory repo 名称,默认为oss-snapshot-local
 artifactory.repo.key=