</fileset>
</delete>
</target>
+ <!-- For IDE development, run this target first to delete all
+ directories generated by the install process before
+ recreating and reinstalling everything. -->
+ <target name="clean-install" depends="init"
+ description="Delete old configuration and Tomcat webapp directories.">
+ <delete dir="${shib.home}" />
+ <delete dir="${shibsp.home}" />
+ <delete dir="${tomcat.home}/webapps/${shib.webapp.name}" />
+ <delete dir="${tomcat.home}/webapps/${shibsp.webapp.name}" />
+ </target>
<!-- Add to the classpath for unit tests -->
<genSalt keyStorePath="${appconfig}/persistent.jks" keyStorePassword="shibhs" keyStoreKeyAlias="handleKey" keyStoreKeyPassword="shibhs" />
</target>
- <target name="exampleCertificate">
+ <target name="exampleCertificates">
+ <!--
+ This target provides an example of the generation of
+ self-signed Certificates for the IdP and SP. You may
+ change the cn= and use it to generate new identities
+ when you want to replace "example.org" with your real
+ organization dns. However,the generated key and
+ certificate also have to be defined to the Credentials
+ of the IdP and SP config files and added to the Metadata.
+ -->
+ <genkey alias="tomcat" storepass="exampleorg"
+ keystore="${tomcat.home}/conf/idp-example.jks"
+ keyalg="RSA" validity="365"
+ dname="cn=idp.example.org, o=example.org, c=US"
+ />
<genkey alias="tomcat" storepass="exampleorg"
- keystore="${tomcat.home}/conf/example.jks"
+ keystore="${tomcat.home}/conf/sp-example.jks"
keyalg="RSA" validity="365"
- dname="cn=shibboleth.example.org, o=example.org, c=US"
+ dname="cn=sp.example.org, o=example.org, c=US"
/>
</target>
+
+ <!-- Package Shibboleth -->
+ <target name="package-idp" depends="compile" description="Creates the IdP war file and moves it to ${dist}">
+ <!-- copy values to deployment descriptor -->
+ <copy file="${configroot}/dist.idp.xml" tofile="${configroot}/idp.xml" overwrite="true" />
+ <replace file="${configroot}/idp.xml" token="$SHIB_HOME$" value="${shib.home.url}" />
+
+ <!-- create the war -->
+ <war warfile="${dist}/${shib.webapp.name}.war" webxml="${configroot}/idp.xml" basedir="${approot}" update="no" />
+
+ <!-- clean up generated descriptor -->
+ <delete file="${configroot}/idp.xml"/>
+ </target>
+
+ <target name="package-wayf" depends="compile" description="Creates the WAYF war and moves it to ${dist}">
+ <war warfile="${dist}/${distnameWayf}.war" webxml="${configroot}/wayf.xml" basedir="${approot}" update="no" />
+ </target>
+
+ <target name="package-sp" depends="compile" description="Creates the Java SP war and moves it to ${dist}">
+ <!-- copy values to deployment descriptor -->
+ <copy file="${configroot}/dist.sp.xml" tofile="${configroot}/sp.xml" overwrite="true" />
+ <replace file="${configroot}/sp.xml" token="$SHIB_HOME$" value="${shibsp.home.url}" />
+
+ <!-- create the war -->
+ <war warfile="${dist}/${shibsp.webapp.name}.war" webxml="${configroot}/sp.xml" basedir="${approot}" update="no" />
+
+ <!-- clean up generated descriptor -->
+ <delete file="${configroot}/sp.xml"/>
+ </target>
+
<!-- Install Shibboleth -->
<target name="install.init">
<taskdef name="xinput" classname="edu.internet2.middleware.shibboleth.utils.ant.XInput" classpath="${build}" />
<typedef name="xoption" classname="edu.internet2.middleware.shibboleth.utils.ant.XInputOption" classpath="${build}" />
+ </target>
+
+ <target name="install.url">
<taskdef name="urlconvert" classname="edu.internet2.middleware.shibboleth.utils.ant.URLConvert" classpath="${build}"/>
+ <urlconvert path="${shib.home}" addProperty="shib.home.url"/>
+ <urlconvert path="${shibsp.home}" addProperty="shibsp.home.url"/>
</target>
<target name="install" depends="init, install.init" description="Install Shibboleth">
<input message="Select an installation base for the Shibboleth Identity Provider [default: ${shib.home}]"
addproperty="shib.home.input" defaultvalue="${shib.home}" />
<var name="shib.home" value="${shib.home.input}" />
- <urlconvert path="${shib.home}" addProperty="shib.home.url"/>
<input message="Enter tomcat home directory [default: ${tomcat.home}]"
addproperty="tomcat.home.input" defaultvalue="${tomcat.home}" />
<var name="tomcat.home" value="${tomcat.home.input}" />
</target>
<!-- Install Shibboleth IdP to filesystem using the properties in build.properties -->
- <target name="install.idp.filesystem" depends="init, install.init, build-util"
+ <target name="install.idp.filesystem" depends="init, install.init, build-util, install.url, package-idp"
description="Install Shibboleth IdP to filesystem using the properties in build.properties">
- <!-- copy values to deployment descriptor and create war -->
- <copy file="${configroot}/dist.idp.xml" tofile="${configroot}/idp.xml" overwrite="true" />
- <replace file="${configroot}/idp.xml" token="$SHIB_HOME$" value="${shib.home.url}" />
- <war warfile="${dist}/${shib.webapp.name}.war" webxml="${configroot}/idp.xml" basedir="${approot}" update="no" />
- <delete file="${configroot}/idp.xml"/>
+ <!-- Move IdP war to Tomcat deployment directory -->
<copy file="${dist}/${shib.webapp.name}.war" tofile="${tomcat.home}/webapps/${shib.webapp.name}.war" />
<!-- copy IdP jars and utilities -->
</if>
</target>
+ <!-- Install Shibboleth SP to filesystem using the properties in build.properties -->
+ <target name="install.sp.filesystem" depends="init, install.init, build-util, install.url, package-sp"
+ description="Install Shibboleth SP to filesystem using the properties in build.properties">
+
+ <!-- Move SP war to Tomcat deployment directory -->
+ <copy file="${dist}/${shibsp.webapp.name}.war" tofile="${tomcat.home}/webapps/${shibsp.webapp.name}.war" />
+
+ <!-- copy sp jars and utilities -->
+ <copy todir="${shibsp.home}/lib">
+ <fileset dir="lib" includesfile="conf/idp-lib.include" />
+ </copy>
+
+ <copy todir="${shibsp.home}/bin">
+ <fileset dir="bin"/>
+ </copy>
+ <chmod dir="${shibsp.home}/bin" perm="ug+rx" includes="**/*"/>
+
+ <mkdir dir="${shibsp.home}/logs" />
+
+ <!-- copy sp configuration -->
+ <if>
+ <or>
+ <equals arg1="${copy-sp-conf}" arg2="y" />
+ <not> <available file="${shibsp.home}/etc" /> </not>
+ </or>
+ <then>
+ <delete dir="${shibsp.home}/etc" />
+ <antcall target="install.sp.filesystem.config" />
+ </then>
+ </if>
+ </target>
+
+
<!-- copy shibboleth configuration to $SHIB_HOME/etc, overwriting any existing configuration -->
- <target name="install.idp.filesystem.config" depends="init, install.init">
+ <target name="install.idp.filesystem.config" depends="init, install.init, install.url">
<mkdir dir="${shib.home}/etc" />
<copy todir="${shib.home}/etc" overwrite="true">
<fileset dir="${src}/conf" includesfile="conf/idp-conf.include"/>
<move file="${shib.home}/etc/dist.idp.xml" tofile="${shib.home}/etc/idp.xml" overwrite="true" />
<replace file="${shib.home}/etc/idp.xml" token="$SHIB_HOME$" value="${shib.home.url}" />
</target>
+
+ <!-- copy SP configuration to $SHIB_HOME$/etc, overwriting any existing configuration -->
+ <target name="install.sp.filesystem.config" depends="init, install.init">
+ <mkdir dir="${shibsp.home}/etc" />
+ <copy todir="${shibsp.home}/etc" overwrite="true">
+ <fileset dir="${src}/conf" includesfile="conf/sp-conf.include"/>
+ </copy>
+ <move file="${shibsp.home}/etc/dist.sp.xml" tofile="${shibsp.home}/etc/sp.xml" overwrite="true" />
+ <replace file="${shibsp.home}/etc/sp.xml" token="$SHIB_HOME$" value="${shibsp.home.url}" />
+ </target>
<!-- install Shibboleth-IdP war using tomcat's manager app -->
<target name="install.idp.manager" depends="init, install.init">
<target name="savePropertyFile">
<propertyfile file="build.properties">
<entry key="shib.home" value="${shib.home}" />
+ <entry key="shibsp.home" value="${shibsp.home}" />
<entry key="shib.webapp.name" value="${shib.webapp.name}" />
+ <entry key="shibsp.webapp.name" value="${shibsp.webapp.name}" />
<entry key="idp.install-type" value="${idp.install-type}" />
<entry key="tomcat.home" value="${tomcat.home}" />
<entry key="tomcat.url" value="${tomcat.url}" />
<entry key="tomcat.password" value="${tomcat.password}" />
</propertyfile>
</target>
-
- <!-- Create WAYF and move it to ${dist} -->
- <target name="package-wayf" depends="compile">
- <war warfile="${dist}/${distnameWayf}.war" webxml="${configroot}/wayf.xml" basedir="${approot}" update="no" />
- </target>
-
-</project>
+</project>
\ No newline at end of file