hay una solución clara para compartir el código de prueba común entre los proyectos de Maven usando test-jar
objetivo de maven-jar-plugin
plug-in (ver here).recursos Compartir prueba entre experta en proyectos
Necesito hacer algo similar con los recursos de prueba, en particular, quiero que los recursos de prueba del proyecto A estén disponibles en el classpath del proyecto B durante la prueba.
Para el proyecto A uno necesita declarar:
<!-- Package and attach test resources to the list of artifacts: -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<jar destfile="${project.build.directory}/test-resources.jar">
<fileset dir="${project.basedir}/test-resources" />
</jar>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>${project.build.directory}/test-resources.jar</file>
<type>jar</type>
<classifier>test-resources</classifier>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
Y en el proyecto B será la dependencia de la normalidad:
<dependency>
<groupId>myproject.groupId</groupId>
<artifactId>myartifact</artifactId>
<version>1.0-SNAPSHOT</version>
<classifier>test-resources</classifier>
<scope>test</scope>
</dependency>
Pregunta: ¿Debería trabajar en todos los casos? ¿Es posible empacar recursos sin maven-antrun-plugin
(usando más plugin 'ligero')?
Parece que hay una necesidad de mejorar el plugin de recursos remotos para recursos de prueba - http://maven.apache.org/plugins/maven-remote-resources-plugin/index.html – cetnar
@centar: gracias por la interesante información del plugin, aunque, lo que dijiste es un poco offtopic :) –