Before you check in code, it would be nice to discuss the directory structure to facilitate development, release, and documentation.

It would also be good to decide what build tool to use. I personally like maven for a project as complex as this one. Especially if it depends on other projects (e.g. antlr, logging, etc).

After a year of work, and several iterations, the other project I'm working on has come up with this structure that we can use as a straw proposal.

trunk contains the main line
branches contains sources for releases before release
releases contains release artifacts that are then published to www.apache.org/dist
site contains the sources to build the site

1.0 contains the same structure as trunk, modified for release 1.0

1.0 contains one directory, dist (published exactly as is to www.apache.org/dist)

REAME.txt the instructions to build and publish the site
build.xml the ant build script for the site
xdocs the human-edited site contents
docs the generated site

docs/ everything that is used to display the site
index.html the main page
images/ images used on the site
team.html the development/test/doc team members
releases/ pages for downloading releases
... other site pages

core contains the kodo core
spec contains the jsr220 jar artifacts from the spec
ejb contains the ejb container interface
se contains the java se implementation

core/ structure is repeated for each sub-project under trunk
src contains the sources for the core jar
test contains the test cases for the core
target contains the compiler output, distribution working area, javadoc, etc.

java source code for the jar

java source code for tests
xml xml configuration files for testing
sql contains sql scripts for building test schema
testdata contains test data files



Craig Russell

Architect, Sun Java Enterprise System http://java.sun.com/products/jdo

408 276-5638 mailto:Craig.Russell@sun.com

P.S. A good JDO? O, Gasp!