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:
120
spring-build/common/artifact.xml
Normal file
120
spring-build/common/artifact.xml
Normal 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="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}"/>
|
||||
<ivy:retrieve resolveId="additional.classpath" conf="additional" type="jar" transitive="false"
|
||||
pattern="${main.output.dir}/[artifact]-[revision].[ext]" log="download-only"/>
|
||||
<antcall target="bundlor"/>
|
||||
<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>
|
||||
<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]"/>
|
||||
<artifacts pattern="${license.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 inputPath="${main.output.dir}" outputPath="${main.output.dir}"
|
||||
bundleVersion="${bundle.version}" manifestTemplatePath="${manifest.template.file}"
|
||||
failOnWarnings="${fail.on.warnings}">
|
||||
<propertyset refid="bundlor.properties"/>
|
||||
<propertyset>
|
||||
<propertyref builtin="all"/>
|
||||
</propertyset>
|
||||
</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="ant" 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}" erroronmissingdir="false"/>
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
</project>
|
||||
183
spring-build/common/common.properties
Normal file
183
spring-build/common/common.properties
Normal file
@@ -0,0 +1,183 @@
|
||||
# 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.
|
||||
|
||||
# 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
|
||||
license.dir=${basedir}
|
||||
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.8.RELEASE
|
||||
aspectj.x=
|
||||
|
||||
# Test Properties
|
||||
test.forkmode=perBatch
|
||||
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.dir=${clover.output.dir}/db
|
||||
clover.db.file=${clover.db.dir}/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.6.0
|
||||
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
|
||||
docbook.css.dir=${basedir}/css
|
||||
docbook.styles.dir=${basedir}/styles
|
||||
|
||||
# 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.10
|
||||
org.springframework.build.aws.maven.version=2.0.0.RELEASE
|
||||
|
||||
# Bundlor Properties
|
||||
bundlor.ant.version=1.0.0.RELEASE
|
||||
manifest.template.file=${basedir}/template.mf
|
||||
merge.existing.headers=true
|
||||
fail.on.warnings=true
|
||||
|
||||
# OSGi Properties
|
||||
org.springframework.build.osgi.version=1.0.0.RELEASE
|
||||
org.eclipse.osgi.version=3.5.0.v20090311-1300
|
||||
|
||||
#S3 Properties
|
||||
accessKey=
|
||||
secretKey=
|
||||
240
spring-build/common/common.xml
Normal file
240
spring-build/common/common.xml
Normal file
@@ -0,0 +1,240 @@
|
||||
<?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-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}" erroronmissingdir="false">
|
||||
<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}" erroronmissingdir="false">
|
||||
<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>
|
||||
</javadoc.links>
|
||||
<copy toDir="@{output.dir}/resources">
|
||||
<fileset dir="${javadoc.resources.dir}" erroronmissingdir="false"/>
|
||||
</copy>
|
||||
</sequential>
|
||||
</macrodef>
|
||||
|
||||
<presetdef name="javadoc.links">
|
||||
<javadoc/>
|
||||
</presetdef>
|
||||
|
||||
</project>
|
||||
34
spring-build/common/default-ivy-configurations.xml
Normal file
34
spring-build/common/default-ivy-configurations.xml
Normal file
@@ -0,0 +1,34 @@
|
||||
<?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.
|
||||
-->
|
||||
<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>
|
||||
22
spring-build/common/findbugs-exclude.xml
Normal file
22
spring-build/common/findbugs-exclude.xml
Normal file
@@ -0,0 +1,22 @@
|
||||
<?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.
|
||||
-->
|
||||
<FindBugsFilter>
|
||||
<!-- Exclusions -->
|
||||
<Match>
|
||||
<Bug code="BAC,PS"/>
|
||||
</Match>
|
||||
</FindBugsFilter>
|
||||
82
spring-build/common/ivysettings.xml
Normal file
82
spring-build/common/ivysettings.xml
Normal file
@@ -0,0 +1,82 @@
|
||||
<?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.
|
||||
-->
|
||||
<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 |
109
spring-build/common/package.xml
Normal file
109
spring-build/common/package.xml
Normal file
@@ -0,0 +1,109 @@
|
||||
<?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-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>
|
||||
110
spring-build/common/publish.xml
Normal file
110
spring-build/common/publish.xml
Normal file
@@ -0,0 +1,110 @@
|
||||
<?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-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]"/>
|
||||
<artifacts pattern="${license.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-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>
|
||||
|
||||
<target name="install-maven" 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="install-maven-central" depends="maven.init">
|
||||
<maven:install file="${jar.output.file}">
|
||||
<pom file="${local.pom.output.file}"/>
|
||||
<attach file="${source-jar.output.file}" classifier="sources"/>
|
||||
</maven:install>
|
||||
</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>
|
||||
<replaceregexp flags="g" match="latest.integration" replace="${project.version}"
|
||||
file="${pom.output.file}"/>
|
||||
</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>
|
||||
276
spring-build/common/quality.xml
Normal file
276
spring-build/common/quality.xml
Normal file
@@ -0,0 +1,276 @@
|
||||
<?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-common" xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:osgi="antlib:org.springframework.build.osgi">
|
||||
|
||||
<!-- 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" depends="ivy.init, osgi.init"
|
||||
description="Validates that a bundle can resolve against it's dependencies.">
|
||||
<ivy:cachepath resolveId="osgi.optional.classpath" pathid="osgi.optional.classpath"
|
||||
conf="compile,optional,provided,dm-server-provided" type="jar" log="download-only"/>
|
||||
<osgi:validate bundlePath="${jar.output.file}">
|
||||
<equinoxPath refid="equinox.classpath"/>
|
||||
<supportingBundlesPath refid="osgi.optional.classpath"/>
|
||||
</osgi:validate>
|
||||
|
||||
<ivy:cachepath resolveId="osgi.compile.classpath" pathid="osgi.compile.classpath"
|
||||
conf="compile,provided,dm-server-provided" type="jar" log="download-only"/>
|
||||
<osgi:validate bundlePath="${jar.output.file}">
|
||||
<equinoxPath refid="equinox.classpath"/>
|
||||
<supportingBundlesPath refid="osgi.compile.classpath"/>
|
||||
</osgi:validate>
|
||||
</target>
|
||||
|
||||
<!-- 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" 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">
|
||||
<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>
|
||||
|
||||
<target name="osgi.init" depends="ivy.init">
|
||||
<ivy:cachepath resolveId="equinox.classpath" pathid="equinox.classpath" organisation="org.eclipse.osgi"
|
||||
module="org.eclipse.osgi" revision="${org.eclipse.osgi.version}" type="jar" inline="true"
|
||||
log="download-only"/>
|
||||
<ivy:cachepath resolveId="ant.osgi.classpath" pathid="ant.osgi.classpath"
|
||||
organisation="org.springframework.build" module="org.springframework.build.osgi"
|
||||
revision="${org.springframework.build.osgi.version}" conf="runtime" type="jar" inline="true"
|
||||
log="download-only"/>
|
||||
<taskdef resource="org/springframework/build/osgi/antlib.xml" uri="antlib:org.springframework.build.osgi"
|
||||
classpathref="ant.osgi.classpath"/>
|
||||
</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="${test.forkmode}" 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}" erroronmissingdir="false">
|
||||
<include name="**/*Test.class"/>
|
||||
<include name="**/*Tests.class"/>
|
||||
<exclude name="**/Abstract*.class"/>
|
||||
</fileset>
|
||||
</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}" destdir="@{output.dir}">
|
||||
<fileset dir="@{input.dir}" erroronmissingdir="false">
|
||||
<include name="**/*.java"/>
|
||||
<include name="*.java"/>
|
||||
</fileset>
|
||||
</clover-instr>
|
||||
<copy todir="@{output.dir}">
|
||||
<fileset dir="@{input.dir}" erroronmissingdir="false">
|
||||
<exclude name="**/*.java"/>
|
||||
<exclude name="*.java"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
</sequential>
|
||||
</macrodef>
|
||||
</project>
|
||||
184
spring-build/common/spring-javadoc.css
Normal file
184
spring-build/common/spring-javadoc.css
Normal file
@@ -0,0 +1,184 @@
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
.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;
|
||||
}
|
||||
Reference in New Issue
Block a user