Oh my bad habits but the version should be set in the pluginManagement section of the too level pom an not in the hbase-core/pom.XML as I've got in the diff. Sorry.


On 13/03/2010, at 14:04, Paul Smith <psm...@aconex.com> wrote:

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