Falko Modler created MRRESOURCES-94:
---------------------------------------

             Summary: Performance issue in 
ProcessRemoteResourcesMojo.configureVelocityContext(...)
                 Key: MRRESOURCES-94
                 URL: https://jira.codehaus.org/browse/MRRESOURCES-94
             Project: Maven Remote Resources Plugin
          Issue Type: Bug
    Affects Versions: 1.5
            Reporter: Falko Modler


I was wondering why our multi-threaded maven build of 80+ modules took so long 
even when excluding tests. I checked every plugin execution and to my surprise, 
{{maven-remote-resources-plugin}} was the number 1 consumer *before* 
compiler-plugin etc.
We use {{maven-remote-resources-plugin}} just to exchange some few xml files 
among the modules, nothing spectacular!

While debugging the plugin I found out that 
{{ProcessRemoteResourcesMojo.configureVelocityContext(VelocityContext 
context)}} may take *up to 30 seconds* for our project setup which is not 
acceptable.
Almost certainly the problem is caused by the following project lookups 
(especially {{getProjects()}}):
{noformat}
        List<MavenProject> projects = getProjects();
        context.put( "projects", projects );
        context.put( "projectsSortedByOrganization", 
getProjectsSortedByOrganization( projects ) );
{noformat}

As we do not use velocity templates at all, the solution for us was to patch 
the plugin to call {{configureVelocityContext(...)}} only on demand, not 
eagerly. Of course this won't help when using velocity templates...



--
This message was sent by Atlassian JIRA
(v6.1.6#6162)

Reply via email to