Maven Realease mit unüblicher SVN Struktur

mvitz

Top Contributor
Hallo zusammen,

ich portiere gerade ein Projekt nach Maven2 und wir haben für SVN eine vorgegebene Struktur, die folgendermaßen aussieht:

Code:
svn_root
|- trunk
|  |- project
|  |  |-pom.xml
|  |  |- module1
|  |  `- module2
|  `- doc
|- branches
`- tags

Wenn ich nun im Ordner project mit dem Releaseplugin arbeite, so wird der Tag den dieses Plugin erstellt in tags erstellt, jedoch lediglich ab dem Ordner project und somit wird der Ordner doc ausgelassen.

Gibt es hier eine Möglichkeit, dass dieser auch mit getaggt wird?
 
M

maki

Gast
doc gehört doch gar nicht zum Maven Projekt ;)
Deswegen interssiert sich das Release Plugin auch nicht dafür.

Kene keine weg mit dem du das erreichen kannst, ausser die Struktur zu ändern, also doc zum teil des Maven Projektes zu machen.
 

mvitz

Top Contributor
Ja, doc gehört halt nicht mit zum Maven2 Projekt, aber mit zum Projekt.

Ziel ist es im Endeffekt, dass die Entwickler nicht zwangsweise die komplette Dokumentation mit auschecken müssen (bei einem älteren Projekt führt das dazu, dass ein Checkout einfach ewig dauert), gewisse Dokumente sich aber dennoch mit im SVN befinden.

Wenn man jetzt einen Tag für das Projekt anlegt, soll dieses natürlich auch die Dokumentation beinhalten.

Hatte mir schon fast gedacht, dass das dann nicht so ohne weiteres möglich ist, danke schon mal für die Antwort.
 

kama

Top Contributor
Hi,

ich habe mal gerade so eine Struktur probiert ...und bei mir klappt das...

Hier mal ein POM snippet:
Code:
  <scm>
    <developerConnection>scm:svn:file:///Users/km/ws-git/test-release/repo/project/trunk</developerConnection>
    <connection>scm:svn:file:///Users/km/ws-git/test-release/repo/project/trunk</connection>
    <url>https://github.com/khmarbaise/sapm</url>
  </scm>
...
   <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <configuration>
            <tagBase>file:///Users/km/ws-git/test-release/repo/project/tags</tagBase>
          </configuration>
        </plugin>
        ...

Meine Struktur:
Code:
svn list file:///Users/km/ws-git/test-release/repo/project/trunk
doc
src
So...

Es wird per mvn -B release:prepare ein Tag erzeugt:
Code:
svn list file:///Users/km/ws-git/test-release/repo/project/tags
sapm-0.3/
und der sieht genau so aus wie ich das erwarte:
Code:
 svn log file:///Users/km/ws-git/test-release/repo/project/tags -l 1 -v 
------------------------------------------------------------------------
r22 | km | 2011-01-28 01:08:25 +0100 (Fri, 28 Jan 2011) | 1 line
Changed paths:
   A /project/tags/sapm-0.3 (from /project/trunk:21)

[maven-release-plugin]  copy for tag sapm-0.3
------------------------------------------------------------------------

Ok ok der Unterschied bei mir ist, dass der project Ordner "src" heisst...;-)

EDIT: Käse...release:perform fällt auf die Nase ;-(... also doch keine Lösung...;-(

Gruß
Karl Heinz Marbaise
 
Zuletzt bearbeitet:
M

maki

Gast
Du solltest flexibler sein denn Maven ist es nicht, imho wäre die einfachste Lösung eine zus. parent pom (mit passender SCM config) direkt unter dem trunk zu haben :)

Das wäre auch konform mit dem "maven way"
 
B

bygones

Gast
oder vorm release einfach mal schnell den doc ordner ins Projekt reinkopieren.

:D

ist nicht die konformste sache, aber hey... die wahrscheinlich meist genutzte :p
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Applet und package Struktur? Tools - Maven, Gradle, Ant & mehr 3

Ähnliche Java Themen

Neue Themen


Oben