Add spring-build 2.5.2

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.5.2 spring-build
This commit is contained in:
Chris Beams
2011-12-15 02:28:49 +01:00
parent ac107d0c2a
commit abb5fc094a
85 changed files with 5173 additions and 1 deletions

View File

@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2010 SpringSource
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.
-->
<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}" erroronmissingdir="false">
<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}" erroronmissingdir="false">
<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,120 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2010 SpringSource
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.
-->
<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>
</javadoc.links>
<copy toDir="@{output.dir}/resources">
<fileset dir="${javadoc.resources.dir}" erroronmissingdir="false"/>
</copy>
</sequential>
</macrodef>
<presetdef name="javadoc.links">
<javadoc/>
</presetdef>
</project>

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2010 SpringSource
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.
-->
<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,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2010 SpringSource
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.
-->
<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,83 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2010 SpringSource
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.
-->
<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-central">
<all-bundles target="publish-maven-central"/>
</target>
<target name="install-maven">
<all-bundles target="install-maven"/>
</target>
<target name="install-maven-central">
<all-bundles target="install-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,138 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2010 SpringSource
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.
-->
<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."/>
<target name="osgi-validate"
description="Checks all code from the source tree for bugs.">
<all-bundles target="osgi-validate"/>
</target>
<!-- 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" erroronmissingdir="false"/>
<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.db.dir}"/>
</target>
<target name="clover.do">
<condition property="has.unit.test.bundles">
<isreference refid="unit.test.bundles" />
</condition>
<antcall target="clover.do.unit"/>
<antcall target="clover.do.all" />
</target>
<target name="clover.do.unit" if="has.unit.test.bundles">
<all-bundles target="clover" buildpathRef="unit.test.bundles"/>
</target>
<target name="clover.do.all" unless="has.unit.test.bundles">
<all-bundles target="clover" buildpathRef="bundles"/>
</target>
<target name="clover.post" depends="clover.init">
<clover-merge initString="${clover.db.file}">
<cloverDbSet dir="${basedir}/.." span="30m">
<include name="**/target/clover/db/clover.db"/>
</cloverDbSet>
</clover-merge>
<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>