Pull to refresh

Comments 12

В мавенцентрал довольно сложный процесс публикации, я его не осилил. Тем более что в основном в примерах конфиги для мавена, а я собираю все грейдлом.


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

Но зато это круто когда у тебя либка есть в Maven Central :) Остальное я не рассматривал для своего бессмертного произведения просто, а так да, jitpack проще :)

Серъезные компании не будут пользоваться jcenter repository, т. е. и вашим проектом тоже. У некоторых даже farewall rule только maven central разрешает в corporate policy. Из опыта.

Ну это какие-то странные компании. Может разве что банки какие-то с паранойей. Так-то очень много кто переехал в jcenter, тот же андроид.

Где-то с пол года назад тоже прошёл этот нетривиальный путь публикации своей библиотеки в mavenCentral. Материалов в сети на эту тему много, но большинство уже неактуально, и чтобы продвинуться, приходилось вычленять отовсюду по крупице информации.
Наиболее полный гайд на эту тему я нашёл здесь:
blog.autsoft.hu/publishing-an-android-library-to-mavencentral-in-2019
Но, к сожалению, к тому моменту уже дошёл почти до конца. А может и к счастью.
Сама либа была для kotlin’а, сборка на gradle’е с kotlin dsl.

Большое спасибо за статью, она мне очень помогла!


Единственное что я никак не могу понять, зачем в статье упомянут nexus-staging-maven-plugin, если вы используете не его, а maven-release-plugin?

Я могу ошибаться, но релиз плагин делает релиз версию, а нексус плагин ее пихает в сонатайп. Давно писал эту заметку именно что бы потом самому вспомнить. Уже подробности выветрились :)

Я пытаюсь уменьшить конфигурацию из вашего примера до какого-то минимального минимума и в процессе взял и закомментировал nexus-staging-maven-plugin и всё нормально работает.


Из документации и примеров на sonatype создаётся впечатление, что для того, чтобы положить библиотеук в staging можно испльзовать nexus-staging-maven-plugin, а можно maven-release-plugin.


Те две команды, которые вы привели в статье сначала подготавливают код к релизу, а потом закидывают в staging. И всё с помощью maven-release-plugin. Наверное можно сделать второй шаг с помощью nexus-staging-maven-plugin, я пока не пробовал.

Разберетесь, пишите, я в статью добавлю :)

Ну, наверное, если по этому конкретному вопросу, то кажется у вас в статье нет ничего, чтобы запускало nexus-staging-maven-plugin. Но если посмотреть на ваш гитхаб, то там есть строки, которые запускают nexus-staging-maven-plugin на этапе релиза, но они закомментированы. Если их раскомментировать, то релиз видимо становится полностью автоматическим. Сейчас нужно руками жать кнопку Close, а потом release.


Но у меня много ещё всяких дурацких вопросов, которые вы не затронули. Наверное, потому что они дурацкие ))


Например, мне непонятно, как зачем нужен gpg. Я, получается, подписываю сборку, но ключ можно сгенерировать прямо перед релизом. Получается, что единственное, что делает gpg это даёт доказательства, что тот, у кого есть мой пароль к sonatype также подписал джарки.


И ещё есть всякое такое. Я склоняюсь к тому, чтобы написать свою статью, про то, как закинуть свою библиотеку в мавен централ. Надеюсь, вы не будете возражать. Я дам ссылку на вашу статью в тексте до ката.

Да, конечно. Пишите. Больше информации лучше чем меньше.

Sign up to leave a comment.

Articles