David Jencks wrote:
2. Currently the version information for dependencies is scattered through all the module project.xml files. This is clearly unmaintainable. It is possible to replace <version>1.2.x.y</version> with <version>${whatever.version}</version> and define whatever.version in that module's project.properties file, but this doesn't help much, since you still have one copy per module. Maven appears to claim that property inheritance ought to work, but it doesn't as of 1.0 rc1. (cf. http://nagoya.apache.org/eyebrowse/ReadMsg?listId=149&msgNo=5010 The suggestion there of setting the values by j:set in the parent maven.xml doesn't work for info needed in the dependencies listed in the project.xml file, since these dependencies seem to be evaluated before maven.xml) So, this project has two parts:
a. find a way to centralize properties, such as by fixing maven.
b. centralize the dependency versions.
I do not have a response to this issue. However, I do have a work around to propose:

One could leverage the XML external entities feature of XML parsers in order to centralize the dependencies (like we were doing with Ant in order to share tasks).

For instance, one could define a file, incubator-geronimo/etc/dependencies/xdoclet.dep, defining an XML fragment listing the set of dependency nodes abstracting the XDoclet artifact. This fragment could be re-used by all the projects depending on XDoclet this way:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE project [
 <!ENTITY xdoclet SYSTEM "../../etc/dependencies/xdoclet.dep">
]>
...
 <dependencies>
 &xdoclet;
 ...
 </dependencies>
...

However, as you have already pointed out, the ability to inherit properties seems to be more appealing.

Cheers,
Gianny

_________________________________________________________________
Hotmail : un compte GRATUIT qui vous suit partout et tout le temps ! http://g.msn.fr/FR1000/9493




Reply via email to