欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

发布项目到Jcenter

程序员文章站 2024-01-29 14:30:16
...

JCenter是什么?

  • 它是由 JFrog 公司提供的 Bintray 中的 Java 仓库
  • 与 Maven Central 相比,JCenter 的速度更快,包含的库更多,UI界面更友好,更容易使用
  • Bintray 还支持将 JCenter 上传到 Maven Central 的功能
  • JCenter 是 Android Studio 默认使用的服务器仓库

如何上传到Jcenter?

使用bintray-release插件上传(这种方式比较便捷)

1.1 注册bintray.com账号

1.2 项目的build.gralde

buildscript {
    ext.deps = [
            'support'       : [
                    'compat'     : "com.android.support:support-compat:${versions.supportLibrary}",
                    'annotations': "com.android.support:support-annotations:${versions.supportLibrary}",
                    'test'       : [
                            'runner': 'com.android.support.test:runner:1.0.1',
                    ],
            ],
            javapoet        : 'com.squareup:javapoet:1.10.0',
            'auto'          : [
                    'service': 'com.google.auto.service:auto-service:1.0-rc4',
                    'common' : 'com.google.auto:auto-common:0.10',
            ],
            'userOrg'       : 'woshifantuo3',   //bintray注册的用户名
            'groupId'       : 'com.zero',   //compile引用时的第1部分groupId
            'publishVersion': '1.0.3',   //compile引用时的第3部分版本号
            'desc'         : 'This is a apt tool for validate input',
            'website'       : 'https://github.com/cl9/InputValidator',
    ]
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        classpath 'com.novoda:bintray-release:0.8.1'
    }
}

1.3 待上传moudle的build.gralde

apply plugin: 'com.novoda.bintray-release'

android {
  //保持不变
}

dependencies {
    //保持不变
}

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

String localBintrayUser = properties.getProperty("bintray.user")
String localBintrayApikey = properties.getProperty("bintray.apikey")

publish {
    bintrayUser = localBintrayUser   //bintray.com用户名
    bintrayKey = localBintrayApikey  //bintray.com apikey
    dryRun = false
    userOrg = deps.userOrg
    groupId = deps.groupId
    artifactId = 'inputvalidator-processor'   //compile引用时的第2部分项目名
    publishVersion = deps.publishVersion
    desc = deps.desc
    website = deps.website
}

1.4 修改local.properties

bintray.apikey=BINTRAY_KEY
bintray.user=BINTRAY_USERNAME

1.5 上传

在studio的命令行执行以下命令即可

gradlew clean build bintrayUpload 

这样上传成功后就可以使用了,例如:

buildscript {
    repositories {
        // 必须指定maven仓库的地址,因为此时还没上传到jcenter
        maven { url "https://dl.bintray.com/woshifantuo3/maven" }  
    }
    dependencies {
        classpath 'com.zero:AspectPlugin:1.0.0'
    }
}
apply plugin: 'aspectj.plugin'

1.6 上传到jcenter

上传到jcenter之后就可以不用指定maven仓库地址,直接就能使用:

buildscript {
    dependencies {
        classpath 'com.zero:AspectPlugin:1.0.0'
    }
}
apply plugin: 'aspectj.plugin'

使用gradle-bintray-plugin插件上传

可以参考 如何利用gradle-bintray-plugin上传开源项目到jcenter

注意事项

参考

上一篇: 项目发布流程

下一篇: 回文树小结