Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.5
-
None
Description
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()):
List<MavenProject> projects = getProjects(); context.put( "projects", projects ); context.put( "projectsSortedByOrganization", getProjectsSortedByOrganization( projects ) );
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...
Attachments
Issue Links
- is related to
-
MRRESOURCES-106 ProcessRemoteResourcesMojo#getProjects() can end up consuming a lot of memory for big projects
- Reopened
- relates to
-
MRRESOURCES-24 the NOTICE file is overzealous in declaring dependencies
- Closed
- links to