ESnetESnetNetworking for Science

OSCARS Source Code Repositories

OSCARS Repositories

The OSCARS source code is kept in an SVN repository at https://oscars.es.net/repos/oscars.

Source Code Repository subdirectories

There are three main subdirectories of the source tree:

releases

Contains the official release branches.

branches

Contains stable branches for internal releases and release candidates. This directory may also contain branches for new features that are not complete yet.

trunk

All reasonably complete development work is checked in to the trunk.

The contents of the branches in the releases directory will not change. If critical bug fixes are needed between releases an internal release branch (aka micro-release) will be created in the branches directory.

The internal release and release candidate branches may have bug fixes or critical features added that do not affect the compatibility with previous versions of the branch. An internal release is cut in order to get some carefully monitored experience running new features on the ESnet pre-production machine. A release candidate is made several weeks before a new release. It should be run by several beta testers before it is blessed as the next release. The OSCARS pre-production machine will always be running either an official release, an internal release or a release candidate. In the latter cases, it will be closely monitored.

Feature branches will mostly belong to one developer, and should not be very long-lived. As soon as a new feature works well enough not to break other things, it should be merged onto the trunk.

It is assumed that general users will only have access to the releases subdirectory. Only active developers will be given read/write access to the branches or trunk.

 


 

Branch Structure

build/  - a mostly empty directory in which the class files and oscars.aar will be built

build.xml  - the ant build file

conf/ - configuration files for the databases, router configuration commands, OSCARS service definition, sample security configuration files and keystores, general properties files.

docs/ - all documentation that get deployed with the OSCARS war

examples/ - client web service programs as examples of how to use the web service interface

lib/ - the subset of jar files that OSCARS needs that we distribute. More jar files are copied into this directory during the build process: targets - axis2LocalCopy, tomcatLocalCopy, jarRemoteCopy

logs/ - a directory to hold the log files of the rmi servers: core, aaa and notifyBroker

maven-repository/ - an empty directory used by the build process to fetch the mysql-connector-java jar.

resources/ - a temporary directory to hold experimental schemas

sql/ - SQL commands to initially populate the aaa, and bss databases

src/ - the source code for the OSCARS server

test/ - test programs

tools/ - a number of helpful programs for managing the data bases. Also the scheduler process source is here.

web/ - javaScript, html, images, and style sheets used by the WBUI

 


Domain Specific Repository

There is a separate domain specific repository that holds domain specific configuration files and security tokens. For ESnet it is at https://oscars.es.net:/esnet/domain/trunk. It is only accessible to ESNet developers. Other sites running an OSCARS server need to create their own domain repository. The OSCARS build target setupServer depends on copydomain which will copy the following files from {DOMAIN_HOME}/server if $DOMAIN_HOME is set: OSCARS.jks, oscars.key, pss_key, oscars.properties, test.properties

See Message Security for an explanation of these files.
See svn usage notes for suggestions on how to create a local repository.