Maven m’a sauvé… encore!

Encore une fois Apache Maven m’a sauvé, ou presque… Je cherchais un moyen de récupérer toutes les sources des dépendances d’un module pour un faire une archive complète. Le module en question étant une distribution contenant quelques dizaines de modules gérés par Maven, la solution est de regarder ce qu’offre l’ami Maven en question. J’utilise souvent le plugin dependency pour avoir l’arbre de dépendance via le goal tree et résoudre certains conflits de versions (oui bon m2eclipse le fait surement mais je reste fan du Terminal…), et donc il me semblait bien que le plugin dependency faisait plus que ca. C’est là qu’entre en jeu le goal unpack-dependencies. Deux/trois ajustement dans le POM du projet et il est simple de récupérer les sources:

<project>
<!--...-->
  <plugins>
  		<plugin>
		        <groupId>org.apache.maven.plugins</groupId>
		        <artifactId>maven-dependency-plugin</artifactId>
		        <version>2.2</version>
		        <executions>
		          <execution>
		            <id>src-dependencies</id>
		            <phase>package</phase>
		            <goals>
		              <!-- use copy-dependencies instead if you don't want to explode the sources -->
		              <goal>unpack-dependencies</goal>
		            </goals>
		            <configuration>
		              <classifier>sources</classifier>
		              <failOnMissingClassifierArtifact>false</failOnMissingClassifierArtifact>
		              <outputDirectory>${project.build.directory}/sources</outputDirectory>
					  <includeGroupIds>org.ow2.petals</includeGroupIds>
		            </configuration>
		          </execution>
		        </executions>
		      </plugin>
   <!--...-->
  </plugins>
</project>

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s