Jason,
To my taste, this looks awesomely great! (though dangerous, as said)
Your ideas on implications for management of dependencies are clearly something neat. For example, we have a dependency.xml for each dependency (with a bunch of documentation)....
I see other implications in the sense of a project.xml being actually a shadow of a project in another language, for example, most projects built from GUI tools. (I think it would enable for example an Apple's ProjectBuilder file to have a shadow maven project).
One essential thing here, is, however, how much of jelly taglibs we have in there. jelly:xml is clearly needed, but parsers for other formats as well... would this be dynamic as a good jelly-runner (still not existing) would involve ?
Thats essentially great news to my taste!
Paul
PS: the example provided in the website seems to invoke delicate possibly recursive resolution of pom... will there be any policy about that ? It might be very parse-dependent (well, jelly dependent then).
Jason Dillon wrote:
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 this? I have looked over the source and it does not appear that any jelly fluff is done to the project.xml file.
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.
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.
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.
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.
Anyways I have been up for way too long, it was light when I woke up and it is light again, so I am gonna crash now.
Cheers,
--jason
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
