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)