It is the intention of the GRITS developers that development of the GRITS project should be IDE agnostic. However, the GRITS project began life as a project using the Eclipse IDE, and therefore instructions on getting started and set up with Elcipse are the most complete. In the future we intend to add other instructions as developers find their own favorite tools for GRITS development.
CVS
We currently use CVS for our revision control needs for all of our projects, although we have plans to move to Subversion once JIRA supports Subversion. View CVS is configured for viewing our CVS repository on the web, and we use cvsspam to send email notifications for all commits to our projects. We provide an email list you can subscribe to (go to http://www-glast.stanford.edu/cgi-prot/subscribe.pl and subscribe to the Java CVS archive updates list) to receive these commit notificaitons directly, or you can simply access the email archive.
You must have a SLAC UNIX account to check out the source code from CVS and use SSH with your CVS client (we do not support anonymous pserver access). Here is an example of checking out the org-glast
project:
$ export CVS_RSH=ssh $ cvs -d :ext:glast-java.slac.stanford.edu:/cvs/java co org-glast
We use CruiseControl as our build and release manager, which does automatic builds of registered project from our CVS repository. Instructions for registering projects with cruise control can be found here: Cruise Control.
org-glast
The org-glast CVS module is a suggested parent POM for GLAST Maven projects. For more information about how use use Maven, see out Maven
Directory Structure
Upon initial checkout, the GRITS project has the following directory layout. A few hidden files related to the Eclipse IDE have been omitted, as they are irrelevent to the current discussion.
build.properties build.xml resin.xml lib/ src/
The lib/ directory contains jar files needed for building and running grits. The lib/build/ directory contains all of the jar files required to compile the grits Java source code. It is this colleciton of jars you'll want to put on the CLASSPATH for whatever IDE you are using.
lib/build/*.jar lib/runtime/hibernate/*.jar lib/runtime/webwork/*.jar
The src/ directory contains all of the source code, including the Java source code, the JSP files, configuration files and deployment descriptors.
src/config/db/ src/config/middlegen/ src/java/ src/test/ src/webapp/
The Java source code lives in src/java/, while the JUnit tests for this source code lives in src/test/. The web application itseld lives in src/webapp and has the standard directory structure for a J2EE container.