That's completely true. I've implemented a new extension mechanism with little or no documentation in the wiki or on the developers' list. I was just about the only one committing on trunk at the time, I was pretty careful to avoid bugs with this new implementation (and made it number one priority to fix any issues that came up), and I talked to almost anyone who would listen about this new extensions mechanism (and the related work to allow multiple plugin versions in the same build), including you on multiple occasions. All of my commits have been done in public view, and there has been ample opportunity to object to the direction I've been pursuing.

Over the past year, I've talked quite a bit about feature branches. Some of this came as a result of some nasty surprises on trunk, including some unilaterally deleted code to handle error messaging that I wound up replacing with two new successive implementations myself, because the original code was too complex (not my words). The current implementation which I'm guessing is not overly complex - I haven't floated a design doc on this either yet - is based on AspectJ, which I know some people are uneasy about, but which is still the best solution I've found (I had a functionality gap to plug, remember). I talked about feature branches because that's a key part of the process that we all agreed to early last year.

If any of the Maven committers is uncomfortable with the work I've done on trunk, I'll pull it out onto a feature branch and we can vote on it. I'd much prefer that there were some viable alternative to fill the functionality vacuum, but we'll deal with this as it comes. I still have a TODO to write up the design docs for the extension mechanism, along with one for the error reporting, and Brett's mentioned the importance of the branch-doc-vote-merge process in helping those with limited time to keep up with the pace of development. If we're all fine with slowing things down on trunk, I'm fine with pulling these changes out, separating them into individual design chunks, voting on them, and putting them back in. We can simply roll back to 2.0.x functionality with trunk in the meantime.

I'm not going to try to be an exception to the rules here, if we can all agree to follow them. I'm no more entitled than any of us to make unilateral decisions about Maven code. I've been hypocritical in these cases, and I'm perfectly willing to make it right. Unfortunately, that's the best I can offer.

-john


On Mar 11, 2008, at 1:22 PM, Jason van Zyl wrote:

Which you basically added without much discussion, no proposal and Milos' rightly nailed me the last time I tried that and that's perfectly valid. You're doing much the same thing and it's you yourself that asked that everything be done on a feature branch.

---
John Casey
Committer and PMC Member, Apache Maven
mail: jdcasey at commonjava dot org
blog: http://www.ejlife.net/blogs/john
rss: http://feeds.feedburner.com/ejlife/john


Reply via email to