river-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Wade Chandler <hwadechandler-apa...@yahoo.com>
Subject Re: Deciding the Future
Date Mon, 08 Dec 2008 14:35:32 GMT
----- Original Message ----

> From: Niclas Hedhman <niclas@hedhman.org>
> 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

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.



Wade Chandler, CCE
Software Engineer and Developer, Certified Forensic Computer Examiner, NetBeans Dream Team
Member, and NetBeans Board Member

View raw message