Uploaded image for project: 'Maven Assembly Plugin'
  1. Maven Assembly Plugin
  2. MASSEMBLY-392

Big slowdown on Linux when upgrading assembly plugin from 2.2-beta-1 to 2.2-beta-3

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.2-beta-3
    • Fix Version/s: 2.2
    • Component/s: None
    • Labels:
      None
    • Environment:
      Java 1.6
      Maven 2.0.9
      Linux (Redhat)

      Description

      Our build on Linux (redhat) has more than doubled in time since we upgraded the assembly plugin from 2.2-beta-1 to 2.2-beta-3.

      I did some testing with a tiny project for different versions of the assembly plugin:
      2.2-beta-1: 9 seconds
      2.2-beta-2: 17 seconds
      2.2-beta-3: 30 seconds

      The project is really small, it contains only 1 source file. The assembly plugin declaration in the pom is:

              <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.2-beta-3</version>
                <configuration>
                  <descriptors>
                    <descriptor>src/main/assembly/descriptor.xml</descriptor>
                  </descriptors>
                  <outputDirectory>${project.build.directory}/dist</outputDirectory>
                  <workDirectory>${project.build.directory}/assembly/work</workDirectory>
                  <attach>true</attach>
                  <archive>
                    <manifestEntries>
                      <Implementation-Version>${parent.version}</Implementation-Version>
                      <Implementation-Revision>${buildNumber}</Implementation-Revision>
                      <Build-Timestamp>${timestamp}</Build-Timestamp>
                      <Copyright>${copyright}</Copyright>
                    </manifestEntries>
                  </archive>
                </configuration>
                <executions>
                  <execution>
                    <id>assemble</id>
                    <goals>
                      <goal>single</goal>
                    </goals>
                    <phase>package</phase>
                  </execution>
                </executions>
              </plugin>
      

      The descriptor.xml includes a few local files and then about 20 jars from dependencies, most of them are included through the transitive mechanism.

      <assembly>
        <id>bin</id>
        <formats>
          <format>zip</format>
        </formats>
        <fileSets>
          <fileSet>
            <directory>src/main/bin</directory>
            <outputDirectory>bin</outputDirectory>
            <includes>
              <include>*</include>
            </includes>
            <fileMode>774</fileMode>
          </fileSet>
          <fileSet>
            <directory>src/main/resources</directory>
            <outputDirectory>resources</outputDirectory>
            <includes>
              <include>*</include>
            </includes>
          </fileSet>
          <fileSet>
            <directory>target</directory>
            <outputDirectory>lib</outputDirectory>
            <includes>
              <include>*.jar</include>
            </includes>
          </fileSet>
        </fileSets>
        <dependencySets>
          <dependencySet>
            <useProjectArtifact>false</useProjectArtifact>
            <outputDirectory>lib</outputDirectory>
          </dependencySet>
        </dependencySets>
      </assembly>
      

      Any idea what causes the slowdown? How can we avoid id?

      We are running Java 1.6 and Maven 2.0.9. We use an Artifactory proxy but it should not be a factor as I run the tests repeatedly so everything should be in the local repo.

        Attachments

          Activity

            People

            • Assignee:
              jdcasey John Dennis Casey
              Reporter:
              fredrik.arvidsson Fredrik Arvidsson
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: