Maven criando montagem plana zip
Para os gurus Maven por aí: Estou tentando empacotar artefatos de projeto não-Java (.NET) em um único arquivo zip. Estou tendo 2 problemas:
Se eu mudar de embalagem no meu POM para zip<packaging>zip</packaging>
, Recebo esta mensagem de erro:[INFO] Cannot find lifecycle mapping for packaging: 'zip'. Component descriptor cannot be found in the component repository: org.apache.mav en.lifecycle.mapping.LifecycleMappingzip.
OK, não é grande coisa - eu mudei para<packaging>pom</packaging>
se livrar do jar inutil que é criado no diretório de destino
Meu principal problema é que os arquivos que eu estou empacotando no ZIP estão aninhados dentro de alguns diretórios, mas eu preciso colocá-los no diretório superior do ZIP. Aqui está o meu arquivo de montagem:
<assembly>
<id>bin</id>
<formats>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<directory>${basedir}/${project.artifactId}</directory>
<includes>
<include>**/Bin/Release/*.dll</include>
<include>**/Bin/Release/*.pdb</include>
</includes>
</fileSet>
</fileSets>
</assembly>
Quando eu executar isso - eu vou pegar o arquivo ZIP, mas os arquivos serão aninhados começando com C: \ seguido por caminho completo. Para dar a você uma ideia - o projeto despeja seus binários na seguinte estruturaProjectFoo\ProjectFoo\subproject1\Bin\Release\foo.dll
e eu precisoZIP\foo.dll
Aqui está a configuração do plugin de montagem:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors>
<descriptor>assembly.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>zip</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
Talvez eu só precise usar antrun e executar a tarefa de zip ant?