Source Code Access

Shibboleth and OpenSAML use Subversion (SVN), as their source control system. As such, in order to access the code repositories, you'll need a subversion client. You can find a list of them by using your favorite search engine.

New Infrastructure Subversion Repositories

Repository URL: https://svn.shibboleth.net/[REPO_NAME]
Web View: http://svn.shibboleth.net/view/[REPO_NAME]

Links to view (not checkout code from) the current repositories are:

REPO_NAME

Description

cpp-xmltooling

C++ XMLTooling library

cpp-opensaml

C++ OpenSAML, version 2 library

cpp-log4shib

Fork of log4cpp with loads of fixes

cpp-sp

C++ Shibboleth SP

java-xmltooling

Java XMLTooling library.

java-openws

Java OpenWS library.

java-opensaml2

Java OpenSAML, version 2 library.

java-opensaml2-main

Project that uses SVN externals to check out the latest source revision (HEAD) java-xmltooling, java-openws, and java-opensaml2 and comes with a Maven aggregation POM that can be used to build those three projects together and aggregate their javadoc, junit, and jxr reports. Note: This project is not available on SVN mirrors.

java-parent-projects/java-parent-project-v2Maven parent project for v2 Shibboleth Java projects.

java-shib-common

Java Shibboleth Common Library.

java-shib-idp2

Java Shibboleth Identity Provider, version 2.

java-shib-idp2-main

Project that uses SVN externals to check out the latest source (HEAD) revision for java-shib-common and java-idp and comes with a Maven aggregation POM that can be used to build those projects together and aggregate their javadoc, junit, and jxr reports. Note: This project is not available on SVN mirrors.

java-centralized-discovery

Java IdP Centralized Discovery Service (WAYF)

js-embedded-discovery

Next Generation discovery

extensions

Various extensions/add-ons related to Shibboleth.

utilities

Various utilities related to Shibboleth.

Building the Java Source Code

The shibboleth project uses Apache Maven 2 as its build system and as such you will need Maven installed if you wish to build Shibboleth from source.

IdP

It is recommended that you use the java-idp-main repository, REL_2 branch, when building the Java IdP. This repository contains SVN externals that causes the latest java-shib-common and java-idp code to be checked out as well. It also contains a Maven project file that will build both projects. The final results will be in the java-idp/target directory. Additional the project will aggregate the junit, javadoc, and jxr reports and place them in the java-idp-main/target/site directory.

To build everything use the following commands:

 

$ cd /tmp
$ svn co https://svn.shibboleth.net/java-parent-projects/java-parent-project-v2/trunk java-parent-project-v2
$ cd java-parent-project-v2
$ mvn -P release -DskipTests install

This will install the latest v2 Maven parent project in the local Maven repository.

 

$ cd /tmp
$ svn co https://svn.shibboleth.net/java-opensaml2-main/branches/REL_2 java-opensaml2-main
$ cd java-opensaml2-main
$ mvn -P release -DskipTests install

This will install the OpenSAML2 files and dependencies in your local Maven repository.

 

$ cd /tmp
$ svn co https://svn.shibboleth.net/java-shib-idp2-main/branches/REL_2 java-shib-idp2-main
$ cd java-shib-idp2-main
$ mvn -P release -DskipTests install

The resulting files will be in the java-shib-idp2-main/java-shib-idp2/target directory.

Discovery Service

Checkout the java-wayf, REL_1 branch. Run mvn install

Building the C++ Source Code

The various projects that contain C++ source are offered with both Windows IDE project files and autoconf-based Unix packages using the standard configure/make/make install sequence. Detailed information on source builds is available from the OS-specific pages linked on the Installation topic. There's also a page describing the overall C++ development process.