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.




