Another note related to, but different than, the source formatting discussion. The official build process for the project uses make, so if you do your personal builds using Ant or Eclipse or some other tool, make sure you test any changes that affect the build process (all changes?) on a freshly checked out tree using make.
I recently missed a makefile change required by splitting a module due to forgetting this rule.
I've been using the builtin Eclipse builder for development and then testing using the production 'make' based build before doing checkins.
I'd like to propose that we consider switching from make to Ant for production builds. The primary advantage is portability and ease of use for non-core developers, but it's also simpler and easier to maintain for the core developers as well.
I've checked in a prototype build.xml and build.properties to spur discussion. The current structure of the targets is modeled on the existing makefile targets, but could probably be streamlined.
I'm putting my vote in for Ant.
I have been resisting ant for years now, and I guess it is time to give in. I already have it installed in order to compile GenJ.
The new build.xml is pretty good, but being a hard-core build engineer, there is one thing we would have to do first. I hate the "feature" that ant (and javac) have of finding all source files for you. I believe in listing every file. That way you know when a file is missing, and you don't get an error when you copy a file to save.java.
Is there a summary description of the current environment for developer's getting started?
In honor of the new year I decided to update all my old genealogy related projects, but I can't make heads or tails out of GDBI after the update, despite the fact that I started with a working Eclipse project.
Some of the problems include:
- there are two largely duplicate source trees, but if I exclude the old net.sourceforge.gdbi tree there are unresolved dependencies from the new org.gdbi tree (e.g. net.sourceforge.gdbi.familytree.gui.MainFrame)
- there are a number of unresolved dependencies which appear to be commercial products (e.g. com.tsac.familytree and com.thoughtriver.open.vectorvisuals)
- non existent packages are referenced (eg. org.gdbi.ftml)
When I look in the build directory I see DOS BAT files, shell scripts, makefiles, an Ant build.xml and I have no idea which one is correct. I can't find a README anywhere (although I didn't need one the last time I did this). Help! It can't really be this hard...
Oh, and while I'm at it, what ever happened to the suggestion to use Ant? That's what 99% of Java projects use (that or something layered on top of it, like Maven).
Wow, this is a really old thread.
I now create documentation with the wiki that comes with sourceforge projects, so I will write up info on the dev environment. But basically it is a make based system in gdbi/src/build. I use the netbeans IDE these days, so using Ant makes more sense than ever, but I am still a make guy.
The duplicate source may be a CVS "feature". You need to update with -P to prune obsolete directories.
I wrote up a wiki page on the build environment:
Log in to post a comment.