Moved Spring Web Flow to a top level project

This commit is contained in:
Ben Hale
2006-12-21 16:02:27 +00:00
commit e7ecbbc7e5
1083 changed files with 80775 additions and 0 deletions

View File

@@ -0,0 +1,2 @@
build.properties
target

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>build-spring-webflow</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
</projectDescription>

View File

@@ -0,0 +1,78 @@
<?xml version="1.0"?>
<!--
=======================================================================
Build file containing targets for continuously integrating build
Targets are put in a separate build file to prevent users from
having to put in an SSH library in ANT_HOME/lib
This build requires an SSH client to be put in ANT_HOME/lib. Refer
to Ant's SCP documentation for more information.
@author Alef Arendsen
@author Arjen Poutsma
=======================================================================
-->
<project name="build-spring-webflow-continuous" default="snapshot" xmlns:ivy="antlib:fr.jayasoft.ivy.ant">
<import file="${basedir}/build.xml"/>
<!-- targets for uploading binaries, creating snapshots, et cetera -->
<!--
properties needed (some are set in CruiseControl configuration)
- release.zip release zip (set by build.xml)
- release.version release version (set by build.xml)
- target.release.dir release directory (set by build.xml)
- upload.tmp.dir temporary directory to use when uploading
- upload.username username to use when SCP'ing to server
- upload.password password to use when SCP'ing to server
- upload.url url to use when SCP'ing to server
- upload.log.dir directory to upload logs to
- upload.binaries.dir directory to upload binaries to
-->
<target name="snapshot" depends="init, guard.upload.tmp.dir">
<delete quiet="true" dir="${upload.tmp.dir}"/>
<mkdir dir="${upload.tmp.dir}"/>
<tstamp>
<format property="tstamp" pattern="yyyyMMdd-HHmm"/>
</tstamp>
<move file="${target.release.dir}/${release.zip}"
tofile="${upload.tmp.dir}/spring-webflow-${release.version}-${tstamp}.zip"/>
</target>
<target name="upload" depends="upload-binaries"/>
<!-- SCP needs an SSH library on the classpath (see Ant documentation for more info) -->
<target name="upload-binaries" depends="init, guard.upload.tmp.dir, guard.upload.binaries.dir, guard.upload.url, guard.upload.password, guard.upload.username">
<scp todir="${upload.username}@${upload.url}:${upload.binaries.dir}" password="${upload.password}">
<fileset dir="${upload.tmp.dir}">
<include name="spring-*.zip"/>
</fileset>
</scp>
<delete quiet="true" dir="${upload.tmp.dir}"/>
</target>
<target name="guard.upload.tmp.dir" unless="upload.tmp.dir">
<fail message="This target requires the upload.tmp.dir property to be set"/>
</target>
<target name="guard.upload.log.dir" unless="upload.log.dir">
<fail message="This target requires the upload.log.dir property to be set"/>
</target>
<target name="guard.upload.binaries.dir" unless="upload.binaries.dir">
<fail message="This target requires the upload.binaries.dir property to be set"/>
</target>
<target name="guard.upload.username" unless="upload.username">
<fail message="This target requires the upload.username property to be set"/>
</target>
<target name="guard.upload.url" unless="upload.url">
<fail message="This target requires the upload.url.property to be set"/>
</target>
<target name="guard.upload.password" unless="upload.password">
<fail message="This target requires the upload.password property to be set"/>
</target>
</project>

View File

@@ -0,0 +1,232 @@
<?xml version="1.0"?>
<!--
=======================================================================
A master build file for creating a release of Spring Web Flow
=======================================================================
-->
<project name="build-spring-webflow" default="release" xmlns:ivy="antlib:fr.jayasoft.ivy.ant">
<!-- Load local and user build preferences -->
<property file="build.properties" />
<property file="project.properties" />
<property file="${user.home}/build.properties" />
<!-- Try to load ivy here from local lib dir, in case the user has not already dropped
it into ant's lib dir (note that the latter copy will always take precedence).
We will not fail as long as local lib dir exists (it may be empty) and
ivy is in at least one of ant's lib dir or the local lib dir. -->
<path id="ivy.lib.path">
<fileset dir="${common.build.dir}/lib" includes="*.jar" />
</path>
<taskdef resource="fr/jayasoft/ivy/ant/antlib.xml" uri="antlib:fr.jayasoft.ivy.ant" classpathref="ivy.lib.path" />
<!-- simplistic pattern for zipping up sources -->
<selector id="project.source.zip.includes">
<or>
<filename name="common-build/**" />
<and>
<or>
<filename name="spring-webflow/build-spring-webflow/**" />
<filename name="spring-webflow/spring-binding/**" />
<filename name="spring-webflow/spring-webflow/**" />
<filename name="spring-webflow/spring-webflow-samples/**" />
</or>
<and>
<!-- exclude core project derived artifacts -->
<filename name="*/*/docs/**" negate="true"/>
<filename name="*/*/target/**" negate="true" />
<filename name="*/*/build.properties" negate="true" />
<filename name="*/*/lib/**" negate="true" />
</and>
<and>
<!-- exclude sample project derived artifacts -->
<filename name="*/*/*/docs/**" negate="true"/>
<filename name="*/*/*/target/**" negate="true" />
<filename name="*/*/*/build.properties" negate="true" />
<filename name="*/*/*/lib/**" negate="true" />
</and>
</and>
</or>
</selector>
<!--
targets: displays all targets suitable for developer use
-->
<target name="targets">
<echo>
Master build for Spring Web Flow and Spring Web Flow samples.
Please execute
ant -p
to see a list of all relevant targets.
</echo>
</target>
<!--
init: initializes some common settings
-->
<target name="init" unless="init.done" depends="init.pre, init.post" />
<target name="init.pre">
<!-- ivy will determine the right order to build web flow main and samples -->
<property name="ivy.conf.dir" value="${common.build.dir}" />
<ivy:configure file="${ivy.conf.dir}/ivyconf.xml" />
<ivy:buildlist reference="modules">
<fileset dir="..">
<include name="spring-binding/build.xml" />
<include name="spring-webflow/build.xml" />
<include name="spring-webflow-samples/*/build.xml" />
</fileset>
</ivy:buildlist>
<tstamp>
<format property="build.timestamp" pattern="yyyyMMddHHmmss" />
</tstamp>
<tstamp>
<format property="TSTAMPCOL" pattern="hh:mm" />
</tstamp>
<!-- default the release version (used in release archive zips) to the current timestamp -->
<property name="release.version" value="${build.timestamp}" />
<!-- root of build hierarchy -->
<property name="target.dir" value="${basedir}/target" />
<!-- directory for release zips -->
<property name="target.release.dir" value="${target.dir}/release" />
<!-- directory for release zips -->
<property name="zip.toplevel.dir" value="spring-webflow-${release.version}" />
<property name="release.zip" value="spring-webflow-${release.version}.zip" />
<echo message='user.dir = "${user.dir}"' />
<echo message='ant.file = "${ant.file}"' />
<echo message='ant.java.version = "${ant.java.version}"' />
<echo message='release.version = "${release.version}"' />
</target>
<target name="init.post">
<property name="projects" value="modules" />
<property name="projects.names" refid="modules" />
<property name="init.done" value="true" />
</target>
<target name="clean" depends="init" description="Cleans all build output files from all projects">
<delete dir="${target.dir}" />
<echo>projects=${projects}</echo>
<echo>projects.names=${projects.names}</echo>
<subant target="clean" inheritall="false">
<buildpath refid="${projects}" />
</subant>
</target>
<target name="clean-all" depends="init" description="Cleans all build output files from all projects, and also retrieved libs">
<delete dir="${target.dir}" />
<echo>projects=${projects}</echo>
<subant target="clean-all" inheritall="false">
<buildpath refid="${projects}" />
</subant>
</target>
<target name="retrieve" depends="init" description="Does a retrieve in all projects">
<delete dir="${target.dir}" />
<echo>projects=${projects}</echo>
<echo>projects.names=${projects.names}</echo>
<subant target="retrieve" inheritall="false">
<buildpath refid="${projects}" />
</subant>
</target>
<target name="publish" depends="init" description="Calls publish targets on each project">
<echo>projects=${projects}</echo>
<subant target="publish" inheritall="false">
<buildpath refid="${projects}" />
</subant>
</target>
<target name="dist" depends="init" description="Calls dist targets on each project">
<echo>projects=${projects}</echo>
<subant target="dist" inheritall="false">
<buildpath refid="${projects}" />
</subant>
</target>
<target name="build-release-repo" depends="init"
description="Builds repo of all dependencies for all projects">
<echo>projects=${projects}</echo>
<subant target="retrieve-to-repo" inheritall="false">
<property name="retrieve.to.repo.dir" value="${target.dir}/repo" />
<property name="retrieve.to.repo.pattern"
value="${release.repo.ivy.retrieve.pattern}" />
<property name="retrieve.to.repo.pattern.ivy"
value="${release.repo.ivy.retrieve.ivy.pattern}" />
<buildpath refid="${projects}" />
</subant>
</target>
<target name="tests" depends="init" description="Calls test targets on each project">
<echo>projects=${projects}</echo>
<subant target="tests" inheritall="false">
<buildpath refid="${projects}" />
</subant>
</target>
<target name="javadoc" depends="init" description="Calls javadoc targets on each project">
<echo>projects=${projects}</echo>
<subant target="javadoc" inheritall="false" failonerror="no">
<buildpath refid="${projects}" />
</subant>
</target>
<target name="doc" depends="init" description="Calls doc targets on applicable projects">
<echo>projects=${projects}</echo>
<subant target="doc-all" inheritall="false" failonerror="false">
<buildpathelement location="../spring-webflow" />
</subant>
</target>
<target name="tomcat-copy-war" depends="init" description="Copies all war to tomcat webapp dir">
<echo>projects=${projects}</echo>
<subant target="tomcat-copy-war" inheritall="false" failonerror="no">
<buildpath refid="${projects}" />
</subant>
</target>
<target name="release" depends="dist, build-release-repo, javadoc, doc, gen.release.zip"
description="Generate the spring-webflow release archive" />
<target name="gen.release.zip" depends="init">
<mkdir dir="${target.release.dir}" />
<delete file="${target.release.dir}/${release.zip}" />
<zip zipfile="${target.release.dir}/${release.zip}">
<!-- important readme, license, and other text files -->
<zipfileset file="../spring-webflow/*.txt" prefix="${zip.toplevel.dir}" />
<!-- binary files -->
<zipfileset dir="../spring-binding/target/dist/jars" prefix="${zip.toplevel.dir}" />
<zipfileset dir="../spring-binding/target/dist/ivys" prefix="${zip.toplevel.dir}/ivys" />
<zipfileset dir="../spring-binding/target/javadocs" prefix="${zip.toplevel.dir}/docs/api-binding" />
<zipfileset dir="../spring-webflow/target/dist/jars" prefix="${zip.toplevel.dir}" />
<zipfileset dir="../spring-webflow/target/dist/ivys" prefix="${zip.toplevel.dir}/ivys" />
<zipfileset dir="../spring-webflow/target/javadocs" prefix="${zip.toplevel.dir}/docs/api" />
<zipfileset dir="../spring-webflow/docs/reference/target" prefix="${zip.toplevel.dir}/docs/reference">
<exclude name="**/html_single/**" />
<exclude name="**/pdf/images/**" />
</zipfileset>
<zipfileset dir="../spring-webflow/docs" includes="upgrade-guide.pdf" prefix="${zip.toplevel.dir}/docs" />
<zipfileset dir="${target.dir}/repo" prefix="${zip.toplevel.dir}/projects/repository" />
<!-- project sources -->
<zipfileset dir="../.." prefix="${zip.toplevel.dir}/projects">
<selector refid="project.source.zip.includes" />
</zipfileset>
</zip>
</target>
</project>

View File

@@ -0,0 +1,7 @@
# Configurable property values that may be locally overriden by a build.properties file
# The version number of the release that will be built
release.version=1.0.1
# The location of the common build system
common.build.dir=${basedir}/../common-build

View File

@@ -0,0 +1,27 @@
This is where the master build that creates releases of Spring Web Flow resides.
USERS
- To build all Spring Web Flow related projects:
1. From this directory, run:
ant dist
Build Pre-requisites:
- javac 1.5 or > must be in your system path
- ant 1.6 or > must be in your system path
- ivy 1.3 or > (Note: a version of Ivy is included and will be used automatically if you do not already have
Ivy installed in your ANT_HOME/lib directory.
If you have Ivy already installed in %ANT_HOME%/lib make sure it is 1.3 or >. 1.2 won't work.)
DEVELOPERS
- To build a new Spring Web Flow product release:
1. Update project.properties to reflect the new release version, if necessary.
2. From this directory, run:
ant release
The release archive will be created and placed in:
target/release
Questions? See http://forum.springframework.org.