blob: d851b0cecbb57be4342f66ae07486ddedd255835 [file] [log] [blame]
<?xml version="1.0"?>
<project name="Web Services Security (WSS4J)" default="usage" basedir=".">
<!-- ================================================================== -->
<description>
Build file for WSS4J
This file is intended for ANT, a Java based build tool.
ANT is available from http://jakarta.apache.org/ant/index.html
Prerequisites:
See the README file
Build Instructions:
To build, run
ant "target"
on the directory where this file is located with the target you want.
</description>
<target name="init">
<property name='product.Name' value='Apache-WS-Security-J'/>
<property name='product.name' value='wss4j'/>
<property name='product.shortname' value='wss4j'/>
<property name='product.version.major' value='1'/>
<property name='product.version.minor' value='5'/>
<property name='product.version.level' value='6'/>
<property name='product.version.qualifier' value=''/>
<property name='product.version' value='${product.version.major}.${product.version.minor}.${product.version.level}${product.version.qualifier}'/>
<property name="year" value="2008"/>
<property name="copyright" value="Copyright &#169; ${year} Apache WSS4J Project. All Rights Reserved."/>
<!-- Give user a chance to override without editing this file
(and without typing -D each time it compiles it) -->
<property file="./build.properties"/>
<property file="${user.home}/build.properties"/>
<!-- Place Holder for proxy settings -->
<property name="http.proxyHost" value=""/>
<property name="http.proxyPort" value=""/>
<property name="http.nonProxyHosts" value="localhost"/>
<property name="http.proxyUser" value=""/>
<property name="http.proxyPassword" value=""/>
<property name="dir.doc" value="./doc"/>
<property name="dir.dist" value="./dist"/>
<property name="dir.libs" value="./lib"/>
<property name="dir.endorsed.libs" value="./endorsed"/>
<property name="dir.src" value="./src"/>
<property name="dir.samples" value="./samples"/>
<property name="dir.test" value="./test"/>
<property name="dir.keys" value="./keys"/>
<property name="dir.specs" value="./specs"/>
<property name="dir.interop" value="./interop"/>
<property name="dir.webapp" location="./webapps/axis" />
<property name="build.dir" value="./build"/>
<property name="build.classes" value="${build.dir}/classes"/>
<property name="build.work" value="${build.dir}/work"/>
<property name="build.webapp" location="${build.dir}/webapps/axis"/>
<property name="jar.library" value="${product.shortname}-${product.version}.jar"/>
<property name="build.doc" value="${build.dir}/doc"/>
<property name="build.doc.xml" value="${build.doc}/xml"/>
<property name="build.doc.html" value="${build.doc}/html"/>
<property name="build.javadoc" value="${build.doc.html}/api"/>
<property name="build.junit.xml" value="${build.doc.xml}/junit"/>
<property name="build.junit.html" value="${build.doc.html}/junit"/>
<condition property="jdk13.present">
<equals arg1="${ant.java.version}" arg2="1.3"/>
</condition>
<condition property="jdk14.present">
<equals arg1="${ant.java.version}" arg2="1.4"/>
</condition>
<condition property="jdk15.present">
<equals arg1="${ant.java.version}" arg2="1.5"/>
</condition>
<condition property="merlin.ok">
<or>
<equals arg1="${ant.java.version}" arg2="1.4"/>
<equals arg1="${ant.java.version}" arg2="1.5"/>
</or>
</condition>
<!--
for the time being following path id uses the libs in the wss4j
lib directory only This is done to test if we really don't need
any axis libs. After this is done we can include the
java.class.path and leave the wss4j/lib empty. This requires that
the CLASSPATH includes all required packages (see above
-->
<path id="classpath.libraries" description="3rd party libs">
<fileset dir="${dir.libs}">
<include name="**/*.jar"/>
<exclude name="**/bcprov-jdk15-*.jar" unless="jdk15.present"/>
<exclude name="**/bcprov-jdk13-*.jar" if="jdk15.present" />
<!-- <pathelement path="${java.class.path}"/> -->
</fileset>
<fileset dir="${dir.endorsed.libs}">
<include name="**/*.jar"/>
<!-- <pathelement path="${java.class.path}"/> -->
</fileset>
</path>
<path id="classpath.wss4j" description="wss4j classes; first try pure class files, then jars">
<pathelement path="${build.classes}"/>
<pathelement path="${build.dir}/${jar.library}"/>
</path>
<path id="classpath.library">
<path refid="classpath.wss4j"/>
<path refid="classpath.libraries"/>
</path>
<taskdef resource="axis-tasks.properties" classpathref=
"classpath.library"/>
<taskdef name="runaxisfunctionaltests" classname=
"org.apache.axis.tools.ant.axis.RunAxisFunctionalTestsTask"
loaderref="axis">
<classpath refid="classpath.library"/>
</taskdef>
<!-- this shall include Axis jars because the tests use the
Axis implementation of javax.xml.soap, etc. Therefore the
CLASSPATH is included.
-->
<path id="classpath.test">
<!-- classpath for test is librarypath plus junit -->
<path refid="classpath.library"/>
<!-- <pathelement path="${java.class.path}"/> -->
</path>
<path id="classpath.test.jar">
<!-- classpath for test is librarypath plus junit -->
<path refid="classpath.library"/>
<pathelement path="${build.dir}/${jar.library}"/>
<pathelement path="${build.dir}/${jar.tests}"/>
</path>
<patternset id="distFiles">
<include name="build.xml"/>
<include name="LICENSE.txt"/>
</patternset>
<patternset id="srcFiles">
<!-- for some strange reasons, I can't use ${src} but must use src -->
<include name="src/**/*"/>
</patternset>
<patternset id="srcSamplesFiles">
<include name="samples/**/*"/>
</patternset>
<patternset id="srcUnitTestsFiles">
<include name="test/**/*"/>
</patternset>
<patternset id="srcInteropFiles">
<include name="interop/**/*"/>
</patternset>
<property name="javadoc.packages"
value="
org.apache.ws.security,
org.apache.ws.security.components,
org.apache.ws.security.components.crypto,
org.apache.ws.security.message,
org.apache.ws.security.message.token,
org.apache.ws.security.util,
org.apache.ws.axis,
org.apache.ws.axis.security,
org.apache.ws.axis.security.util
"/>
<echo level="debug">
-------------------------------------------------------------------
${product.Name} v${product.version} [${year}]
-------------------------------------------------------------------
Building with ${ant.version}
using build file ${ant.file}
Java ${java.version} located at ${java.home}
-------------------------------------------------------------------
--- Property values ---
sun.boot.class.path=${sun.boot.class.path}
</echo>
<pathconvert targetos="windows" property="classpath.test.as.string"
refid="classpath.test"/>
<echo level="debug">
classpath.test: ${classpath.test.as.string}
</echo>
</target>
<target name="usage" depends="init">
<echo>
Build instructions
-------------------------------------------------------------------
available targets are:
compile --> compiles everything
compile.library --> compiles the source code
compile.samples --> compiles the samples source code
compile.tests --> compiles the tests source code
compile.interops--> compiles the interop source code
javadoc --> generates the API documentation
(needs Java > 1.2)
test --> runs the defined JUnit tests
report --> generates html report of test results
clean --> cleans up all generated files and
directories
jar --> creates the JAR file
gump --> includes javadoc, compile jar and test
usage --> provides help on using the build tool
(default)
changelog --> generates changelog.html
See comments inside the build.xml file for more details.
-------------------------------------------------------------------
</echo>
</target>
<target name="clean" depends="init"
description="Clean up all temporary build files">
<delete dir="${build.dir}"/>
<delete>
<fileset dir="." includes="before*.xml"/>
<fileset dir="." includes="after*.xml"/>
<fileset dir="." includes="signed*.xml"/>
<fileset dir="." includes="server*.wsdd"/>
<fileset dir="." includes="client*.wsdd"/>
</delete>
<delete dir="${dir.dist}"/>
</target>
<target name="prepare" depends="init"
description="This target generates a first build directory and checks for some libraries">
<tstamp/>
<mkdir dir="${build.dir}"/>
<!--<delete dir="${build.dir}/test-reports"/> -->
<mkdir dir="${build.dir}/test-reports"/>
<available property="junit.present"
classname="junit.framework.TestCase">
<!-- check whether JUnit is available -->
<classpath refid="classpath.test"/>
</available>
<available property="bc.present" classname="org.bouncycastle.jce.provider.BouncyCastleProvider">
<!-- check whether BouncyCastle is available -->
<classpath refid="classpath.test"/>
</available>
<echo level="debug">
--- Flags (Note: If the {property name} is displayed,
then the component is not present)
jdk13.present=${jdk13.present}
jdk14.present=${jdk14.present}
jdk15.present=${jdk15.present}
bc.present=${bc.present}
</echo>
</target>
<!-- ################################################################## -->
<!-- ################################################################## -->
<!-- ################################################################## -->
<!-- ################################################################## -->
<!-- ################################################################## -->
<target name="prepare-src" depends="prepare"
description="This target copies the Java sources and brands the version information">
<!-- create directories -->
<mkdir dir="${build.classes}"/>
<copy todir="${build.classes}">
<fileset dir="${dir.src}">
<include name="META-INF/*"/>
</fileset>
</copy>
</target>
<target name="javadoc"
depends="prepare-src"
description="Generates javadoc from all .java files; this is done on the 'branded' files">
<mkdir dir="${build.doc}"/>
<mkdir dir="${build.doc.html}"/>
<mkdir dir="${build.javadoc}"/>
<javadoc destdir="${build.javadoc}"
packagenames="${javadoc.packages}"
classpathref="classpath.test">
<!-- additionalparam="-breakiterator"-->
<sourcepath>
<pathelement location="${dir.src}"/>
<pathelement location="${dir.test}"/>
<pathelement location="${dir.samples}"/>
<pathelement location="${dir.interop}"/>
</sourcepath>
</javadoc>
</target>
<!-- ################################################################## -->
<!-- Aliases -->
<target name="javadocs" depends="javadoc"/>
<target name="jars" depends="jar"/>
<!-- Collections -->
<target name="gump"
depends="clean,javadoc,compile,test"
description="Target for the gump run"/>
<target name="compile"
depends="compile.library,compile.samples, compile.tests,
compile.interops, fix.properties"
description="compile everything"/>
<target name="test"
depends="unitTests, systemTests"
description="tests everything"/>
<!-- ################################################################## -->
<target name="fix.properties" if="jdk13.present">
<replace dir="${build.dir}" value="org.apache.ws.security.components.crypto.BouncyCastle">
<include name="**/*.properties"/>
<replacetoken>org.apache.ws.security.components.crypto.Merlin</replacetoken>
</replace>
</target>
<target name="compile.library" depends="prepare-src">
<!-- Compile the java code from ${dir.src} into ${build.classes} -->
<javac srcdir="${dir.src}" destdir="${build.classes}" debug="on" source="1.3" target="1.3">
<classpath refid="classpath.library"/>
<exclude name="**/Merlin.java" unless="merlin.ok"/>
<exclude name="**/sandbox/**/*.java" if="jdk13.present" />
</javac>
<!-- Copy Property files -->
<copy todir="${build.classes}">
<fileset dir="${dir.src}">
<include name="**/*.properties"/>
<exclude name="**/axis/**/*.properties"/>
</fileset>
</copy>
</target>
<target name="compile.tests"
depends="compile.interops"
if="junit.present">
<javac srcdir="${dir.test}" destdir="${build.classes}" debug="on" source="1.3" target="1.3">
<classpath refid="classpath.test"/>
<!-- <exclude name="**/secconv/**/*.java"/> -->
</javac>
<mkdir dir="${build.work}"/>
<javac srcdir="${build.work}" destdir="${build.classes}" debug="on" source="1.3" target="1.3">
<classpath refid="classpath.test"/>
</javac>
<!-- Copy Property files -->
<copy todir="${build.classes}">
<fileset dir="${dir.test}" includes="**/*.properties"/>
<fileset dir="${dir.interop}">
<include name="**/*.properties"/>
</fileset>
</copy>
</target>
<target name="compile.samples"
depends="compile.library">
<!-- Compile the java code from ${dir.src} into ${build.classes} -->
<javac srcdir="${dir.samples}"
debug="on"
source="1.4"
destdir="${build.classes}" target="1.4">
<classpath refid="classpath.library"/>
</javac>
<copy todir="${build.classes}">
<fileset dir="${dir.src}" includes="**/axis/**/*.properties"/>
</copy>
</target>
<target name="compile.interops"
depends="compile.library">
<ant dir="${dir.interop}"
antfile="build.xml"
target="compile"
inheritAll="false">
</ant>
</target>
<target name="systemTests" unless="skip.tests" depends="compile"
if="junit.present"
description="Runs all JUnit tests">
<runaxisfunctionaltests
url="http://localhost:8088"
httpServerTarget="start-functional-test-http-server"
testTarget="allTests"
httpStopTarget="stop-functional-test-http-server"/>
</target>
<target name="start-functional-test-http-server" if="junit.present">
<echo message="Starting http server."/>
<java classname="org.apache.axis.transport.http.SimpleAxisServer"
fork="yes" dir="${build.dir}">
<jvmarg value="-Djava.endorsed.dirs=${basedir}/endorsed"/>
<classpath refid="classpath.library"/>
</java>
</target>
<target name="stop-functional-test-http-server" if="junit.present">
<echo message="Stopping http server."/>
<java classname="org.apache.axis.client.AdminClient" fork="yes">
<classpath refid="classpath.library"/>
<arg line="quit"/>
</java>
</target>
<target name="allTests" depends="interopTests">
</target>
<target name="interopTests" depends="init">
<echo message="Running system tests - BEGIN..."/>
<path id="undeploy_xml_files">
<fileset dir="${build.work}">
<include name="**/undeploy.wsdd"/>
</fileset>
</path>
<property name="undeploy_xml_property" refid="undeploy_xml_files"/>
<antcall target="deployWSDD" />
<junit printsummary="yes"
haltonfailure="yes"
fork="yes"
dir="${basedir}">
<jvmarg value="-Djava.endorsed.dirs=${basedir}/endorsed"/>
<jvmarg value="-Dhttp.proxyHost=${http.proxyHost}"/>
<jvmarg value="-Dhttp.proxyPort=${http.proxyPort}"/>
<jvmarg value="-Dhttp.nonProxyHosts=${http.nonProxyHosts}"/>
<jvmarg value="-Dhttp.proxyUser=${http.proxyUser}"/>
<jvmarg value="-Dhttp.proxyPassword=${http.proxyPassword}"/>
<classpath refid="classpath.test"/>
<formatter type="xml"/>
<batchtest todir="${build.dir}/test-reports">
<fileset dir="${build.classes}">
<include name="**/interop/PackageTests.class"/>
</fileset>
</batchtest>
</junit>
<java classname="org.apache.axis.utils.Admin" fork="true">
<classpath refid="classpath.library"/>
<arg value="client"/>
<arg file=
"${build.work}/org/apache/ws/axis/oasis/ping/undeploy.wsdd"/>
</java>
<junit printsummary="yes"
haltonfailure="yes"
fork="yes"
dir="${basedir}">
<jvmarg value="-Djava.endorsed.dirs=${basedir}/endorsed"/>
<jvmarg value="-Dhttp.proxyHost=${http.proxyHost}"/>
<jvmarg value="-Dhttp.proxyPort=${http.proxyPort}"/>
<jvmarg value="-Dhttp.nonProxyHosts=${http.nonProxyHosts}"/>
<jvmarg value="-Dhttp.proxyUser=${http.proxyUser}"/>
<jvmarg value="-Dhttp.proxyPassword=${http.proxyPassword}"/>
<classpath refid="classpath.test"/>
<formatter type="xml"/>
<batchtest todir="${build.dir}/test-reports">
<fileset dir="${build.classes}">
<include name="**/interop/TestJAXRPCHandler.class"/>
</fileset>
</batchtest>
</junit>
<java classname="org.apache.axis.client.AdminClient" fork="yes">
<classpath refid="classpath.library"/>
<arg line="${undeploy_xml_property}"/>
</java>
<echo message="Running system tests - END..."/>
</target>
<target name="unitTests" unless="skip.tests" depends="compile">
<junit printsummary="yes"
haltonfailure="yes"
fork="yes"
dir="${basedir}">
<!-- See if this helps with Gump test failures -->
<sysproperty key="build.clonevm" value="true"/>
<jvmarg value="-Djava.endorsed.dirs=${basedir}/endorsed"/>
<jvmarg value="-Dhttp.proxyHost=${http.proxyHost}"/>
<jvmarg value="-Dhttp.proxyPort=${http.proxyPort}"/>
<jvmarg value="-Dhttp.nonProxyHosts=${http.nonProxyHosts}"/>
<jvmarg value="-Dhttp.proxyUser=${http.proxyUser}"/>
<jvmarg value="-Dhttp.proxyPassword=${http.proxyPassword}"/>
<classpath refid="classpath.test"/>
<formatter type="xml"/>
<batchtest todir="${build.dir}/test-reports">
<fileset dir="${build.classes}">
<include name="**/wssec/PackageTests.class"/>
<include name="**/components/PackageTests.class"/>
<!--<include name="**/secconv/components/PackageTests.class"/> -->
</fileset>
</batchtest>
</junit>
</target>
<target name="sandboxTests" depends="compile">
<java classname="org.apache.axis.client.AdminClient" fork="yes">
<classpath refid="classpath.library"/>
<arg line="${dir.samples}/org/apache/ws/sandbox/security/trust2/samples/deploy.wsdd"/>
</java>
<junit printsummary="yes"
haltonfailure="yes"
fork="yes"
dir="${basedir}">
<!-- See if this helps with Gump test failures -->
<sysproperty key="build.clonevm" value="true"/>
<jvmarg value="-Djava.endorsed.dirs=${basedir}/endorsed"/>
<jvmarg value="-Dhttp.proxyHost=${http.proxyHost}"/>
<jvmarg value="-Dhttp.proxyPort=${http.proxyPort}"/>
<jvmarg value="-Dhttp.nonProxyHosts=${http.nonProxyHosts}"/>
<jvmarg value="-Dhttp.proxyUser=${http.proxyUser}"/>
<jvmarg value="-Dhttp.proxyPassword=${http.proxyPassword}"/>
<classpath refid="classpath.test"/>
<formatter type="xml"/>
<batchtest todir="${build.dir}/test-reports">
<fileset dir="${build.classes}">
<include name="**/sandbox/PackageTests.class"/>
</fileset>
</batchtest>
</junit>
<java classname="org.apache.axis.client.AdminClient" fork="yes">
<classpath refid="classpath.library"/>
<arg line="${dir.samples}/org/apache/ws/sandbox/security/trust2/samples/undeploy.wsdd"/>
</java>
</target>
<target name="tcpmon" depends="init" description=
"Start standalone tcp monitor application (provided by axis)">
<java dir="${basedir}" fork="yes" failOnError="true"
className="org.apache.axis.utils.tcpmon">
<classpath refid="classpath.library" />
<arg value="9080" />
<arg value="localhost" />
<arg value="8080" />
</java>
</target>
<!--
This runs the selected scenario with SimpleAxisServer locally.
Before you start this target be sure you have started tcpmon too
in a separate
"ant tcpmon" call.
To run different scenarios use: "ant -DNumber=x scenarioTest"
to run scenario x
-->
<target name="scenarioTest" depends="compile"
if="junit.present"
description="Runs all JUnit tests">
<runaxisfunctionaltests
url="http://localhost:8088"
httpServerTarget="start-functional-test-http-server"
testTarget="scenario"
httpStopTarget="stop-functional-test-http-server"/>
</target>
<target name="scenario" if="junit.present">
<echo message=
"Running interop test scenario ${Number} on SimpleAxisServer"/>
<antcall target="deployWSDD" />
<java classname="interop.TestScenario${Number}" fork="yes"
dir="${basedir}">
<jvmarg value="-Djava.endorsed.dirs=${basedir}/endorsed"/>
<classpath refid="classpath.library"/>
</java>
<antcall target="undeployWSDD" />
</target>
<!--
This runs the selected scenario with SimpleAxisServer locally
with perfomance
timing switched on.
You may also emable the **.TIME entry in log4j.properties to get
the internal
timing.
To run different scenarios use: "ant -DNumber=x scenarioTest"
to run scenario x
-->
<target name="performanceTest" depends="compile"
if="junit.present"
description="Runs all JUnit tests">
<runaxisfunctionaltests
url="http://localhost:8088"
httpServerTarget="start-functional-test-http-server"
testTarget="performance"
httpStopTarget="stop-functional-test-http-server"/>
</target>
<target name="performance" if="junit.present">
<echo message=
"Running performance test scenario ${Number} on SimpleAxisServer"/>
<antcall target="deployWSDD" />
<java classname="interop.TestScenario${Number}" fork="yes"
dir="${basedir}">
<jvmarg value="-Djava.endorsed.dirs=${basedir}/endorsed"/>
<arg value="-lhttp://localhost:8080/axis/services/Ping${Number}" />
<arg value="-t" />
<classpath refid="classpath.library"/>
</java>
<antcall target="undeployWSDD" />
</target>
<target name="deployWSDD">
<path id="deploy_xml_files">
<fileset dir="${build.work}">
<include name="**/deploy.wsdd"/>
</fileset>
</path>
<copy todir="${build.dir}/keys">
<fileset dir="${dir.keys}" includes="**"/>
</copy>
<copy todir="${build.dir}/interop">
<fileset dir="${dir.interop}" includes="*.jks"/>
</copy>
<property name="deploy_xml_property" refid="deploy_xml_files"/>
<java classname="org.apache.axis.utils.Admin" fork="true">
<classpath refid="classpath.library"/>
<arg value="client"/>
<arg file="${build.work}/org/apache/ws/axis/oasis/Client_deploy.wsdd"/>
</java>
<java classname="org.apache.axis.client.AdminClient" fork="yes">
<classpath refid="classpath.library"/>
<arg line="${deploy_xml_property}"/>
</java>
</target>
<target name="undeployWSDD">
<path id="undeploy_xml_files">
<fileset dir="${build.work}">
<include name="**/undeploy.wsdd"/>
</fileset>
</path>
<property name="undeploy_xml_property" refid="undeploy_xml_files"/>
<java classname="org.apache.axis.utils.Admin" fork="true">
<classpath refid="classpath.library"/>
<arg value="client"/>
<arg file=
"${build.work}/org/apache/ws/axis/oasis/ping/undeploy.wsdd"/>
</java>
<java classname="org.apache.axis.client.AdminClient" fork="yes">
<classpath refid="classpath.library"/>
<arg line="${undeploy_xml_property}"/>
</java>
</target>
<!-- generate a report from all the tests.
requires Xalan or other XSLT engine in ant\lib-->
<target name="report" depends="init">
<junitreport todir="${build.dir}/test-reports">
<fileset dir="${build.dir}/test-reports">
<include name="TEST-*.xml"/>
</fileset>
<report format="frames" todir="${build.dir}/test-reports/html"/>
</junitreport>
<echo message=
"point your browser to ${build.dir}/test-reports/html/index.html"/>
</target>
<target name="jar"
depends="compile, test"
description="Creates the ${jar.library}">
<jar jarfile="${build.dir}/${jar.library}"
basedir="${build.classes}"
includes="**/*, *.txt"
excludes="components/**, *.properties, **/sandbox/**, wssec/**, **/interop/**, **/oasis/**, **/samples/**"
/>
</target>
<target name="dist" depends="bindist, otherdist, srcdist"/>
<target name="bindist" depends="gump"
description="Build zip file for distro">
<delete dir="${dir.dist}"/>
<mkdir dir="${dir.dist}"/>
<jar jarfile="${dir.dist}/${jar.library}"
basedir="${build.classes}"
includes="**/apache/**/security/**, META-INF/**" />
<zip destfile=
"${dir.dist}/${product.shortname}-bin-${product.version}.zip">
<zipfileset prefix="wss4j" dir="."
includes="keys/**, interop/**, interop2/**, test/**, samples/**,
ChangeLog.txt, LICENSE.txt, README.txt, NOTICE, legal/**, webapps/**"/>
<zipfileset prefix="wss4j/classes" dir="${build.classes}"
includes=
"*.properties, interop/**, wssec/**, org/**/oasis/**, org/**/samples/**"/>
<zipfileset prefix="wss4j/doc/api" dir="${build.javadoc}"/>
<zipfileset fullpath="wss4j/${jar.library}" dir="${dir.dist}"
includes="${jar.library}"/>
</zip>
</target>
<target name="otherdist" depends="init"
description="Build zip for required jars">
<mkdir dir="${dir.dist}"/>
<zip destfile=
"${dir.dist}/${product.shortname}-otherjars-${product.version}.zip">
<zipfileset prefix="wss4j" dir="."
includes="lib/*.jar, endorsed/*.jar legal/**"/>
</zip>
</target>
<target name="srcdist" depends="init" description=
"Build source zip file for distro">
<mkdir dir="${dir.dist}"/>
<zip destfile=
"${dir.dist}/${product.shortname}-src-${product.version}.zip">
<zipfileset prefix="wss4j" dir="."
includes="src/** ChangeLog.txt LICENSE.txt README.txt NOTICE legal/** build.xml "/>
</zip>
</target>
<target name="fixcrlf"
description="Fixes CRLF">
<fixcrlf srcdir="."
eol="crlf"
includes="**/*.java"
/>
<fixcrlf srcdir="."
eol="crlf"
includes="**/*.properties"
/>
</target>
<target name="changelog"
depends="prepare"
description="Generate the changelog for WSS4J project">
<cvschangelog dir="."
destfile="${build.dir}/changelog.xml"
/>
<style in="${build.dir}/changelog.xml"
out="${build.dir}/changelog.html"
style="./tools/changelog.xsl">
<param name="title" expression="WSS4J ChangeLog"/>
<param name="module" expression="ws-wss4j"/>
<param name="cvsweb" expression="http://cvs.apache.org/viewcvs/"/>
</style>
</target>
<!-- =================================================================== -->
<!-- Creates a war file for interop testing -->
<!-- =================================================================== -->
<target name="interop-war" depends="test"
description="Create the web application" >
<mkdir dir="${build.webapp}"/>
<copy todir="${build.webapp}">
<fileset dir="${dir.webapp}"/>
</copy>
<copy todir="${build.webapp}/WEB-INF/lib">
<fileset dir="${dir.libs}">
<include name="*.jar"/>
</fileset>
<fileset dir="${basedir}/endorsed">
<include name="*.jar"/>
</fileset>
</copy>
<copy todir="${build.webapp}/WEB-INF">
<fileset dir="${build.dir}">
<include name="*.wsdd"/>
</fileset>
</copy>
<copy todir="${build.webapp}/WEB-INF/classes/">
<fileset dir="${build.classes}"/>
</copy>
<copy todir="${build.webapp}/WEB-INF/classes/">
<fileset dir=".">
<include name="client-config.wsdd"/>
</fileset>
</copy>
<copy todir="${build.webapp}/WEB-INF/classes/interop">
<fileset dir="${dir.interop}">
<include name="**/interop2.jks"/>
</fileset>
</copy>
<delete>
<fileset dir="${build.webapp}" includes="**/CVS"/>
</delete>
<path id="deploy_xml_files">
<fileset dir="${build.work}">
<include name="**/deploy.wsdd"/>
</fileset>
</path>
<property name="deploy_xml_property" refid="deploy_xml_files"/>
<java classname="org.apache.axis.utils.Admin" fork="true"
dir="${build.webapp}/WEB-INF/classes">
<classpath refid="classpath.library"/>
<arg value="client"/>
<arg file="${build.work}/org/apache/ws/axis/oasis/Client_deploy.wsdd"/>
</java>
<java classname="org.apache.axis.utils.Admin" fork="yes"
dir="${build.webapp}/WEB-INF">
<classpath refid="classpath.library"/>
<arg line="server"/>
<arg line="${deploy_xml_property}"/>
</java>
<jar jarfile="${build.dir}/wss4j.war" basedir="${build.webapp}"/>
</target>
</project>