Add spring-build 2.2.3 and ensure build succeeds.

spring-build was previously included via an svn:external. Adding
directly to the source tree under Git to avoid the need for a git
submodule.

In order to build from any earlier commit, it is recommended to
export spring-build or symlink an existing copy into the root
of the spring-framework project and then build normally.

$ svn export https://src.springsource.org/svn/spring-build/tags/project-build-2.2.3 spring-build
This commit is contained in:
Rossen Stoyanchev
2011-12-29 10:36:00 -05:00
parent 74299358d1
commit b13da5fa0e
120 changed files with 5054 additions and 6 deletions

View File

@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="artifact-multi-bundle">
<import file="common.xml"/>
<!-- Main targets -->
<target name="javadoc-all"
description="Creates javadoc documentation for all classes.">
<delete dir="${javadoc-all.output.dir}" quiet="true"/>
<mkdir dir="${javadoc-all.output.dir}"/>
<all-bundles target="javadoc.prep">
<property name="javadoc.prep.dir" value="${javadoc.prep.dir}"/>
</all-bundles>
<path id="global.path">
<fileset dir="${ivy.cache.dir}">
<exclude name="**/*-sources-*.jar"/>
<include name="**/*.jar"/>
</fileset>
</path>
<java-doc input.dir="${javadoc.prep.dir}" output.dir="${javadoc-all.output.dir}" classpath.id="global.path"
access="private"/>
<delete quiet="true" dir="${javadoc.prep.dir}"/>
</target>
<target name="javadoc-api"
description="Creates javadoc documentation for all classes.">
<delete dir="${javadoc-api.output.dir}" quiet="true"/>
<mkdir dir="${javadoc-api.output.dir}"/>
<all-bundles target="javadoc.prep">
<property name="javadoc.prep.dir" value="${javadoc.prep.dir}"/>
</all-bundles>
<path id="global.path">
<fileset dir="${ivy.cache.dir}">
<exclude name="**/*-sources-*.jar"/>
<include name="**/*.jar"/>
</fileset>
</path>
<java-doc input.dir="${javadoc.prep.dir}" output.dir="${javadoc-api.output.dir}" classpath.id="global.path"
access="protected" exclude.package.names="${javadoc.exclude.package.names}"/>
<delete quiet="true" dir="${javadoc.prep.dir}"/>
</target>
<target name="jar"
description="Creates a JAR file containing the output of a compilation of the source tree.">
<all-bundles target="jar"/>
</target>
<!-- Other targets -->
<target name="javadoc.prep">
<all-bundles target="javadoc.prep">
<property name="javadoc.prep.dir" value="${javadoc.prep.dir}"/>
</all-bundles>
</target>
</project>

View File

@@ -0,0 +1,106 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="common-multi-bundle" xmlns:ivy="antlib:org.apache.ivy.ant">
<tstamp>
<format property="timestamp" pattern="yyyyMMddHHmmss" timezone="GMT"/>
</tstamp>
<!-- Properties -->
<dirname property="spring.build.dir" file="${ant.file.common-multi-bundle}/.."/>
<property file="${spring.build.dir}/common/common.properties"/>
<!-- Global targets -->
<condition property="adjusted.release.type" value="snapshot" else="${release.type}">
<equals arg1="integration" arg2="${release.type}"/>
</condition>
<!-- Main targets -->
<target name="clean"
description="Removes the target directory.">
<delete quiet="true" dir="${target.dir}"/>
<all-bundles target="clean"/>
</target>
<target name="clean-integration"
description="Removes the integration repository directory.">
<fail message="The 'integration.repo.dir' property must be set on this project.">
<condition>
<not>
<isset property="integration.repo.dir"/>
</not>
</condition>
</fail>
<delete quiet="true" dir="${integration.repo.dir}"/>
</target>
<target name="clean-ivy" depends="ivy.init"
description="Removes the ivy cache directory.">
<fail message="The 'ivy.cache.dir' property must be set on this project.">
<condition>
<not>
<isset property="ivy.cache.dir"/>
</not>
</condition>
</fail>
<delete quiet="true" dir="${ivy.cache.dir}"/>
</target>
<!-- Other targets -->
<target name="ivy.init" unless="ivy.initialized">
<taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant">
<classpath>
<path location="${ivy.lib.dir}/ivy.jar"/>
<path location="${ivy.lib.dir}/org.springframework.build.aws.ivy.jar"/>
<path location="${ivy.lib.dir}/commons-codec.jar"/>
<path location="${ivy.lib.dir}/commons-httpclient.jar"/>
<path location="${ivy.lib.dir}/commons-logging.jar"/>
<path location="${ivy.lib.dir}/jets3t.jar"/>
<path location="${ivy.lib.dir}"/>
</classpath>
</taskdef>
<ivy:settings file="${ivy.settings.file}"/>
<property name="ivy.initialized" value="true"/>
</target>
<!-- Macros -->
<macrodef name="all-bundles">
<attribute name="target"/>
<attribute name="buildpathRef" default="bundles"/>
<element name="inherited-properties" optional="true" implicit="true"/>
<sequential>
<subant target="@{target}" verbose="true" buildpathRef="@{buildpathRef}">
<inherited-properties/>
<propertyset>
<propertyref builtin="commandline"/>
</propertyset>
<property name="timestamp" value="${timestamp}"/>
</subant>
</sequential>
</macrodef>
<macrodef name="java-doc">
<attribute name="input.dir"/>
<attribute name="output.dir"/>
<attribute name="classpath.id"/>
<attribute name="access"/>
<attribute name="exclude.package.names" default=""/>
<sequential>
<delete quiet="true" dir="@{output.dir}"/>
<mkdir dir="@{output.dir}"/>
<javadoc.links sourcepath="@{input.dir}" destdir="@{output.dir}" classpathref="@{classpath.id}"
access="@{access}" excludepackagenames="@{exclude.package.names}" maxmemory="${javadoc.max.memory}"
stylesheetfile="${javadoc.stylesheet.file}" splitindex="true" useexternalfile="true">
<header><![CDATA[<!-- Begin Google Analytics code --> <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script type="text/javascript"> var pageTracker = _gat._getTracker("UA-2728886-3"); pageTracker._setDomainName("none"); pageTracker._setAllowLinker(true); pageTracker._trackPageview(); </script> <!-- End Google Analytics code -->]]></header>
<bottom><![CDATA[<!-- Begin LoopFuse code --> <script src="http://loopfuse.net/webrecorder/js/listen.js" type="text/javascript"> </script> <script type="text/javascript"> _lf_cid = "LF_48be82fa"; _lf_remora(); </script> <!-- End LoopFuse code -->]]></bottom>
</javadoc.links>
<copy toDir="@{output.dir}/resources">
<fileset dir="${javadoc.resources.dir}" />
</copy>
</sequential>
</macrodef>
<presetdef name="javadoc.links">
<javadoc/>
</presetdef>
</project>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="default-multi-bundle">
<import file="common.xml"/>
<import file="artifact.xml"/>
<import file="quality.xml"/>
<import file="package.xml"/>
<import file="publish.xml"/>
</project>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="package-multi-bundle">
<import file="common.xml"/>
<!-- Main targets -->
<target name="package"
description="Creates a packaged distributable of the project. Unless overridden, delegates to sub-bundles.">
<all-bundles target="package">
<property name="package.output.dir" value="${package.output.dir}"/>
</all-bundles>
</target>
</project>

View File

@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="publish-multi-bundle" xmlns:ivy="antlib:org.apache.ivy.ant"
xmlns:aws="antlib:org.springframework.build.aws">
<import file="common.xml"/>
<!-- Main targets -->
<target name="publish"
description="Publishes all artifacts to remote repositories">
<all-bundles target="publish"/>
</target>
<target name="publish-ivy"
description="Publishes all ivy artifacts to remote repositories">
<all-bundles target="publish-ivy"/>
</target>
<target name="publish-maven"
description="Publishes all maven artifacts to remote repositories">
<all-bundles target="publish-maven"/>
</target>
<target name="publish-maven-local">
<all-bundles target="publish-maven-local"/>
</target>
<target name="publish-maven-central">
<all-bundles target="publish-maven-central"/>
</target>
<target name="publish-package" depends="aws.init">
<fail message="The 'project.name' property must be set on this project.">
<condition>
<not>
<isset property="project.name"/>
</not>
</condition>
</fail>
<checksum file="${package.output.file}" algorithm="sha1"/>
<aws:s3 accessKey="${accessKey}" secretKey="${secretKey}">
<upload bucketName="dist.${bucket.basename}" file="${package.output.file}"
toFile="${adjusted.release.type}/${project.key}/${package.file.name}" publicRead="true">
<metadata name="project.name" value="${project.name}"/>
<metadata name="release.type" value="${release.type}"/>
<metadata name="bundle.version" value="${bundle.version}"/>
<metadata name="package.file.name" value="${package.file.name}"/>
</upload>
<upload bucketName="dist.${bucket.basename}" file="${package.output.file}.sha1"
toFile="${adjusted.release.type}/${project.key}/${package.file.name}.sha1" publicRead="true">
</upload>
</aws:s3>
</target>
<!-- Other targets -->
<target name="aws.init" depends="ivy.init">
<ivy:cachepath resolveId="spring.aws.ant.classpath" pathid="spring.aws.ant.classpath"
organisation="org.springframework.build" module="org.springframework.build.aws.ant"
revision="${org.springframework.build.aws.ant.version}" conf="runtime" type="jar" inline="true"
log="download-only"/>
<taskdef resource="org/springframework/build/aws/ant/antlib.xml" uri="antlib:org.springframework.build.aws"
classpathref="spring.aws.ant.classpath" />
</target>
</project>

View File

@@ -0,0 +1,106 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="quality-multi-bundle" xmlns:ivy="antlib:org.apache.ivy.ant">
<import file="common.xml"/>
<!-- Main targets -->
<target name="test" depends="jar, test.pre, test.do, test.post"
description="Executes all tests resulting from a compilation of the test tree returning test success metrics."/>
<target name="clover" depends="clover.pre, clover.do, clover.post"
description="Executes all tests resulting from a compilation of the test tree returning test coverage metrics."/>
<target name="findbugs" depends="findbugs.pre, findbugs.do"
description="Checks all code from the source tree for bugs."/>
<!-- Other targets -->
<target name="test.pre">
<delete quiet="true" dir="${test-results.output.dir}"/>
<mkdir dir="${test-results.output.dir}/xml"/>
</target>
<target name="test.do">
<all-bundles target="test.do">
<property name="test-results.output.dir" value="${test-results.output.dir}"/>
</all-bundles>
</target>
<target name="test.post">
<mkdir dir="${test-results.output.dir}/html"/>
<junitreport>
<fileset dir="${test-results.output.dir}/xml"/>
<report format="frames" todir="${test-results.output.dir}/html"/>
</junitreport>
<delete file="TESTS-TestSuites.xml"/>
</target>
<target name="clover.init" depends="ivy.init">
<ivy:cachepath resolveId="clover.classpath" pathid="clover.classpath" organisation="com.atlassian.clover"
module="com.springsource.com.cenqua.clover" revision="${com.springsource.com.cenqua.clover.version}"
conf="runtime" type="jar" inline="true" log="download-only"/>
<taskdef resource="cloverlib.xml" classpathref="clover.classpath"/>
</target>
<target name="clover.pre" depends="clover.init">
<delete dir="${clover.output.dir}" quiet="true"/>
<mkdir dir="${clover.output.dir}"/>
</target>
<target name="clover.do">
<clover-setup initstring="${clover.db.file}"/>
<all-bundles target="clover.do">
<property name="clover.output.dir" value="${clover.output.dir}"/>
<property name="clover.db.file" value="${clover.db.file}"/>
<property name="test-results.output.dir" value="${test-results.output.dir}"/>
</all-bundles>
</target>
<target name="clover.post" depends="clover.init">
<clover-report initstring="${clover.db.file}">
<current outfile="${clover.output.dir}/clover.xml" span="30m">
<format type="xml"/>
<testsources dir="..">
<include name="**/src/test/java/**/*.java"/>
<include name="**/src/test/java/*.java"/>
</testsources>
</current>
</clover-report>
<clover-report initstring="${clover.db.file}">
<current outfile="${clover.output.dir}/html" span="30m">
<format type="html"/>
<testsources dir="..">
<include name="**/src/test/java/**/*.java"/>
<include name="**/src/test/java/*.java"/>
</testsources>
</current>
</clover-report>
<clover-report initstring="${clover.db.file}">
<current outfile="${clover.output.dir}/clover.pdf" summary="true" span="30m">
<format type="pdf"/>
<testsources dir="..">
<include name="**/src/test/java/**/*.java"/>
<include name="**/src/test/java/*.java"/>
</testsources>
</current>
</clover-report>
<clover-check initstring="${clover.db.file}" target="${clover.coverage}" haltOnFailure="${clover.enforce}"
span="30m">
<testsources dir="..">
<include name="**/src/test/java/**/*.java"/>
<include name="**/src/test/java/*.java"/>
</testsources>
</clover-check>
</target>
<target name="findbugs.pre">
<delete dir="${findbugs.output.dir}" quiet="true"/>
<mkdir dir="${findbugs.output.dir}"/>
</target>
<target name="findbugs.do">
<all-bundles target="findbugs.do">
<property name="findbugs.output.dir" value="${findbugs.output.dir}"/>
</all-bundles>
</target>
</project>