build.xml.txt
上传用户:bj_pst
上传日期:2019-07-07
资源大小:7353k
文件大小:17k
- <!--
- 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.
- -->
- <!--
- General purpose build script for web applications and web services,
- including enhanced support for deploying directly to a Tomcat 5
- based server.
- This build script assumes that the source code of your web application
- is organized into the following subdirectories underneath the source
- code directory from which you execute the build script:
- docs Static documentation files to be copied to
- the "docs" subdirectory of your distribution.
- src Java source code (and associated resource files)
- to be compiled to the "WEB-INF/classes"
- subdirectory of your web applicaiton.
- web Static HTML, JSP, and other content (such as
- image files), including the WEB-INF subdirectory
- and its configuration file contents.
- $Id: build.xml.txt 572161 2007-09-02 21:18:19Z markt $
- -->
- <!-- 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="My Project" 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 5. 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="myapp"/>
- <property name="app.path" value="/${app.name}"/>
- <property name="app.version" value="0.1-dev"/>
- <property name="build.home" value="${basedir}/build"/>
- <property name="catalina.home" value="../../../.."/> <!-- UPDATE THIS! -->
- <property name="dist.home" value="${basedir}/dist"/>
- <property name="docs.home" value="${basedir}/docs"/>
- <property name="manager.url" value="http://localhost:8080/manager"/>
- <property name="src.home" value="${basedir}/src"/>
- <property name="web.home" value="${basedir}/web"/>
- <!-- ================== Custom Ant Task Definitions ======================= -->
- <!--
- These properties define custom tasks for the Ant build tool that interact
- with the "/manager" web application installed with Tomcat 5. Before they
- can be successfully utilized, you must perform the following steps:
- - Copy the file "server/lib/catalina-ant.jar" from your Tomcat 5
- installation into the "lib" directory of your Ant installation.
- - Create a "build.properties" file in your application's top-level
- source directory (or your user login home directory) that defines
- appropriate values for the "manager.password", "manager.url", and
- "manager.username" properties described above.
- For more information about the Manager web application, and the functionality
- of these tasks, see <http://localhost:8080/tomcat-docs/manager-howto.html>.
- -->
- <taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask"/>
- <taskdef name="list" classname="org.apache.catalina.ant.ListTask"/>
- <taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask"/>
- <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask"/>
- <!-- ==================== 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"/>
- <!-- ==================== 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 5
- 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.
- -->
- <!-- Dummy external dependency -->
- <!--
- <property name="foo.jar"
- value="/path/to/foo.jar"/>
- -->
- <!-- ==================== 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 -->
- <!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
- <!--
- <pathelement location="${foo.jar}"/>
- -->
- <!-- Include all elements that Tomcat exposes to applications -->
- <pathelement location="${catalina.home}/common/classes"/>
- <fileset dir="${catalina.home}/common/endorsed">
- <include name="*.jar"/>
- </fileset>
- <fileset dir="${catalina.home}/common/lib">
- <include name="*.jar"/>
- </fileset>
- <pathelement location="${catalina.home}/shared/classes"/>
- <fileset dir="${catalina.home}/shared/lib">
- <include name="*.jar"/>
- </fileset>
- </path>
- <!-- ==================== All Target ====================================== -->
- <!--
- The "all" target is a shortcut for running the "clean" target followed
- by the "compile" target, to force a complete recompile.
- -->
- <target name="all" depends="clean,compile"
- description="Clean build and dist directories, then compile"/>
- <!-- ==================== 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 dir="${build.home}"/>
- <delete dir="${dist.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" depends="prepare"
- 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 application resources -->
- <copy todir="${build.home}/WEB-INF/classes">
- <fileset dir="${src.home}" excludes="**/*.java"/>
- </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
- * "javadoc" so that the application Javadocs will have been created
- -->
- <target name="dist" depends="compile,javadoc"
- description="Create binary distribution">
- <!-- Copy documentation subdirectories -->
- <mkdir dir="${dist.home}/docs"/>
- <copy todir="${dist.home}/docs">
- <fileset dir="${docs.home}"/>
- </copy>
- <!-- Create application JAR file -->
- <jar jarfile="${dist.home}/${app.name}-${app.version}.war"
- basedir="${build.home}"/>
- <!-- Copy additional files to ${dist.home} as necessary -->
- </target>
- <!-- ==================== Install Target ================================== -->
- <!--
- The "install" target tells the specified Tomcat 5 installation to dynamically
- install this web application and make it available for execution. It does
- *not* cause the existence of this web application to be remembered across
- Tomcat restarts; if you restart the server, you will need to re-install all
- this web application.
- If you have already installed this application, and simply want Tomcat to
- recognize that you have updated Java classes (or the web.xml file), use the
- "reload" target instead.
- NOTE: This target will only succeed if it is run from the same server that
- Tomcat is running on.
- NOTE: This is the logical opposite of the "remove" target.
- -->
- <target name="install" depends="compile"
- description="Install application to servlet container">
- <deploy url="${manager.url}"
- username="${manager.username}"
- password="${manager.password}"
- path="${app.path}"
- localWar="file://${build.home}"/>
- </target>
- <!-- ==================== Javadoc Target ================================== -->
- <!--
- The "javadoc" target creates Javadoc API documentation for the Java
- classes included in your application. Normally, this is only required
- when preparing a distribution release, but is available as a separate
- target in case the developer wants to create Javadocs independently.
- -->
- <target name="javadoc" depends="compile"
- description="Create Javadoc API documentation">
- <mkdir dir="${dist.home}/docs/api"/>
- <javadoc sourcepath="${src.home}"
- destdir="${dist.home}/docs/api"
- packagenames="*">
- <classpath refid="compile.classpath"/>
- </javadoc>
- </target>
- <!-- ====================== List Target =================================== -->
- <!--
- The "list" target asks the specified Tomcat 5 installation to list the
- currently running web applications, either loaded at startup time or
- installed dynamically. It is useful to determine whether or not the
- application you are currently developing has been installed.
- -->
- <target name="list"
- description="List installed applications on servlet container">
- <list url="${manager.url}"
- username="${manager.username}"
- password="${manager.password}"/>
- </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}"/>
- <mkdir dir="${build.home}/WEB-INF"/>
- <mkdir dir="${build.home}/WEB-INF/classes"/>
- <!-- Copy static content of this web application -->
- <copy todir="${build.home}">
- <fileset dir="${web.home}"/>
- </copy>
- <!-- Copy external dependencies as required -->
- <!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
- <mkdir dir="${build.home}/WEB-INF/lib"/>
- <!--
- <copy todir="${build.home}/WEB-INF/lib" file="${foo.jar}"/>
- -->
- <!-- Copy static files from external dependencies as needed -->
- <!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
- </target>
- <!-- ==================== Reload Target =================================== -->
- <!--
- The "reload" signals the specified application Tomcat 5 to shut itself down
- and reload. This can be useful when the web application context is not
- reloadable and you have updated classes or property files in the
- /WEB-INF/classes directory or when you have added or updated jar files in the
- /WEB-INF/lib directory.
- NOTE: The /WEB-INF/web.xml web application configuration file is not reread
- on a reload. If you have made changes to your web.xml file you must stop
- then start the web application.
- -->
- <target name="reload" depends="compile"
- description="Reload application on servlet container">
- <reload url="${manager.url}"
- username="${manager.username}"
- password="${manager.password}"
- path="${app.path}"/>
- </target>
- <!-- ==================== Remove Target =================================== -->
- <!--
- The "remove" target tells the specified Tomcat 5 installation to dynamically
- remove this web application from service.
- NOTE: This is the logical opposite of the "install" target.
- -->
- <target name="remove"
- description="Remove application on servlet container">
- <undeploy url="${manager.url}"
- username="${manager.username}"
- password="${manager.password}"
- path="${app.path}"/>
- </target>
- </project>