Как изменить groupid, если проект уже загружен в bintray и синхронизирован с jcenter?

Недавно я загрузил свой проект github в bintray и успешно синхронизировал его с репозиторием JCenter. Я использовал этот учебник:

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

Итак, моя зависимость от градиента была:

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 install gradlew bintrayUpload

И я получил BUILD_SUCCESSFULL

Но если я добавлю новую зависимость к любому другому проекту Gradle, я получаю сообщение об ошибке «Ошибка: (36, 13) Не удалось разрешить: com.github.danylovolokh: hashtag-helper: 1.1.0»


person Danylo Volokh    schedule 13.01.2016    source источник


Ответы (3)


Включение в JCenter осуществляется по пути вашего groupId. JFrog также должен включить новый путь от вашего пакета к JCenter. Обратитесь в службу поддержки JFrog по адресу [email protected].

person JBaruch    schedule 13.01.2016
comment
Помогло. Я попросил их повторно связать мой пакет с новым путем. И сделали это за сутки. Спасибо - person Danylo Volokh; 14.01.2016

@JBaruch прав. Кажется, что отправка bintray по электронной почте — это правильный способ действительно изменить эти вещи. Но для полноты прилагаю ответ, полученный от Bintray. Надеюсь, публикация их ответа предотвратит их бомбардировку электронными письмами...

Для контекста у меня есть репозиторий java с пакетом (groupID:artifact):

io.jeti.utils:serialize

В настоящее время существуют версии (1.0.0/1.0.1/1.0.2/1.0.3/1.0.4/), использующие этот идентификатор группы. Я попросил их изменить это на

io.jeti:serialize

И на самом деле я уже запихал версии (1.0.5/1.0.6) в бинтрей с этим укороченным groupID. Это был ответ:

Мы понимаем ваш вариант использования. В таких случаях мы рекомендуем создать новый пакет и отправить новый запрос на включение. Пожалуйста, позвольте мне объяснить, например, возьмем пакет «serialize» из вашего java-репозитория. В настоящее время у него есть 2 префикса пути, когда только один синхронизируется с Jcenter: io/jeti/utils/serialize/ -> Synced io/jeti/serialize -> не существует в 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/serialize), и мы одобрим его и синхронизируем с JCenter. В этом случае вы получите полное разрешение всех существующих у вас версий пакета (а также 1.0.5/1.0.6).

Пожалуйста, дайте нам знать, как действовать дальше.

person bremen_matt    schedule 28.09.2017

Мой мучительно приобретенный совет будет заключаться в том, чтобы создать новый пакет bintray и попросить его опубликовать в новом groupId. Я пытался переместить существующий пакет, и 48 часов и 20 сообщений в службу поддержки JFrog и обратно не позволили мне опубликовать исходный пакет в старом или новом месте, а также новый пакет в новом месте.

В конце концов мне пришлось зарегистрировать новое доменное имя для размещения моего проекта, так как Bintray фактически запретил доступ к идентификатору группы, на который я пытался перейти.

person Duncan McGregor    schedule 08.02.2019