如何改变组识别符号,如果项目已经上传到bintray与jcenter同步?

问题描述 投票:4回答:3

我最近上传了我的github上的项目bintray并成功地与JCenter库同步的。我用这个教程:

http://inthecheesefactory.com/blog/how-to-upload-library-to-jcenter-maven-central-as-dependency/en

所以我gradle这个依赖是:

dependencies {
     compile 'com.github.danylo2006:hashtag-helper:1.1.0'
}

为了上传我修改我的build.gradle和添加脚本的有关和平。一切都像在本教程。

... some code here
ext {
    bintrayRepo = 'maven'
    bintrayName = 'hashtag-helper'

    publishedGroupId = 'com.github.danylo2006'
    libraryName = 'HashTagHelper'
    artifact = 'hashtag-helper'

    libraryDescription = 'This is a library designed for highlighting hashtags ("#example") and catching click on them.'

    siteUrl = 'https://github.com/danylo2006/HashTagHelper'
    gitUrl = 'https://github.com/danylo2006/HashTagHelper.git'

    libraryVersion = '1.1.0'

    developerId = 'danylovolokh'
    developerName = 'Danylo Volokh'
    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"]
}

这里是棘手的部分:

我已经改变了我的github昵称danylo2006到danylovolokh,现在我想改变依赖的gradle:

dependencies {
     compile 'com.github.danylo2006:hashtag-helper:1.1.0'
}

改成:

dependencies {
     compile 'com.github.danylovolokh:hashtag-helper:1.1.0'
}
  1. 我得到的groupId,我从Sonatype的需要
  2. 所以,我修改了我的脚本的gradle。

唯一相关的变化是:

publishedGroupId = 'com.github.danylo2006'

已更改为

publishedGroupId = 'com.github.danylovolokh'

我跑的相对命令:gradlew安装gradlew bintrayUpload

和我BUILD_SUCCESSFULL

但是,如果我添加新的依赖于任何其他项目的gradle我得到一个错误,“错误:(36,13)无法解析:com.github.danylovolokh:#标签辅助:1.1.0”

android maven sonatype bintray jcenter
3个回答
4
投票

列入JCenter是由您的groupId的路径进行。 JFrog需要包括从你的包JCenter新路径为好。请[email protected]联系JFrog支持


3
投票

@JBaruch是正确的。看来,电子邮件bintray是真正得到这些东西改变了正确的方法。但对于完整性,我附上我从Bintray收到的响应。希望张贴他们的反应会阻止他们通过电子邮件得到轰炸......

对于情况下,我与包(java)一groupID:artifact库:

io.jeti.utils:serialize

目前使用该组ID版本(1.0.0 / 1.0.1 / 1.0.2 / 1.0.3 / 1.0.4 /)。我问他们这个改变

io.jeti:serialize

而事实上,我已经推版本(1.0.5 / 1.0.6)这缩短到组ID bintray。这是响应:

我们理解您的使用案例。在这种情况下,我们建议创建一个新的包,并提交新的收录请求。请让我来解释一下,让我们从你的java回购例如“连载”包。目前,它拥有2个前缀当只有一个与Jcenter同步:IO /将JetI / utils的/串行/ - >同步处理IO /将JetI /连载 - >不存在jcenter

重新链接的新的groupId,将导致旧的/当前的groupId(IO /将JetI / utils的)及其版本(1.0.0 / 1.0.1 / 1.0.2 / 1.0.3 / 1.0.4 /)是无法解决的时候因为它依赖旧的groupId。这可能打破目前的整合与构建和脚本。因此,最好的方法是创建一个新的包(例如serialize2),提交新的收录申请(包括新的groupId - IO /将JetI /序列化),我们将批准它,并使它与JCenter同步。在这种情况下,你会得到所有现有的包版本的全分辨率(以及1.0.5 / 1.0.6)。

请让我们知道如何着手。


0
投票

我苦练的建议是创建一个新的bintray包,并要求将要公布的新的groupId。我曾试图移动现有包48小时,20条消息,并从JFrog支持给我留下了无法在旧的或新的位置发布我的原装包,也不在新位置的新包。

最后,我不得不注册一个新域名来承载我的项目,如bintray有效地拒绝访问的groupId我试图改变。

© www.soinside.com 2019 - 2024. All rights reserved.