Add spring-build 2.5.2

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

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

    $ svn export https://src.springsource.org/svn/spring-build/tags/project-build-2.5.2 spring-build
This commit is contained in:
Chris Beams
2011-12-15 02:28:49 +01:00
parent ac107d0c2a
commit abb5fc094a
85 changed files with 5173 additions and 1 deletions

View File

@@ -0,0 +1,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>

View 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=

View 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>

View 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>

View 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>

View 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

View 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>

View 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>

View 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>

View 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;
}