git-svn-id: http://webgoat.googlecode.com/svn/trunk@471 4033779f-a91e-0410-96ef-6bf7bf53c507
293 lines
13 KiB
XML
293 lines
13 KiB
XML
<!-- A "project" describes a set of targets that may be requested
|
|
when Ant is executed. The "default" attribute defines the
|
|
target which is executed if no specific target is requested,
|
|
and the "basedir" attribute defines the current working directory
|
|
from which Ant executes the requested task. This is normally
|
|
set to the current working directory.
|
|
-->
|
|
|
|
<project name="WebGoat" xmlns:artifact="antlib:org.apache.maven.artifact.ant" default="Build_ALL_OWASP_Releases" basedir=".">
|
|
|
|
<!-- ===================== Property Definitions =========================== -->
|
|
|
|
<!--
|
|
Each of the following properties are used in the build script.
|
|
Values for these properties are set by the first place they are
|
|
defined, from the following list:
|
|
|
|
* Definitions on the "ant" command line (ant -Dfoo=bar compile).
|
|
* Definitions from a "build.properties" file in the top level
|
|
source directory of this application.
|
|
* Definitions from a "build.properties" file in the developer's
|
|
home directory.
|
|
* Default definitions in this build.xml file.
|
|
You will note below that property values can be composed based on the
|
|
contents of previously defined properties. This is a powerful technique
|
|
that helps you minimize the number of changes required when your development
|
|
environment is modified. Note that property composition is allowed within
|
|
"build.properties" files as well as in the "build.xml" script.
|
|
-->
|
|
|
|
<property file="build.properties"/>
|
|
<property file="${user.home}/build.properties"/>
|
|
|
|
<!-- ==================== File and Directory Names ======================== -->
|
|
|
|
<!--
|
|
These properties generally define file and directory names (or paths) that
|
|
affect where the build process stores its outputs.
|
|
|
|
build.home The directory into which the "prepare" and
|
|
"compile" targets will generate their output.
|
|
Defaults to "build".
|
|
|
|
catalina.home The directory in which you have installed
|
|
a binary distribution of Tomcat 4. This will
|
|
be used by the "deploy" target.
|
|
|
|
dist.home The name of the base directory in which
|
|
distribution files are created.
|
|
Defaults to "dist".
|
|
|
|
install.home The absolute path of the directory into which
|
|
the installer will copy its files. The Eclipse
|
|
project is bound to this path.
|
|
-->
|
|
|
|
<property name="app.home" value="${basedir}"/>
|
|
<property name="app.name" value="WebGoat"/> <!-- MUST BE CONSISTENT WITH src/main/build.xml! -->
|
|
<property name="app.version" value="5.4"/> <!-- MUST BE CONSISTENT WITH src/main/build.xml! -->
|
|
<property name="dist.home" value="${app.home}/dist"/>
|
|
<property name="dist.owasp" value="${app.home}/owasp_distributions"/>
|
|
<property name="install.home" value="WebGoat-${app.version}"/>
|
|
<property name="maven.war" value="${basedir}/target/WebGoat-5.4-SNAPSHOT.war"/> <!-- UPDATE THIS! -->
|
|
<property name="maven.target" value="${basedir}/target/WebGoat-5.4-SNAPSHOT"/> <!-- UPDATE THIS! -->
|
|
<property name="maven.home" value="C:/Program Files (x86)/apache/apache-maven-3.0.3"/> <!-- UPDATE THIS! -->
|
|
<property name="java32.home" value="C:/Program Files (x86)/Java/jre7"/> <!-- UPDATE THIS! -->
|
|
<property name="java32.ubuntu.home" value="C:/RTC/WebGoat/ubuntu_openjava_6_32"/> <!-- UPDATE THIS! -->
|
|
<property name="java64.home" value="C:/Program Files/Java/jdk1.6.0_26"/> <!-- UPDATE THIS! -->
|
|
<property name="tomcat32.home" value="C:/RTC/WebGoat/apache-tomcat-7.0.27-x86/"/> <!-- UPDATE THIS! -->
|
|
<property name="tomcat64.home" value="C:/RTC/WebGoat/apache-tomcat-7.0.27"/> <!-- UPDATE THIS! -->
|
|
<property name="tomcat32.ubuntu.home" value="C:/RTC/WebGoat/ubuntu_tomcat_7_32"/> <!-- UPDATE THIS! -->
|
|
|
|
|
|
<!-- ==================== Clean Target ==================================== -->
|
|
|
|
<!--
|
|
The "clean" target deletes any previous "build" and "dist" directory,
|
|
so that you can be ensured the application can be built from scratch.
|
|
-->
|
|
|
|
<target name="cleanwin32"
|
|
description="Delete old build and dist directories">
|
|
<delete dir="${dist.home}"/>
|
|
<delete dir="${tomcat32.home}/logs"/>
|
|
<delete dir="${tomcat32.home}/work/Catalina/localhost"/>
|
|
<delete dir="${tomcat32.home}/webapps/${app.name}"/>
|
|
<delete file="${tomcat32.home}/webapps/${app.name}.war"/>
|
|
<delete dir="${tomcat32.home}/server/webapps/${app.name}"/>
|
|
<mkdir dir="${dist.home}"/>
|
|
<mkdir dir="${tomcat32.home}/logs"/>
|
|
</target>
|
|
<target name="cleanwin64"
|
|
description="Delete old build and dist directories">
|
|
<delete dir="${dist.home}"/>
|
|
<delete dir="${tomcat64.home}/logs"/>
|
|
<delete dir="${tomcat64.home}/work/Catalina/localhost"/>
|
|
<delete dir="${tomcat64.home}/webapps/${app.name}"/>
|
|
<delete file="${tomcat64.home}/webapps/${app.name}.war"/>
|
|
<delete dir="${tomcat64.home}/server/webapps/${app.name}"/>
|
|
<mkdir dir="${dist.home}"/>
|
|
<mkdir dir="${tomcat64.home}/logs"/>
|
|
</target>
|
|
<target name="cleanubuntu32"
|
|
description="Delete old build and dist directories">
|
|
<delete dir="${dist.home}"/>
|
|
<delete dir="${tomcat32.ubuntu.home}/logs"/>
|
|
<delete dir="${tomcat32.ubuntu.home}/work/Catalina/localhost"/>
|
|
<delete dir="${tomcat32.ubuntu.home}/webapps/${app.name}"/>
|
|
<delete file="${tomcat32.ubuntu.home}/webapps/${app.name}.war"/>
|
|
<delete dir="${tomcat32.ubuntu.home}/server/webapps/${app.name}"/>
|
|
<mkdir dir="${dist.home}"/>
|
|
<mkdir dir="${tomcat32.ubuntu.home}/logs"/>
|
|
</target>
|
|
|
|
<target name="clean_dist"
|
|
description="Delete old build, dist directories and zips">
|
|
<delete dir="${dist.home}"/>
|
|
<delete dir="${dist.owasp}"/>
|
|
<mkdir dir="${dist.home}"/>
|
|
<mkdir dir="${dist.owasp}"/>
|
|
</target>
|
|
|
|
|
|
<!-- ==================== Dist Target ===================================== -->
|
|
|
|
<!--
|
|
The "dist" target creates a binary distribution of your application
|
|
in a directory structure ready to be archived in a tar.gz or zip file.
|
|
Note that this target depends on two others:
|
|
|
|
* "compile" so that the entire web application (including external
|
|
dependencies) will have been assembled
|
|
-->
|
|
|
|
<target name="DeployWarWin32"
|
|
description="Copy existing war to Tomcat - Does not rebuild">
|
|
|
|
<!-- Install war to Tomcat -->
|
|
<delete dir="${tomcat32.home}/webapps/${app.name}"/>
|
|
<delete file="${tomcat32.home}/webapps/${app.name}.war"/>
|
|
<copy file="${maven.war}" tofile="${tomcat32.home}/webapps/${app.name}.war"/>
|
|
|
|
</target>
|
|
<target name="DeployWarWin64"
|
|
description="Copy existing war to Tomcat - Does not rebuild">
|
|
|
|
<!-- Install war to Tomcat -->
|
|
<delete dir="${tomcat64.home}/webapps/${app.name}"/>
|
|
<delete file="${tomcat64.home}/webapps/${app.name}.war"/>
|
|
<copy file="${maven.war}" tofile="${tomcat64.home}/webapps/${app.name}.war"/>
|
|
|
|
</target>
|
|
<target name="DeployWarUbuntu32"
|
|
description="Copy existing war to Tomcat - Does not rebuild">
|
|
|
|
<!-- Install war to Tomcat -->
|
|
<delete dir="${tomcat32.ubuntu.home}/webapps/${app.name}"/>
|
|
<delete file="${tomcat32.ubuntu.home}/webapps/${app.name}.war"/>
|
|
<copy file="${maven.war}" tofile="${tomcat32.ubuntu.home}/webapps/${app.name}.war"/>
|
|
|
|
</target>
|
|
|
|
|
|
<!-- Build J2EE Lab Environment release -->
|
|
<target name="Build_DeveloperLab_Release_FIXME" depends="cleanwin32"
|
|
description="Builds J2EE Developer Course release">
|
|
|
|
<!-- Build the WebGoat WAR with the desired properties file -->
|
|
<ant dir="${app.home}" inheritAll="false">
|
|
<target name="WebGoatPropertiesOWASP"/>
|
|
<target name="BuildWar"/>
|
|
</ant>
|
|
|
|
<antcall target="DeployWar"> </antcall>
|
|
|
|
<!-- Build the CD image -->
|
|
<zip destfile="${dist.home}/${ant.project.name}-DeveloperLab-${app.version}.zip">
|
|
<zipfileset dir="." prefix="${install.home}"
|
|
includes="eclipse/, java/, project/, FirefoxPortable/, Paros/, tomcat/, webscarab/,
|
|
Read*.txt, HOW*.txt, eclipse.bat, webgoat.bat, webgoat_8080.bat, webscarab.bat,
|
|
Eclipse-Workspace.zip"
|
|
excludes="project/.*, project/.settings/**, project/dist/**, project/owasp_distributions/**, project/bin/**, project/build/**"/>
|
|
</zip>
|
|
</target>
|
|
|
|
<target name="Build_Class_Release_FIXME" depends="cleanwin32"
|
|
description="Builds WebGoat Course release">
|
|
|
|
<!-- Build the WebGoat WAR with the desired properties file -->
|
|
<ant dir="${app.home}" inheritAll="false">
|
|
<target name="WebGoatPropertiesOWASP"/>
|
|
<target name="BuildWar"/>
|
|
</ant>
|
|
|
|
<antcall target="DeployWar"> </antcall>
|
|
|
|
<!-- Build the CD image -->
|
|
<zip destfile="${dist.home}/${ant.project.name}-Class-${app.version}.zip">
|
|
<zipfileset dir="." prefix="${install.home}"
|
|
includes="java/, tomcat/, FirefoxPortable/, Paros/, webscarab/, webgoat.bat, webgoat_8080.bat, webscarab.bat"
|
|
excludes="project/.*, project/.settings/**, project/dist/**, project/owasp_distributions/**, project/bin/**, project/build/**"/>
|
|
</zip>
|
|
</target>
|
|
|
|
<!-- Build OWASP Developer Lab Environment release -->
|
|
<target name="Build_OWASP_DeveloperLab_release_FIXME" depends="cleanwin32"
|
|
description="Builds OWASP Developer release">
|
|
<!-- Build the WebGoat WAR with the desired properties file -->
|
|
<ant dir="${app.home}" inheritAll="false">
|
|
<target name="WebGoatPropertiesOWASP"/>
|
|
<target name="BuildWar"/>
|
|
</ant>
|
|
<antcall target="DeployWar"> </antcall>
|
|
<!-- Build the CD image -->
|
|
<zip destfile="${dist.home}/${ant.project.name}-OWASP_Developer-${app.version}.zip">
|
|
<zipfileset dir="." prefix="${install.home}"
|
|
includes="eclipse/, java/, project/, tomcat/,
|
|
read*.txt, HOW*.txt, eclipse.bat, webgoat.bat, webgoat_8080.bat,
|
|
Eclipse-Workspace.zip"
|
|
excludes="project/.*, project/.settings/**, project/dist/**, project/owasp_distributions/**, project/bin/**, project/build/**"/>
|
|
</zip>
|
|
</target>
|
|
|
|
<target name="Build_OWASP_Standard_Release_win32" depends="cleanwin32"
|
|
description="Builds WebGoat OWASP win32 release">
|
|
<antcall target="DeployWarWin32"> </antcall>
|
|
<!-- Build the CD image -->
|
|
<zip destfile="${dist.home}/${ant.project.name}-${app.version}-OWASP_Standard_Win32.zip">
|
|
<zipfileset dir="." prefix="${install.home}"
|
|
includes=", READ*.txt, webgoat.*, webgoat_8080.*"
|
|
excludes=".*, .settings/**,dist/**, owasp_distributions/**, bin/**, build/**"/>
|
|
<zipfileset dir="${java32.home}" prefix="${install.home}/java"/>
|
|
<zipfileset dir="${tomcat32.home}" prefix="${install.home}/tomcat"/>
|
|
</zip>
|
|
</target>
|
|
|
|
<target name="Build_OWASP_Standard_Release_win64" depends="cleanwin64"
|
|
description="Builds WebGoat OWASP win64 release">
|
|
<antcall target="DeployWarWin64"> </antcall>
|
|
<!-- Build the CD image -->
|
|
<zip destfile="${dist.home}/${ant.project.name}-${app.version}-OWASP_Standard_Win64.zip">
|
|
<zipfileset dir="." prefix="${install.home}"
|
|
includes=", READ*.txt, webgoat.*, webgoat_8080.*"
|
|
excludes=".*, .settings/**,dist/**, owasp_distributions/**, bin/**, build/**"/>
|
|
<zipfileset dir="${java64.home}" prefix="${install.home}/java"/>
|
|
<zipfileset dir="${tomcat64.home}" prefix="${install.home}/tomcat"/>
|
|
</zip>
|
|
</target>
|
|
|
|
<target name="Build_OWASP_Standard_Release_ubuntu32" depends="cleanubuntu32"
|
|
description="Builds WebGoat OWASP ubuntu release">
|
|
<antcall target="DeployWarUbuntu32"> </antcall>
|
|
<!-- Build the CD image -->
|
|
<zip destfile="${dist.home}/${ant.project.name}-${app.version}-OWASP_Standard_Ubuntu32.zip">
|
|
<zipfileset dir="." prefix="${install.home}"
|
|
includes=", READ*.txt, webgoat.*, webgoat_8080.*"
|
|
excludes=".*, .settings/**,dist/**, owasp_distributions/**, bin/**, build/**"/>
|
|
<zipfileset dir="${java32.ubuntu.home}" prefix="${install.home}/java"/>
|
|
<zipfileset dir="${tomcat32.ubuntu.home}" prefix="${install.home}/tomcat"/>
|
|
</zip>
|
|
</target>
|
|
|
|
<!--Build all OWASP release -->
|
|
<target name="Build_ALL_OWASP_Releases" depends="clean_dist"
|
|
description="Creates all binary distributions for OWASP">
|
|
<copy file="${basedir}/readme.txt" tofile="${dist.owasp}/readme.txt"/>
|
|
<antcall target="Build_OWASP_Standard_Release_win32"> </antcall>
|
|
<copydir dest="${dist.owasp}" src="${dist.home}"/>
|
|
<antcall target="Build_OWASP_Standard_Release_win64"> </antcall>
|
|
<copydir dest="${dist.owasp}" src="${dist.home}"/>
|
|
<antcall target="Build_OWASP_Standard_Release_ubuntu32"> </antcall>
|
|
<copydir dest="${dist.owasp}" src="${dist.home}"/>
|
|
</target>
|
|
|
|
|
|
<!-- ==================== Prepare Target ================================== -->
|
|
|
|
<!--
|
|
The "prepare" target is used to create the "build" destination directory,
|
|
and copy the static contents of your web application to it. If you need
|
|
to copy static files from external dependencies, you can customize the
|
|
contents of this task.
|
|
|
|
Normally, this task is executed indirectly when needed.
|
|
-->
|
|
|
|
<target name="prepare">
|
|
</target>
|
|
|
|
</project>
|
|
|
|
|