Estoy intentando usar Maven para mover todos los archivos * .xsd contenidos en una carpeta dada a otra, pero sin la estructura del subdirectorio de origen.Maven: copiar archivos sin estructura de subdirectorio
Esto es lo que tengo hasta ahora:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<id>move-schemas</id>
<phase>generate-sources</phase>
<goals>
<goal>resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/schemas-target</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
...
<resources>
<resource>
<directory>${basedir}/schemas-source</directory>
<includes>
<include>**/*.xsd</include>
</includes>
</resource>
</resources>
Y es (casi) de trabajo. El único problema es que mantiene la estructura del subdirectorio fuente, mientras que necesito eliminar esa jerarquía y poner todos los archivos xsd en la carpeta de destino. Ejemplo:
Esto es lo que tengo en la carpeta de esquemas de código:
schemas-source
│- current
│ │- 0.3
│ │- myfile.xsd
│- old
│- 0.2
│- myfile-0.2.xsd
y esto es lo que iba a necesitar en la carpeta de esquemas-objetivo:
schemas-target
│- myfile.xsd
│- myfile-0.2.xsd
Gracias, probé el Maven antRun Plugin, pero yo no era consciente de que flattern = "true" atributo que hace el truco. –
Lamentablemente, el plugin antrun es la única manera en que he podido realizar tareas similares ... parece que "aplanar" debería haberse incluido como una configuración en el objetivo de copiar recursos del plugin maven-resources. – JCD
aplanar es un comienzo, pero a menudo quiero establecer una "ruta de inicio" como cuando expandir un archivo WAR, es posible que desee perder web-inf/classes, pero mantener la estructura del paquete. Pero supongo que eso se puede lograr usando mappers: http://ant.apache.org/manual/Types/mapper.html –