Próbuję wydać wielomodułowy projekt maven, który używa git jako SCM, a wśród pierwszych problemów, z jakimi się zetknąłem, jest sposób, w jaki buduje się dodatek do maven release the release.properties scm.url. Mój rodzic POM wygląda mniej więcej tak:Uwalnianie wielomodułowego projektu maven z Git
<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>
A POMs modułu są proste:
<parent>
<groupId>org.project</groupId>
<artifactId>project-parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>api</artifactId>
<version>0.2.2</version>
Moim celem jest, aby być w stanie uwolnić poszczególne moduły, ponieważ każdy z nich ma różne wersje, a ja nie chcesz zwiększyć wszystkie wersje razem za każdym razem, gdy robię wydanie.
Kiedy przejść do katalogu api
i zrobić mvn release:clean release:prepare
ja spotkał się z następującym wyjścia:
[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.
Wygląda na wtyczce uwalnianiu Maven tworzy scm.url dołączając nazwę modułu do developerConnection
, który kończy się nie być prawidłowym repozytorium na github. Nie jestem pewien, jaki jest właściwy sposób, aby to ustawić. Możliwe, że Maven + git + zwalniając indywidualny moduł podrzędny po prostu nie zadziała? Dowolne wejście jest doceniane.
Wygląda na to, że projekt jest zwalniany z POM na najwyższym poziomie, a nie z poszczególnych modułów, jak próbuję to zrobić. Problem pojawia się, gdy próbuję zwolnić z katalogu jednego z modułów. Ważne jest dla mnie, aby móc wydać poszczególne moduły, ponieważ wersje modułów są różne i nie chcę zwiększać wszystkich wersji modułów w tym samym czasie. –
Nigdy nie widziałem, żeby ktoś to robił. – bmargulies
Dzięki za informacje. Czy zdarzają Ci się linki do któregokolwiek z wątków na liście dev, gdzie to zostało omówione? –