The Shibboleth V2 IdP and SP software have reached End of Life and are no longer supported. This documentation is available for historical purposes only. See the IDP v4 and SP v3 wiki spaces for current documentation on the supported versions.

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 45 Next »

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-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:

Building the latest OpenSAML2 version from source
$ 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.

Building the latest IdP version from source
$ 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.

To obtain the latest code ahead of a tagged release, you'll need to check out the code on the latest branches in the various repositories. Do not rely on the trunk as it will normally be out of date. After checking out the branches for each project, you'll need to manually generate the configure script using the "bootstrap" shell script in the root of each project. Running this will require that a current set of autotools are installed.

Example for Generating a Snapshot
$ svn co https://svn.shibboleth.net/cpp-xmltooling/branches/REL_1 cpp-xmltooling
$ cd cpp-xmltooling
$ autoreconf -if
$ ./configure
$ make dist

The Makefiles are known to break on relatively out of date versions of autotools. Errors related to "doxygen" are normally a sign that you need to generate the relevant files on a newer system. You can use the "make dist" command to generate a tarball and then transfer it to an older system for building.

Note that in most cases the snapshot from subversion will generate a newer version of the package than is generally available, once changes have been made to the branch. This is a signal that you're using unreleased/unsupported code at your own risk.

  • No labels