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 defintiion, sample security
configuration files and keystores, general properties files.
docs/
- all documentation
that get deployed with the OSCARS war
dojoWeb/
- javaScript,
html, images, and style sheets used
by the dojo servlet version of the WBUI
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
maven-repository/
- an
empty directory used by the build procees
to fetch the mysql-connector-java jar.
schemas/
- 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
original version of 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
targets: prepare and setupServer, assume that the directory specified
by
the DOMAIN_HOME environment variable will contain the following
files.
- ${DOMAIN_HOME}/server :
sec-server.jks, sec-server.properties, sec-client.jks,
sec-client.properties, oscars.key, pss.key,oscars,properties,
test.properties
- ${DOMAIN_HOME}/client:
axis2.xml, ssl-keystore.jks
See Message Security for an
explanation of these files.
See svn usage notes for suggestions on
how to create a local repository.