Repository

CVS information

The scheduler is located at BNL, on the ITD CVS server. The following read-only account is available for anyone who wants

CVSROOT :pserver:scheduler@cvs.bnl.gov:/data01/CVS
password scheduler

but before checking everything out look at the directory layout, or you might checkout lots of things you don't want.

Repository layout

The whole scheduler project is located in the "scheduler" directory of the repository. You will have access only to this particular directory.

scheduler directory layout

Within the scheduler directory you will find:

/bin Deprecated. It was meant to contain the build and running scripts. They are now located either in the scheduler directory, or in the res directory.
/lib Contains the libraries that are going to be used by the scheduler.
/res Contains all the deployment resources, like configuration files and scripts, needed to install the application.
/samples Deprecated. It was meant to contain samples to use in the regression tests. The test directory contains them now.
/src Contains the sources of the scheduler.
/statwww Contains the web application to display the statistics
/test Contains the unit test and the regression test suites
/www Contains the STAR Grid web pages about the project
build.xml ant build script

The main directory is also going to various infrastructure files, such as the license, release feature plans and the like.

src directory layout (package structure)

As any Java product, the scheduler source directory is divided in directories that maps to Java packages. For a list of all the packages and their functions, refer to the package structure in the JavaDocs.

test directory structure

In here you can find all the components for unit and regression testing. Unit testing is a suite of tests that are attached to the build system, and are going to be run every time the scheduler is compiled. This is done automatically if you use the build.xml script. Regression testing, instead, is a suite of tests that are to be run during deployment. It is not automatic, must be deployed along with the scheduler, and the result must be manually checked.

The unit testing checks functionalities at a programmer level, while the regression test checks the user level. The unit tests are independent from the specific deployments settings, while the regression tests are not. At the time of writing, the regression tests are available only for STAR.

/regr Deprecated. It was meant to contain the build and running scripts. They are now located either in the scheduler directory, or in the res directory.
/regr/requests Contains a series of XML requests that are the input for the regression tests.
/regr/macro Contains the root macros used in the requests.
/regr/out All the job outputs will be put here
/regr/bin The scripts to execute the regression tests
/unit Contains the sources for the unit test suite. The package structure is the same of the sources, and there is a class called <packageName>Suite as the collection of tests for the package. The SchedulerSuite is a collection of all the tests in all packages. More details about the regression testing are given in the build process pages.

statwww directory structure

The layout of the statwww follows the standard java web application directory structure. More details of the statwww directory are given on the statistics web pages.

www directory structure

This directory contains the web pages of the scheduler web site.

/ The main directory contains all the pages that contains user documentation.
/dev Contains all the pages regarding development.
/javadoc Contains the documentation generated from the code.
/pres Contains all the presentations.
/regr/bin The scripts to execute the regression tests
/unit Contains the sources for the unit test suite. The package structure is the same of the sources, and there is a class called <packageName>Suite as the collection of tests for the package. The SchedulerSuite is a collection of all the tests in all packages. More details about the regression testing are given in the build process pages.

 


Gabriele Carcassi - page was last modified