PerfSONAR SVN Structure

From GEANT2-JRA1 Wiki

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
Personal tools