Require package instead of install for making artifacts available to other
modules inside the same multi module build/reactor
-----------------------------------------------------------------------------------------------------------------------------
Key: MNG-4932
URL: http://jira.codehaus.org/browse/MNG-4932
Project: Maven 2 & 3
Issue Type: Improvement
Reporter: Costin Caraivan
Hello,
When building a project with multiple modules, downstream modules in the
hierarchy (modules which need other modules) should just use the local packages
found in target, instead of requiring installation.
During the build life cycle, at the package phase, Maven should already have
available all the information required to add the artifacts created to the
classpath of the downstream modules. Requiring the install to be performed
means that:
1. lots of duplicates are created (packages in the target folder, packages in
the repository)
2. time wasted (files need to be copied around, and this becomes problematic
especially if the file are on different partitions/filesystems)
3. disk space wasted (not a big problem, but becomes one in an integration
server)
4. disk thrashing (again, not a major problem, but it would be nice to avoid it)
Basically, project A has 20 modules, and the delivery depends on the other 19.
These 19 are small jars, some small dlls, some small tgz, and big zips with
resources. Installing means that the zips need to be moved around twice:
1. install to repo
2. copy from repo
The proposed solution is:
When building a multimodule project, first check what is packaged by the other
modules. If something is found in one of the other modules, copy it directly
from that module, from the project.build.directory.
Basically keep install just to share between multiple projects built on the
same machine.
Thank you.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira