----- Original Message ----

> From: Niclas Hedhman <[EMAIL PROTECTED]>
> To: river-dev@incubator.apache.org
> Sent: Sunday, December 7, 2008 9:00:13 PM
> Subject: Re: Deciding the Future
> 
> On Sat, Dec 6, 2008 at 8:31 PM, Wade Chandler
> wrote:
> 
> > Looking over the build scripts, src directories, and other resource 
> directories, too the structure could be better laid out. For instance, there 
> is 
> a top level build.xml, then below in src there is build.xml. Too, under src 
> there are folders for manifest, configentry, and then the Java packages are 
> right there. There could be better separation.
> 
> Under TDD mantra this is a red flag; If it is hard to set up tests,
> then it is hard to work with the codebase.
> 
> And from my experience, that is exactly what comes to mind, and the
> way to get something up within a day is the "Launch All" convenience,
> which is more like a End-User Application than a system development
> kit.
> 
> Well, I still think that there are a lot of room for improvement, and
> instead of telling "each other"/"others" what should be done, I think
> it is time for us to move into action. 

Sure. We just need to keep communicating and making sure there is some majority 
agreement in things we do. Otherwise we'll have a mutiny and not really a 
community. Just a "let's not forget" kind of comment here.

>The main problem I have is that
> there is need for a structural make-over, which is not suitable for
> small and evolutionary steps. Can we agree to open up a new branch?
> 
> - Modularized into one 'module' per 'artifact'.
> - Adoption of sound architectural principles.
> - Testcases as near as possible to the code under test.
> - JUnit as test framework.
> - "Doers decide", i.e. "you don't like it, step up..."
> 

Sounds good to me. I think we need to have a vote for Maven or Ant. A new 
thread which will be the vote. Now, one question this brings to mind. Folks 
like me who are new who want to help get things rolling. Do our votes count in 
these decisions or are we just worker Ants who can throw out ideas and our 
votes don't count? I wasn't clear on how that works in decision making at 
Apache if you are not a committer. 

Too, I'm on the fence for Maven. One major thing that I really think Maven will 
help is with IDEs. An IDE then just has to support Maven and the projects can 
be opened up automatically without IDE specific projects etc. I'm pretty 
certain this is true for NB and Eclipse as there are plugins for Maven for 
both. However, I too like Ant as it is very simple and flexible. Personally I 
haven't been pulled to Maven from Ant for my own projects. Too, for library 
repositories etc if we need them we can always use Ivy with Ant which can use 
Maven repositories among others. 

By breaking out the structures to be more modular and give some separation to 
file types etc and coupling most IDEs support Ant then getting to work on the 
projects using our favorite IDEs should not really be an issue I don't believe. 
NetBeans has what is called a Free Form project which one can point to an Ant 
script and give it some nudges to get going. It also has a new thing called 
Automatic projects which can discover things from build artifacts and Ant 
scripts etc. I assume Eclipse has something similar, is this true?

So, besides this facet of Maven, to allow IDEs to work more seamless as a 
project overall, what else does it give us beyond repositories (as we have that 
in Ivy for Ant)? I know about pom.xml etc, and defined inter-dependencies, and 
that is a plus in my book. Does anyone have a good run down of the Maven versus 
Ant given the above? 

I have seen many versus things on Google, but one thing some folks I know tell 
me is that Maven isn't as strong in the scripting and tasks as Ant. Is this 
true? Can the two be used seemlessly? i.e. We need to do something to move 
files around, parsing them, other things, etc, can Maven build components to 
use in script files if we ever need them and the use them as Ant? Is it rich in 
defined tasks as Ant? I have seen that Maven supports extensions by Jelly, 
which I'm not very familiar. Does it also allow Java extensions? Seems that 
would/could come in very handy if needed.

Too, I point to the fact that Tomcat still uses Ant, and went through this same 
discussion. I can't remember everything said on the lists back then. I haven't 
been trying to keep up lately as there is just too much to do for all mailing 
lists to come down my pipe. So, do any of the main Apache folks or anyone here 
know any more about that decision? What were the deciding factors? Was it just 
there were so many scripts in place already that no necessary gain came from 
using Maven? I say this because essentially we are talking about completely 
rewriting the build system for Jini, so as someone else said if we are going to 
Maven this would be as good a time as any. We should know why and why not to 
move better than I just like this or that it seems.

Thanks,

Wade

 ==================
Wade Chandler, CCE
Software Engineer and Developer, Certified Forensic Computer Examiner, NetBeans 
Dream Team Member, and NetBeans Board Member
http://www.certified-computer-examiner.com
http://wiki.netbeans.org/wiki/view/NetBeansDreamTeam
http://www.netbeans.org

Reply via email to