<project name="Shibboleth Discovery Service" basedir="../../.." default="install"> <property name="installer.dir" value="${basedir}/src/installer" /> <property name="resources.dir" value="${installer.dir}/resources" /> <property name="webapp.dir" value="${basedir}/src/main/webapp" /> <property name="war.name" value="discovery" /> <!-- Installation specific property file --> <property file="${resources.dir}/install.properties" /> <!-- Load ant-contrib tasks --> <taskdef resource="net/sf/antcontrib/antlib.xml" /> <!-- Load Internet2 ant extensions --> <taskdef resource="edu/internet2/middleware/ant/antlib.xml" /> <!-- install - for deployment --> <target name="install" description="Creates the discovery service home directory, install configuration files, and create the service's WAR."> <input message="Where should the Shibboleth Discovery Service software be installed?" addproperty="ds.home.input" defaultvalue="${ds.home}" /> <var name="ds.home" value="${ds.home.input}" /> <pathToAbsolutePath path="${ds.home}" addproperty="ds.home.path" /> <pathToUrl path="${ds.home}" addproperty="ds.home.url" /> <if> <available file="${ds.home.path}" property="ds.home.exists"/> <then> <input message="The directory '${ds.home.path}' already exists. Would you like to overwrite your existing configuration?" addproperty="install.config" validargs="yes,no" defaultvalue="no" /> </then> <else> <var name="install.config" value="yes"/> </else> </if> <if> <equals arg1="${install.config}" arg2="yes" /> <then> <propertyfile file="${resources.dir}/install.properties"> <entry key="ds.home" value="${ds.home}" /> </propertyfile> <mkdir dir="${ds.home}" /> <mkdir dir="${ds.home}/conf" /> <mkdir dir="${ds.home}/logs" /> <mkdir dir="${ds.home}/metadata" /> <mkdir dir="${ds.home}/war" /> <copy todir="${ds.home}/conf" preservelastmodified="true" overwrite="true"> <fileset dir="${resources.dir}" includes="wayfconfig.xml,logging.xml" /> <filterset begintoken="$" endtoken="$"> <filter token="DS_HOME" value="${ds.home}" /> </filterset> </copy> </then> </if> <!-- create - always - the web.xml --> <copy file="${webapp.dir}/WEB-INF/web.xml" todir="${installer.dir}" preservelastmodified="true" overwrite="true"> <filterset begintoken="$" endtoken="$"> <filter token="DS_HOME" value="${ds.home}" /> </filterset> </copy> <!-- build the war file --> <war warfile="${ds.home}/war/${war.name}.war" webxml="${installer.dir}/web.xml"> <lib dir="${basedir}/lib" /> <webinf dir="${webapp.dir}/WEB-INF" excludes="web.xml" /> <fileset dir="${webapp.dir}" excludes="WEB-INF/**" /> </war> <!-- Remove generated web.xml --> <delete file="${installer.dir}/web.xml" /> </target> </project>