PerfSONAR SVN Structure
From GEANT2-JRA1 Wiki
[edit]
Structure of perfSONAR SVN trunk
The structure of a trunk is shown below. It shows many products inside the trunk. All products follow the product naming convention documented here
trunk/ | |-- perfsonar-bundle | | | |--doc | | | `--install.pl | |-- perfsonar-doc | | |-- perfsonar_base | | perfSONAR base defines the blueprint for perfSONAR web service products with the help of Java Interfaces and extendable Abstract classes. | | It also provides re-usable components for perfSONAR web services and perfSONAR client software. | | | |-- ant | | (all ant targets common across services such as generation of log files, templates, deployment, | | configuration of databases, downloading stuff, etc...should be in here. ) | | | |-- doc | |-- lib | `-- src | | (need to agree on a package naming convention and put it in here) | | | `-- test | | (package naming convention here will be same as the src) | | |-- geant2_java-rrd-ma | | (this is how various products will look like. The agreed naming convention has to be followed) | | | |-- ant | |-- conf | |-- doc | |-- func-test | |-- lib | |-- samples | | |-- requests | | `-- rrd | |`-- src | | | (need to work on package naming conventions) | | | | | `-- test | | | `-- build | (a place-holder for built code and special files required for built code) | |-- cricket-script-parsing (change your name) | |-- mrtg - config parsing scripts (change your name) | | |-- geant2_java-sql-ma | |-- geant2_java-xml-ls | |-- geant2_perl-hades-ma | |-- rnp_cl-mp | |-- geant2_perfsonar-ui | |-- geant2_dfn-cnm |
Each product in the trunk contains further directories depending on the type of product/implementation language. A Web Service product developed in Java contains the following sub-folders.
- ant directory - holds ant targets (note that ant targets in perfSONAR_base are re-used where possible
- conf directory - contains all the necessary configuration files (service.properties, log4j.properties components.properties, etc)
- doc directory - contains all the documentation related to the product. See release management sections on what documents are necessary for releasing a software
- lib directory - contains all the dependency libraries required for the product (automatically downloaded with the help of ant targets and perfsonar-repo)
- samples directory - contains samples of communication protocols and also other samples related to the product (example rrd files for rrd ma service)
- src directory - contains all the source code. Note that a package naming convention is in use and has to be followed
- build directory - contains built software. Usually empty but gets filled up
