Комментарии 12
Спасибо за статью, очень основательное руководство.
Теперь, если вы не хотите подписывать артефакты и загружать их в репозиторий вручную, нужноА можете все-таки описать процесс ручного подписывания?
настроить мавен, чтобы он делал это за вас.
Какой-же все таки ад этот ваш Maven Central. Руководство публикации в Bintray умещается в 5 минутный скринкаст.
Спасибо за наводку.
Но, как я понимаю, публикация в JCenter так же ожидает «ручного» одобрения?
Но, как я понимаю, публикация в JCenter так же ожидает «ручного» одобрения?
Публикация в Bintray полностью self-service. После этого все могут им пользоваться из вашего репозитория.
Включение своего пакета в чужой репозиторий требует одноразового одобрения хозяина репозитория. JCenter в данном случае исключение только в том, что «хозяин» всегда онлайн и одобряет за пару минут.
Включение своего пакета в чужой репозиторий требует одноразового одобрения хозяина репозитория. JCenter в данном случае исключение только в том, что «хозяин» всегда онлайн и одобряет за пару минут.
Хочу заметить следующее. Я использую Git на Windows, и у меня возникли проблемы c maven-release-plugin — он пытался выполнить пуш в репозиторий, но почему-то не смог сам подобрать и ввести логин/пароль (хотя я указал аттрибуты доступа в настройках мейвена). Долго копался с этой проблемой. Думал попробовать пушить не по https, а по ssh, но стало лень ставить ssh. В итоге проблема была решена с помощью утилиты git-credential-winstore. Эта программка позволяет использовать Git credential helper под виндой. В итоге я вначале сделал «пустой» пуш, ввел креденшлсы, сохранил их, и потом уже мейвен смог выполнить свой алгоритм действий по добавлению релиза в staging.
Надеюсь, кому-то поможет и сэкономит время.
Надеюсь, кому-то поможет и сэкономит время.
Через некоторое время сотрудник Sonatype создаст набор репозиториев для вас и закроет тикет.
Главное, чтобы не забыл ручку генератора перед этим покрутить, а то электроны в джире не закончатся.
Спасибо, отличная статья! Сделал все как описывается (кроме хранения паролей вне settings.xml)
Единственная проблема была в создании фейкового javadoc.jar, т.к. этот файл в упор не хочется генерится maven-javadoc-plugin -ом в scala проекте.
Обошел следующим образом
где директория ${basedir}/javadoc содержит README файлик с текстом «javadoc is not provided for scala project», он упаковывается в архив по рекомендации Sonatype.
Единственная проблема была в создании фейкового javadoc.jar, т.к. этот файл в упор не хочется генерится maven-javadoc-plugin -ом в scala проекте.
Обошел следующим образом
<plugin>
<artifactId>maven-jar-plugin</artifactId> <!-- Making fake javadoc -->
<version>2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classesDirectory>${basedir}/javadoc</classesDirectory>
<classifier>javadoc</classifier>
<includes>
<include>*</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
где директория ${basedir}/javadoc содержит README файлик с текстом «javadoc is not provided for scala project», он упаковывается в архив по рекомендации Sonatype.
У меня возникла проблема, при выполнении команды mvn release:prepare, прогресс зависает на git push:
В pom.xml прописано:
В settings.xml:
Весь день безуспешно провозился, играя, с настройками scm в pom.xml и server в settings.xml. Прошу помочь.
[INFO] Checking in modified POMs... [INFO] Executing: cmd.exe /X /C "git add -- pom.xml" [INFO] Working directory: C:\MY_PROJECT_DIR [INFO] Executing: cmd.exe /X /C "git status" [INFO] Working directory: C:\MY_PROJECT_DIR [INFO] Executing: cmd.exe /X /C "git commit --verbose -F C:\Users\MY_USER_NAME\AppData\Local\Temp\maven-scm-298314821.commit pom.xml" [INFO] Working directory: C:\MY_PROJECT_DIR [INFO] Executing: cmd.exe /X /C "git symbolic-ref HEAD" [INFO] Working directory: C:\MY_PROJECT_DIR [INFO] Executing: cmd.exe /X /C "git push https://github.com/MY_LOGIN/MY_PROJECT_NAME.git master:master" [INFO] Working directory: C:\MY_PROJECT_DIR
В pom.xml прописано:
<scm> <connection>scm:git:https://github.com/MY_LOGIN/MY_PROJECT_NAME.git</connection> <developerConnection>scm:git:https://github.com/MY_LOGIN/MY_PROJECT_NAME.git</developerConnection> <url>https://github.com/MY_LOGIN/MY_PROJECT_NAME</url> </scm>
В settings.xml:
<server> <id>github.com</id> <username>MY_LOGIN</username> <password>MY_PASSWORD</password> </server>
Весь день безуспешно провозился, играя, с настройками scm в pom.xml и server в settings.xml. Прошу помочь.
Боюсь, я не смогу вам помочь :( выглядит как проблема с git под windows. Я всё манипуляции проводил под Linux, и у меня проблем не было. Может быть, гит просит пароль; попробуйте использовать не https:// для developerConnection, а git@github.com:MY_LOGIN/MY_PROJECT_NAME.git, но это требует правильной настройки ssh.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Публикация артефакта в Maven Central через Sonatype OSS Repository Hosting Service