moved scripts to main/scrips and remaining stuff to doc
git-svn-id: http://webgoat.googlecode.com/svn/trunk/webgoat@406 4033779f-a91e-0410-96ef-6bf7bf53c507
This commit is contained in:
BIN
doc/Eclipse-Workspace.zip
Normal file
BIN
doc/Eclipse-Workspace.zip
Normal file
Binary file not shown.
196
doc/HOW TO create the WebGoat workspace.txt
Normal file
196
doc/HOW TO create the WebGoat workspace.txt
Normal file
@ -0,0 +1,196 @@
|
||||
***************************************
|
||||
|
||||
As of 5.1 the developer release contains the eclipse workspace
|
||||
and project files.
|
||||
|
||||
Extract distribution to c:\
|
||||
- It will create a WebGoat-x.x directory
|
||||
Extract Eclipse-Workspace.zip to C:\WebGoat-x.x
|
||||
Start eclipse using eclipse.bat
|
||||
After eclipse starts
|
||||
Top left - Project Explorer view
|
||||
right click WebGoat <20> refresh
|
||||
right click Servers <20> refresh
|
||||
Bottom - Servers view
|
||||
right click Tomcat<61> - start
|
||||
Browse to http://localhost/WebGoat/attack
|
||||
|
||||
|
||||
You're done. Changing files in eclipse will automatically rebuild
|
||||
and redeploy the application.
|
||||
|
||||
Follow the instructions below to build the workspace from scratch
|
||||
|
||||
|
||||
***************************************
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
***************************************
|
||||
|
||||
Eclipse startup and dependency removal
|
||||
WebGoat uses Eclipse WTP 1.5
|
||||
|
||||
***************************************
|
||||
|
||||
Change paths in eclipse.bat to reflect your environment
|
||||
|
||||
edit <webgoat-root>/eclipse.bat
|
||||
Change JAVAHOME to directory where java is installed.
|
||||
ex: This may be .\java or "C:\Program Files\Java\jdk1.5.0_08"
|
||||
|
||||
Change ECLIPSE_HOME to directory where eclipse is installed
|
||||
ex: This may be .\eclipse or "C:\Program Files\eclipse"
|
||||
Note: WebGoat requires eclipse with WTP project
|
||||
|
||||
|
||||
Run eclipse using the eclipse.bat file
|
||||
|
||||
located at <webgoat-root>/eclipse.bat
|
||||
|
||||
Remove eclipse dependencies
|
||||
|
||||
Delete all files and directories beginning
|
||||
with a period. ex) .settings, .project, etc...
|
||||
Note: These files probably do not exist unless you have
|
||||
previously tried to build a WebGoat eclipse project
|
||||
|
||||
|
||||
Eclipse will start up in the default state
|
||||
Click arrow at top right to load the eclipse workbench
|
||||
|
||||
|
||||
***************************************
|
||||
|
||||
Verify tomcat directory is read/write access
|
||||
|
||||
***************************************
|
||||
|
||||
You may have to install Tomcat and merge the webgoat users into
|
||||
the tomcat-users.xml file
|
||||
|
||||
File: <tomcat-root>/conf/tomcat-users.xml
|
||||
|
||||
<tomcat-users>
|
||||
<role rolename="webgoat_admin"/>
|
||||
<role rolename="webgoat_basic"/>
|
||||
<role rolename="webgoat_user"/>
|
||||
<user username="webgoat" password="webgoat" roles="webgoat_admin"/>
|
||||
<user username="basic" password="basic" roles="webgoat_user,webgoat_basic"/>
|
||||
<user username="guest" password="guest" roles="webgoat_user"/>
|
||||
</tomcat-users>
|
||||
|
||||
|
||||
|
||||
***************************************
|
||||
|
||||
Initial Setup of Development Enviroment
|
||||
|
||||
***************************************
|
||||
|
||||
Step 1) Add the WebGoat JDK
|
||||
|
||||
window->preferences->
|
||||
java->installed JREs
|
||||
|
||||
add
|
||||
Name: WebGoat JDK 1.5
|
||||
Directory: java
|
||||
OK
|
||||
|
||||
select new JDK as default
|
||||
remove previous JDK if exists
|
||||
OK
|
||||
|
||||
window->preferences
|
||||
server->Installed Runtime
|
||||
|
||||
ADD
|
||||
apache
|
||||
tomcat v5.5
|
||||
NEXT
|
||||
directory: use browse button to locate <webgoat-root>/tomcat (e.g. C:\P4\BUILD\depot\WebGoat\J2EE\main\tomcat)
|
||||
JRE: WebGoat JDK 1.5
|
||||
FINISH
|
||||
select apache tomcat v5.5 as default
|
||||
OK
|
||||
|
||||
window->open perspective
|
||||
other
|
||||
J2EE
|
||||
|
||||
in Project Explorer
|
||||
right click->New->New Dynamic Web Project
|
||||
|
||||
Name: WebGoat
|
||||
Deselect "use default"
|
||||
Browse to <webgoat-root>/project (e.g. C:\P4\BUILD\depot\WebGoat\J2EE\main\project)
|
||||
NEXT
|
||||
NEXT
|
||||
change Java Source Directory: JavaSource
|
||||
FINISH
|
||||
Click "I Agree" if dialog appears (will appear after build completes)
|
||||
|
||||
From "Servers" View - Should be in bottom view
|
||||
right click->New->Server (Tomcat 5.5 should be default selected)
|
||||
NEXT
|
||||
select WebGoat
|
||||
ADD
|
||||
FINISH
|
||||
|
||||
From a Windows file explorer window
|
||||
Copy the <tomcat_root>.keystore to eclipse workspace directory
|
||||
<WebGoat_Root>\J2EE\main\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\.keystore
|
||||
|
||||
From Servers view
|
||||
|
||||
double click Tomcat v 5.5 Server @ locahost
|
||||
|
||||
in "Server Overview" window
|
||||
|
||||
Uncheck "Run modules directly from the workspace"
|
||||
SAVE (ctrl-s)
|
||||
NOTE: In developer mode you may want to leave this checked
|
||||
|
||||
|
||||
|
||||
Right click on Tomcat v5.5 Sever@localhost ->Start
|
||||
|
||||
Browse to http://localhost/WebGoat/attack
|
||||
|
||||
|
||||
***************************************
|
||||
|
||||
Deploying to Tomcat
|
||||
|
||||
***************************************
|
||||
|
||||
From Servers view
|
||||
|
||||
double click Tomcat v 5.5 Server @ locahost
|
||||
|
||||
in "Server Overview" window
|
||||
|
||||
Uncheck "Run modules directly from the workspace"
|
||||
SAVE (ctrl-s)
|
||||
|
||||
From Servers view
|
||||
|
||||
right click->Publish
|
||||
|
||||
Using file system
|
||||
copy JavaSource directory into <tomcat-root>/webapps/WebGoat/
|
||||
|
||||
|
||||
***************************************
|
||||
|
||||
Configuring Webgoat.properties for
|
||||
your environment.
|
||||
i.e. How to manage the menus
|
||||
|
||||
***************************************
|
||||
|
||||
Edit <webgoat-root>/project/WebContent/WEB-INF/webgoat.properties
|
||||
- Turn off/on the desired lessons
|
282
doc/attic/build.xml
Normal file
282
doc/attic/build.xml
Normal file
@ -0,0 +1,282 @@
|
||||
<!-- 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" 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}/main"/>
|
||||
<property name="app.name" value="WebGoat"/> <!-- MUST BE CONSISTENT WITH main/build.xml! -->
|
||||
<property name="app.version" value="5.2"/> <!-- MUST BE CONSISTENT WITH project/build.xml! -->
|
||||
<property name="catalina.home" value="${basedir}/tomcat"/>
|
||||
<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}"/>
|
||||
|
||||
<!-- ==================== 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="clean"
|
||||
description="Delete old build and dist directories">
|
||||
<delete file="${web_inf.home}/web.xml"/>
|
||||
<delete dir="${dist.home}"/>
|
||||
<delete dir="${catalina.home}/logs"/>
|
||||
<delete dir="${catalina.home}/work/Catalina/localhost"/>
|
||||
<delete dir="${catalina.home}/webapps/${app.name}"/>
|
||||
<delete file="${catalina.home}/webapps/${app.name}.war"/>
|
||||
<delete dir="${catalina.home}/server/webapps/${app.name}"/>
|
||||
<mkdir dir="${dist.home}"/>
|
||||
<mkdir dir="${catalina.home}/logs"/>
|
||||
</target>
|
||||
|
||||
<target name="clean_all"
|
||||
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>
|
||||
|
||||
<!-- ==================== Compile Target ===================================== -->
|
||||
|
||||
<target name="compile" depends="Compile-WebGoat"
|
||||
description="Build all dependency applications">
|
||||
</target>
|
||||
|
||||
<target name="Compile-WebGoat"
|
||||
description="Build the WebGoat application">
|
||||
<ant dir="${app.home}" target="BuildWar" inheritAll="false"/>
|
||||
</target>
|
||||
|
||||
<!--
|
||||
<target name="DELETE_ME_Compile-WebGoat-Unix"
|
||||
description="Build the WebGoat application">
|
||||
<ant dir="${app.home}" target="BuildUnixWar" inheritAll="false"/>
|
||||
</target>
|
||||
-->
|
||||
|
||||
<target name="Compile-WebGoat-LAB"
|
||||
description="Build the WebGoat application">
|
||||
<ant dir="${app.home}" inheritAll="false">
|
||||
<target name="-WebGoatPropertiesLAB"/>
|
||||
<target name="BuildWar"/>
|
||||
</ant>
|
||||
</target>
|
||||
|
||||
<target name="Compile-WebGoat-Class"
|
||||
description="Build the WebGoat application">
|
||||
<ant dir="${app.home}" inheritAll="false">
|
||||
<target name="-WebGoatPropertiesClass"/>
|
||||
<target name="BuildWar"/>
|
||||
</ant>
|
||||
</target>
|
||||
|
||||
<target name="Compile-WebGoat-OWASP"
|
||||
description="Build the WebGoat application">
|
||||
<ant dir="${app.home}" inheritAll="false">
|
||||
<target name="-WebGoatPropertiesOWASP"/>
|
||||
<target name="BuildWar"/>
|
||||
</ant>
|
||||
</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="ZipProject"
|
||||
description="Create a zip archive of all Eclipse project files from C:\WebGoatClassCD">
|
||||
|
||||
<!-- Put a copy of the keystore into the WTP dynamic deployment area -->
|
||||
<copy file="/WebGoatClassCD/tomcat/.keystore" tofile="/WebGoatClassCD/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/.keystore"/>
|
||||
|
||||
<zip destfile="${basedir}/project-student.zip"
|
||||
basedir="/WebGoatClassCD"
|
||||
includes="project/.project, project/.classpath, project/.settings/**, workspace/**"/>
|
||||
</target>
|
||||
|
||||
|
||||
<target name="DeployWar"
|
||||
description="Copy existing war to Tomcat - Does not rebuild">
|
||||
|
||||
<!-- Install war to Tomcat -->
|
||||
<delete dir="${catalina.home}/webapps/${app.name}"/>
|
||||
<delete file="${catalina.home}/webapps/${app.name}.war"/>
|
||||
<copy file="${app.home}/dist/${app.name}-${app.version}.war" tofile="${catalina.home}/webapps/${app.name}.war"/>
|
||||
|
||||
</target>
|
||||
|
||||
|
||||
<!--Build patch release -->
|
||||
<target name="BuildPatch_release" depends="clean, compile"
|
||||
description="Creates patch release of class files for WebGoat">
|
||||
<zip destfile="${dist.home}/${app.name}-${app.version}_patch.zip">
|
||||
<zipfileset dir="build/WEB-INF/classes" prefix="WEB-INF/classes"/>
|
||||
<zipfileset dir="." includes="readme_patch.txt"/>
|
||||
</zip>
|
||||
</target>
|
||||
|
||||
<!-- Build J2EE Lab Environment release -->
|
||||
<target name="Build_DeveloperLab_Class_Release" depends="clean"
|
||||
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-Class-${app.version}.zip">
|
||||
<zipfileset dir="." prefix="${install.home}"
|
||||
includes="eclipse/, java/, project/, FirefoxPortable/, Paros/, tomcat/, webscarab/,
|
||||
Read*.txt, HOW*.txt, eclipse.bat, webgoat.sh, 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" depends="clean"
|
||||
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.sh, 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" depends="clean"
|
||||
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.sh, 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" depends="clean"
|
||||
description="Builds WebGoat OWASP 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_Standard-${app.version}.zip">
|
||||
<zipfileset dir="." prefix="${install.home}"
|
||||
includes="java/, tomcat/, read*.txt, webgoat.sh, webgoat.bat, webgoat_8080.bat"
|
||||
excludes="project/.*, project/.settings/**, project/dist/**, project/owasp_distributions/**, project/bin/**, project/build/**"/>
|
||||
</zip>
|
||||
</target>
|
||||
|
||||
<!--Build all OWASP release -->
|
||||
<target name="Build_ALL_OWASP_Releases" depends="clean_all"
|
||||
description="Creates all binary distributions for OWASP">
|
||||
<copy file="${basedir}/readme.txt" tofile="${dist.owasp}/readme.txt"/>
|
||||
<antcall target="Build_OWASP_Standard_Release"> </antcall>
|
||||
<copydir dest="${dist.owasp}" src="${dist.home}"/>
|
||||
<antcall target="Build_OWASP_DeveloperLab_release"> </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>
|
||||
|
||||
|
317
doc/attic/build2.xml
Normal file
317
doc/attic/build2.xml
Normal file
@ -0,0 +1,317 @@
|
||||
<!-- 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" default="compile" 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.
|
||||
|
||||
app.name Base name of this application, used to
|
||||
construct filenames and directories.
|
||||
Defaults to "myapp".
|
||||
|
||||
app.path Context path to which this application should be
|
||||
deployed (defaults to "/" plus the value of the
|
||||
"app.name" property).
|
||||
|
||||
app.version Version number of this iteration of the application.
|
||||
|
||||
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".
|
||||
|
||||
manager.password The login password of a user that is assigned the
|
||||
"manager" role (so that he or she can execute
|
||||
commands via the "/manager" web application)
|
||||
|
||||
manager.url The URL of the "/manager" web application on the
|
||||
Tomcat installation to which we will deploy web
|
||||
applications and web services.
|
||||
|
||||
manager.username The login username of a user that is assigned the
|
||||
"manager" role (so that he or she can execute
|
||||
commands via the "/manager" web application)
|
||||
-->
|
||||
|
||||
<property name="app.name" value="WebGoat"/>
|
||||
<property name="app.path" value="/${app.name}"/>
|
||||
<property name="app.version" value="5.2"/> <!-- UPDATE THIS! -->
|
||||
<property name="build.home" value="${basedir}/build"/>
|
||||
<property name="catalina.home" value="${basedir}/../tomcat"/> <!-- UPDATE THIS! -->
|
||||
<property name="dist.home" value="${basedir}/dist"/>
|
||||
<property name="web_inf.home" value="${basedir}/build/WEB-INF"/>
|
||||
<property name="doc.home" value="${basedir}/doc"/>
|
||||
<property name="manager.url" value="http://localhost/manager"/>
|
||||
<property name="manager.username" value="admin"/> <!-- UPDATE THIS! -->
|
||||
<property name="manager.password" value="admin"/> <!-- UPDATE THIS! -->
|
||||
<property name="src.home" value="${basedir}/java"/>
|
||||
<property name="web.home" value="${basedir}/webapp"/>
|
||||
<property name="zip_distributions.home" value="${basedir}/zip_distributions"/>
|
||||
|
||||
<!-- ==================== External Dependencies =========================== -->
|
||||
|
||||
<!--
|
||||
Use property values to define the locations of external JAR files on which
|
||||
your application will depend. In general, these values will be used for
|
||||
two purposes:
|
||||
* Inclusion on the classpath that is passed to the Javac compiler
|
||||
* Being copied into the "/WEB-INF/lib" directory during execution
|
||||
of the "deploy" target.
|
||||
|
||||
Because we will automatically include all of the Java classes that Tomcat 4
|
||||
exposes to web applications, we will not need to explicitly list any of those
|
||||
dependencies. You only need to worry about external dependencies for JAR
|
||||
files that you are going to include inside your "/WEB-INF/lib" directory.
|
||||
-->
|
||||
|
||||
<property name="jars" value="${basedir}/webapp/WEB-INF/lib"/>
|
||||
|
||||
<!-- ==================== Compilation Classpath =========================== -->
|
||||
|
||||
<!--
|
||||
Rather than relying on the CLASSPATH environment variable, Ant includes
|
||||
features that makes it easy to dynamically construct the classpath you
|
||||
need for each compilation. The example below constructs the compile
|
||||
classpath to include the servlet.jar file, as well as the other components
|
||||
that Tomcat makes available to web applications automatically, plus anything
|
||||
that you explicitly added.
|
||||
-->
|
||||
|
||||
<path id="compile.classpath">
|
||||
<!-- Include all JAR files that will be included in /WEB-INF/lib -->
|
||||
<!-- Include all elements that Tomcat exposes to applications -->
|
||||
<fileset dir="${jars}">
|
||||
<include name="*.jar"/>
|
||||
</fileset>
|
||||
<pathelement location="${catalina.home}/common/classes"/>
|
||||
<fileset dir="${catalina.home}/lib">
|
||||
<include name="*.jar"/>
|
||||
</fileset>
|
||||
<fileset dir="${catalina.home}/lib">
|
||||
<include name="*.jar"/>
|
||||
</fileset>
|
||||
</path>
|
||||
|
||||
<!-- ==================== Compilation Control Options ==================== -->
|
||||
|
||||
<!--
|
||||
These properties control option settings on the Javac compiler when it
|
||||
is invoked using the <javac> task.
|
||||
|
||||
compile.debug Should compilation include the debug option?
|
||||
compile.deprecation Should compilation include the deprecation option?
|
||||
compile.optimize Should compilation include the optimize option?
|
||||
-->
|
||||
|
||||
<property name="compile.debug" value="true"/>
|
||||
<property name="compile.deprecation" value="false"/>
|
||||
<property name="compile.optimize" value="true"/>
|
||||
|
||||
<!-- ==================== 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="clean"
|
||||
description="Delete old build and dist directories">
|
||||
<delete file="${web_inf.home}/web.xml"/>
|
||||
<delete dir="${build.home}"/>
|
||||
<delete dir="${dist.home}"/>
|
||||
<delete dir="${catalina.home}/logs"/>
|
||||
<delete dir="${catalina.home}/work/Catalina/localhost"/>
|
||||
<delete dir="${catalina.home}/webapps/${app.name}"/>
|
||||
<delete file="${catalina.home}/webapps/${app.name}.war"/>
|
||||
<delete dir="${catalina.home}/server/webapps/${app.name}"/>
|
||||
<!-- <delete dir="${doc.home}"/> -->
|
||||
<mkdir dir="${build.home}"/>
|
||||
<mkdir dir="${dist.home}"/>
|
||||
<mkdir dir="${doc.home}"/>
|
||||
<mkdir dir="${catalina.home}/logs"/>
|
||||
</target>
|
||||
|
||||
<target name="clean_all"
|
||||
description="Delete old build, dist directories and zips">
|
||||
<delete dir="${zip_distributions.home}"/>
|
||||
<mkdir dir="${zip_distributions.home}"/>
|
||||
</target>
|
||||
|
||||
<!-- ==================== Compile Target ================================== -->
|
||||
|
||||
<!--
|
||||
The "compile" target transforms source files (from your "src" directory)
|
||||
into object files in the appropriate location in the build directory.
|
||||
This example assumes that you will be including your classes in an
|
||||
unpacked directory hierarchy under "/WEB-INF/classes".
|
||||
-->
|
||||
|
||||
<target name="compile"
|
||||
description="Compile Java sources">
|
||||
<!-- Compile Java classes as necessary -->
|
||||
<mkdir dir="${build.home}/WEB-INF/classes"/>
|
||||
<javac srcdir="${src.home}"
|
||||
destdir="${build.home}/WEB-INF/classes"
|
||||
debug="${compile.debug}"
|
||||
deprecation="${compile.deprecation}"
|
||||
optimize="${compile.optimize}">
|
||||
<classpath refid="compile.classpath"/>
|
||||
</javac>
|
||||
<copy todir="${build.home}/WEB-INF/classes">
|
||||
<fileset dir="${basedir}/resources" />
|
||||
</copy>
|
||||
|
||||
|
||||
</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="DeployWar"
|
||||
description="Copy existing war to Tomcat - Does not rebuild">
|
||||
|
||||
<!-- Install war to Tomcat -->
|
||||
<delete dir="${catalina.home}/webapps/${app.name}"/>
|
||||
<delete file="${catalina.home}/webapps/${app.name}.war"/>
|
||||
<copy file="${dist.home}/${app.name}-${app.version}.war" tofile="${catalina.home}/webapps/${app.name}.war"/>
|
||||
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================== Internal Tasks to prepare war file ============ -->
|
||||
|
||||
<!-- Copying the Java source code into the build directory -->
|
||||
<!-- We must also copy the source into webapp, since WTP will overwrite the
|
||||
app as it was deployed from the WAR. -->
|
||||
<!-- We must also copy the doc dir into webapp, for the "how to create a new lesson" lesson -->
|
||||
<target name="-CopySourceToBuild" depends="prepare" >
|
||||
<delete dir="${build.home}/java"/>
|
||||
<copy todir="${build.home}/java">
|
||||
<fileset dir="${basedir}/java"/>
|
||||
</copy>
|
||||
<delete dir="${web.home}/java"/>
|
||||
<copy todir="${web.home}/java">
|
||||
<fileset dir="${basedir}/java"/>
|
||||
</copy>
|
||||
<delete dir="${web.home}/doc"/>
|
||||
<copy todir="${web.home}/doc">
|
||||
<fileset dir="${basedir}/doc"/>
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- Copying web.xml to web-inf/web.xml -->
|
||||
<target name="-WebXML">
|
||||
<copy file="${web.home}/WEB-INF/web.xml" todir="${web_inf.home}" overwrite="yes"/>
|
||||
</target>
|
||||
|
||||
<!-- Copying webgoat-owasp.properties to webgoat.properties -->
|
||||
<target name="WebGoatPropertiesOWASP">
|
||||
<attrib file="${web.home}/WEB-INF/webgoat.properties" readonly="false"/>
|
||||
<copy file="${web.home}/WEB-INF/webgoat-owasp.properties" tofile="${web.home}/WEB-INF/webgoat.properties" overwrite="yes"/>
|
||||
</target>
|
||||
|
||||
<!-- Copying webgoat-class.properties to webgoat.properties -->
|
||||
<target name="WebGoatPropertiesClass">
|
||||
<attrib file="${web.home}/WEB-INF/webgoat.properties" readonly="false"/>
|
||||
<copy file="${web.home}/WEB-INF/webgoat-class.properties" tofile="${web.home}/WEB-INF/webgoat.properties" overwrite="yes"/>
|
||||
</target>
|
||||
|
||||
<!-- Copying webgoat-lab.properties to webgoat.properties -->
|
||||
<target name="WebGoatPropertiesLAB">
|
||||
<attrib file="${web.home}/WEB-INF/webgoat.properties" readonly="false"/>
|
||||
<copy file="${web.home}/WEB-INF/webgoat-lab.properties" tofile="${web.home}/WEB-INF/webgoat.properties" overwrite="yes"/>
|
||||
</target>
|
||||
|
||||
<!-- Copying the static content into the build directory -->
|
||||
<target name="-CopyWebToBuild" depends="prepare" >
|
||||
<copy todir="${build.home}">
|
||||
<fileset dir="${web.home}"/>
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<target name="-WarBuild" >
|
||||
<jar jarfile="${dist.home}/${app.name}-${app.version}.war"
|
||||
basedir="${build.home}" />
|
||||
</target>
|
||||
|
||||
<!-- =================== Prepare Distributions ========================== -->
|
||||
|
||||
<!-- Create WAR file -->
|
||||
<target name="BuildWar" depends="clean, prepare, compile, -WebXML, -CopyWebToBuild, -CopySourceToBuild, -WarBuild"
|
||||
description="Create ${app.name}.war binary distribution">
|
||||
</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">
|
||||
<!-- Create build directories as needed -->
|
||||
<mkdir dir="${build.home}/WEB-INF/classes"/>
|
||||
|
||||
<!-- Copy application resources -->
|
||||
<copy todir="${build.home}/WEB-INF/classes">
|
||||
<fileset dir="${src.home}" excludes="**/*.java"/>
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
</project>
|
||||
|
||||
|
||||
|
28
doc/eclipse.bat
Normal file
28
doc/eclipse.bat
Normal file
@ -0,0 +1,28 @@
|
||||
ECHO OFF
|
||||
IF NOT EXIST WebGoat_5_2_workspace GOTO UNPACK
|
||||
set JAVAHOME=java
|
||||
set PATH=%JAVAHOME%\bin;%PATH%
|
||||
set ECLIPSE_HOME=eclipse
|
||||
SET JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx768m
|
||||
|
||||
%ECLIPSE_HOME%\eclipse.exe -data .\WebGoat_5_2_workspace
|
||||
GOTO END
|
||||
|
||||
:UNPACK
|
||||
ECHO *
|
||||
ECHO *
|
||||
ECHO *
|
||||
ECHO *
|
||||
ECHO * ERROR -- eclipse workspace is missing
|
||||
ECHO *
|
||||
ECHO *
|
||||
ECHO *
|
||||
ECHO *
|
||||
ECHO * Use winzip to unzip Eclipse-Workspace.zip
|
||||
ECHO *
|
||||
ECHO *
|
||||
ECHO *
|
||||
PAUSE
|
||||
|
||||
:END
|
||||
|
Reference in New Issue
Block a user