Skip to content

Commit

Permalink
Moved Spring-WS to seperate dir
Browse files Browse the repository at this point in the history
  • Loading branch information
poutsma committed Sep 24, 2006
0 parents commit a06fad2
Show file tree
Hide file tree
Showing 401 changed files with 23,270 additions and 0 deletions.
1 change: 1 addition & 0 deletions build-spring-ws/.cvsignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
target
215 changes: 215 additions & 0 deletions build-spring-ws/build.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,215 @@
<?xml version="1.0"?>
<!--
=======================================================================
A master build file for creating a release of Spring Web Services
=======================================================================
-->
<project name="build-spring-ws" 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="build-spring-ws/**" />
<filename name="spring-oxm/**" />
<filename name="spring-ws-core/**" />
<filename name="spring-ws-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-WS jars.

Please execute
ant -p

to see a list of all relevant targets.
The default target is 'release'
</echo>
</target>

<!--
init: initializes some common settings
-->
<target name="init" unless="init.done" depends="init.pre, init.post">
</target>

<target name="init.pre" >
<!-- ivy will determine the right order to build oxm, ws 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-oxm/build.xml" />
<include name="spring-ws-core/build.xml" />
<include name="spring-ws-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-ws-${release.version}"/>
<property name="release.zip" value="spring-ws-${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">
<echo>projects=${projects}</echo>
<subant target="clean-all" 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">1
<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">
<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-ws-core" />
</subant>
</target>

<target name="release"
depends="dist, build-release-repo, javadoc, doc, gen.release.zip"
description="Generate the spring-ws release archive">
</target>

<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-ws-core/*.txt" prefix="${zip.toplevel.dir}" />
<!-- binary files -->
<zipfileset dir="../spring-ws-core/target/dist/jars" prefix="${zip.toplevel.dir}" />
<zipfileset dir="../spring-oxm/target/dist/jars" prefix="${zip.toplevel.dir}" />
<zipfileset dir="../spring-ws-core/target/javadocs" prefix="${zip.toplevel.dir}/docs/api" />
<zipfileset dir="../spring-ws-core/docs/reference/target" prefix="${zip.toplevel.dir}/docs/reference">
<exclude name="**/html_single/**" />
</zipfileset>
<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>
6 changes: 6 additions & 0 deletions build-spring-ws/project.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# configurable property values, may be locally overriden by a build.properties file
release.version=0.9.1

# The location of the common build system
common.build.dir=${basedir}/../common-build

12 changes: 12 additions & 0 deletions build-spring-ws/readme.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
This is where the master build to create releases of spring-ws resides.

To build a new release:

1. Update project.properties to contain the new release version, if necessary.

2. From this directory, run:
ant release
The release archive will created and placed in:
target/release

Questions? See forum.springframework.org
11 changes: 11 additions & 0 deletions common-build/.cvsignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
build.properties
*.jpx.local*
*.log
*.iws
*.tws
target
dist
gen-src
bak
mimedata
ivy-cache
11 changes: 11 additions & 0 deletions common-build/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>common-build</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
</projectDescription>
82 changes: 82 additions & 0 deletions common-build/clover-targets.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
<?xml version="1.0"?>

<!--
Copyright 2002-2005 the original author or authors.
Licensed 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.
- - -
Author: Colin Sampaleanu
Author: Keith Donald
Ant XML fragment that contains useful targets for working with clover. These
include targets to instrument (cloverize) project code, execute tests with clover,
and produce test coverage reports.
This ant XML fragment is meant to be imported into a project build file, along with
common-targets.xml. This is an optional module, and due to the way the ant import works,
there is no way to automatically hook this up into the build. The importing project
must override appropropriate 'hook' targets from common-targets.xml, and then have
the override targets depend on both the targets from common-targets and those from here.
Note, for clover to work:
- Make sure clover.jar and cenquatasks.jar is in your ant lib directory.
- Make sure clover.jar is expressed as a test dependency for your project.
-->

<project name="clover-targets" xmlns:ivy="antlib:fr.jayasoft.ivy.ant">

<import file="common-targets.xml" />

<target name="clover.tasks" depends="retrieve">
<taskdef resource="com/cenqua/ant/antlib.xml" classpath="${test.classpath}" />
<taskdef resource="clovertasks" classpath="${test.classpath}" />
</target>

<target name="-check.clover" depends="clover.tasks">
<available property="clover.installed" classname="com.cenqua.clover.CloverInstr" />
</target>

<target name="guard.noclover" depends="-check.clover" unless="clover.installed">
<fail message="The target you are attempting to run requires Clover, which doesn't appear" />
</target>

<target name="clover.init" depends="guard.noclover">
<property name="target.clover.dir" value="${target.dir}/clover" />
<mkdir dir="${target.clover.dir}" />
<clover-setup initstring="${target.clover.dir}/coverage.db" tmpdir="${target.clover.dir}" preserve="true">
<fileset dir="${src.java.main.dir}">
<include name="**/*.java" />
</fileset>
</clover-setup>
</target>

<target name="clover.instrument" depends="clover.init, compile" />

<target name="clover-report" depends="clover.instrument, tests-local" description="Produce a test coverage report">
<clover-report>
<current outfile="${target.clover.dir}/html">
<format type="html" />
</current>
</clover-report>
</target>

<target name="clover-summary" depends="clover.instrument, tests-local" description="Produce a test coverage summary">
<clover-report>
<current summary="yes" outfile="${target.clover.dir}/coverage.pdf">
<format type="pdf" />
</current>
</clover-report>
</target>

</project>
Loading

0 comments on commit a06fad2

Please sign in to comment.