Notes for setting up Orca on a remote machine (connecting to SVN via https)

Prerequisites

  • Java = 1.5
  • Ant >= 1.7 (NOT the Debianized version)
  • Maven >= 2.0.6
  • Maven tasks for ant, installed in your ant's lib directory
  • Subversion client with https:// protocol support
  • A login that works against https://geni-orca.renci.org/svn
  • wget (any version)

Check out Orca's Top-level POM project

All Orca projects depend on the Orca Top-Level POM project. Before you can build any of the Orca's projects you will need to obtain a copy of the top-level pom project:

svn co https://geni-orca.renci.org/svn/orca/pom/trunk pom
cd pom
mvn install

This will obtain a copy of the project and install it in your local repository. However, this will be a development version (-SNAPSHOT) and most Orca projects refer to a release version of the POM file (no -SNAPSHOT in the version number). To obtain a given release version of the POM file use the getpom.sh script:

   ./getpom.sh POM-VERSION

The current release version of the POM file is 1.0. To install it in your local repository use:

   ./getpom.sh 1.0

Obtain and register Orca web server's public key certificate

The Orca web server provides access to the the subversion and maven repositories over the HTTPS protocol. Before any java application can fetch information from the web server, e.g., java artifacts from the maven repository, you will need to register the web server's self-signed public key certificate. The Orca Top-Level POM project contains a script to simplify this process: getcertificate.sh.

The script requires that you have JAVA_HOME set. If JAVA_HOME is set to a system location, you will need to invoke the script with the right permissions, e.g., by using sudo. The script will use the default keystore password. In case you have changed the default password, you can specify it as an optional argument.

   [sudo] ./getcertificate.sh [keystore_pass]

Check out Modules

The Orca repository at https://geni-orca.renci.org/svn is factored into many sub-projects. Some Examples:

https://geni-orca.renci.org/svn/orca/core/trunk The core (includes mysql schemas)
https://geni-orca.renci.org/svn/orca/webapp/trunk The Orca web portal
https://geni-orca.renci.org/svn/orca/handlers/ec2/trunk EC2/Eucalyptus handler

Most of these projects build Maven artifacts. This is nice because if you only want to work on one part of the tree (eg handlers/ec2/trunk) you only need check out that part of the tree. When you build with Maven, prebuilt packages for all the other components you need will be downloaded and used.

NOTE: maven will not download dependent packages if you have not registered the Orca web server's public key certificate.