John Vines created MASSEMBLY-866:
------------------------------------

             Summary: poor performance of jar-with-dependencies when run in 
same run as docbook
                 Key: MASSEMBLY-866
                 URL: https://issues.apache.org/jira/browse/MASSEMBLY-866
             Project: Maven Assembly Plugin
          Issue Type: Bug
    Affects Versions: 3.0.0
            Reporter: John Vines


I apologize for the lack of information, but we have a large build environment 
which I cannot share, but I'll try to explain things as best I can.

In our full build path, we have 2 components that I've found have side effects. 
One is a doc build which uses the docbkx-maven-plugin 
(https://github.com/mimil/docbkx-tools) to generate documentation (and usually 
takes a while, ~27 minutes) and another which builds a jar-with-depends for our 
UI. Prior to upgrade the assembly plugin to 3.0.0 from 2.3 or 2.5 (I cannot 
recall) everything ran fine. After upgrading we found our jenkins builds taking 
about 40 more minutes, most of this change was in maven-assembly-plugin for 
that UI jar-with-dependencies

{code}assembly-plugin:3.0.0:single (make-assembly) @ sqrrl-web-dist-ui ---
16:17:37 [INFO] Reading assembly descriptor: src/main/assembly/dist-ui.xml
16:17:40 [INFO] Building jar: 
/var/lib/jenkins/workspace/sqrrl-master-build/web/dist-ui/target/sqrrl-web-dist-ui-2.8.0-SNAPSHOT-jar-with-dependencies.jar
17:01:54 [INFO] {code}

Eventually I isolated to a case where just that doc and that jar-with-deps 
being built would cause the jar-with-deps to take ~40 minutes, but if I built 
it by itself (all other maven options being equal) it would take about 1.5 
minutes.

I'm honestly not too familiar with the inner workings of this plugin, nor the 
maven docbook plugin, but my hunch was that the docbook plugin was 'corrupting' 
or otherwise altering the main maven jvm in such a way to cause this. It does 
use some really old plexus plugins, among others, afterall. However, I stumbled 
across MASSEMBLY-424 and tested forking maven-assembly-plugin:3.0.0 and 
updating plexus-archiver to 3.5, plexus-io to 3.0.0 and plexus-utils to 3.1.0 
and ran my 2 module build with the custom plugin and it ran just as quick as 
being run standalone (1.5minutes). (To build it with those plugins I had to 
disable checkstyle and enforcer though since at least one of those plugins 
versions was java7)

One last datapoint is that in our jar-with-deps we are including bouncycastle's 
bcpix and bcprov and explicitly excluding them from the jar-with-depends also 
made that 2 module build faster (but not as fast), so I'm not 100% sure it's 
the docbook plugin was the catalyst there.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to