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,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="artifact-common" xmlns:ivy="antlib:org.apache.ivy.ant"
xmlns:bundlor="antlib:com.springsource.bundlor.ant">
<!-- Main targets -->
<target name="javadoc-all" depends="ivy.init, resolve.compile, src.init" if="src.exists"
description="Creates javadoc documentation for all classes.">
<java-doc input.dir="${main.java.dir}" output.dir="${javadoc-all.output.dir}" classpath.id="compile.classpath"
access="private"/>
</target>
<target name="javadoc-api" depends="ivy.init, resolve.compile, src.init" if="src.exists"
description="Creates javadoc documentation for all classes.">
<java-doc input.dir="${main.java.dir}" output.dir="${javadoc-api.output.dir}" classpath.id="compile.classpath"
access="protected" exclude.package.names="${javadoc.exclude.package.names}"/>
</target>
<target name="jar" depends="ivy.init, resolve.compile, compile.init, jar.init"
description="Creates a JAR file containing the output of a compilation of the source tree.">
<delete quiet="true" file="${ivy.output.file}"/>
<mkdir dir="${ivy.output.dir}"/>
<delete quiet="true" file="${jar.output.file}"/>
<mkdir dir="${jar.output.dir}"/>
<delete quiet="true" file="${source-jar.output.file}"/>
<mkdir dir="${source-jar.output.dir}"/>
<compile classpath.id="compile.classpath" input.dir="${main.java.dir}" output.dir="${main.output.dir}"
resources.dir="${main.resources.dir}"/>
<jar destfile="${jar.output.file}" basedir="${main.output.dir}" index="true" filesetmanifest="merge">
<manifest>
<attribute name="Bundle-ManifestVersion" value="2"/>
<attribute name="Bundle-Version" value="${bundle.version}"/>
<attribute name="Bundle-Creator" value="${user.name}"/>
<attribute name="Implementation-Title" value="${implementation.title}"/>
<attribute name="Implementation-Version" value="${implementation.version}"/>
</manifest>
</jar>
<antcall target="bundlor"/>
<jar destfile="${source-jar.output.file}" basedir="${main.java.dir}" index="true"/>
<ivy:publish resolver="integration" pubdate="${timestamp}" status="${release.type}">
<artifacts pattern="${ivy.output.dir}/[artifact].[ext]"/>
<artifacts pattern="${jar.output.dir}/[artifact].[ext]"/>
<artifacts pattern="${source-jar.output.dir}/[artifact].[ext]"/>
</ivy:publish>
</target>
<!-- Other targets -->
<propertyset id="bundlor.properties"/>
<target name="compile.init" depends="ivy.init"/>
<target name="jar.init">
<fail message="The 'integration.repo.dir' property must be set on this project.">
<condition>
<not>
<isset property="integration.repo.dir"/>
</not>
</condition>
</fail>
<fail message="The 'ivy.cache.dir' property must be set on this project.">
<condition>
<not>
<isset property="ivy.cache.dir"/>
</not>
</condition>
</fail>
<fail message="The 'version' property must be set on this project.">
<condition>
<not>
<isset property="version"/>
</not>
</condition>
</fail>
</target>
<target name="bundlor" depends="bundlor.init" unless="disable.bundlor">
<bundlor:bundlor bundlePath="${jar.output.file}" outputPath="${jar.output.file}"
mergeExistingHeaders="${merge.existing.headers}" bundleVersion="${bundle.version}"
manifestTemplatePath="${manifest.template.file}">
<propertyset refid="bundlor.properties"/>
</bundlor:bundlor>
</target>
<target name="bundlor.init" depends="ivy.init" unless="disable.bundlor">
<ivy:cachepath resolveId="bundlor.classpath" pathid="bundlor.classpath" organisation="com.springsource.bundlor"
module="com.springsource.bundlor.ant" revision="${bundlor.ant.version}" conf="compile" inline="true"
type="jar" log="download-only"/>
<taskdef resource="com/springsource/bundlor/ant/antlib.xml" uri="antlib:com.springsource.bundlor.ant"
classpathref="bundlor.classpath"/>
</target>
<target name="javadoc.prep" depends="src.init" if="src.exists">
<mkdir dir="${javadoc.prep.dir}"/>
<copy todir="${javadoc.prep.dir}">
<fileset dir="${main.java.dir}"/>
</copy>
</target>
</project>

View File

@@ -0,0 +1,158 @@
# Common Properties
lib.dir=${spring.build.dir}/lib
artifacts.dir=${target.dir}/artifacts
target.dir=${basedir}/target
ci.build=false
natural.name=${ant.project.name}
build.stamp=BUILD-${timestamp}
bundle.version=${version}.${build.stamp}
publish.bucket=repository.springsource.com
local.repo.dir=${java.io.tmpdir}/local-repository
# Artifact Properties
main.java.dir=${basedir}/src/main/java
main.resources.dir=${basedir}/src/main/resources
main.output.dir=${target.dir}/classes
main.webapp.dir=${basedir}/src/main/webapp
# Javadoc Properties
javadoc-all.output.dir=${target.dir}/javadoc-all
javadoc-api.output.dir=${target.dir}/javadoc-api
javadoc.prep.dir=${target.dir}/javadoc-prep
javadoc.exclude.package.names=
javadoc.stylesheet.file=${spring.build.dir}/common/spring-javadoc.css
javadoc.resources.dir=${spring.build.dir}/common/javadoc-resources
javadoc.max.memory=128M
# JAR Properties
implementation.title=${ant.project.name}
implementation.version=${bundle.version}
jar.output.dir=${artifacts.dir}
jar.output.file=${jar.output.dir}/${ant.project.name}.jar
source-jar.output.dir=${artifacts.dir}
source-jar.output.file=${source-jar.output.dir}/${ant.project.name}-sources.jar
# PAR Properties
par.output.dir=${artifacts.dir}
par.output.file=${par.output.dir}/${ant.project.name}.par
par.provided.dir=${target.dir}/par-provided
par.provided.bundles.dir=${par.provided.dir}/bundles
par.provided.libraries.dir=${par.provided.dir}/libraries
par.staging.dir=${target.dir}/par-expanded
application.name=
application.description=
# Web Module Properties
web.module.output.dir=${artifacts.dir}
web.module.output.file=${web.module.output.dir}/${ant.project.name}.jar
web.module.staging.dir=${target.dir}/web-module-expanded
web.module.classes.dir=${web.module.staging.dir}/WEB-INF/classes
# Library Properties
libd.input.file=${basedir}/${ant.project.name}.libd
libd.output.dir=${artifacts.dir}
libd.output.file=${libd.output.dir}/${ant.project.name}.libd
# Resource Properties
resource.src.dir=${basedir}/src
# WAR Properties
war.output.dir=${artifacts.dir}
war.output.file=${war.output.dir}/${ant.project.name}.war
war.staging.dir=${target.dir}/war-expanded
war.classes.dir=${war.staging.dir}/WEB-INF/classes
war.lib.dir=${war.staging.dir}/WEB-INF/lib
# Compiler Properties
org.springframework.build.ant.version=1.1.0.RELEASE
org.eclipse.jdt.core.compiler.batch.version=3.3.0
build.compiler=org.eclipse.jdt.core.JDTCompilerAdapter
compile.debug=true
compile.debug.level=lines,vars,source
compiler.args=-enableJavadoc
source.version=1.5
target.version=${source.version}
# Package Properties
copy.to.dir=${package.dist.dir}
package.dir=${target.dir}/package-expanded
package.basename=${natural.name}-${bundle.version}
package.file.name=${package.basename}.zip
package.output.dir=${package.dir}/${package.basename}
package.output.file=${artifacts.dir}/${package.file.name}
package.dist.dir=${package.output.dir}/dist
package.lib.dir=${package.output.dir}/lib
package.src.dir=${package.output.dir}/src
package.docs.dir=${package.output.dir}/docs
package.jar.output.file=${ant.project.name}-${bundle.version}.jar
package.par.output.file=${ant.project.name}-${bundle.version}.par
package.libd.output.file=${ant.project.name}-${bundle.version}.libd
package.war.output.file=${ant.project.name}-${bundle.version}.war
package.source-jar.output.file=${ant.project.name}-sources-${bundle.version}.jar
org.springframework.build.aws.ant.version=3.0.3.RELEASE
# AspectJ Properties
org.aspectj.tools.version=1.6.3.RELEASE
# Test Properties
test.java.dir=${basedir}/src/test/java
test.resources.dir=${basedir}/src/test/resources
test.output.dir=${target.dir}/test-classes
test-results.output.dir=${target.dir}/test-results
test.vm.args=
# Clover Properties
clover.db.file=${clover.output.dir}/db/clover.db
clover.output.dir=${target.dir}/clover
clover.staging.dir=${clover.output.dir}/staging
main.clover.dir=${clover.staging.dir}/main
test.clover.dir=${clover.staging.dir}/test
com.springsource.com.cenqua.clover.version=2.4.2
clover.enforce=false
clover.coverage=0%
# Docbook Properties
docbook.dir=${lib.dir}/docbook
docbook.target.dir=${target.dir}/docbook
org.apache.velocity.docbookframework.dist.version=1.0.0.BUILD-20080625
com.springsource.net.sf.xslthl.version=1.2.0
com.springsource.org.apache.xerces.version=2.8.1
docbook.build.dir=${spring.build.dir}/docbook
docbook.output.dir=${target.dir}/${ant.project.name}
docbook.staging.dir=${docbook.target.dir}/staging
docbook.src.dir=${basedir}/src
docbook.images.dir=${basedir}/images
# Findbugs Properties
findbugs.dir=${lib.dir}/findbugs
findbugs.exclude.file=${spring.build.dir}/common/findbugs-exclude.xml
findbugs.output.dir=${target.dir}/findbugs
findbugs.output.file=${findbugs.output.dir}/${ant.project.name}.xml
edu.umd.cs.findbugs.version=1.3.7
# Ivy Properties
bucket.basename=springframework.org
release.type=integration
ivy.checksums=sha1
ivy.deliver.revision=${bundle.version}
ivy.file=${basedir}/ivy.xml
ivy.lib.dir=${lib.dir}/ivy
ivy.output.dir=${artifacts.dir}
ivy.output.file=${ivy.output.dir}/ivy.xml
ivy.settings.file=${spring.build.dir}/common/ivysettings.xml
# Maven Properties
pom.output.dir=${artifacts.dir}
pom.output.file=${pom.output.dir}/pom.xml
local.pom.output.file=${basedir}/pom.xml
org.apache.maven.ant.version=2.0.8
org.springframework.build.aws.maven.version=2.0.0.RELEASE
# Bundlor Properties
bundlor.ant.version=1.0.0.M4
manifest.template.file=${basedir}/template.mf
merge.existing.headers=true
#S3 Properties
accessKey=
secretKey=

View File

@@ -0,0 +1,226 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="common-common" 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-common}/.."/>
<property file="${spring.build.dir}/common/common.properties"/>
<!-- Global tasks -->
<condition property="adjusted.release.type" value="snapshot" else="${release.type}">
<equals arg1="integration" arg2="${release.type}"/>
</condition>
<condition property="publication.resolver.prefix" value="local" else="ebr">
<istrue value="${local.build}"/>
</condition>
<!-- Main targets -->
<target name="clean"
description="Removes the target directory.">
<delete quiet="true" dir="${target.dir}"/>
</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"
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>
<target name="resolve" depends="resolve.init"
description="Retrieves all external dependencies for this project.">
<ivy:resolve id="all.classpath" log="download-only"/>
</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>
<target name="resolve.init" depends="ivy.file.exists">
<fail message="Dependency resolution requires an ${ivy.file} file to exist.">
<condition>
<not>
<isset property="ivy.file.exists"/>
</not>
</condition>
</fail>
</target>
<target name="ivy.file.exists" depends="ivy.init">
<condition property="ivy.file.exists">
<available file="${ivy.file}"/>
</condition>
</target>
<target name="resolve.compile" depends="resolve.init">
<ivy:cachepath resolveId="compile.classpath" pathid="compile.classpath"
conf="compile,optional,provided,dm-server-provided" type="jar" log="download-only"/>
</target>
<target name="resolve.test" depends="resolve.init, resolve.compile">
<ivy:cachepath resolveId="test.classpath" pathid="test.classpath" conf="test" type="jar" log="download-only"/>
<ivy:cachepath resolveId="runtime.classpath" pathid="runtime.classpath" conf="runtime" type="jar"
log="download-only"/>
</target>
<target name="resolve.aspects" depends="resolve.init">
<ivy:cachepath resolveId="aspects.classpath" pathid="aspects.classpath" conf="aspects" type="jar"
log="download-only"/>
</target>
<target name="resolve.external" depends="resolve.init">
<ivy:cachepath resolveId="external.classpath" pathid="external.classpath" conf="external" type="jar"
transitive="false" log="download-only"/>
<ivy:cachepath resolveId="external.srcpath" pathid="external.srcpath" conf="external" type="src"
transitive="false" log="download-only"/>
</target>
<target name="src.init">
<condition property="src.exists">
<resourcecount when="gt" count="0">
<fileset dir="${main.java.dir}">
<include name="**/*.java"/>
<include name="*.java"/>
</fileset>
</resourcecount>
</condition>
</target>
<target name="test.init">
<condition property="test.exists">
<resourcecount when="gt" count="0">
<fileset dir="${test.java.dir}">
<include name="**/*.java"/>
<include name="*.java"/>
</fileset>
</resourcecount>
</condition>
</target>
<!-- Macros -->
<macrodef name="compile">
<attribute name="classpath.id"/>
<attribute name="input.dir"/>
<attribute name="output.dir"/>
<attribute name="resources.dir"/>
<sequential>
<delete quiet="true" dir="@{output.dir}"/>
<mkdir dir="@{output.dir}"/>
<pre-compile classpath.id="@{classpath.id}" input.dir="@{input.dir}" output.dir="@{output.dir}"
resources.dir="@{resources.dir}"/>
<do-compile classpath.id="@{classpath.id}" input.dir="@{input.dir}" output.dir="@{output.dir}"
resources.dir="@{resources.dir}"/>
<post-compile classpath.id="@{classpath.id}" input.dir="@{input.dir}" output.dir="@{output.dir}"
resources.dir="@{resources.dir}"/>
</sequential>
</macrodef>
<macrodef name="test-compile">
<attribute name="classpath.id"/>
<attribute name="input.dir"/>
<attribute name="output.dir"/>
<attribute name="resources.dir"/>
<sequential>
<delete quiet="true" dir="@{output.dir}"/>
<mkdir dir="@{output.dir}"/>
<test-pre-compile classpath.id="@{classpath.id}" input.dir="@{input.dir}" output.dir="@{output.dir}"
resources.dir="@{resources.dir}"/>
<do-compile classpath.id="@{classpath.id}" input.dir="@{input.dir}" output.dir="@{output.dir}"
resources.dir="@{resources.dir}"/>
<test-post-compile classpath.id="@{classpath.id}" input.dir="@{input.dir}" output.dir="@{output.dir}"
resources.dir="@{resources.dir}"/>
</sequential>
</macrodef>
<macrodef name="pre-compile">
<attribute name="classpath.id"/>
<attribute name="input.dir"/>
<attribute name="output.dir"/>
<attribute name="resources.dir"/>
<sequential/>
</macrodef>
<macrodef name="post-compile">
<attribute name="classpath.id"/>
<attribute name="input.dir"/>
<attribute name="output.dir"/>
<attribute name="resources.dir"/>
<sequential/>
</macrodef>
<macrodef name="test-pre-compile">
<attribute name="classpath.id"/>
<attribute name="input.dir"/>
<attribute name="output.dir"/>
<attribute name="resources.dir"/>
<sequential/>
</macrodef>
<macrodef name="test-post-compile">
<attribute name="classpath.id"/>
<attribute name="input.dir"/>
<attribute name="output.dir"/>
<attribute name="resources.dir"/>
<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,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<configurations>
<!-- Maven equivalent configurations -->
<conf name="compile" visibility="public" extends="aspects" description="Maven compile dependencies"/>
<conf name="optional" visibility="public" extends="compile" description="Maven optional dependencies"/>
<conf name="provided" visibility="public" description="Maven provided dependencies"/>
<conf name="dm-server-provided" visibility="public" description="Maven provided dependencies that already exist in the platform"/>
<conf name="runtime" visibility="public" extends="compile" description="Runtime dependencies"/>
<conf name="test" visibility="private" description="Test dependencies"/>
<!-- Aspect weaving configuration -->
<conf name="aspects" visibility="private" description="Aspects to be woven"/>
<conf name="external" visibility="private" description="External candidates to be woven"/>
<!-- PAR configuration -->
<conf name="additional" visibility="private" description="Additional candidates to be included in the PAR"/>
</configurations>

View File

@@ -0,0 +1,6 @@
<FindBugsFilter>
<!-- Exclusions -->
<Match>
<Bug code="BAC,PS"/>
</Match>
</FindBugsFilter>

View File

@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<ivysettings>
<typedef name="s3" classname="org.springframework.aws.ivy.S3Resolver"/>
<settings defaultResolver="external-lookup" defaultLatestStrategy="latest-lexico"/>
<caches resolutionCacheDir="${ivy.cache.dir}/resolution" repositoryCacheDir="${ivy.cache.dir}/repository"
ivyPattern="[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
artifactPattern="[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
useOrigin="true" checkUpToDate="false"/>
<macrodef name="s3repo">
<attribute name="bucket"/>
<attribute name="artifact.type"/>
<attribute name="release.type"/>
<s3 descriptor="required" accessKey="${accessKey}" secretKey="${secretKey}">
<ivy pattern="s3://@{bucket}/ivy/@{artifact.type}/@{release.type}/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
<artifact pattern="s3://@{bucket}/ivy/@{artifact.type}/@{release.type}/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
</s3>
</macrodef>
<macrodef name="localrepo">
<filesystem descriptor="required">
<ivy pattern="${local.repo.dir}/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
<artifact pattern="${local.repo.dir}/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
</filesystem>
</macrodef>
<resolvers>
<!-- Integration repositories -->
<filesystem name="integration" descriptor="required">
<ivy pattern="${integration.repo.dir}/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
<artifact pattern="${integration.repo.dir}/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
</filesystem>
<!-- Lookup repositories -->
<chain name="external-lookup" returnFirst="true">
<localrepo name="local-external-repository"/>
<s3repo name="bundle-external-repository" bucket="repository.springsource.com" artifact.type="bundles" release.type="external"/>
<s3repo name="library-external-repository" bucket="repository.springsource.com" artifact.type="libraries" release.type="external"/>
</chain>
<chain name="spring-portfolio-lookup" returnFirst="true">
<resolver ref="integration"/>
<localrepo name="local"/>
<s3repo name="bundle-release-repository" bucket="repository.springsource.com" artifact.type="bundles" release.type="release"/>
<s3repo name="bundle-milestone-repository" bucket="repository.springsource.com" artifact.type="bundles" release.type="milestone"/>
<s3repo name="bundle-snapshot-repository" bucket="repository.springsource.com" artifact.type="bundles" release.type="snapshot"/>
<s3repo name="library-release-repository" bucket="repository.springsource.com" artifact.type="libraries" release.type="release"/>
<s3repo name="library-milestone-repository" bucket="repository.springsource.com" artifact.type="libraries" release.type="milestone"/>
<s3repo name="library-snapshot-repository" bucket="repository.springsource.com" artifact.type="libraries" release.type="snapshot"/>
</chain>
<!-- Publishing repositories -->
<s3repo name="ebr-bundle-publish" bucket="${publish.bucket}" artifact.type="bundles" release.type="${adjusted.release.type}"/>
<s3repo name="ebr-library-publish" bucket="${publish.bucket}" artifact.type="libraries" release.type="${adjusted.release.type}"/>
<localrepo name="local-bundle-publish"/>
<localrepo name="local-library-publish"/>
</resolvers>
<modules>
<module organisation="org.springframework.*" name="*" resolver="spring-portfolio-lookup"/>
<module organisation="com.springsource.*" name="*" resolver="spring-portfolio-lookup"/>
</modules>
</ivysettings>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -0,0 +1,94 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="package-common" xmlns:ivy="antlib:org.apache.ivy.ant">
<import file="common.xml"/>
<!-- Main targets -->
<target name="package"
description="Copies all external and created artifacts to a packaging location. Unless overriden, copies nothing.">
<echo message="${ant.project.name} contributed no artifacts to packaging. To contribute, override the 'package' target in the bundle." />
</target>
<target name="copy-dist-jar" depends="ivy.init"
description="Copies the distributable jar to a location">
<dist-jar output.dir="${copy.to.dir}"/>
</target>
<target name="copy-ext-jars" depends="ivy.init"
description="Copies the external jars to a location">
<ext-jars output.dir="${copy.to.dir}"/>
</target>
<target name="copy-provided-jars" depends="ivy.init"
description="Copies the provided jars to a location">
<provided-jars output.dir="${copy.to.dir}"/>
</target>
<target name="copy-provided-libs" depends="ivy.init"
description="Copies the provided libs to a location">
<provided-libs output.dir="${copy.to.dir}"/>
</target>
<!-- Macros -->
<macrodef name="dist-jar">
<attribute name="output.dir" default="${package.dist.dir}"/>
<sequential>
<mkdir dir="@{output.dir}"/>
<copy file="${jar.output.file}" tofile="@{output.dir}/${package.jar.output.file}"/>
</sequential>
</macrodef>
<macrodef name="src-jar">
<attribute name="output.dir" default="${package.src.dir}"/>
<sequential>
<mkdir dir="@{output.dir}"/>
<copy file="${source-jar.output.file}" tofile="@{output.dir}/${package.source-jar.output.file}"/>
</sequential>
</macrodef>
<macrodef name="add-jars">
<attribute name="output.dir" default="${package.lib.dir}"/>
<sequential>
<mkdir dir="@{output.dir}"/>
<ivy:retrieve resolveId="additional.classpath" conf="additional" type="jar"
pattern="@{output.dir}/[artifact]-[revision].[ext]" log="download-only"/>
</sequential>
</macrodef>
<macrodef name="ext-jars">
<attribute name="output.dir" default="${package.lib.dir}"/>
<sequential>
<mkdir dir="@{output.dir}"/>
<ivy:retrieve resolveId="runtime.classpath" conf="runtime" type="jar"
pattern="@{output.dir}/[artifact]-[revision].[ext]" log="download-only"/>
</sequential>
</macrodef>
<macrodef name="ext-jars-shallow">
<attribute name="output.dir" default="${package.lib.dir}"/>
<sequential>
<mkdir dir="@{output.dir}"/>
<ivy:retrieve resolveId="runtime.classpath" conf="runtime" type="jar" transitive="false"
pattern="@{output.dir}/[artifact]-[revision].[ext]" log="download-only"/>
</sequential>
</macrodef>
<macrodef name="provided-jars">
<attribute name="output.dir" default="${package.lib.dir}"/>
<sequential>
<mkdir dir="@{output.dir}"/>
<ivy:retrieve resolveId="provided.classpath" conf="provided" type="jar"
pattern="@{output.dir}/[artifact]-[revision].[ext]" log="download-only"/>
</sequential>
</macrodef>
<macrodef name="provided-libs">
<attribute name="output.dir" default="${package.lib.dir}"/>
<sequential>
<mkdir dir="@{output.dir}"/>
<ivy:retrieve resolveId="provided.classpath" conf="provided" type="library"
pattern="@{output.dir}/[artifact]-[revision].[ext]" log="download-only"/>
</sequential>
</macrodef>
</project>

View File

@@ -0,0 +1,85 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="publish-common" xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:maven="antlib:org.apache.maven.artifact.ant">
<import file="common.xml"/>
<!-- Main targets -->
<target name="publish" depends="publish-ivy, publish-maven"
description="Publishes all artifacts to remote repositories"/>
<target name="publish-ivy" depends="ivy.init, resolve">
<delete quiet="true" file="${ivy.output.file}"/>
<mkdir dir="${ivy.output.dir}"/>
<ivy:publish resolver="${publication.resolver.prefix}-bundle-publish" pubdate="${timestamp}"
status="${release.type}">
<artifacts pattern="${ivy.output.dir}/[artifact].[ext]"/>
<artifacts pattern="${jar.output.dir}/[artifact].[ext]"/>
<artifacts pattern="${source-jar.output.dir}/[artifact].[ext]"/>
</ivy:publish>
</target>
<target name="publish-maven" depends="create.pom, snapshot.pom, maven.init" unless="local.build">
<maven:deploy file="${jar.output.file}">
<remoteRepository url="s3://${publish.bucket}/maven/bundles/${adjusted.release.type}">
<authentication username="${accessKey}" passphrase="${secretKey}"/>
</remoteRepository>
<pom file="${pom.output.file}"/>
<attach file="${source-jar.output.file}" classifier="sources"/>
</maven:deploy>
</target>
<target name="publish-maven-local" depends="create.pom, snapshot.pom, maven.init">
<maven:install file="${jar.output.file}">
<pom file="${pom.output.file}"/>
<attach file="${source-jar.output.file}" classifier="sources"/>
</maven:install>
</target>
<target name="publish-maven-central" depends="maven.init">
<property name="maven.central.repository" value="s3://maven.springframework.org/${adjusted.release.type}"/>
<maven:deploy file="${jar.output.file}">
<remoteRepository url="${maven.central.repository}">
<authentication username="${accessKey}" passphrase="${secretKey}"/>
</remoteRepository>
<pom file="${local.pom.output.file}"/>
<attach file="${source-jar.output.file}" classifier="sources"/>
</maven:deploy>
</target>
<!-- Other targets -->
<target name="maven.init" depends="ivy.init">
<ivy:cachepath resolveId="maven.ant.tasks.classpath" pathid="maven.ant.tasks.classpath"
organisation="org.apache.maven" module="com.springsource.org.apache.maven.ant"
revision="${org.apache.maven.ant.version}" conf="runtime" type="jar" inline="true" log="download-only"/>
<taskdef resource="org/apache/maven/artifact/ant/antlib.xml" uri="antlib:org.apache.maven.artifact.ant"
classpathref="maven.ant.tasks.classpath"/>
<maven:install-provider groupId="org.springframework.build.aws" artifactId="org.springframework.build.aws.maven"
version="${org.springframework.build.aws.maven.version}"/>
</target>
<target name="create.pom" depends="ivy.init, resolve">
<delete quiet="true" file="${pom.output.file}"/>
<mkdir dir="${pom.output.dir}"/>
<ivy:makepom ivyfile="${ivy.output.file}" pomfile="${pom.output.file}">
<mapping conf="compile" scope="compile"/>
<mapping conf="provided" scope="provided"/>
<mapping conf="dm-server-provided" scope="provided"/>
<mapping conf="runtime" scope="runtime"/>
<mapping conf="test" scope="test"/>
</ivy:makepom>
</target>
<target name="snapshot.pom" depends="is.snapshot" if="snapshot.release">
<replaceregexp flags="g" match="(\d(.\d(.\d)?)?).${build.stamp}" replace="\1.BUILD-SNAPSHOT"
file="${pom.output.file}"/>
</target>
<target name="is.snapshot">
<condition property="snapshot.release">
<equals arg1="integration" arg2="${release.type}"/>
</condition>
</target>
</project>

View File

@@ -0,0 +1,224 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="quality-common" xmlns:ivy="antlib:org.apache.ivy.ant">
<!-- 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" depends="test.init" if="test.exists">
<delete dir="${test-results.output.dir}" quiet="true"/>
<mkdir dir="${test-results.output.dir}/xml"/>
</target>
<target name="test.do" depends="ivy.init, resolve.test, compile.init, test.init" if="test.exists">
<path id="test.compile.classpath">
<pathelement location="${jar.output.file}"/>
<path refid="compile.classpath"/>
<path refid="test.classpath"/>
</path>
<test-compile classpath.id="test.compile.classpath" input.dir="${test.java.dir}" output.dir="${test.output.dir}"
resources.dir="${test.resources.dir}"/>
<path id="test.run.classpath">
<pathelement location="${jar.output.file}"/>
<pathelement location="${test.output.dir}"/>
<path refid="compile.classpath"/>
<path refid="test.classpath"/>
<path refid="runtime.classpath"/>
</path>
<test-run classpath.id="test.run.classpath"/>
</target>
<target name="test.post" depends="test.init" if="test.exists">
<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">
<delete dir="${clover.output.dir}" quiet="true"/>
<mkdir dir="${clover.output.dir}"/>
</target>
<target name="clover.do" depends="ivy.init, resolve.test, compile.init, clover.instrument, test.init"
if="test.exists">
<path id="test.compile.classpath">
<pathelement location="${main.output.dir}"/>
<path refid="compile.classpath" />
<path refid="test.classpath"/>
</path>
<path id="clover.run.classpath">
<pathelement location="${main.output.dir}"/>
<pathelement location="${test.output.dir}"/>
<path refid="clover.classpath"/>
<path refid="compile.classpath"/>
<path refid="test.classpath"/>
<path refid="runtime.classpath"/>
</path>
<test-run classpath.id="clover.run.classpath"/>
</target>
<target name="clover.instrument" depends="ivy.init, resolve.test, compile.init, clover.init">
<instrument input.dir="${main.java.dir}" output.dir="${main.clover.dir}"/>
<path id="clover.compile.classpath">
<path refid="clover.classpath"/>
<path refid="compile.classpath"/>
</path>
<compile classpath.id="clover.compile.classpath" input.dir="${main.clover.dir}" output.dir="${main.output.dir}"
resources.dir="${main.resources.dir}"/>
<instrument input.dir="${test.java.dir}" output.dir="${test.clover.dir}"/>
<path id="test.compile.classpath">
<pathelement location="${main.output.dir}"/>
<path refid="clover.classpath"/>
<path refid="compile.classpath"/>
<path refid="test.classpath"/>
</path>
<test-compile classpath.id="test.compile.classpath" input.dir="${test.clover.dir}" output.dir="${test.output.dir}"
resources.dir="${test.resources.dir}"/>
<delete dir="${clover.staging.dir}" quiet="true"/>
</target>
<target name="clover.post" depends="clover.init">
<clover-report initstring="${clover.db.file}">
<current outfile="${clover.output.dir}/clover.xml">
<format type="xml"/>
<testsources dir="${test.java.dir}">
<include name="**/*.java"/>
<include name="*.java"/>
</testsources>
</current>
</clover-report>
<clover-report initstring="${clover.db.file}">
<current outfile="${clover.output.dir}/html">
<format type="html"/>
<testsources dir="${test.java.dir}">
<include name="**/*.java"/>
<include name="*.java"/>
</testsources>
</current>
</clover-report>
<clover-report initstring="${clover.db.file}">
<current outfile="${clover.output.dir}/clover.pdf" summary="true">
<format type="pdf"/>
<testsources dir="${test.java.dir}">
<include name="**/*.java"/>
<include name="*.java"/>
</testsources>
</current>
</clover-report>
<clover-check initstring="${clover.db.file}" target="${clover.coverage}" haltOnFailure="${clover.enforce}">
<testsources dir="${test.java.dir}">
<include name="**/*.java"/>
<include name="*.java"/>
</testsources>
</clover-check>
</target>
<target name="findbugs.init" depends="ivy.init, findbugs.download">
<ivy:cachepath resolveId="findbugs.classpath" pathid="findbugs.classpath" organisation="edu.umd.cs.findbugs"
module="com.springsource.edu.umd.cs.findbugs.ant" revision="${edu.umd.cs.findbugs.version}"
conf="runtime" type="jar" inline="true" log="download-only"/>
<taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"
classpathref="findbugs.classpath"/>
</target>
<target name="findbugs.download" depends="findbugs.download.init" if="findbugs.download.needed">
<ivy:cachepath resolveId="findbugs" pathid="findbugs" organisation="edu.umd.cs.findbugs"
module="edu.umd.cs.findbugs.dist" revision="${edu.umd.cs.findbugs.version}" conf="runtime" type="zip"
inline="true" log="download-only"/>
<unzip dest="${findbugs.dir}">
<path refid="findbugs"/>
<globmapper from="findbugs-${edu.umd.cs.findbugs.version}/*" to="*"/>
</unzip>
</target>
<target name="findbugs.download.init">
<condition property="findbugs.download.needed">
<not>
<available file="${findbugs.dir}" type="dir"/>
</not>
</condition>
</target>
<target name="findbugs.pre" depends="src.init" if="src.exists">
<delete dir="${findbugs.output.dir}" quiet="true"/>
<mkdir dir="${findbugs.output.dir}"/>
</target>
<target name="findbugs.do" depends="ivy.init, resolve.compile, compile.init, findbugs.init, src.init" if="src.exists">
<findbugs home="${findbugs.dir}" output="xml" outputFile="${findbugs.output.file}"
excludeFilter="${findbugs.exclude.file}" jvmargs="-Xmx1024M" errorProperty="findbugs.errors" warningsProperty="findbugs.warnings">
<class location="${main.output.dir}"/>
<auxClasspath>
<!-- Require something to always be in this classpath so findbugs on windows runs -->
<path location="." />
<path refid="compile.classpath"/>
</auxClasspath>
<sourcepath location="${main.java.dir}"/>
</findbugs>
<antcall target="findbugs.post"/>
</target>
<target name="findbugs.post" if="findbugs.enforce">
<fail if="findbugs.errors" message="FindBugs errors found"/>
<fail if="findbugs.warnings" message="FindBugs warnings found"/>
</target>
<!-- Macros -->
<macrodef name="test-run">
<attribute name="classpath.id"/>
<sequential>
<condition property="test.halt" value="false" else="true">
<istrue value="${ci.build}"/>
</condition>
<mkdir dir="${test-results.output.dir}/xml"/>
<junit forkmode="perBatch" dir="${basedir}" haltonerror="${test.halt}" haltonfailure="${test.halt}">
<jvmarg line="${test.vm.args}"/>
<syspropertyset>
<propertyref builtin="commandline"/>
</syspropertyset>
<classpath refid="@{classpath.id}"/>
<test fork="yes" todir="${test-results.output.dir}/xml" name="${testcase}" if="testcase"/>
<batchtest fork="yes" todir="${test-results.output.dir}/xml" unless="testcase">
<fileset dir="${test.output.dir}" includes="**/*Test.class,**/*Tests.class"
excludes="**/Abstract*.class"/>
</batchtest>
<formatter type="brief" usefile="false"/>
<formatter type="xml"/>
</junit>
</sequential>
</macrodef>
<macrodef name="instrument">
<attribute name="input.dir"/>
<attribute name="output.dir"/>
<sequential>
<clover-instr initstring="${clover.db.file}" srcdir="@{input.dir}" destdir="@{output.dir}"/>
<copy todir="@{output.dir}">
<fileset dir="@{input.dir}">
<exclude name="**/*.java"/>
<exclude name="*.java"/>
</fileset>
</copy>
</sequential>
</macrodef>
</project>

View File

@@ -0,0 +1,178 @@
/* stylesheet.css 2008/04/22 nicolekonicki */
/*
*
* Spring-specific Javadoc style sheet
*
*/
.code
{
border: 1px solid black;
background-color: #F4F4F4;
padding: 5px;
}
body
{
font: 12px Verdana, Arial, Helvetica, "Bitstream Vera Sans", sans-serif;
background-color: #fff;
color: #333;
}
/* Link colors */
a
{
color:#2c7b14;
text-decoration:none;
}
a:hover
{
text-decoration:underline;
}
/* Headings */
h1
{
font-size:28px;
color:#007c00;
}
/* Table colors */
table
{
border:none;
}
td
{
border:none;
border-bottom:1px dotted #ddd;
}
th
{
border:none;
}
.TableHeadingColor th
{
background-color: #efffcb;
background-image: url(resources/TableHeading-background.png);
background-repeat: repeat-x;
color:#fff;
font-size:14px;
height:26px;
}
.TableSubHeadingColor
{
background: #f7ffee;
}
.TableRowColor
{
background: #fff;
}
.TableRowColor a
{
border-bottom:none;
color:#2c7b14;
font-weight:normal;
}
tr.TableRowColor:hover
{
background:#eef2e1;
}
/* Font used in left-hand frame lists */
.FrameTitleFont
{
font-size: 120%;
font-weight:bold;
}
.FrameTitleFont a
{
color: #333;
}
.FrameHeadingFont
{
font-weight: bold;
font-size:95%;
}
.FrameItemFont
{
line-height:130%;
font-size: 95%;
}
.FrameItemFont a
{
color:#333;
}
.FrameItemFont a:hover
{
color:#249901;
border-bottom:none;
text-decoration:underline;
}
/* Navigation bar fonts and colors */
.NavBarCell1
{
background-color:#fff;
border:none;
}
.NavBarCell1Rev
{
background-color:#e3faa5;
border:1px solid #9ad00c;
padding:0;
margin:0;
}
.NavBarCell1 a
{
color:#333;
text-decoration:none;
}
.NavBarFont1Rev
{
}
.NavBarCell2
{
border:none;
}
.NavBarCell2 a
{
color:#249901;
font-size:90%;
}
.NavBarCell3
{
border:none;
}
/* Override sizes in font tags */
font
{
font: inherit !important;
}