[messages] [Developers] Re: [Developers] Re: [Developers] Vassal code mai

fil512 ken.stevens at sympatico.ca
Fri Jul 30 12:35:12 MST 2010


"uckelman" wrote:
> Thus spake fil512:
> > 
> > Cool!  Nice to see layering is already on the list.  Even if nio is
> in
> > beta, it should still be possible to include it as a jar instead of
> as
> > source no? 
> 
> The NIO stuff is actually our code. I don't see the advantage to
> having
> it in a seperate JAR.
> 


I'm a big believer in source code only being concerned about one thing. 
So I believe that Vassal source should be concerned with Vassal stuff. 
If you need a tool to help you with file i/o or zip files then it's best
to find a file i/o or zip tool that does what you need and depend on it
as a jar.  The jar will have been tested, used by lots of other ppl, in
general will be reliable so you don't need to worry about it and can
focus on making Vassal better.


"uckelman" wrote:
> 
> > Didn't see unit tests on the list.  I don't know how you
> > guys manage to avoid breaking modules without unit tests...  And I
> > didn't see the visitor pattern stuff on the list either.
> 
> We *don't* avoid breaking modules without unit tests. We really have
> no
> way of telling whether anything actually works right now. The reason
> that unit tests isn't on the list is that I wasn't thinking of writing
> tests as a separate project---it's something which should be done as
> part of any project where we write new code.
> 


Well given how much legacy code has no test coverage, I think the only
way it's going to get test coverage is to make that a separate project.
 

"uckelman" wrote:
> 
> > Here's another one:
> > 
> > 5. Any thought of moving to Maven as the build engine?  With Maven
> you
> > get a bunch of cool stuff for free like Sonar.  Mmmmmm Sonar...
> Sonar
> > would help dramatically with any layering initiative.  You could use
> > JDepend, but the Sonar UI is so much nicer.
> >
> 
> Maven is based on ant, right? We used to use ant for builds and
> packaging.
> I *hated* ant, which is why we're using GNU Make right now.
> J.


Maven has nothing to do with ant.  Most if not all of the big open
source projects all use Maven now.  Apache, JBoss, Google, Eclipse.

make and ant are both scripting languages: do this, and then do that.

Maven is a declarative language--Kind of like VASSAL that way.  You tell
it "traits" of your project, and then it knows what to do.  It would be
a considerable effort to move to Maven, but the advantages are many. 
For starters, you're now building the way everyone else in the java
world is building.  But more importantly, Maven guarantees all sorts of
integrity to your releases that you wouldn't otherwise have.  And then
you get the sweet sauce like Sonar.  Given that VASSAL has different
builds for different platforms, I wouldn't enter Maven lightly.  Maybe
after I've made some progress with documentation and unit tests I could
take a whack at Mavenizing Vassal.

A short summary of advantages can be found here. 
http://maven.apache.org/benefits-of-using-maven.html[1]

But if you've got something that works, I recommend you stick with that
until someone joins the dev team who knows Maven and then have them make
the switch for you.  Once you've worked in Maven for a while, you'll
never want to go back.

Ken

[1] http://maven.apache.org/benefits-of-using-maven.html


_______________________________________________
Read this topic online here:
http://www.vassalengine.org/forum/viewtopic.php?p=19040#p19040


More information about the messages mailing list