blob: d25a81aa3abaa4d5d37d630211e20681c197437a [file] [log] [blame]
<?xml version="1.0"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
~ distributed with this work for additional information
~ regarding copyright ownership. The ASF licenses this file
~ to you under the Apache License, Version 2.0 (the
~ "License"); you may not use this file except in compliance
~ with the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing,
~ software distributed under the License is distributed on an
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~ KIND, either express or implied. See the License for the
~ specific language governing permissions and limitations
~ under the License.
-->
<project name="spring-sample" default="dist">
<property name="root.base.dir" value="../.."/>
<!-- "extend" parent build definition -->
<import file="../../build.xml"/>
<property name="module.name" value="spring"/>
<property name="module.base.dir" value="${root.base.dir}/samples/spring"/>
<property name="dist.jar.name" value="${project.name}-${module.name}.jar"/>
<property name="dist.jar" value="${root.dist.dir}/${dist.jar.name}"/>
<!-- Module properties -->
<property name="module.name" value="api"/>
<property name="dist.war.name" value="${project.name}-${module.name}.war"/>
<property name="dist.war" value="${root.base.dir}/build/${dist.war.name}"/>
<property name="dist.dir" value="${build.dir}/dist"/>
<!-- Deployment properties for development -->
<property name="deploy.dir" value="${env.CATALINA_HOME}/webapps"/>
<path id="compile.path">
<fileset dir="${lib.dir}/samples" includes="**/*.jar"/>
</path>
<!-- ===================================================================
- clean - clean all build remnants from this submodule
- ==================================================================== -->
<target name="clean" depends="clean-deploy-dir" description="Cleans the Spring build">
<echo message="cleaning ${module.name} module"/>
<delete file="${dist.war}"/>
<delete dir="${build.dir}"/>
</target>
<target name="clean-deploy-dir" description="Removes the deployed war directory">
<echo message="cleaning ${dist.war.name} module from ${deploy.dir}"/>
<delete file="${deploy.dir}/${dist.war.name}"/>
<delete dir="${deploy.dir}/${project.name}-${module.name}"/>
</target>
<!-- ===================================================================
- compile - compile Java source files
- =================================================================== -->
<target name="compile" description="Compiles the Spring sample app classes">
<mkdir dir="${classes.dir}"/>
<mkdir dir="${classes.dir}/META-INF"/>
<javac destdir="${classes.dir}"
debug="${compile.debug}"
deprecation="${compile.deprecation}"
optimize="${compile.optimize}"
failonerror="true"
classpathref="compile.path">
<src path="${src.dir}"/>
<classpath location="${root.dist.dir}/jsecurity.jar"/>
</javac>
</target>
<target name="jar" depends="compile" description="Creates a .jar of the Spring sample app classes">
<mkdir dir="${dist.dir}"/>
<jar jarfile="${dist.dir}/jsecurity-spring-sample.jar">
<fileset dir="${classes.dir}">
<include name="**/*.class"/>
</fileset>
<fileset dir="${etc.dir}">
<include name="*.xml"/>
<include name="*.properties"/>
</fileset>
<!-- grabbing logo from webroot-->
<fileset dir="webroot">
<include name="logo.png"/>
</fileset>
<manifest>
<attribute name="Implementation-Title"
value="${project.name}-${module.name}"/>
<attribute name="Implementation-Version" value="${version}"/>
<attribute name="${project.name}-Version" value="${version}"/>
</manifest>
</jar>
</target>
<!-- ===================================================================
- dist - create distribution war (which will be used for deployment)
- =================================================================== -->
<target name="dist" depends="compile,jar" description="Creates the sample Spring application .war">
<property name="webstart.lib.dir" value="${build.dir}/webstart"/>
<mkdir dir="${webstart.lib.dir}"/>
<copy todir="${webstart.lib.dir}" preservelastmodified="true" flatten="true">
<fileset dir="${dist.dir}" includes="jsecurity-spring-sample.jar"/>
<fileset dir="${root.base.dir}" includes="**/jsecurity.jar"/>
<fileset dir="${lib.dir}/samples" includes="spring.jar"/>
<fileset dir="${lib.dir}/samples" includes="commons-*.jar"/>
</copy>
<signjar keystore="${etc.dir}/jsecurity-sample.jks"
alias="jsecurity"
keypass="jsecurity"
storepass="jsecurity">
<fileset dir="${webstart.lib.dir}" includes="*.jar"/>
</signjar>
<war warfile="${dist.war}" webxml="webroot/WEB-INF/web.xml">
<lib dir="${lib.dir}/samples" includes="*.jar" excludes="servlet-api.jar"/>
<lib dir="${root.dist.dir}" includes="jsecurity.jar"/>
<webinf dir="${basedir}" includes="resources/**"/>
<fileset dir="webroot" includes="**" excludes="**/web.xml"/>
<lib dir="${dist.dir}" includes="*.jar"/>
<!-- Jar for webstart application -->
<fileset dir="${webstart.lib.dir}" includes="*.jar"/>
</war>
</target>
<target name="quick-deploy" description="Blindly deploys the sample Spring .war to Tomcat">
<echo>Deploying application to Tomcat...</echo>
<unzip src="${dist.war}" dest="${env.CATALINA_HOME}/webapps/${project.name}-${module.name}"/>
<touch file="${env.CATALINA_HOME}/webapps/${project.name}-${module.name}/WEB-INF/web.xml"/>
</target>
<target name="deploy" depends="dist,quick-deploy"
description="Creates and deploys the sample Spring .war to Tomcat"/>
</project>