[jsword-devel] New directory structure

Joe Walker jsword-devel@crosswire.org
Wed, 31 Mar 2004 21:52:02 +0100


DM Smith wrote:

> I would like to propose the following structure for JSword source. Any 
> comments?

It's very close to what I was thinking about

> HEAD
> HEAD/jsword
> HEAD/jsword/java
> HEAD/jsword/java/common (all of the .../swing/*.java are moved out)
> HEAD/jsword/java/jsword
> HEAD/jsword/test
> HEAD/jsword/test/common (was .../java/commontest)
> HEAD/jsword/test/jsword (was .../java/jswordtest)
>    creates jsword.jar, jsword-osis.jar and signs them

I wasn't going to separate the test dirs, let's think:

for splitting out:
- all test things sort together
- the pattern for including/excluding is simpler
     test/** rather than java/*test
- possibly more conventional

against splitting out:
- pattern for including all java files is more complex
     test/** & java/** rather than java/**
- loses cvs history

Did I miss anything?


> HEAD/jsword-swing/java
> HEAD/jsword-swing/java/common (was part of HEAD/jsword/java/common)
> HEAD/jsword-swing/java/jsword (was HEAD/jsword/java/swing)
> HEAD/jsword-swing/test
> HEAD/jsword-swing/test/common (was part of HEAD/jsword/java/commontest)
> HEAD/jsword-swing/test/jsword (was HEAD/jsword/java/swingtest)
> HEAD/jsword-swing/resource
>    creates jsword-swing.jar, resource.jar and signs them
>    creates the nightly jnlp distribution

Agreed, but I think the cvs module could be bibledesktop, and I would 
probably leave the whole nightly thing up to the web project


> HEAD/jsword-web (set up as an apache tomcat project using the sysdeo 
> tomcat plugin)
> HEAD/jsword-web/java/servlet
> HEAD/jsword-web/test/servlet
> HEAD/jsword-web/web (was HEAD/jsword/java/web, maybe this is in 
> jsword-swing)
>    creates the nightly distributions: servlet and jnlp at this time
>    creates the nightly servlet distribution

Agreed, but I think you meant:
 > HEAD/jsword-web/web (was HEAD/jsword/web)

I'd be tempted to slightly re-org things in the web directory to make it 
so that the layout more closely resembles a war file. but I'd need to 
think about that somewhat.


> HEAD/sword/java/sword (was HEAD/jsword/java/sword)
> HEAD/sword/test/sword (was HEAD/jsword/java/swordtest)

Certainly want to give it a different module name because the above 
clashes with the module name for the mail sword dir.


> HEAD/jsword-support
> HEAD/jsword-support/jar (was HEAD/jsword/java/jar)
>    jars are signed so they don't need to be resigned with each build.
>   This will minimize webstart downloading and reduces the cost of a 
> clean build.

Not sure about storing signed jars. I've fixed the build process so it 
checks to see if the jar has been changed before signing it so I don't 
think we have re-download issues, but this is a bit new to say for certain.
I'd like to keep the projects as independent as possible so someone 
working on blah doesn't need to check hundreds of projects out just to 
get started.


> HEAD/biblemapper (no change)
> 
> The folder HEAD/jsword/etc is split as needed between the projects.

Yes.
I'd like to leave all this until after I've created 0.9.7 and got Troy's 
buy-in to the new name.

Joe.