I just wanted a place to park an experiment until I have something I can show the dev list, but the idea is that we need to retain dynamism at least in the build section of the POM. I don't think it's appropriate for the whole POM, as this could really damage determinism...for instance, plugins should not be able to add dependencies to projects, since this hurts our ability to manage the project-dependency relationships.

Since the project can change in legitimate ways during the course of a build - especially for forked executions, such as changing the build directories - that means that expressions used to configure subsequent plugin executions MUST be synchronized to the internal state of the project itself. This is problematic when we interpolate all of these expressions up front, since we lose the dynamism. So, I'm experimenting with interpolating the POM without the build section up front, then interpolating the build section for each plugin execution, and back-propagating the changes to that section into the original, uninterpolated Build instance for future plugin executions.

It's a little heavy, but I haven't been able to imagine any other way out of this without changing the APIs used to manipulate project data. In the longer term, I think that's the right way forward, but or 2.0.x I don't want to force a massive re-release party for the plugins.

At any rate, I'm planning to write it all up and submit it to the dev list once I have working code that people can look at. I'm currently 4 ITs short of that.

-john

Brett Porter wrote:
Interesting - I've thought a bit about this myself, though not for 2.0.x. What are you working towards?

- Brett

On 07/06/2008, at 3:08 AM, [EMAIL PROTECTED] wrote:

Author: jdcasey
Date: Fri Jun  6 10:08:36 2008
New Revision: 664037

URL: http://svn.apache.org/viewvc?rev=664037&view=rev
Log:
Creating feature branch for dynamic build section in the POM.


--
Brett Porter
[EMAIL PROTECTED]
http://blogs.exist.com/bporter/


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


--
John Casey
Developer, PMC Member - Apache Maven (http://maven.apache.org)
Blog: http://www.ejlife.net/blogs/buildchimp/


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to