Changes between Initial Version and Version 1 of BuildFiles


Ignore:
Timestamp:
Dec 31, 1969, 4:35:47 PM (54 years ago)
Author:
Kevin Milner
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • BuildFiles

    v1 v1  
     1= Important Ant Build Files =
     2
     3== [source:trunk/ant/build.xml build.xml] ==
     4Common build functions, including project building (building the entire project in your working directory, not creating jars) are loacted in this file. This file is also used by other build files to avoid duplication.
     5=== Important Targets ===
     6* build (default) - builds the entire project to the "classes" directory (unless the "build" property is overridden)
     7* compile - compiles all .java files into the "classes.temp" directory (specified by the "tmpdest" property) as part of the build process.
     8* resource.* - targets for copying resources to the output directory
     9  * resource.erfs.main - copies resources for main ERFs included in applications
     10  * resource.erfs.dev - This is for ERFs that we won't include in our regular apps because they are underdevelopment
     11  * resource.erfs.gem - This is for the GEM ERFs...which we may or may not include in our regular apps.
     12  * resource.erfs.aux - This is for ERFs that we won't include in our regular apps because they require too much data, but may be useful to someone.
     13  * resource.imrs - This resources required IMR files
     14  * resource.misc.required - This copies all of the other misc files that are required by most applications
     15  * resource.all - This calls all of the other resource targets to resource absolutely everything
     16  * resource.hazard.apps - This calls other resource targets for local mode hazard applications
     17  * resource.hazard.apps.server - This calls other resource targets for server mode hazard applications (leaves out ERF data)
     18* unjar.libs.common - Expands select jars from the [source:lib lib] dir into the output dir
     19* rmi.* - tasks for compiling RMI classes using the [http://ant.apache.org/manual/Tasks/rmic.html Rmic Task]
     20* javadoc - generate JavaDocs for the entire project
     21== [source:trunk/ant/CompleteJar.xml CompleteJar.xml] ==
     22Creates single jar distributions.
     23=== Important Targets ===
     24* jar.full.dist - Builds a jar with all classes and resources.
     25* jar.classes.only - Builds a jar with all classes but no resources.
     26== [source:trunk/ant/AppBuilder.xml AppBuilder.xml] ==
     27This is the core app building file. This will build a jar for a single application. It '''should not be run directly''', however. It should be run by a separate build file, with the following properties set:
     28=== Properties that must be set ===
     29 * app.short.name - '''(required)''' The "short" name for the application (should not contain spaces/special characters).
     30   * ''example:'' !HazardCurveLocal
     31 * app.main.class - '''(required)''' The Java main class for the application.
     32   * ''example:'' org.opensha.sha.gui.!HazardCurveLocalModeApplication
     33 * javac.includes - '''''(recommended)''''' The javac includes for the application. Multiple patterns/files can be comma separated. If omitted, all .java files will be compiled. See "includes" for the [http://ant.apache.org/manual/Tasks/javac.html Javac Ant Task] for more information.
     34   * ''example:'' org/opensha/sha/gui/!HazardCurveLocalModeApplication.java
     35   * ''example:'' org/opensha/sha/gui/!HazardCurveLocalModeApplication.java,org/opensha/imr/!**/*.java
     36 * javac.excludes - ''(optional)'' The javac excludes for the application. Multiple patterns/files can be comma separated. See "excludes" for the [http://ant.apache.org/manual/Tasks/javac.html Javac Ant Task] for more information.
     37   * ''example:'' org/opensha/sra/**'
     38 * resource.target - '''''(recommended)''''' The target from [source:trunk/ant/build.xml build.xml] that should be executed to copy resources for this application.
     39   * ''example:'' resource.hazard.apps
     40   * ''example:'' resource.hazard.apps.server
     41   * ''example:'' resource.misc.required
     42 * rmi.target - ''(optional)'' The target from [source:trunk/ant/build.xml build.xml] that should be executed to compile RMI classes. Only required for RMI (remote) applications.
     43   * ''example:'' rmi.hazard.curve
     44== [source:trunk/ant/MultiAppBuilder.xml MultiAppBuilder.xml] ==
     45This file is used to actually build the application jar files. It contains targets which call [source:trunk/ant/AppBuilder.xml AppBuilder.xml] for each application.
     46=== Important Targets ===
     47* build.nightly - '''Should not be run by end users''', for more information see BuildProcess
     48* build.dist - '''Should not be run by end users''', for more information see BuildProcess
     49* build.all - Build all standard local and remote applications
     50* build.local - Build only local applications
     51* build.server - Build only remote (RMI) applications
     52* build.(APP NAME) - build a single application
     53=== Example ===
     54{{{
     55<target name="build.hc.local">
     56        <ant antfile="${app.build.file}" target="build.app">
     57                <property name="app.short.name" value="HazardCurveLocal" />
     58                <property name="app.main.class" value="${sha.gui.package}.HazardCurveLocalModeApplication" />
     59                <property name="javac.includes"     value="${sha.gui.dir}/HazardCurveLocalModeApplication.java" />
     60                <property name="javac.excludes" value="" />
     61                <property name="rmi.target" value="rmi.hazard.curve" />
     62                <property name="resource.target" value="resource.hazard.apps" />
     63        </ant>
     64</target>
     65}}}