Я пытаюсь выпустить многомодульный проект maven, который использует git как SCM, и среди первых проблем, с которыми я столкнулся, является способ, которым плагин релиза maven создает release.properties scm.url, Мой родительский POM выглядит примерно так:
<packaging>pom</packaging>
<groupId>org.project</groupId>
<artifactId>project-parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<scm>
<connection>scm:git:git://github.com/username/project.git</connection>
<developerConnection>scm:git:[email protected]:username/project.git</developerConnection>
<url>http://github.com/username/project</url>
</scm>
<modules>
<module>api</module>
<module>spi</module>
</modules>
И модульные POM просто:
<parent>
<groupId>org.project</groupId>
<artifactId>project-parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>api</artifactId>
<version>0.2.2</version>
Моя цель состоит в том, чтобы иметь возможность выпускать отдельные модули, поскольку каждый из них имеет разные версии, и я не хочу увеличивать все версии вместе каждый раз, когда я делаю выпуск.
Когда я перехожу в каталог api
и выполняю mvn release:clean release:prepare
, я получаю следующий вывод:
[INFO] Executing: cmd.exe /X /C "git push [email protected]:username/project.git/api master:master"
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Unable to commit files
Provider message:
The git-push command failed.
Command output:
ERROR: Repository not found.
Похоже, что плагин релиза maven создает scm.url, добавляя имя модуля к developerConnection
, который в конечном итоге не является допустимым репозиторием в github. Я не уверен, как правильно это установить. Может быть, Maven + git + освобождение отдельного дочернего модуля просто не сработает? Любой вход оценивается.