I am trying to use the maven-assembly plugin like so to build a zip of my project JAR and all libraries needed to run it:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>src/main/assembly/exportWithDepends.xml</descriptor>
</descriptors>
<finalName>myname</finalName>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
</execution>
</executions>
</plugin>
My assembly looks like:
<assembly>
<id>jar-with-dependencies</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
<dependencySet>
<unpack>false</unpack>
<scope>runtime</scope>
<outputDirectory>lib</outputDirectory>
<useProjectArtifact>true</useProjectArtifact>
<fileMode>755</fileMode>
</dependencySet>
</dependencySets>
<files>
<file>
<source>${project.build.directory}/${project.build.finalName}.jar</source>
</file>
</files>
</assembly>
This works and makes the proper zip.
Then the fileMode flag on the dependencySet gives each element inside of LIB a 755 CHMOD. The problem is, the actual LIB folder itself stays 777. Is there a way to make the LIB folder also get a 755?
Making maven do things it doesn't want to do always makes me sad :(
I don't think the maven-assembly-plugin can do this right now. So I just did my changes in bash scripts...