{"id":14979986,"url":"https://github.com/comsince/gradle_plugin_for_publish","last_synced_at":"2025-10-28T20:32:16.805Z","repository":{"id":57726584,"uuid":"79709325","full_name":"comsince/Gradle_Plugin_For_Publish","owner":"comsince","description":"Gradle Plugin For publish AAR,JAR,Javadoc to Artifactory or Jcenter","archived":false,"fork":false,"pushed_at":"2021-06-11T08:23:38.000Z","size":207,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-01T18:11:19.274Z","etag":null,"topics":["bintray","gradle","gradle-plugin","jcenter","mavencentral"],"latest_commit_sha":null,"homepage":"https://comsince.github.io/Gradle_Plugin_For_Publish/","language":"Groovy","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/comsince.png","metadata":{"files":{"readme":"readme.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-01-22T09:58:25.000Z","updated_at":"2021-06-11T08:23:41.000Z","dependencies_parsed_at":"2022-09-26T21:50:56.167Z","dependency_job_id":null,"html_url":"https://github.com/comsince/Gradle_Plugin_For_Publish","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/comsince%2FGradle_Plugin_For_Publish","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/comsince%2FGradle_Plugin_For_Publish/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/comsince%2FGradle_Plugin_For_Publish/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/comsince%2FGradle_Plugin_For_Publish/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/comsince","download_url":"https://codeload.github.com/comsince/Gradle_Plugin_For_Publish/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238720015,"owners_count":19519298,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bintray","gradle","gradle-plugin","jcenter","mavencentral"],"created_at":"2024-09-24T14:01:04.041Z","updated_at":"2025-10-28T20:32:11.234Z","avatar_url":"https://github.com/comsince.png","language":"Groovy","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 目录\n    \n* [一 插件配置](#library_setting_init)\n    * [1.1 引用插件](#build_setting)\n    * [1.2 JCenter支持](#jcenter_setting)\n      * [1.2.1 local.properties文件中配置jCenter基本信息](#jcenter_account_setting)\n      * [1.2.2 gradle.properties 文件中配置发布信息](#jcenter_group_setting)\n    * [1.3 Artifactory支持](#artifactory_setting)\n    * [1.4 上传指令](#upload_order)\n* [二 Gradle参数说明](#gradle_setting_describe)\n* [三 示例工程](#demo) \n* [四 注意事项](#notifications)\n* [五 同步更新到MavenCentral](#sync_maven_central)\n\n# 一 插件配置\u003ca name=\"library_setting_init\"/\u003e\n\n## 1.1 引用插件\u003ca name=\"build_setting\"/\u003e\n\n````\nbuildscript {\n    repositories {\n        jcenter()\n    }\n    \n    dependencies {\n        classpath \"com.android.tools.build:gradle:1.3.1\"\n        classpath \"com.meizu.flyme.internet:publish-plugin:1.+\"\n    }\n}\n\napply plugin: 'com.android.library'\n\n// 在apply android gradle插件之后apply本插件\napply plugin: 'com.comsince.publisher'\n\n````\n\n\n## 1.2 JCenter支持\u003ca name=\"jcenter_setting\"/\u003e\n \n引用过本插件的Library工程, 可以打包aar,javadoc,jar 发布到 Jcenter\n可以在 Android Studio 的gradle任务图形化界面中双击 publishing -\u003e *bintrayUpload*\n\n会失败, 因为没有配置 帐号, 密码\n\n### 1.2.1 local.properties文件中配置jCenter基本信息\u003ca name=\"jcenter_account_setting\"/\u003e\n\n+ `bintray.user=comsince`  # 你的bintray 用户名\n+ `bintray.apikey=your api key` # 你的bintray api key\n+ `bintray.repo=` #  你创建的bintray repo名称\n+ `bintray.name=` 你所要发布的库的名称\n+ `bintray.userOrg=`  新版的jcenter,需要提供你创建的组织名称，不然无法上传成功 \n\n\n**NOTE:** 有关JCenter申请可[参考](register_jcenter.md)\n\n### 1.2.2 gradle.properties 文件中配置发布信息\u003ca name=\"jcenter_group_setting\"/\u003e\n\nLibrary开发者发布的时候, 可以在 工程里面修改以上数据, 也可以通过 `gradle.properties` 更改\n\n+ `libGroup=com.comsince.github`  \n+ `libId=publish-plugin`\n+ `libVersion=1.0.0`\n\n*默认的 Group 是工程的 包名*\n*默认的 artifactId 是library工程的 项目名*\n*默认的 version 是library工程的 versionName*  \n\n\n## 1.3 Artifactory支持\u003ca name=\"artifactory_setting\"/\u003e\n\n如果你自己搭建了Actifactory,需要配置一下内容：\n\n+ `artifactory.url= ` # 需要上传的artifactory的url,默认为http://oss.jfrog.org/artifactory\n+ `artifactory.repo.key=` # artifactory repo 名称，默认为libs-release-local\n\n+ `artifactory.user=` # artifactory 用户名\n+ `artifactory.password=` artifactory 密码\n\n此时通过 Android Studio 图形面板, 或者gradle命令\n\n## 1.4 上传指令\u003ca name=\"upload_order\"/\u003e\n\n* bintray 上传命令\n\n```\n./gradlew bintrayUpload\n```\n\n* artifactory 上传命令\n\n```\n./gradlew artifactoryPublish\n```\n\n\n# 二 Gradle参数说明\u003ca name=\"gradle_setting_describe\"/\u003e\n\n**gradle.properties**: build.gradle同级目录下\n\n+ `libGroup=com.comsince.github`  # 建议不配置, 默认使用工程包名\n\n    配置 aar 的group, 如果不配置, 默认使用 Library工程的 包名\n    \n+ `libId=publisher` \n\n    配置 aar 以及 proguard 的 id, 如果不配置, 默认使用 Library工程的 项目名\n\n+ `libVersion=1.1` # 建议不配置, 默认使用工程版本名VersionName\n\n    配置 aar的 版本号, 如果不配置, 默认使用 Library工程的 versionName  \n    \n+ `libPublish=false ` # 是否立即发布到jcenter仓库中    \n    \n**local.properties**: build.gradle同级目录下, \n\nlocal.properties文件应该在.gitignore中屏蔽掉, 此文件仅用于本地开发\n\n+ `bintray.user=comsince`  # 你的bintray 用户名\n+ `bintray.apikey=your api key` # 你的bintray api key\n+ `bintray.repo=` #  你创建的bintray repo名称\n+ `bintray.name=` 你所要发布的库的名称\n+ `bintray.userOrg=`  新版的jcenter,需要提供你创建的组织名称，不然无法上传成功 \n+ `bintray.vcsUrl=`  你开源的项目地址\n\n**NOTE:** 以下信息不填写,代表不启动bintray的MavenCentral同步功能,请在确认此gpg使用方法后启用此功能\n\n+ `bintray.gpg.password` [详情参看](https://github.com/bintray/gradle-bintray-plugin#buildgradle)\n+ `oss_user`\n+ `oss_password`  如果要同步到MavenCentral,需要到这里[申请](https://issues.sonatype.org/secure/Dashboard.jspa)账户\n\n\n## 三 示例工程\u003ca name=\"demo\"/\u003e\n    \n* [Demo](https://github.com/comsince/Gradle_Plugin_For_Publish/tree/master/PublisherDemo)\n\n## 注意事项\u003ca name=\"notifications\"/\u003e\n\n* 对于超大型应用, lintVital时OOM, 请按如下配置  \n    gradle.properties 中开启   \n    \n```groovy\n    org.gradle.jvmargs=-Xmx2048m \n    -XX:MaxPermSize=512m \n    -XX:+HeapDumpOnOutOfMemoryError \n    -Dfile.encoding=UTF-8\n    org.gradle.parallel=true   \n```    \n    \n* 对于引用了很多模块的超大型应用, dex时OOM, 请按如下配置\n\n    build.gradle中\n    \n```groovy\n    android {\n        dexOptions {\n            jumboMode true\n            incremental true\n            preDexLibraries false\n            javaMaxHeapSize \"4g\"\n        }\n    }\n```     \n    \n## [更新日志](CHANGELOG.md)\n\n# 四 参考文档\n* [同步发布到Maven Central的注意事项](http://central.sonatype.org/pages/requirements.html)\n* [Publish AAR to jCenter and Maven Central](https://gist.github.com/lopspower/6f62fe1492726d848d6d)\n* [BinTray Plugin](https://github.com/bintray/gradle-bintray-plugin)\n\n# 五 同步更新到MavenCentral\n**NOTE:**插件支持自动同步到MavenCentral，需要你按照如下步骤操作\n  \n* [sonatype.org](https://issues.sonatype.org/secure/Dashboard.jspa)注册账户\n* 新建一个MavenCentral的issue,大概要等待一周的审核时间\n  Create a Sonatype account for Maven Central,注意填写如下信息\n  * ```Project```: Community Support - Open Source Project Repository Hosting\n  * ```Issue Type```: New Project\n  * ```Summary```: Your library's name in summary, for example, The Cheese Library\n  * ```Group Id```: Put the root GROUP_ID, for example, com.inthecheeselibrary . After you got an approval, every single library starts with com.inthecheeselibrary will be allowed to upload to repository, for example, com.inthecheeselibrary.somelib\n  * ```Project URL```: Put a URL of any library you plan to distribute, for example, https://github.com/nuuneoi/FBLikeAndroid\n  * ```SCM URL```: URL of Source Control, for example, https://github.com/nuuneoi/FBLikeAndroid.git\n  \n* GPG 公钥和私钥申请配置\n   * [GPG入门教程](http://www.ruanyifeng.com/blog/2013/07/gpg.html)\n   * [GPG 使用说明](http://central.sonatype.org/pages/working-with-pgp-signatures.html)\n* [Jcenter MavenCentral同步配置](https://inthecheesefactory.com/blog/how-to-upload-library-to-jcenter-maven-central-as-dependency/en)\n* local.properties 配置相关的信息如下:\n    + `bintray.gpg.password` [详情参看](https://github.com/bintray/gradle-bintray-plugin#buildgradle)\n    + `oss_user`\n    + `oss_password`  如果要同步到MavenCentral,需要到这里[申请](https://issues.sonatype.org/secure/Dashboard.jspa)账户\n    \n    \n* local.properties 配置模板\n\n```\n    #  你的bintray 用户名\n    bintray.user=\n    #  你的bintray api key          \n    bintray.apikey=        \n    #  你创建的bintray repo名称\n    bintray.repo=          \n    #  你所要发布的库的名称\n    bintray.name=  \n    # 你的开源项目地址\n    bintray.vcsUrl=\n    #  新版的jcenter,需要提供你创建的组织名称，不然无法上传成功\n    bintray.userOrg=       \n    #  [详情参看](https://github.com/bintray/gradle-bintray-plugin#buildgradle)\n    bintray.gpg.password = \n    #  oss账户名\n    oss_user=   \n    #  如果要同步到MavenCentral,需要到这里[申请](https://issues.sonatype.org/secure/Dashboard.jspa)账户\n    oss_password=\n              \n    # 同步到MavenCentral必须配置\n    developer_id = \n    developer_name=\n    developer_email=\n```\n\n* gradle.properties 配置模板\n\n```\n # 需要上传的artifactory的url,默认为http://oss.jfrog.org/artifactory\n artifactory.url=  \n # artifactory repo 名称，默认为oss-snapshot-local\n artifactory.repo.key= \n```\n\n* [如何发布Jar包到Maven Central Repository](https://cloud.tencent.com/developer/article/1188461)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomsince%2Fgradle_plugin_for_publish","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcomsince%2Fgradle_plugin_for_publish","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomsince%2Fgradle_plugin_for_publish/lists"}