Project Directory Structure

12 views
Skip to first unread message

Jason

unread,
Jun 26, 2010, 2:14:52 AM6/26/10
to jtablet-dev
The directory structure of this project has always rubbed me the wrong
way. There are a number of inconsistancies, and it seems like files
are scattered everywhere. This makes understanding the ANT scripts
harder, but otherwise isn't really that big of a problem. However, if
work on the other major issues goes under way, it might make sense to
correct a few of these while we're at it.

/src
/src/demo
/src/demo/jtablet/cello/demo
/src/examples
/src/examples/cello/research
/src/jtablet/cello/jtablet
/src/jtablet/cello/repackaged
/src/jtablet/cello/tablet

/build
/build/demo
/build/examples
/build/docs
/build/jtablet/java
/build/jtablet/java/cello
/build/jtablet/java/cello/jtablet
/build/jtablet/java/cello/repackaged
/build/jtablet/java/cello/tablet
/build/jtablet/native

/dist
/dist/${version}

I'm still trying to figure out what to do with a number of the
directories though. "design", "html", "lib", "platform", and "www" all
have me a little stumped. Any input would be appreciated.

Marcello Bastéa-Forte

unread,
Jul 10, 2010, 5:04:45 PM7/10/10
to jtabl...@googlegroups.com
On Fri, Jun 25, 2010 at 11:14 PM, Jason <kille...@gmail.com> wrote:
The directory structure of this project has always rubbed me the wrong
way. There are a number of inconsistancies, and it seems like files
are scattered everywhere. This makes understanding the ANT scripts
harder, but otherwise isn't really that big of a problem.

I don't think it will change the ANT scripts much at all, in fact. Most of these folders are represented by variables right now ${src} ${src.demo} ${src.installer}
 
However, if
work on the other major issues goes under way, it might make sense to
correct a few of these while we're at it.

/src
/src/demo
/src/demo/jtablet/cello/demo
/src/examples
/src/examples/cello/research
/src/jtablet/cello/jtablet
/src/jtablet/cello/repackaged
/src/jtablet/cello/tablet

This is fine, except I don't think generated code belongs in there. Maybe in build (ie /build/jtablet/src-gen) or a separate folder (src-gen/jtablet).
 

/build
/build/demo
/build/examples
/build/docs
/build/jtablet/java
/build/jtablet/java/cello
/build/jtablet/java/cello/jtablet
/build/jtablet/java/cello/repackaged
/build/jtablet/java/cello/tablet
/build/jtablet/native

Looks good. Probably rename build/docs to build/javadocs or build/apidocs (assuming that's what it is). 

It seems slightly inconsistent for jtablet to have java and native subdirectories. I'd be tempted to either add them to demo and examples, or flatten it out (jtablet-java & jtablet-native, or just jtablet and jtablet-native).
 
/dist
/dist/${version}

I'm still trying to figure out what to do with a number of the
directories though. "design", "html", "lib", "platform", and "www" all
have me a little stumped. Any input would be appreciated.

Well, let's see what they are right now, and perhaps we can better organize:
docs: hand-crafted documentation files for SDK
design: design source files (for both the jtablet library/api itself, as well as graphics used on the website)
html: not really needed anymore. originally for the web-based installer.
platform: this contains misc platform-specific source files, specifically, files used to generate the installers
lib: contains libraries needed to build jtablet
www: the jtablet web site (i.e. http://jtablet.cellosoft.com/)

I think we're in good shape if we remove html and move platform to:
src/installer/osx
src/installer/linux
src/installer/windows

We might be able to group docs, design and www into one folder, but I'm not sure what to call it... misc? other? src-other? 
 
Marcello
Reply all
Reply to author
Forward
0 new messages