Публикация выпуска библиотеки OSS в jcenter и maven-central

Я хочу опубликовать свою библиотеку OSS, чтобы она была доступна в репозиториях jcenter и maven-central. У меня 2 вопроса по этой теме:

  1. Должен ли я публиковаться самостоятельно в оба репозитория, или между ними есть какая-то автоматическая синхронизация, поэтому будет достаточно публиковать только в один из них? Если есть синхронизация, какой из них является основным источником, а какой зеркальным?

  2. Я хотел бы выполнить автоматическую публикацию из gradle, используя какой-нибудь плагин gradle. Есть ли какой-то один плагин, способный работать с обоими репозиториями?


person Denis Itskovich    schedule 24.04.2015    source источник


Ответы (2)


  1. JCenter является расширенным набором Maven-Central и автоматически синхронизируется с пакетом, опубликованным в Maven-Central, поэтому, по сути, артефакты, опубликованные в Maven-Central, будут также автоматически синхронизироваться и доступны в JCenter.
  2. Gradle имеет два подключаемых модуля, поддерживающих публикацию в несколько типов репозиториев, включая Maven. -Central и JCenter: (1) «устаревший» maven plugin и (2) новый инкубационный плагин maven-publish.
person Amnon Shochot    schedule 24.04.2015

Наверняка вам нужно опубликовать только в одном, а другой должен забрать его оттуда. Вопрос какой выбрать?

Хотя решение @amnon-shochot работает, я бы предложил гораздо более простое решение: сделать наоборот и использовать Bintray в качестве основной платформы распространения.

Публикация в Bintray намного проще, чем публикация в Maven Central, и Bintray поддерживает очень простой способ синхронизировать все, что вы опубликовали в Bintray JCenter, с Maven Central.

Кроме того, большинство пользователей Gradle уже предпочитают jcenter() mavenCentral(), потому что это быстрее, надежнее, дает вам как издателю гораздо больше и более безопасный.

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


Я работаю в JFrog, компании, которая стоит за Bintray и [artifactory], см. мой профиль для получения подробной информации и ссылок.

person JBaruch    schedule 01.05.2015
comment
Это полезный ответ, но вы должны раскрыть свою принадлежность к продукту. - person ; 01.05.2015
comment
Если вы нашли эту принадлежность за 2 секунды, значит, она в значительной степени раскрыта. - person JBaruch; 01.05.2015
comment
Я уже являюсь пользователем Artifactory/JFrog/JCenter и знаю это имя. - person ; 01.05.2015
comment
Приятно знать, что я известен :) Серьезно говоря, в моем профиле указано, что я работаю с JFrog, Artifactory и Bintray во многих местах. Спамить каждый ответ одной и той же информацией не имеет никакого смысла. - person JBaruch; 01.05.2015
comment
Однако раскрытие должно быть сделано в вашем сообщении. В этом контексте см. раздел о явной саморекламе в справочном центре. - person Martijn Pieters; 01.05.2015