chatting with jdcryans on IRC, it appears 'mvn ... assembly:directory' is 
SLOOOW.  and sure it enough, it's running like molasses.

A couple of observations including some random thread-dumping , looks like 
Maven does a fair number of process forks to get file attributes, you can see 
the hideousness here:

A bit of research I came across this issue with the Maven Assembly plugin.

http://jira.codehaus.org/browse/MASSEMBLY-424

Because the current pom doesn't specify a plugin version, it's using the latest 
version.

By configuring the plugin version to be         <version>2.2-beta-1</version>
 
we get much faster builds, at the slight expense of now having the directory 
ending in '.dir'.  Supposedly this is a subtle change in the beta plugins, see 
the definition of a attribute 'ignoreDirFormatExtensions' here:

http://maven.apache.org/plugins/maven-assembly-plugin/directory-mojo.html

I would also recommend stripping out the 2 <descriptorRefs> in the assembly 
plugin definition (for 'project' and 'src'); they're not needed now, and were 
put therefor discussion more than anything else, I think they're just getting 
in the way at the moment.

so, in short, I propose this diff to keep us going forward:

diff --git a/pom.xml b/pom.xml
index d70dd70..026431c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -293,6 +293,7 @@
     <plugins>
       <plugin>
         <artifactId>maven-assembly-plugin</artifactId>
+        <version>2.2-beta-1</version>
         <!-- THIS might not be doable
         <executions>
           <execution>
@@ -308,10 +309,6 @@
           <descriptors>
             <descriptor>src/assembly/bin.xml</descriptor>
           </descriptors>
-          <descriptorRefs>
-            <descriptorRef>src</descriptorRef>
-            <descriptorRef>project</descriptorRef>
-          </descriptorRefs>
         </configuration>
       </plugin>
     </plugins>



let me know how you go.

Paul

Reply via email to