# Maven Release Plugin - überschreiben der POM verhindern?



## pocketom (3. Nov 2009)

Das Maven Release Plugin macht sich leider immer an meiner POM zu schaffen. Das es die Versionsnummer des Artifacts hochzählt ist grad noch ok, aber was mich echt stört ist das es die SCM Sektion jedesmal überschreibt:

vorher:
[XML]
	<!-- SOURCE CODE MANAGEMENT -->  
	<scm>
		<url>scm:svn:${svn-basedir}/${artifactId}/trunk</url>
		<developerConnection>scm:svn:${svn-basedir}/${artifactId}/trunk</developerConnection>	
	</scm>
[/XML]

nacher:
[XML]
	<!-- SOURCE CODE MANAGEMENT -->  
	<scm>
		<url>scm:svn:https://svnserver/artifactId/trunk</url>
		<developerConnection>scm:svn:https://svnserver/artifactId/trunk</developerConnection>	
	</scm>
[/XML]

Ich will da keine absoluten Pfadangaben drin stehen haben... Teilweise steht danach auch voll der Quatsch drin(null, oder der Pfad zum tags Folder...), z.B. wenn ein Fehler während mvn releaserepare auftritt.

Kann man das irgendwie abstellen? Sehe den Sinn da nicht so ganz...


----------



## maki (3. Nov 2009)

> Kann man das irgendwie abstellen? Sehe den Sinn da nicht so ganz...


Ich sag mal so: Ich sehe keinen Sinn in deinem vorgehen (nicht böse gemeint)

Wenn du einen Release machst, dann willst du ja auch ein Tag in SVN dafür, das macht das Release Plugin automatisch für dich, und das stört dich, aber das liegt an dir 

Da mit variablen Repository Pfaden zu arbeiten ist imho voll daneben, warum willst du verschiedene SVN Repo Pfade haben für dasselbe Repo?


----------



## pocketom (3. Nov 2009)

Klar will ich auch ein Tag, das bekomme ich schliesslich ja auch...? In oben genanntem SCM Block wird doch aber nur auf den Trunk verwiesen oder irr ich mich da? Der Trunk ist tatsächlich immer definiert über _${svn-basedir}/${artifactId}/trunk_, zumindest gilt diese Richtline in meinem Betrieb.


----------



## maki (3. Nov 2009)

Du irrst dich nicht, hab's übersehen.

Wenn du trunk hardcoded drinnstehen hast, wirst du den uch nicht mehr rausbekommen.
Denke dass du die ganze url über variablen steuern müssen wirst (inkl. tags/branches/trunk + tag namen) wenn du es nicht autom. haben willst.


----------



## kama (3. Nov 2009)

Hallo,



pocketom hat gesagt.:


> Ich will da keine absoluten Pfadangaben drin stehen haben... Teilweise steht danach auch voll der Quatsch drin(null, oder der Pfad zum tags Folder...), z.B. wenn ein Fehler während mvn releaserepare auftritt.


Doch die SCM URL's müssen absolut sein damit es in der getaggten Version richtig ist...Das verwenden von properties etc. macht nicht wirklich sinn....

Abgesehen davon, wenn Du mithilfe von 
	
	
	
	





```
mvn -DdryRun=true release:prepare
```
 vorher überprüfst, ob alles funktioniert geht dann auch nichts schief...und sollte das dann doch mal der Fall sein, gibt es immer die Möglichkeit per "reverse merge" die Änderungen aus Subversion rückgängig zu machen...und zu fixen...

MfG
Karl Heinz Marbaise


----------



## pocketom (5. Nov 2009)

OK, danke für Eure Antworten.


----------

