Jason Dillon <[EMAIL PROTECTED]> wrote on 15/08/2003 09:30:05 AM:
> Hello, the website says that "project.xml form, is now processed as a
> Jelly script "
> (http://maven.apache.org/reference/user-guide.html#POM%20Interpolation
> ) but it does not appear to be having like it is a jelly script at all.
>
> Is the user guide not valid? Is there a special property to enable
No, it's not.
> this? I have looked over the source and it does not appear that any
> jelly fluff is done to the project.xml file.
Interpolation of elements is allowed, using ${pom....}.
> IMO I think that it would be very beneficial if it was a jelly script
> so that Maven in general is more flexible. I understand not wanting to
> put much logic into the project.xml, but it would make management of
> large projects much easier.
Can you give me some use cases? The multiproject plugin was written to
address exactly these issues.
> Specifically I was looking for a way to define common dependencies for
> a large project (Apache Geronimo) so I could better manage version
> numbers of the dependencies. I did not wish to put all of the depends
> into a parent project as that would force each child project to have
> additional dependencies on its classpath which might not be a good
> thing, nor do I want each and every module to try to download
> SNAPSHOTS, especially if they do not even need that depend.
This can be done by specifying a parent project using <extend></extend>
> So I thought about using properties like
> 'dependency.commons-logger.version=1.0.3' and then specify the property
> as the content for <version/>, which works fine if the property is
> defined in the child modules project.properties, or if the property is
> in the parent and the child is always invoked through the reactor.
> This is not the case with Geronimo, so this method fails.
>
> James and I were chatting about this a tad... I was under the
> impression that I could use jelly in project.xml (drawn conclusion from
> web page and some bad tests I made). He suggested using <x:parse
> xml="../../dependencies.xml"/> and then selecting out dependencies by
> name and then copying them into the project.xml. I think this would be
> very useful and shows where project.xml as a jelly script would be
> desirable.
Why not just use XML entities?
> I think this is a good idea, but wanted to hear what you guys have to
> say.
>
> Also I was talking to James about the problem of versioning
> dependencies in general and how it would make sense if Maven supported
> more symbolic names (similar to SNAPSHOT) but which could point to the
> latest stable release. It probably makes sense to provide some sort of
> version alias mechanism, as it becomes problematic to effectively
> maintain version numbers in a large project. Take Maven for example,
> there are a few plugins which use different yet compatible versions of
> dependencies, which only results in additional overhead. If all
> plugins are compatible with a specific version, then it would make
> sense for them to all use that version.
Yep. See the dependency convergence report as part of the multiproject
plugin:
http://maven.apache.org/dependency-convergence-report.html
--
dIon Gillard, Multitask Consulting
Blog: http://blogs.codehaus.org/people/dion/