diff --git a/.gitignore b/.gitignore index f856d1d983c..b195d58b628 100644 --- a/.gitignore +++ b/.gitignore @@ -14,5 +14,4 @@ org.springframework.jdbc/derby.log org.springframework.spring-parent/.classpath org.springframework.spring-parent/.project org.springframework.test/test-output/ -spring-build target diff --git a/spring-build/aspect/artifact.xml b/spring-build/aspect/artifact.xml new file mode 100644 index 00000000000..ec467be26b0 --- /dev/null +++ b/spring-build/aspect/artifact.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/spring-build/aspect/common.xml b/spring-build/aspect/common.xml new file mode 100644 index 00000000000..48a15242ceb --- /dev/null +++ b/spring-build/aspect/common.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/spring-build/aspect/default.xml b/spring-build/aspect/default.xml new file mode 100644 index 00000000000..98907595da7 --- /dev/null +++ b/spring-build/aspect/default.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/spring-build/aspect/package.xml b/spring-build/aspect/package.xml new file mode 100644 index 00000000000..49763b223e0 --- /dev/null +++ b/spring-build/aspect/package.xml @@ -0,0 +1,22 @@ + + + + + + + + \ No newline at end of file diff --git a/spring-build/aspect/publish.xml b/spring-build/aspect/publish.xml new file mode 100644 index 00000000000..a3ce58ac703 --- /dev/null +++ b/spring-build/aspect/publish.xml @@ -0,0 +1,22 @@ + + + + + + + + \ No newline at end of file diff --git a/spring-build/aspect/quality.xml b/spring-build/aspect/quality.xml new file mode 100644 index 00000000000..3af890844d2 --- /dev/null +++ b/spring-build/aspect/quality.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/spring-build/common/artifact.xml b/spring-build/common/artifact.xml new file mode 100644 index 00000000000..bf00a872a30 --- /dev/null +++ b/spring-build/common/artifact.xml @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/spring-build/common/common.properties b/spring-build/common/common.properties new file mode 100644 index 00000000000..f8aaea0e537 --- /dev/null +++ b/spring-build/common/common.properties @@ -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= diff --git a/spring-build/common/common.xml b/spring-build/common/common.xml new file mode 100644 index 00000000000..4973529acb6 --- /dev/null +++ b/spring-build/common/common.xml @@ -0,0 +1,240 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
]]>
+
+ + + +
+
+ + + + + +
\ No newline at end of file diff --git a/spring-build/common/default-ivy-configurations.xml b/spring-build/common/default-ivy-configurations.xml new file mode 100644 index 00000000000..a8658ff7952 --- /dev/null +++ b/spring-build/common/default-ivy-configurations.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/spring-build/common/findbugs-exclude.xml b/spring-build/common/findbugs-exclude.xml new file mode 100644 index 00000000000..3d9127e5807 --- /dev/null +++ b/spring-build/common/findbugs-exclude.xml @@ -0,0 +1,22 @@ + + + + + + + + diff --git a/spring-build/common/ivysettings.xml b/spring-build/common/ivysettings.xml new file mode 100644 index 00000000000..587842a9709 --- /dev/null +++ b/spring-build/common/ivysettings.xml @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/spring-build/common/javadoc-resources/TableHeading-background.png b/spring-build/common/javadoc-resources/TableHeading-background.png new file mode 100644 index 00000000000..72d65e771f0 Binary files /dev/null and b/spring-build/common/javadoc-resources/TableHeading-background.png differ diff --git a/spring-build/common/package.xml b/spring-build/common/package.xml new file mode 100644 index 00000000000..b83a431a360 --- /dev/null +++ b/spring-build/common/package.xml @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/spring-build/common/publish.xml b/spring-build/common/publish.xml new file mode 100644 index 00000000000..5fcff6a091d --- /dev/null +++ b/spring-build/common/publish.xml @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/spring-build/common/quality.xml b/spring-build/common/quality.xml new file mode 100644 index 00000000000..0dba1e5e7b4 --- /dev/null +++ b/spring-build/common/quality.xml @@ -0,0 +1,276 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/spring-build/common/spring-javadoc.css b/spring-build/common/spring-javadoc.css new file mode 100644 index 00000000000..191be29d144 --- /dev/null +++ b/spring-build/common/spring-javadoc.css @@ -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; +} diff --git a/spring-build/docbook/common.xml b/spring-build/docbook/common.xml new file mode 100644 index 00000000000..21d2958443a --- /dev/null +++ b/spring-build/docbook/common.xml @@ -0,0 +1,21 @@ + + + + + + + \ No newline at end of file diff --git a/spring-build/docbook/css/html/highlight.css b/spring-build/docbook/css/html/highlight.css new file mode 100644 index 00000000000..35104afc4ea --- /dev/null +++ b/spring-build/docbook/css/html/highlight.css @@ -0,0 +1,46 @@ +/* + * 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. + */ + +.hl-keyword { + color: #7F0055; + font-weight: bold; +} + +.hl-comment { + color: #3F5F5F; + font-style: italic; +} + +.hl-multiline-comment { + color: #3F5FBF; + font-style: italic; +} + +.hl-tag { + color: #3F7F7F; +} + +.hl-attribute { + color: #7F007F; +} + +.hl-value { + color: #2A00FF; +} + +.hl-string { + color: #2A00FF; +} \ No newline at end of file diff --git a/spring-build/docbook/css/html/stylesheet.css b/spring-build/docbook/css/html/stylesheet.css new file mode 100644 index 00000000000..39491bf3b74 --- /dev/null +++ b/spring-build/docbook/css/html/stylesheet.css @@ -0,0 +1,75 @@ +/* + * 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. + */ + +@IMPORT url("highlight.css"); + +html { + padding: 0pt; + margin: 0pt; +} + +body { + margin-left: 10%; + margin-right: 10%; + font-family: Arial, Sans-serif; +} + +div { + margin: 0pt; +} + +p { + text-align: justify; +} + +hr { + border: 1px solid gray; + background: gray; +} + +h1,h2,h3,h4 { + color: #234623; + font-family: Arial, Sans-serif; +} + +pre { + line-height: 1.0; + color: black; +} + +pre.programlisting { + font-size: 10pt; + padding: 7pt 3pt; + border: 1pt solid black; + background: #eeeeee; + clear: both; +} + +div.table { + margin: 1em; + padding: 0.5em; + text-align: center; +} + +div.table table { + display: table; + width: 100%; +} + +div.table td { + padding-left: 7px; + padding-right: 7px; +} diff --git a/spring-build/docbook/default.xml b/spring-build/docbook/default.xml new file mode 100644 index 00000000000..50ab46a3aee --- /dev/null +++ b/spring-build/docbook/default.xml @@ -0,0 +1,24 @@ + + + + + + + + + + \ No newline at end of file diff --git a/spring-build/docbook/documentation.xml b/spring-build/docbook/documentation.xml new file mode 100644 index 00000000000..e51651b113b --- /dev/null +++ b/spring-build/docbook/documentation.xml @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/spring-build/docbook/package.xml b/spring-build/docbook/package.xml new file mode 100644 index 00000000000..b66bfad5ff4 --- /dev/null +++ b/spring-build/docbook/package.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/spring-build/docbook/publish.xml b/spring-build/docbook/publish.xml new file mode 100644 index 00000000000..d572e1461e3 --- /dev/null +++ b/spring-build/docbook/publish.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/spring-build/docbook/styles/html/custom.xsl b/spring-build/docbook/styles/html/custom.xsl new file mode 100644 index 00000000000..9e67ce90d38 --- /dev/null +++ b/spring-build/docbook/styles/html/custom.xsl @@ -0,0 +1,119 @@ + + + + + + 1 + 0 + 1 + + + + images/ + .gif + + 120 + images/callouts/ + .gif + + + css/stylesheet.css + text/css + book toc,title + + text-align: left + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Begin Google Analytics code + + + End Google Analytics code + + + \ No newline at end of file diff --git a/spring-build/docbook/styles/html/titlepage.xml b/spring-build/docbook/styles/html/titlepage.xml new file mode 100644 index 00000000000..3e4f90b47b0 --- /dev/null +++ b/spring-build/docbook/styles/html/titlepage.xml @@ -0,0 +1,56 @@ + + + + + + + + + + <subtitle/> + <corpauthor/> + <authorgroup/> + <author/> + <mediaobject/> + <othercredit/> + <productname/> + <releaseinfo/> + <copyright/> + <pubdate/> + <revision/> + <revhistory/> + <abstract/> + </t:titlepage-content> + + <t:titlepage-content t:side="verso"> + <legalnotice/> + </t:titlepage-content> + + <t:titlepage-separator> + <hr/> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> +</t:titlepage> + +</t:templates> diff --git a/spring-build/docbook/styles/pdf/custom.xsl b/spring-build/docbook/styles/pdf/custom.xsl new file mode 100644 index 00000000000..587ee408682 --- /dev/null +++ b/spring-build/docbook/styles/pdf/custom.xsl @@ -0,0 +1,661 @@ +<?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. +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:fo="http://www.w3.org/1999/XSL/Format" + xmlns:xslthl="http://xslthl.sf.net" + exclude-result-prefixes="xslthl" + version='1.0'> + + <!-- Use nice graphics for admonitions --> + <xsl:param name="admon.graphics">'1'</xsl:param> + <xsl:param name="admon.graphics.path">@file.prefix@@dbf.xsl@/images/</xsl:param> + + <xsl:param name="draft.watermark.image" select="'@file.prefix@@dbf.xsl@/images/draft.png'"/> + <xsl:param name="paper.type" select="'@paper.type@'"/> + + <xsl:param name="page.margin.top" select="'1cm'"/> + <xsl:param name="region.before.extent" select="'1cm'"/> + <xsl:param name="body.margin.top" select="'1.5cm'"/> + + <xsl:param name="body.margin.bottom" select="'1.5cm'"/> + <xsl:param name="region.after.extent" select="'1cm'"/> + <xsl:param name="page.margin.bottom" select="'1cm'"/> + <xsl:param name="title.margin.left" select="'0cm'"/> + + <!-- Leave image paths as relative when navigating XInclude --> + <xsl:param name="keep.relative.image.uris" select="1"/> + +<!--################################################### + Header and Footer control + ################################################### --> + + <!-- Number of levels of sections to include in markers (for running headings/footings). Default is 2. --> + <xsl:param name="marker.section.level">1</xsl:param> + + <!-- Remove rules from top and bottom of the page --> + <xsl:param name="header.rule" select="0"></xsl:param> + <xsl:param name="footer.rule" select="0"></xsl:param> + +<!-- More space in the center header for long text + <xsl:attribute-set name="header.content.properties"> + <xsl:attribute name="font-family"> + <xsl:value-of select="$body.font.family"/> + </xsl:attribute> + <xsl:attribute name="margin-left">-5em</xsl:attribute> + <xsl:attribute name="margin-right">-5em</xsl:attribute> + </xsl:attribute-set> +--> +<!--################################################### + Table of Contents + ################################################### --> + + <xsl:param name="generate.toc"> + book toc,title + </xsl:param> + + <!-- Show only Sections up to level 1 in the TOCs --> + <xsl:param name="toc.section.depth">1</xsl:param> + +<!--################################################### + Custom Header and Footer + ################################################### --> +<!-- + pageclass + + There is a specific pageclass value for each type of page design that might be needed. For example, an index might + be two-column layout while the rest of the book is single column. Each pageclass has a set of FO simple-page-masters + defined for it. The following pageclass values are available by default, but this list could be extended by adding + custom page masters. + + titlepage Division title page, including set, book, part. + lot Page with a list of titles, including book table of contents, list of figures, etc. + front Front matter pages, including preface, dedication + body Main content pages + back Back matter pages, including appendix, glossary, etc. + index Alphabetical book-style index + + sequence + + Within a pageclass, the sequence of pages can have different page designs. For example, the first page of sequence + might omit the running header so it will not detract from the main title. The enumerated sequence values are: + + first First page of a page class. + odd Odd-numbered pages in the page class. + even Even-numbered pages. + blank Blank page at end of sequence, to even out page count. + + If the output format is single-sided, then odd and even pages should have the same design, and the blank page is + not called upon. +--> + <xsl:template name="header.content"> + <xsl:param name="pageclass" select="''"/> + <xsl:param name="sequence" select="''"/> + <xsl:param name="position" select="''"/> + <xsl:param name="gentext-key" select="''"/> + + <xsl:variable name="ProductName"> + <xsl:choose> + <xsl:when test="//productname"> + <xsl:value-of select="//productname"/><xsl:text> </xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>please define productname in your docbook file!</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="TitleAbbrev"> + <xsl:choose> + <xsl:when test="//titleabbrev"> + <xsl:value-of select="//titleabbrev"/><xsl:text> </xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>please define titleabbrev in your docbook file!</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <!-- $double.sided can be 0 or 1, meaning false or true respectively --> + <!-- pageclass can be titlepage, lot, front, body, back, index --> + <!-- sequence can be first, odd, even, blank --> + <!-- position can be left, center, right --> + <xsl:choose> + <xsl:when test="$double.sided != 0"> + <xsl:choose> + <xsl:when test="$pageclass='titlepage'"><!-- nop --></xsl:when> + <xsl:when test="$pageclass='lot'"> <!-- nop --></xsl:when> + + <xsl:when test="$pageclass='front' or $pageclass='body'"> + <xsl:choose> + <xsl:when test="$sequence='first' or $sequence='odd'"> + <xsl:choose> + <xsl:when test="$position='left'"> + <xsl:apply-templates select="." mode="titleabbrev.markup"/> <!-- chapter header --> + </xsl:when> + <xsl:when test="$position='center'"> + <!-- + <xsl:value-of select="$TitleAbbrev"/> + --> + </xsl:when> + <xsl:when test="$position='right'"> + <fo:page-number/> + </xsl:when> + </xsl:choose> + </xsl:when> + + <xsl:when test="$sequence='even' or $sequence='blank'"> + <xsl:choose> + <xsl:when test="$position='left'"> + <fo:page-number/> + </xsl:when> + <xsl:when test="$position='center'"> + <!-- + <fo:retrieve-marker retrieve-class-name="section.head.marker" + retrieve-position="first-including-carryover" + retrieve-boundary="page-sequence"/> + --> + </xsl:when> + <xsl:when test="$position='right'"> + <xsl:value-of select="$TitleAbbrev"/> + </xsl:when> + </xsl:choose> + </xsl:when> + </xsl:choose> + </xsl:when> + + <xsl:when test="$pageclass='back'"> <!-- nop --></xsl:when> + <xsl:when test="$pageclass='index'"> <!-- nop --></xsl:when> + <xsl:otherwise> <!-- nop --></xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:when test="$double.sided = 0"> + <xsl:choose> + <xsl:when test="$pageclass='titlepage'"><!-- nop --></xsl:when> + <xsl:when test="$pageclass='lot'"> <!-- nop --></xsl:when> + + <xsl:when test="$pageclass='front' or $pageclass='body'"> + <xsl:choose> + <xsl:when test="$sequence='first' or $sequence='odd' or $sequence='even' or $sequence='blank'"> + <xsl:choose> + <xsl:when test="$position='left'"> + <xsl:apply-templates select="." mode="titleabbrev.markup"/> <!-- chapter header --> + </xsl:when> + <xsl:when test="$position='center'"> + <!-- + <xsl:value-of select="$TitleAbbrev"/> + --> + </xsl:when> + <xsl:when test="$position='right'"> + <fo:page-number/> + </xsl:when> + </xsl:choose> + </xsl:when> + </xsl:choose> + </xsl:when> + + <xsl:when test="$pageclass='back'"> <!-- nop --></xsl:when> + <xsl:when test="$pageclass='index'"> <!-- nop --></xsl:when> + <xsl:otherwise> <!-- nop --></xsl:otherwise> + </xsl:choose> + </xsl:when> + </xsl:choose> + + + </xsl:template> + +<!--################################################### + Custom Footer + ################################################### --> + + <xsl:template name="footer.content"> + <xsl:param name="pageclass" select="''"/> + <xsl:param name="sequence" select="''"/> + <xsl:param name="position" select="''"/> + <xsl:param name="gentext-key" select="''"/> + + <xsl:variable name="Version"> + <xsl:choose> + <xsl:when test="//releaseinfo"> + <xsl:value-of select="//releaseinfo"/> + </xsl:when> + <xsl:otherwise> + <!-- nop --> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="TitleAbbrev"> + <xsl:choose> + <xsl:when test="//titleabbrev"> + <xsl:value-of select="//titleabbrev"/><xsl:text> </xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>please define titleabbrev in your docbook file!</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <!-- $double.sided can be 0 or 1, meaning false or true respectively --> + <!-- pageclass can be titlepage, lot, front, body, back, index --> + <!-- sequence can be first, odd, even, blank --> + <!-- position can be left, center, right --> + <xsl:choose> + <xsl:when test="$double.sided != 0"> + <xsl:choose> + <xsl:when test="$pageclass='titlepage'"> <!-- nop --></xsl:when> + + <xsl:when test="$pageclass='lot' or $pageclass='front' or $pageclass='body'"> + <xsl:choose> + <xsl:when test="$pageclass!='titlepage' and ($sequence='first' or $sequence='odd')"> + <xsl:choose> + <xsl:when test="$position='left'"> + <xsl:value-of select="$Version"/> + </xsl:when> + <xsl:when test="$position='center'"> + <!-- + <xsl:value-of select="$TitleAbbrev"/> + <fo:retrieve-marker retrieve-class-name="section.head.marker" + retrieve-position="first-including-carryover" + retrieve-boundary="page-sequence"/> + --> + </xsl:when> + <xsl:when test="$position='right'"> + <fo:page-number/> + </xsl:when> + </xsl:choose> + </xsl:when> + + <xsl:when test="$sequence='even' or $sequence='blank'"> + <xsl:choose> + <xsl:when test="$position='left'"> + <fo:page-number/> + </xsl:when> + <xsl:when test="$position='center'"> + <!-- + <xsl:value-of select="$TitleAbbrev"/> + --> + </xsl:when> + <xsl:when test="$position='right'"> + <xsl:apply-templates select="." mode="titleabbrev.markup"/> <!-- chapter header --> + </xsl:when> + </xsl:choose> + </xsl:when> + </xsl:choose> + </xsl:when> + + <xsl:when test="$pageclass='back'"> <!-- nop --></xsl:when> + <xsl:when test="$pageclass='index'"> <!-- nop --></xsl:when> + <xsl:otherwise> <!-- nop --></xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:when test="$double.sided = 0"> + <xsl:choose> + <xsl:when test="$pageclass='titlepage'"><!-- nop --></xsl:when> + <xsl:when test="$pageclass='lot'"> <!-- nop --></xsl:when> + + <xsl:when test="$pageclass='front' or $pageclass='body'"> + <xsl:choose> + <xsl:when test="$sequence='first' or $sequence='odd' or $sequence='even' or $sequence='blank'"> + <xsl:choose> + <xsl:when test="$position='left'"> + <xsl:value-of select="$Version"/> + </xsl:when> + <xsl:when test="$position='center'"> + <fo:retrieve-marker retrieve-class-name="section.head.marker" + retrieve-position="first-including-carryover" + retrieve-boundary="page-sequence"/> + </xsl:when> + <xsl:when test="$position='right'"> + <fo:page-number/> + </xsl:when> + </xsl:choose> + </xsl:when> + </xsl:choose> + </xsl:when> + + <xsl:when test="$pageclass='back'"> <!-- nop --></xsl:when> + <xsl:when test="$pageclass='index'"> <!-- nop --></xsl:when> + <xsl:otherwise> <!-- nop --></xsl:otherwise> + </xsl:choose> + </xsl:when> + </xsl:choose> + + </xsl:template> + + <xsl:template match="processing-instruction('hard-pagebreak')"> + <fo:block break-before='page'/> + </xsl:template> + +<!--################################################### + Extensions + ################################################### --> + +<!-- These extensions are required for table printing and other stuff --> + <xsl:param name="use.extensions">1</xsl:param> + <xsl:param name="tablecolumns.extension">0</xsl:param> + <xsl:param name="callout.extensions">1</xsl:param> + <xsl:param name="fop.extensions">1</xsl:param> + +<!--################################################### + Paper & Page Size + ################################################### --> + +<!-- Paper type, no headers on blank pages, no double sided printing --> + <xsl:param name="double.sided">1</xsl:param> + <xsl:param name="headers.on.blank.pages">1</xsl:param> + <xsl:param name="footers.on.blank.pages">1</xsl:param> + +<!--################################################### + Fonts & Styles + ################################################### --> + <xsl:param name="alignment">left</xsl:param> + + <xsl:param name="hyphenate">false</xsl:param> + + <xsl:attribute-set name="footer.content.properties"> + <xsl:attribute name="font-family"> + <xsl:value-of select="$body.fontset"/> + </xsl:attribute> + </xsl:attribute-set> + +<!-- Default Font size --> + <xsl:param name="body.font.master">12</xsl:param> + <xsl:param name="body.font.small">8</xsl:param> + +<!-- Line height in body text --> + <xsl:param name="line-height">1.2</xsl:param> + +<!-- Chapter title size --> + <xsl:attribute-set name="chapter.titlepage.recto.style"> + <xsl:attribute name="text-align">left</xsl:attribute> + <xsl:attribute name="font-weight">bold</xsl:attribute> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master * 1.8"/> + <xsl:text>pt</xsl:text> + </xsl:attribute> + </xsl:attribute-set> + +<!-- Why is the font-size for chapters hardcoded in the XSL FO templates? + Let's remove it, so this sucker can use our attribute-set only... --> + <xsl:template match="title" mode="chapter.titlepage.recto.auto.mode"> + <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" + xsl:use-attribute-sets="chapter.titlepage.recto.style"> + <xsl:call-template name="component.title"> + <xsl:with-param name="node" select="ancestor-or-self::chapter[1]"/> + </xsl:call-template> + </fo:block> + </xsl:template> + +<!-- Sections 1, 2 and 3 titles have a small bump factor and padding --> + <xsl:attribute-set name="section.title.level1.properties"> + <xsl:attribute name="space-before.optimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.8em</xsl:attribute> + <xsl:attribute name="space-before.maximum">0.8em</xsl:attribute> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master * 1.5"/> + <xsl:text>pt</xsl:text> + </xsl:attribute> + <xsl:attribute name="space-after.optimum">0.1em</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.1em</xsl:attribute> + <xsl:attribute name="space-after.maximum">0.1em</xsl:attribute> + </xsl:attribute-set> + <xsl:attribute-set name="section.title.level2.properties"> + <xsl:attribute name="space-before.optimum">0.6em</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.6em</xsl:attribute> + <xsl:attribute name="space-before.maximum">0.6em</xsl:attribute> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master * 1.25"/> + <xsl:text>pt</xsl:text> + </xsl:attribute> + <xsl:attribute name="space-after.optimum">0.1em</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.1em</xsl:attribute> + <xsl:attribute name="space-after.maximum">0.1em</xsl:attribute> + </xsl:attribute-set> + <xsl:attribute-set name="section.title.level3.properties"> + <xsl:attribute name="space-before.optimum">0.4em</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.4em</xsl:attribute> + <xsl:attribute name="space-before.maximum">0.4em</xsl:attribute> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master * 1.0"/> + <xsl:text>pt</xsl:text> + </xsl:attribute> + <xsl:attribute name="space-after.optimum">0.1em</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.1em</xsl:attribute> + <xsl:attribute name="space-after.maximum">0.1em</xsl:attribute> + </xsl:attribute-set> + +<!-- Use code syntax highlighting --> + <xsl:param name="highlight.source" select="1"/> + <xsl:param name="highlight.default.language" select="xml" /> + + <xsl:template match='xslthl:keyword'> + <fo:inline font-weight="bold" color="#7F0055"><xsl:apply-templates/></fo:inline> + </xsl:template> + + <xsl:template match='xslthl:comment'> + <fo:inline font-style="italic" color="#3F5F5F"><xsl:apply-templates/></fo:inline> + </xsl:template> + + <xsl:template match='xslthl:oneline-comment'> + <fo:inline font-style="italic" color="#3F5F5F"><xsl:apply-templates/></fo:inline> + </xsl:template> + + <xsl:template match='xslthl:multiline-comment'> + <fo:inline font-style="italic" color="#3F5FBF"><xsl:apply-templates/></fo:inline> + </xsl:template> + + <xsl:template match='xslthl:tag'> + <fo:inline color="#3F7F7F"><xsl:apply-templates/></fo:inline> + </xsl:template> + + <xsl:template match='xslthl:attribute'> + <fo:inline color="#7F007F"><xsl:apply-templates/></fo:inline> + </xsl:template> + + <xsl:template match='xslthl:value'> + <fo:inline color="#2A00FF"><xsl:apply-templates/></fo:inline> + </xsl:template> + + <xsl:template match='xslthl:string'> + <fo:inline color="#2A00FF"><xsl:apply-templates/></fo:inline> + </xsl:template> + +<!--################################################### + Tables + ################################################### --> + + <!-- Some padding inside tables --> + <xsl:attribute-set name="table.cell.padding"> + <xsl:attribute name="padding-left">4pt</xsl:attribute> + <xsl:attribute name="padding-right">4pt</xsl:attribute> + <xsl:attribute name="padding-top">4pt</xsl:attribute> + <xsl:attribute name="padding-bottom">4pt</xsl:attribute> + </xsl:attribute-set> + +<!-- Only hairlines as frame and cell borders in tables --> + <xsl:param name="table.frame.border.thickness">0.1pt</xsl:param> + <xsl:param name="table.cell.border.thickness">0.1pt</xsl:param> + +<!--################################################### + Labels + ################################################### --> + +<!-- Label Chapters and Sections (numbering) --> + <xsl:param name="chapter.autolabel" select="1"/> + <xsl:param name="section.autolabel" select="1"/> + <xsl:param name="section.autolabel.max.depth" select="1"/> + + <xsl:param name="section.label.includes.component.label" select="1"/> + <xsl:param name="table.footnote.number.format" select="'1'"/> + +<!--################################################### + Programlistings + ################################################### --> + +<!-- Verbatim text formatting (programlistings) --> + <xsl:attribute-set name="monospace.verbatim.properties"> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.small * 0.90"/> + <xsl:text>pt</xsl:text> + </xsl:attribute> + </xsl:attribute-set> + + <xsl:attribute-set name="verbatim.properties"> + <xsl:attribute name="space-before.minimum">1em</xsl:attribute> + <xsl:attribute name="space-before.optimum">1em</xsl:attribute> + <xsl:attribute name="space-before.maximum">1em</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.1em</xsl:attribute> + <xsl:attribute name="space-after.optimum">0.1em</xsl:attribute> + <xsl:attribute name="space-after.maximum">0.1em</xsl:attribute> + + <xsl:attribute name="border-color">#444444</xsl:attribute> + <xsl:attribute name="border-style">solid</xsl:attribute> + <xsl:attribute name="border-width">0.1pt</xsl:attribute> + <xsl:attribute name="padding-top">0.5em</xsl:attribute> + <xsl:attribute name="padding-left">0.5em</xsl:attribute> + <xsl:attribute name="padding-right">0.5em</xsl:attribute> + <xsl:attribute name="padding-bottom">0.5em</xsl:attribute> + <xsl:attribute name="margin-left">0em</xsl:attribute> + <xsl:attribute name="margin-right">0em</xsl:attribute> + </xsl:attribute-set> + + <!-- Shade (background) programlistings --> + <xsl:param name="shade.verbatim">1</xsl:param> + <xsl:attribute-set name="shade.verbatim.style"> + <xsl:attribute name="background-color">#F0F0F0</xsl:attribute> + </xsl:attribute-set> + + <xsl:attribute-set name="list.block.spacing"> + <xsl:attribute name="space-before.optimum">0.1em</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.1em</xsl:attribute> + <xsl:attribute name="space-before.maximum">0.1em</xsl:attribute> + <xsl:attribute name="space-after.optimum">0.1em</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.1em</xsl:attribute> + <xsl:attribute name="space-after.maximum">0.1em</xsl:attribute> + </xsl:attribute-set> + + <xsl:attribute-set name="abstract.properties"> + <xsl:attribute name="font-weight">normal</xsl:attribute> + </xsl:attribute-set> + + <xsl:attribute-set name="example.properties"> + <xsl:attribute name="space-before.minimum">0.5em</xsl:attribute> + <xsl:attribute name="space-before.optimum">0.5em</xsl:attribute> + <xsl:attribute name="space-before.maximum">0.5em</xsl:attribute> + <xsl:attribute name="space-after.minimum">0.1em</xsl:attribute> + <xsl:attribute name="space-after.optimum">0.1em</xsl:attribute> + <xsl:attribute name="space-after.maximum">0.1em</xsl:attribute> + <xsl:attribute name="keep-together.within-column">always</xsl:attribute> + </xsl:attribute-set> + +<!--################################################### + Title information for Figures, Examples etc. + ################################################### --> + + <xsl:attribute-set name="formal.title.properties" use-attribute-sets="normal.para.spacing"> + <xsl:attribute name="font-weight">normal</xsl:attribute> + <xsl:attribute name="font-style">italic</xsl:attribute> + <xsl:attribute name="font-size"> + <xsl:value-of select="$body.font.master"/> + <xsl:text>pt</xsl:text> + </xsl:attribute> + <xsl:attribute name="hyphenate">false</xsl:attribute> + <xsl:attribute name="space-before.minimum">0.1em</xsl:attribute> + <xsl:attribute name="space-before.optimum">0.1em</xsl:attribute> + <xsl:attribute name="space-before.maximum">0.1em</xsl:attribute> + </xsl:attribute-set> + +<!--################################################### + Callouts + ################################################### --> + +<!-- don't use images for callouts --> + <xsl:param name="callout.graphics">0</xsl:param> + <xsl:param name="callout.unicode">1</xsl:param> + +<!-- Place callout marks at this column in annotated areas --> + <xsl:param name="callout.defaultcolumn">90</xsl:param> + +<!--################################################### + Misc + ################################################### --> + +<!-- Placement of titles --> + <xsl:param name="formal.title.placement"> + figure after + example after + equation before + table before + procedure before + </xsl:param> + +<!-- Format Variable Lists as Blocks (prevents horizontal overflow) --> + <xsl:param name="variablelist.as.blocks">1</xsl:param> + + <xsl:param name="body.start.indent">0pt</xsl:param> + +<!-- Remove "Chapter" from the Chapter titles... --> + <xsl:param name="local.l10n.xml" select="document('')"/> + <l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"> + <l:l10n language="en"> + <l:context name="title-numbered"> + <l:template name="chapter" text="%n. %t"/> + <l:template name="section" text="%n %t"/> + </l:context> + <l:context name="title"> + <l:template name="example" text="Example %n %t"/> + </l:context> + </l:l10n> + </l:i18n> + +<!--################################################### + colored and hyphenated links + ################################################### --> + + <xsl:template match="ulink"> + <fo:basic-link external-destination="{@url}" + xsl:use-attribute-sets="xref.properties" + text-decoration="underline" + color="blue"> + <xsl:choose> + <xsl:when test="count(child::node())=0"> + <xsl:value-of select="@url"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> + </fo:basic-link> + </xsl:template> + + <xsl:template match="link"> + <fo:basic-link internal-destination="{@linkend}" + xsl:use-attribute-sets="xref.properties" + text-decoration="underline" + color="blue"> + <xsl:choose> + <xsl:when test="count(child::node())=0"> + <xsl:value-of select="@linkend"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> + </fo:basic-link> + </xsl:template> + +</xsl:stylesheet> \ No newline at end of file diff --git a/spring-build/docbook/styles/pdf/titlepage.xml b/spring-build/docbook/styles/pdf/titlepage.xml new file mode 100644 index 00000000000..b32d1ea6084 --- /dev/null +++ b/spring-build/docbook/styles/pdf/titlepage.xml @@ -0,0 +1,96 @@ +<?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. +--> +<!DOCTYPE t:templates [ +<!ENTITY hsize0 "10pt"> +<!ENTITY hsize1 "12pt"> +<!ENTITY hsize2 "14.4pt"> +<!ENTITY hsize3 "17.28pt"> +<!ENTITY hsize4 "20.736pt"> +<!ENTITY hsize5 "24.8832pt"> +<!ENTITY hsize0space "7.5pt"> <!-- 0.75 * hsize0 --> +<!ENTITY hsize1space "9pt"> <!-- 0.75 * hsize1 --> +<!ENTITY hsize2space "10.8pt"> <!-- 0.75 * hsize2 --> +<!ENTITY hsize3space "12.96pt"> <!-- 0.75 * hsize3 --> +<!ENTITY hsize4space "15.552pt"> <!-- 0.75 * hsize4 --> +<!ENTITY hsize5space "18.6624pt"> <!-- 0.75 * hsize5 --> +]> +<t:templates xmlns:t="http://nwalsh.com/docbook/xsl/template/1.0" + xmlns:param="http://nwalsh.com/docbook/xsl/template/1.0/param" + xmlns:fo="http://www.w3.org/1999/XSL/Format" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + + <t:titlepage t:element="book" t:wrapper="fo:block"> + <t:titlepage-content t:side="recto"> + <title + t:named-template="division.title" + param:node="ancestor-or-self::book[1]" + text-align="center" + font-size="&hsize5;" + space-before="&hsize5space;" + font-weight="bold" + font-family="{$title.fontset}" + /> + <subtitle + text-align="center" + font-size="&hsize4;" + space-before="&hsize4space;" + font-family="{$title.fontset}" + /> + + <corpauthor space-before="0.5em" + font-size="&hsize2;" + /> + + <authorgroup space-before="0.5em" + font-size="&hsize2;" + /> + + <author space-before="0.5em" font-size="&hsize2;"/> + <mediaobject space-before="2em" space-after="2em"/> + <releaseinfo space-before="5em" font-size="&hsize2;"/> + + <othercredit space-before="2em" font-weight="normal" font-size="8"/> + <pubdate space-before="0.5em"/> + <revision space-before="0.5em"/> + <revhistory space-before="0.5em"/> + + <abstract space-before="0.5em" + text-align="start" + margin-left="0.1in" + margin-right="0.1in" + font-family="{$body.fontset}" + /> + </t:titlepage-content> + + <t:titlepage-content t:side="verso" text-align="start"> + <copyright space-before="1.5em"/> + <legalnotice space-before="15em"/> + </t:titlepage-content> + + <t:titlepage-separator> + </t:titlepage-separator> + + <t:titlepage-before t:side="recto"> + </t:titlepage-before> + + <t:titlepage-before t:side="verso"> + </t:titlepage-before> + </t:titlepage> + +<!-- ==================================================================== --> + +</t:templates> diff --git a/spring-build/lib/ivy/commons-codec.jar b/spring-build/lib/ivy/commons-codec.jar new file mode 100644 index 00000000000..957b6752af9 Binary files /dev/null and b/spring-build/lib/ivy/commons-codec.jar differ diff --git a/spring-build/lib/ivy/commons-httpclient.jar b/spring-build/lib/ivy/commons-httpclient.jar new file mode 100644 index 00000000000..7c59774aed4 Binary files /dev/null and b/spring-build/lib/ivy/commons-httpclient.jar differ diff --git a/spring-build/lib/ivy/commons-logging.jar b/spring-build/lib/ivy/commons-logging.jar new file mode 100644 index 00000000000..1deef144cb1 Binary files /dev/null and b/spring-build/lib/ivy/commons-logging.jar differ diff --git a/spring-build/lib/ivy/current.version b/spring-build/lib/ivy/current.version new file mode 100644 index 00000000000..ebbc211dbb4 --- /dev/null +++ b/spring-build/lib/ivy/current.version @@ -0,0 +1,20 @@ +# 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. + +ivy.jar= 2.1.0 +org.springframework.build.aws.ivy.jar= 1.0.8.RELEASE +commons-codec= 1.3.0 +commons-httpclient= 3.1.0 +commons-logging= 1.1.1 +jets3t= 0.7.0 diff --git a/spring-build/lib/ivy/ivy.jar b/spring-build/lib/ivy/ivy.jar new file mode 100644 index 00000000000..3902b6fdcd5 Binary files /dev/null and b/spring-build/lib/ivy/ivy.jar differ diff --git a/spring-build/lib/ivy/jets3t.jar b/spring-build/lib/ivy/jets3t.jar new file mode 100644 index 00000000000..3bab2985ce3 Binary files /dev/null and b/spring-build/lib/ivy/jets3t.jar differ diff --git a/spring-build/lib/ivy/jets3t.properties b/spring-build/lib/ivy/jets3t.properties new file mode 100644 index 00000000000..6a83275cf39 --- /dev/null +++ b/spring-build/lib/ivy/jets3t.properties @@ -0,0 +1,26 @@ +# 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. + +## JetS3t Configuration Properties + +# A full description of all configuration properties can be found at +# http://jets3t.s3.amazonaws.com/toolkit/configuration.html + +# Proxy configuration +httpclient.proxy-autodetect=true +#httpclient.proxy-host= +#httpclient.proxy-port= +#httpclient.proxy-user= +#httpclient.proxy-password= +#httpclient.proxy-domain= diff --git a/spring-build/lib/ivy/org.springframework.build.aws.ivy.jar b/spring-build/lib/ivy/org.springframework.build.aws.ivy.jar new file mode 100644 index 00000000000..252d9a85874 Binary files /dev/null and b/spring-build/lib/ivy/org.springframework.build.aws.ivy.jar differ diff --git a/spring-build/library/artifact.xml b/spring-build/library/artifact.xml new file mode 100644 index 00000000000..96612d1c292 --- /dev/null +++ b/spring-build/library/artifact.xml @@ -0,0 +1,52 @@ +<?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-library" xmlns:ivy="antlib:org.apache.ivy.ant"> + + <import file="common.xml"/> + + <filterset id="library.filters" /> + +<!-- Main targets --> + <target name="javadoc-all" description="Does nothing"/> + + <target name="javadoc-api" description="Does nothing."/> + + <target name="jar" depends="ivy.init, resolve.compile" + description="Creates a libd file with the proper versions substituted."> + <delete quiet="true" file="${ivy.output.file}"/> + <mkdir dir="${ivy.output.dir}"/> + <delete quiet="true" file="${libd.output.file}"/> + <mkdir dir="${libd.output.dir}"/> + + <copy file="${libd.input.file}" tofile="${libd.output.file}"> + <filterset> + <filter token="bundle.version" value="${bundle.version}"/> + <filterset refid="library.filters"/> + </filterset> + </copy> + + <ivy:publish resolver="integration" pubdate="${timestamp}" status="${release.type}"> + <artifacts pattern="${ivy.output.dir}/[artifact].[ext]"/> + <artifacts pattern="${libd.output.dir}/[artifact].[ext]"/> + <artifacts pattern="${license.dir}/[artifact].[ext]"/> + </ivy:publish> + </target> + +<!-- Other targets --> + <target name="javadoc.prep"/> + +</project> diff --git a/spring-build/library/common.xml b/spring-build/library/common.xml new file mode 100644 index 00000000000..0f60ceed924 --- /dev/null +++ b/spring-build/library/common.xml @@ -0,0 +1,21 @@ +<?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-library" xmlns:s="antlib:org.springframework.build"> + + <import file="../common/common.xml"/> + +</project> \ No newline at end of file diff --git a/spring-build/library/default.xml b/spring-build/library/default.xml new file mode 100644 index 00000000000..bf0f150bbd0 --- /dev/null +++ b/spring-build/library/default.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright 2010 SpringSource + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<project name="default-library"> + + <import file="common.xml"/> + <import file="artifact.xml"/> + <import file="quality.xml"/> + <import file="package.xml"/> + <import file="publish.xml"/> + +</project> \ No newline at end of file diff --git a/spring-build/library/package.xml b/spring-build/library/package.xml new file mode 100644 index 00000000000..45e2b4fe0f2 --- /dev/null +++ b/spring-build/library/package.xml @@ -0,0 +1,37 @@ +<?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-library"> + + <import file="common.xml"/> + <import file="../common/package.xml"/> + +<!-- Macros --> + <macrodef name="dist-jar"> + <attribute name="output.dir" default="${package.dist.dir}"/> + <sequential> + <mkdir dir="@{output.dir}"/> + <copy file="${libd.output.file}" tofile="@{output.dir}/${package.libd.output.file}"/> + </sequential> + </macrodef> + + <macrodef name="src-jar"> + <attribute name="output.dir" default="${package.src.dir}"/> + <sequential> + </sequential> + </macrodef> + +</project> \ No newline at end of file diff --git a/spring-build/library/publish.xml b/spring-build/library/publish.xml new file mode 100644 index 00000000000..adb505545ce --- /dev/null +++ b/spring-build/library/publish.xml @@ -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. +--> +<project name="publish-library" xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:maven="antlib:org.apache.maven.artifact.ant"> + + <import file="common.xml"/> + <import file="../common/publish.xml"/> + + <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}-library-publish" pubdate="${timestamp}" + status="${release.type}"> + <artifacts pattern="${libd.output.dir}/[artifact].[ext]"/> + <artifacts pattern="${ivy.output.dir}/[artifact].[ext]"/> + <artifacts pattern="${license.dir}/[artifact].[ext]"/> + </ivy:publish> + </target> + + <target name="publish-maven" depends="create.pom, ivy.init, maven.init, resolve" unless="local.build"> + <maven:deploy file="${libd.output.file}"> + <remoteRepository url="s3://${publish.bucket}/maven/libraries/${adjusted.release.type}"> + <authentication username="${accessKey}" passphrase="${secretKey}"/> + </remoteRepository> + <pom file="${pom.output.file}"/> + </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="${libd.output.file}"> + <remoteRepository url="${maven.central.repository}"> + <authentication username="${accessKey}" passphrase="${secretKey}"/> + </remoteRepository> + <pom file="${local.pom.output.file}"/> + </maven:deploy> + </target> + + <target name="install-maven" depends="create.pom, snapshot.pom, maven.init"> + <maven:install file="${libd.output.file}"> + <pom file="${pom.output.file}"/> + </maven:install> + </target> + + <target name="install-maven-central" depends="maven.init"> + <maven:install file="${libd.output.file}"> + <pom file="${local.pom.output.file}"/> + </maven:install> + </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 match="<packaging>jar</packaging>" + replace="<packaging>libd</packaging>" + file="${pom.output.file}"/> + </target> + +</project> \ No newline at end of file diff --git a/spring-build/library/quality.xml b/spring-build/library/quality.xml new file mode 100644 index 00000000000..6a7673f0b9f --- /dev/null +++ b/spring-build/library/quality.xml @@ -0,0 +1,35 @@ +<?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-library"> + +<!-- Main targets --> + <target name="test" description="Does nothing."/> + + <target name="clover" description="Does nothing."/> + + <target name="findbugs" description="Does nothing."/> + + <target name="osgi-validate" description="Does nothing."/> + +<!-- Other targets --> + <target name="test.do" description="Does nothing."/> + + <target name="clover.do" description="Does nothing."/> + + <target name="findbugs.do" description="Does nothing."/> + +</project> \ No newline at end of file diff --git a/spring-build/multi-bundle/artifact.xml b/spring-build/multi-bundle/artifact.xml new file mode 100644 index 00000000000..aeef1c32260 --- /dev/null +++ b/spring-build/multi-bundle/artifact.xml @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright 2010 SpringSource + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<project name="artifact-multi-bundle"> + + <import file="common.xml"/> + +<!-- Main targets --> + <target name="javadoc-all" + description="Creates javadoc documentation for all classes."> + <delete dir="${javadoc-all.output.dir}" quiet="true"/> + <mkdir dir="${javadoc-all.output.dir}"/> + <all-bundles target="javadoc.prep"> + <property name="javadoc.prep.dir" value="${javadoc.prep.dir}"/> + </all-bundles> + <path id="global.path"> + <fileset dir="${ivy.cache.dir}" erroronmissingdir="false"> + <exclude name="**/*-sources-*.jar"/> + <include name="**/*.jar"/> + </fileset> + </path> + <java-doc input.dir="${javadoc.prep.dir}" output.dir="${javadoc-all.output.dir}" classpath.id="global.path" + access="private"/> + <delete quiet="true" dir="${javadoc.prep.dir}"/> + </target> + + <target name="javadoc-api" + description="Creates javadoc documentation for all classes."> + <delete dir="${javadoc-api.output.dir}" quiet="true"/> + <mkdir dir="${javadoc-api.output.dir}"/> + <all-bundles target="javadoc.prep"> + <property name="javadoc.prep.dir" value="${javadoc.prep.dir}"/> + </all-bundles> + <path id="global.path"> + <fileset dir="${ivy.cache.dir}" erroronmissingdir="false"> + <exclude name="**/*-sources-*.jar"/> + <include name="**/*.jar"/> + </fileset> + </path> + <java-doc input.dir="${javadoc.prep.dir}" output.dir="${javadoc-api.output.dir}" classpath.id="global.path" + access="protected" exclude.package.names="${javadoc.exclude.package.names}"/> + <delete quiet="true" dir="${javadoc.prep.dir}"/> + </target> + + <target name="jar" + description="Creates a JAR file containing the output of a compilation of the source tree."> + <all-bundles target="jar"/> + </target> + +<!-- Other targets --> + <target name="javadoc.prep"> + <all-bundles target="javadoc.prep"> + <property name="javadoc.prep.dir" value="${javadoc.prep.dir}"/> + </all-bundles> + </target> + +</project> \ No newline at end of file diff --git a/spring-build/multi-bundle/common.xml b/spring-build/multi-bundle/common.xml new file mode 100644 index 00000000000..e1d72134a3f --- /dev/null +++ b/spring-build/multi-bundle/common.xml @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright 2010 SpringSource + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<project name="common-multi-bundle" xmlns:ivy="antlib:org.apache.ivy.ant"> + + <tstamp> + <format property="timestamp" pattern="yyyyMMddHHmmss" timezone="GMT"/> + </tstamp> + +<!-- Properties --> + <dirname property="spring.build.dir" file="${ant.file.common-multi-bundle}/.."/> + <property file="${spring.build.dir}/common/common.properties"/> + +<!-- Global targets --> + <condition property="adjusted.release.type" value="snapshot" else="${release.type}"> + <equals arg1="integration" arg2="${release.type}"/> + </condition> + +<!-- Main targets --> + <target name="clean" + description="Removes the target directory."> + <delete quiet="true" dir="${target.dir}"/> + <all-bundles target="clean"/> + </target> + + <target name="clean-integration" + description="Removes the integration repository directory."> + <fail message="The 'integration.repo.dir' property must be set on this project."> + <condition> + <not> + <isset property="integration.repo.dir"/> + </not> + </condition> + </fail> + <delete quiet="true" dir="${integration.repo.dir}"/> + </target> + + <target name="clean-ivy" depends="ivy.init" + description="Removes the ivy cache directory."> + <fail message="The 'ivy.cache.dir' property must be set on this project."> + <condition> + <not> + <isset property="ivy.cache.dir"/> + </not> + </condition> + </fail> + <delete quiet="true" dir="${ivy.cache.dir}"/> + </target> + +<!-- Other targets --> + <target name="ivy.init" unless="ivy.initialized"> + <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant"> + <classpath> + <path location="${ivy.lib.dir}/ivy.jar"/> + <path location="${ivy.lib.dir}/org.springframework.build.aws.ivy.jar"/> + <path location="${ivy.lib.dir}/commons-codec.jar"/> + <path location="${ivy.lib.dir}/commons-httpclient.jar"/> + <path location="${ivy.lib.dir}/commons-logging.jar"/> + <path location="${ivy.lib.dir}/jets3t.jar"/> + <path location="${ivy.lib.dir}"/> + </classpath> + </taskdef> + <ivy:settings file="${ivy.settings.file}"/> + <property name="ivy.initialized" value="true"/> + </target> + +<!-- Macros --> + <macrodef name="all-bundles"> + <attribute name="target"/> + <attribute name="buildpathRef" default="bundles"/> + <element name="inherited-properties" optional="true" implicit="true"/> + <sequential> + <subant target="@{target}" verbose="true" buildpathRef="@{buildpathRef}"> + <inherited-properties/> + <propertyset> + <propertyref builtin="commandline"/> + </propertyset> + <property name="timestamp" value="${timestamp}"/> + </subant> + </sequential> + </macrodef> + + <macrodef name="java-doc"> + <attribute name="input.dir"/> + <attribute name="output.dir"/> + <attribute name="classpath.id"/> + <attribute name="access"/> + <attribute name="exclude.package.names" default=""/> + <sequential> + <delete quiet="true" dir="@{output.dir}"/> + <mkdir dir="@{output.dir}"/> + <javadoc.links sourcepath="@{input.dir}" destdir="@{output.dir}" classpathref="@{classpath.id}" + access="@{access}" excludepackagenames="@{exclude.package.names}" maxmemory="${javadoc.max.memory}" + stylesheetfile="${javadoc.stylesheet.file}" splitindex="true" useexternalfile="true"> + <header><![CDATA[<!-- Begin Google Analytics code --> <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script type="text/javascript"> var pageTracker = _gat._getTracker("UA-2728886-3"); pageTracker._setDomainName("none"); pageTracker._setAllowLinker(true); pageTracker._trackPageview(); </script> <!-- End Google Analytics code -->]]></header> + </javadoc.links> + <copy toDir="@{output.dir}/resources"> + <fileset dir="${javadoc.resources.dir}" erroronmissingdir="false"/> + </copy> + </sequential> + </macrodef> + + <presetdef name="javadoc.links"> + <javadoc/> + </presetdef> + +</project> \ No newline at end of file diff --git a/spring-build/multi-bundle/default.xml b/spring-build/multi-bundle/default.xml new file mode 100644 index 00000000000..67fc181c2a1 --- /dev/null +++ b/spring-build/multi-bundle/default.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright 2010 SpringSource + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<project name="default-multi-bundle"> + + <import file="common.xml"/> + <import file="artifact.xml"/> + <import file="quality.xml"/> + <import file="package.xml"/> + <import file="publish.xml"/> + +</project> \ No newline at end of file diff --git a/spring-build/multi-bundle/package.xml b/spring-build/multi-bundle/package.xml new file mode 100644 index 00000000000..05550219281 --- /dev/null +++ b/spring-build/multi-bundle/package.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright 2010 SpringSource + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<project name="package-multi-bundle"> + + <import file="common.xml"/> + +<!-- Main targets --> + <target name="package" + description="Creates a packaged distributable of the project. Unless overridden, delegates to sub-bundles."> + <all-bundles target="package"> + <property name="package.output.dir" value="${package.output.dir}"/> + </all-bundles> + </target> + +</project> \ No newline at end of file diff --git a/spring-build/multi-bundle/publish.xml b/spring-build/multi-bundle/publish.xml new file mode 100644 index 00000000000..012e121ed13 --- /dev/null +++ b/spring-build/multi-bundle/publish.xml @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright 2010 SpringSource + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<project name="publish-multi-bundle" xmlns:ivy="antlib:org.apache.ivy.ant" + xmlns:aws="antlib:org.springframework.build.aws"> + + <import file="common.xml"/> + +<!-- Main targets --> + <target name="publish" + description="Publishes all artifacts to remote repositories"> + <all-bundles target="publish"/> + </target> + + <target name="publish-ivy" + description="Publishes all ivy artifacts to remote repositories"> + <all-bundles target="publish-ivy"/> + </target> + + <target name="publish-maven" + description="Publishes all maven artifacts to remote repositories"> + <all-bundles target="publish-maven"/> + </target> + + <target name="publish-maven-central"> + <all-bundles target="publish-maven-central"/> + </target> + + <target name="install-maven"> + <all-bundles target="install-maven"/> + </target> + + <target name="install-maven-central"> + <all-bundles target="install-maven-central"/> + </target> + + <target name="publish-package" depends="aws.init"> + <fail message="The 'project.name' property must be set on this project."> + <condition> + <not> + <isset property="project.name"/> + </not> + </condition> + </fail> + <checksum file="${package.output.file}" algorithm="sha1"/> + <aws:s3 accessKey="${accessKey}" secretKey="${secretKey}"> + <upload bucketName="dist.${bucket.basename}" file="${package.output.file}" + toFile="${adjusted.release.type}/${project.key}/${package.file.name}" publicRead="true"> + <metadata name="project.name" value="${project.name}"/> + <metadata name="release.type" value="${release.type}"/> + <metadata name="bundle.version" value="${bundle.version}"/> + <metadata name="package.file.name" value="${package.file.name}"/> + </upload> + <upload bucketName="dist.${bucket.basename}" file="${package.output.file}.sha1" + toFile="${adjusted.release.type}/${project.key}/${package.file.name}.sha1" publicRead="true"> + </upload> + </aws:s3> + </target> + +<!-- Other targets --> + <target name="aws.init" depends="ivy.init"> + <ivy:cachepath resolveId="spring.aws.ant.classpath" pathid="spring.aws.ant.classpath" + organisation="org.springframework.build" module="org.springframework.build.aws.ant" + revision="${org.springframework.build.aws.ant.version}" conf="runtime" type="jar" inline="true" + log="download-only"/> + <taskdef resource="org/springframework/build/aws/ant/antlib.xml" uri="antlib:org.springframework.build.aws" + classpathref="spring.aws.ant.classpath" /> + </target> + +</project> \ No newline at end of file diff --git a/spring-build/multi-bundle/quality.xml b/spring-build/multi-bundle/quality.xml new file mode 100644 index 00000000000..d0606d38ee7 --- /dev/null +++ b/spring-build/multi-bundle/quality.xml @@ -0,0 +1,138 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright 2010 SpringSource + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<project name="quality-multi-bundle" xmlns:ivy="antlib:org.apache.ivy.ant"> + + <import file="common.xml"/> + +<!-- Main targets --> + <target name="test" depends="jar, test.pre, test.do, test.post" + description="Executes all tests resulting from a compilation of the test tree returning test success metrics."/> + + <target name="clover" depends="clover.pre, clover.do, clover.post" + description="Executes all tests resulting from a compilation of the test tree returning test coverage metrics."/> + + <target name="findbugs" depends="findbugs.pre, findbugs.do" + description="Checks all code from the source tree for bugs."/> + + <target name="osgi-validate" + description="Checks all code from the source tree for bugs."> + <all-bundles target="osgi-validate"/> + </target> + +<!-- Other targets --> + <target name="test.pre"> + <delete quiet="true" dir="${test-results.output.dir}"/> + <mkdir dir="${test-results.output.dir}/xml"/> + </target> + + <target name="test.do"> + <all-bundles target="test.do"> + <property name="test-results.output.dir" value="${test-results.output.dir}"/> + </all-bundles> + </target> + + <target name="test.post"> + <mkdir dir="${test-results.output.dir}/html"/> + <junitreport> + <fileset dir="${test-results.output.dir}/xml" erroronmissingdir="false"/> + <report format="frames" todir="${test-results.output.dir}/html"/> + </junitreport> + <delete file="TESTS-TestSuites.xml"/> + </target> + + <target name="clover.init" depends="ivy.init"> + <ivy:cachepath resolveId="clover.classpath" pathid="clover.classpath" organisation="com.atlassian.clover" + module="com.springsource.com.cenqua.clover" revision="${com.springsource.com.cenqua.clover.version}" + conf="runtime" type="jar" inline="true" log="download-only"/> + <taskdef resource="cloverlib.xml" classpathref="clover.classpath"/> + </target> + + <target name="clover.pre" depends="clover.init"> + <delete dir="${clover.output.dir}" quiet="true"/> + <mkdir dir="${clover.db.dir}"/> + </target> + + <target name="clover.do"> + <condition property="has.unit.test.bundles"> + <isreference refid="unit.test.bundles" /> + </condition> + <antcall target="clover.do.unit"/> + <antcall target="clover.do.all" /> + </target> + + <target name="clover.do.unit" if="has.unit.test.bundles"> + <all-bundles target="clover" buildpathRef="unit.test.bundles"/> + </target> + + <target name="clover.do.all" unless="has.unit.test.bundles"> + <all-bundles target="clover" buildpathRef="bundles"/> + </target> + + <target name="clover.post" depends="clover.init"> + <clover-merge initString="${clover.db.file}"> + <cloverDbSet dir="${basedir}/.." span="30m"> + <include name="**/target/clover/db/clover.db"/> + </cloverDbSet> + </clover-merge> + <clover-report initstring="${clover.db.file}"> + <current outfile="${clover.output.dir}/clover.xml" span="30m"> + <format type="xml"/> + <testsources dir=".."> + <include name="**/src/test/java/**/*.java"/> + <include name="**/src/test/java/*.java"/> + </testsources> + </current> + </clover-report> + <clover-report initstring="${clover.db.file}"> + <current outfile="${clover.output.dir}/html" span="30m"> + <format type="html"/> + <testsources dir=".."> + <include name="**/src/test/java/**/*.java"/> + <include name="**/src/test/java/*.java"/> + </testsources> + </current> + </clover-report> + <clover-report initstring="${clover.db.file}"> + <current outfile="${clover.output.dir}/clover.pdf" summary="true" span="30m"> + <format type="pdf"/> + <testsources dir=".."> + <include name="**/src/test/java/**/*.java"/> + <include name="**/src/test/java/*.java"/> + </testsources> + </current> + </clover-report> + <clover-check initstring="${clover.db.file}" target="${clover.coverage}" haltOnFailure="${clover.enforce}" + span="30m"> + <testsources dir=".."> + <include name="**/src/test/java/**/*.java"/> + <include name="**/src/test/java/*.java"/> + </testsources> + </clover-check> + </target> + + <target name="findbugs.pre"> + <delete dir="${findbugs.output.dir}" quiet="true"/> + <mkdir dir="${findbugs.output.dir}"/> + </target> + + <target name="findbugs.do"> + <all-bundles target="findbugs.do"> + <property name="findbugs.output.dir" value="${findbugs.output.dir}"/> + </all-bundles> + </target> + +</project> \ No newline at end of file diff --git a/spring-build/par/artifact.xml b/spring-build/par/artifact.xml new file mode 100644 index 00000000000..3714e91fbce --- /dev/null +++ b/spring-build/par/artifact.xml @@ -0,0 +1,66 @@ +<?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-par" xmlns:ivy="antlib:org.apache.ivy.ant"> + + <import file="common.xml"/> + <import file="../multi-bundle/artifact.xml"/> + +<!-- Main targets --> + <target name="jar" depends="ivy.init" + description="Creates a PAR file containing the output of the list of bundles."> + <delete dir="${par.staging.dir}" quiet="true"/> + <mkdir dir="${par.staging.dir}"/> + <delete dir="${par.output.file}" quiet="true"/> + <mkdir dir="${jar.output.dir}"/> + + <all-bundles target="jar"/> + <all-bundles target="copy-dist-jar"> + <property name="copy.to.dir" value="${par.staging.dir}"/> + </all-bundles> + <all-bundles target="copy-ext-jars"> + <property name="copy.to.dir" value="${par.staging.dir}"/> + </all-bundles> + <antcall target="collect-additional"/> + <jar destfile="${par.output.file}" basedir="${par.staging.dir}" index="true" filesetmanifest="merge"> + <manifest> + <attribute name="Application-SymbolicName" value="${ant.project.name}"/> + <attribute name="Application-Version" value="${bundle.version}"/> + <attribute name="Application-Name" value="${application.name}"/> + <attribute name="Application-Description" value="${application.description}"/> + <attribute name="Application-Creator" value="${user.name}"/> + </manifest> + </jar> + </target> + + <target name="collect-additional" depends="ivy.file.exists" if="ivy.file.exists"> + <add-jars output.dir="${par.staging.dir}"/> + </target> + + <target name="collect-provided" + description="Collects all the JARs expected to be provided for a PAR file."> + <delete dir="${par.provided.dir}" quiet="true"/> + <mkdir dir="${par.provided.dir}"/> + + <all-bundles target="copy-provided-jars"> + <property name="copy.to.dir" value="${par.provided.bundles.dir}"/> + </all-bundles> + <all-bundles target="copy-provided-libs"> + <property name="copy.to.dir" value="${par.provided.libraries.dir}"/> + </all-bundles> + </target> + +</project> \ No newline at end of file diff --git a/spring-build/par/common.xml b/spring-build/par/common.xml new file mode 100644 index 00000000000..c0447e42cb8 --- /dev/null +++ b/spring-build/par/common.xml @@ -0,0 +1,21 @@ +<?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-par"> + + <import file="../multi-bundle/common.xml"/> + +</project> \ No newline at end of file diff --git a/spring-build/par/default.xml b/spring-build/par/default.xml new file mode 100644 index 00000000000..813a7927fb6 --- /dev/null +++ b/spring-build/par/default.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright 2010 SpringSource + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<project name="default-par"> + + <import file="common.xml"/> + <import file="artifact.xml"/> + <import file="quality.xml"/> + <import file="package.xml"/> + <import file="publish.xml"/> + +</project> \ No newline at end of file diff --git a/spring-build/par/package.xml b/spring-build/par/package.xml new file mode 100644 index 00000000000..580a0e194c1 --- /dev/null +++ b/spring-build/par/package.xml @@ -0,0 +1,31 @@ +<?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-par"> + + <import file="common.xml"/> + <import file="../common/package.xml"/> + +<!-- Macros --> + <macrodef name="dist-jar"> + <attribute name="output.dir" default="${package.dist.dir}"/> + <sequential> + <mkdir dir="@{output.dir}"/> + <copy file="${par.output.file}" tofile="@{output.dir}/${package.par.output.file}"/> + </sequential> + </macrodef> + +</project> \ No newline at end of file diff --git a/spring-build/par/publish.xml b/spring-build/par/publish.xml new file mode 100644 index 00000000000..da62d96dadb --- /dev/null +++ b/spring-build/par/publish.xml @@ -0,0 +1,66 @@ +<?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-par" xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:maven="antlib:org.apache.maven.artifact.ant"> + + <import file="common.xml"/> + <import file="../common/publish.xml"/> + + <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="${par.output.dir}/[artifact].[ext]"/> + <artifacts pattern="${source-jar.output.dir}/[artifact].[ext]"/> + <artifacts pattern="${ivy.output.dir}/[artifact].[ext]"/> + <artifacts pattern="${license.dir}/[artifact].[ext]"/> + </ivy:publish> + </target> + + <target name="publish-maven" depends="create.pom, ivy.init, maven.init, resolve" unless="local.build"> + <maven:deploy file="${par.output.file}"> + <remoteRepository url="s3://${publish.bucket}/maven/bundles/${adjusted.release.type}"> + <authentication username="${accessKey}" passphrase="${secretKey}"/> + </remoteRepository> + <pom file="${pom.output.file}"/> + </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="${par.output.file}"> + <remoteRepository url="${maven.central.repository}"> + <authentication username="${accessKey}" passphrase="${secretKey}"/> + </remoteRepository> + <pom file="${local.pom.output.file}"/> + </maven:deploy> + </target> + + <target name="install-maven" depends="create.pom, snapshot.pom, maven.init"> + <maven:install file="${par.output.file}"> + <pom file="${pom.output.file}"/> + </maven:install> + </target> + + <target name="install-maven-central" depends="maven.init"> + <maven:install file="${par.output.file}"> + <pom file="${local.pom.output.file}"/> + </maven:install> + </target> + +</project> \ No newline at end of file diff --git a/spring-build/par/quality.xml b/spring-build/par/quality.xml new file mode 100644 index 00000000000..88e52ced975 --- /dev/null +++ b/spring-build/par/quality.xml @@ -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. +--> +<project name="quality-par"> + + <import file="common.xml"/> + <import file="../multi-bundle/quality.xml"/> + +</project> \ No newline at end of file diff --git a/spring-build/resource/artifact.xml b/spring-build/resource/artifact.xml new file mode 100644 index 00000000000..3ed7d817cb4 --- /dev/null +++ b/spring-build/resource/artifact.xml @@ -0,0 +1,45 @@ +<?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-resource" xmlns:ivy="antlib:org.apache.ivy.ant"> + + <import file="common.xml"/> + +<!-- Main targets --> + <target name="javadoc-all" description="Does nothing"/> + + <target name="javadoc-api" description="Does nothing."/> + + <target name="jar" depends="ivy.init, resolve.compile" + description="Creates a libd file with the proper versions substituted."> + <delete quiet="true" file="${ivy.output.file}"/> + <mkdir dir="${ivy.output.dir}"/> + + <copy toDir="${artifacts.dir}"> + <fileset dir="${resource.src.dir}" erroronmissingdir="false"/> + </copy> + + <ivy:publish resolver="integration" pubdate="${timestamp}" status="${release.type}"> + <artifacts pattern="${ivy.output.dir}/[artifact].[ext]"/> + <artifacts pattern="${artifacts.dir}/[artifact].[ext]"/> + <artifacts pattern="${license.dir}/[artifact].[ext]"/> + </ivy:publish> + </target> + +<!-- Other targets --> + <target name="javadoc.prep"/> + +</project> diff --git a/spring-build/resource/common.xml b/spring-build/resource/common.xml new file mode 100644 index 00000000000..26a0181b3c9 --- /dev/null +++ b/spring-build/resource/common.xml @@ -0,0 +1,21 @@ +<?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-resource" xmlns:s="antlib:org.springframework.build"> + + <import file="../common/common.xml"/> + +</project> \ No newline at end of file diff --git a/spring-build/resource/default.xml b/spring-build/resource/default.xml new file mode 100644 index 00000000000..be89f7019ec --- /dev/null +++ b/spring-build/resource/default.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright 2010 SpringSource + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<project name="default-resource"> + + <import file="common.xml"/> + <import file="artifact.xml"/> + <import file="quality.xml"/> + <import file="package.xml"/> + <import file="publish.xml"/> + +</project> \ No newline at end of file diff --git a/spring-build/resource/package.xml b/spring-build/resource/package.xml new file mode 100644 index 00000000000..97197266c80 --- /dev/null +++ b/spring-build/resource/package.xml @@ -0,0 +1,39 @@ +<?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-resource"> + + <import file="common.xml"/> + <import file="../common/package.xml"/> + +<!-- Macros --> + <macrodef name="dist-jar"> + <attribute name="output.dir" default="${package.dist.dir}"/> + <sequential> + <mkdir dir="@{output.dir}"/> + <copy todir="@{output.dir}"> + <fileset dir="${resource.src.dir}" /> + </copy> + </sequential> + </macrodef> + + <macrodef name="src-jar"> + <attribute name="output.dir" default="${package.src.dir}"/> + <sequential> + </sequential> + </macrodef> + +</project> \ No newline at end of file diff --git a/spring-build/resource/publish.xml b/spring-build/resource/publish.xml new file mode 100644 index 00000000000..52a3d994898 --- /dev/null +++ b/spring-build/resource/publish.xml @@ -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. +--> +<project name="publish-resource" xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:maven="antlib:org.apache.maven.artifact.ant"> + + <import file="common.xml"/> + <import file="../common/publish.xml"/> + + <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}-library-publish" pubdate="${timestamp}" + status="${release.type}"> + <artifacts pattern="${artifacts.dir}/[artifact].[ext]"/> + <artifacts pattern="${ivy.output.dir}/[artifact].[ext]"/> + <artifacts pattern="${license.dir}/[artifact].[ext]"/> + </ivy:publish> + </target> + + <target name="publish-maven" depends="create.pom, ivy.init, maven.init, resolve" unless="local.build"> + <maven:deploy> + <remoteRepository url="s3://${publish.bucket}/maven/libraries/${adjusted.release.type}"> + <authentication username="${accessKey}" passphrase="${secretKey}"/> + </remoteRepository> + <pom file="${pom.output.file}"/> + </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> + <remoteRepository url="${maven.central.repository}"> + <authentication username="${accessKey}" passphrase="${secretKey}"/> + </remoteRepository> + <pom file="${local.pom.output.file}"/> + </maven:deploy> + </target> + + <target name="install-maven" depends="create.pom, snapshot.pom, maven.init"> + <maven:install> + <pom file="${pom.output.file}"/> + </maven:install> + </target> + + <target name="install-maven-central" depends="maven.init"> + <maven:install> + <pom file="${local.pom.output.file}"/> + </maven:install> + </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 match="<packaging>jar</packaging>" + replace="<packaging>pom</packaging>" + file="${pom.output.file}"/> + </target> + +</project> \ No newline at end of file diff --git a/spring-build/resource/quality.xml b/spring-build/resource/quality.xml new file mode 100644 index 00000000000..291d89c1e0d --- /dev/null +++ b/spring-build/resource/quality.xml @@ -0,0 +1,35 @@ +<?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-resource"> + +<!-- Main targets --> + <target name="test" description="Does nothing."/> + + <target name="clover" description="Does nothing."/> + + <target name="findbugs" description="Does nothing."/> + + <target name="osgi-validate" description="Does nothing."/> + +<!-- Other targets --> + <target name="test.do" description="Does nothing."/> + + <target name="clover.do" description="Does nothing."/> + + <target name="findbugs.do" description="Does nothing."/> + +</project> \ No newline at end of file diff --git a/spring-build/standard/artifact.xml b/spring-build/standard/artifact.xml new file mode 100644 index 00000000000..5d6de512cf5 --- /dev/null +++ b/spring-build/standard/artifact.xml @@ -0,0 +1,40 @@ +<?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-standard" xmlns:ivy="antlib:org.apache.ivy.ant"> + + <import file="common.xml"/> + <import file="../common/artifact.xml"/> + + +<!-- Other targets --> + <target name="compile.init" depends="ivy.init"> + <ivy:cachepath resolveId="spring.ant.classpath" pathid="spring.ant.classpath" + organisation="org.springframework.build" module="org.springframework.build.ant" + revision="${org.springframework.build.ant.version}" conf="runtime" type="jar" inline="true" + log="download-only"/> + <ivy:cachepath resolveId="ecj.classpath" pathid="ecj.classpath" organisation="org.eclipse.jdt" + module="com.springsource.org.eclipse.jdt.core.compiler.batch" revision="${org.eclipse.jdt.core.compiler.batch.version}" + conf="runtime" type="jar" inline="true" log="download-only"/> + <taskdef resource="org/springframework/build/ant/antlib.xml" uri="antlib:org.springframework.build"> + <classpath> + <path refid="spring.ant.classpath"/> + <path refid="ecj.classpath"/> + </classpath> + </taskdef> + </target> + +</project> \ No newline at end of file diff --git a/spring-build/standard/common.xml b/spring-build/standard/common.xml new file mode 100644 index 00000000000..44d9fdb3020 --- /dev/null +++ b/spring-build/standard/common.xml @@ -0,0 +1,48 @@ +<?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-standard" xmlns:s="antlib:org.springframework.build"> + + <import file="../common/common.xml"/> + +<!-- Macros --> + <macrodef name="do-compile"> + <attribute name="classpath.id"/> + <attribute name="input.dir"/> + <attribute name="output.dir"/> + <attribute name="resources.dir"/> + <sequential> + <s:javac destdir="@{output.dir}" source="${source.version}" target="${target.version}" + debug="${compile.debug}" debugLevel="${compile.debug.level}"> + <compilerarg line="${compiler.args}"/> + <src path="@{input.dir}"/> + <include name="**/*.java"/> + <include name="*.java"/> + <classpath refid="@{classpath.id}"/> + </s:javac> + <copy todir="@{output.dir}"> + <fileset dir="@{input.dir}" erroronmissingdir="false"> + <exclude name="**/*.java"/> + <exclude name="*.java"/> + </fileset> + </copy> + <copy todir="@{output.dir}"> + <fileset dir="@{resources.dir}" erroronmissingdir="false"/> + </copy> + </sequential> + </macrodef> + +</project> \ No newline at end of file diff --git a/spring-build/standard/default.xml b/spring-build/standard/default.xml new file mode 100644 index 00000000000..b93cc846956 --- /dev/null +++ b/spring-build/standard/default.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright 2010 SpringSource + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<project name="default-standard"> + + <import file="common.xml"/> + <import file="artifact.xml"/> + <import file="quality.xml"/> + <import file="package.xml"/> + <import file="publish.xml"/> + +</project> \ No newline at end of file diff --git a/spring-build/standard/package.xml b/spring-build/standard/package.xml new file mode 100644 index 00000000000..1fc8ed40403 --- /dev/null +++ b/spring-build/standard/package.xml @@ -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. +--> +<project name="package-standard"> + + <import file="common.xml"/> + <import file="../common/package.xml"/> + +</project> \ No newline at end of file diff --git a/spring-build/standard/publish.xml b/spring-build/standard/publish.xml new file mode 100644 index 00000000000..3fae574a48c --- /dev/null +++ b/spring-build/standard/publish.xml @@ -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. +--> +<project name="publish-standard"> + + <import file="common.xml"/> + <import file="../common/publish.xml"/> + +</project> \ No newline at end of file diff --git a/spring-build/standard/quality.xml b/spring-build/standard/quality.xml new file mode 100644 index 00000000000..b84c71c958a --- /dev/null +++ b/spring-build/standard/quality.xml @@ -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. +--> +<project name="quality-standard"> + + <import file="common.xml"/> + <import file="../common/quality.xml"/> + +</project> \ No newline at end of file diff --git a/spring-build/war/artifact.xml b/spring-build/war/artifact.xml new file mode 100644 index 00000000000..8d65ee4583f --- /dev/null +++ b/spring-build/war/artifact.xml @@ -0,0 +1,85 @@ +<?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-war" xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:bundlor="antlib:com.springsource.bundlor.ant"> + + <import file="common.xml"/> + <import file="../common/artifact.xml"/> + +<!-- Main targets --> + <target name="jar" depends="ivy.init, resolve.compile, compile.init, jar.init" + description="Creates a WAR 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="${war.output.file}"/> + <mkdir dir="${war.output.dir}"/> + <delete quiet="true" file="${source-jar.output.file}"/> + <mkdir dir="${source-jar.output.dir}"/> + + <copy todir="${war.staging.dir}"> + <fileset dir="${main.webapp.dir}" erroronmissingdir="false"/> + </copy> + + <compile classpath.id="compile.classpath" input.dir="${main.java.dir}" output.dir="${war.classes.dir}" + resources.dir="${main.resources.dir}"/> + <ivy:retrieve resolveId="compile.classpath" conf="compile,runtime" type="jar" + pattern="${war.lib.dir}/[artifact]-[revision].[ext]" log="download-only"/> + <antcall target="bundlor"/> + <jar destfile="${war.output.file}" basedir="${war.staging.dir}" index="true" filesetmanifest="merge"> + <manifest> + <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="${war.output.dir}/[artifact].[ext]"/> + <artifacts pattern="${source-jar.output.dir}/[artifact].[ext]"/> + <artifacts pattern="${license.dir}/[artifact].[ext]"/> + </ivy:publish> + </target> + +<!-- Other targets --> + <target name="compile.init" depends="ivy.init"> + <ivy:cachepath resolveId="spring.ant.classpath" pathid="spring.ant.classpath" + organisation="org.springframework.build" module="org.springframework.build.ant" + revision="${org.springframework.build.ant.version}" conf="runtime" type="jar" inline="true" + log="download-only"/> + <ivy:cachepath resolveId="ecj.classpath" pathid="ecj.classpath" organisation="org.eclipse.jdt" + module="com.springsource.org.eclipse.jdt.core.compiler.batch" revision="${org.eclipse.jdt.core.compiler.batch.version}" + conf="runtime" type="jar" inline="true" log="download-only"/> + <taskdef resource="org/springframework/build/ant/antlib.xml" uri="antlib:org.springframework.build"> + <classpath> + <path refid="spring.ant.classpath"/> + <path refid="ecj.classpath"/> + </classpath> + </taskdef> + </target> + + <target name="bundlor" depends="bundlor.init" unless="disable.bundlor"> + <bundlor:bundlor inputPath="${war.staging.dir}" outputPath="${war.staging.dir}" + bundleVersion="${bundle.version}" manifestTemplatePath="${manifest.template.file}" + failOnWarnings="${fail.on.warnings}"> + <propertyset refid="bundlor.properties"/> + <propertyset> + <propertyref builtin="all"/> + </propertyset> + </bundlor:bundlor> + </target> + +</project> \ No newline at end of file diff --git a/spring-build/war/common.xml b/spring-build/war/common.xml new file mode 100644 index 00000000000..dbe930ba03d --- /dev/null +++ b/spring-build/war/common.xml @@ -0,0 +1,48 @@ +<?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-war" xmlns:s="antlib:org.springframework.build"> + + <import file="../common/common.xml"/> + +<!-- Macros --> + <macrodef name="do-compile"> + <attribute name="classpath.id"/> + <attribute name="input.dir"/> + <attribute name="output.dir"/> + <attribute name="resources.dir"/> + <sequential> + <s:javac destdir="@{output.dir}" source="${source.version}" target="${target.version}" + debug="${compile.debug}" debugLevel="${compile.debug.level}"> + <compilerarg line="${compiler.args}"/> + <src path="@{input.dir}"/> + <include name="**/*.java"/> + <include name="*.java"/> + <classpath refid="@{classpath.id}"/> + </s:javac> + <copy todir="@{output.dir}"> + <fileset dir="@{input.dir}" erroronmissingdir="false"> + <exclude name="**/*.java"/> + <exclude name="*.java"/> + </fileset> + </copy> + <copy todir="@{output.dir}"> + <fileset dir="@{resources.dir}" erroronmissingdir="false"/> + </copy> + </sequential> + </macrodef> + +</project> \ No newline at end of file diff --git a/spring-build/war/default.xml b/spring-build/war/default.xml new file mode 100644 index 00000000000..8f0965f501c --- /dev/null +++ b/spring-build/war/default.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright 2010 SpringSource + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<project name="default-war"> + + <import file="common.xml"/> + <import file="artifact.xml"/> + <import file="quality.xml"/> + <import file="package.xml"/> + <import file="publish.xml"/> + +</project> \ No newline at end of file diff --git a/spring-build/war/package.xml b/spring-build/war/package.xml new file mode 100644 index 00000000000..05ea4813b1e --- /dev/null +++ b/spring-build/war/package.xml @@ -0,0 +1,31 @@ +<?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-war"> + + <import file="common.xml"/> + <import file="../common/package.xml"/> + +<!-- Macros --> + <macrodef name="dist-jar"> + <attribute name="output.dir" default="${package.dist.dir}"/> + <sequential> + <mkdir dir="@{output.dir}"/> + <copy file="${war.output.file}" tofile="@{output.dir}/${package.war.output.file}"/> + </sequential> + </macrodef> + +</project> \ No newline at end of file diff --git a/spring-build/war/publish.xml b/spring-build/war/publish.xml new file mode 100644 index 00000000000..0d2386235c9 --- /dev/null +++ b/spring-build/war/publish.xml @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright 2010 SpringSource + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<project name="publish-war" xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:maven="antlib:org.apache.maven.artifact.ant"> + + <import file="common.xml"/> + <import file="../common/publish.xml"/> + + <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="${war.output.dir}/[artifact].[ext]"/> + <artifacts pattern="${source-jar.output.dir}/[artifact].[ext]"/> + <artifacts pattern="${ivy.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="${war.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="${war.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="${war.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="${war.output.file}"> + <pom file="${local.pom.output.file}"/> + <attach file="${source-jar.output.file}" classifier="sources"/> + </maven:install> + </target> + +</project> \ No newline at end of file diff --git a/spring-build/war/quality.xml b/spring-build/war/quality.xml new file mode 100644 index 00000000000..7c673b228f5 --- /dev/null +++ b/spring-build/war/quality.xml @@ -0,0 +1,74 @@ +<?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-war" xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:osgi="antlib:org.springframework.build.osgi"> + + <import file="common.xml"/> + <import file="../common/quality.xml"/> + + <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="${war.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="${war.output.file}"> + <equinoxPath refid="equinox.classpath"/> + <supportingBundlesPath refid="osgi.compile.classpath"/> + </osgi:validate> + </target> + +<!-- Other targets --> + <target name="test.do" depends="ivy.init, resolve.test, compile.init, test.init" if="test.exists"> + <path id="test.compile.classpath"> + <pathelement location="${war.classes.dir}"/> + <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="${war.classes.dir}"/> + <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="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="${war.classes.dir}"/> + <auxClasspath refid="compile.classpath"/> + <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> + +</project> \ No newline at end of file diff --git a/spring-build/weaving-external/artifact.xml b/spring-build/weaving-external/artifact.xml new file mode 100644 index 00000000000..f0511cf97c6 --- /dev/null +++ b/spring-build/weaving-external/artifact.xml @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright 2010 SpringSource + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<project name="artifact-weaving-external" xmlns:ivy="antlib:org.apache.ivy.ant" + xmlns:bundlor="antlib:com.springsource.bundlor.ant"> + + <import file="common.xml"/> + <import file="../common/artifact.xml"/> + + <target name="javadoc-all" + description="Creates javadoc documentation for all classes."/> + + <target name="jar" depends="ivy.init, resolve.compile, resolve.aspects, resolve.external, 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}"/> + + <iajc inPathRef="external.classpath" aspectPathRef="aspects.classpath" classpathRef="compile.classpath" + outJar="${jar.output.file}" source="${source.version}" checkRuntimeVersion="false" X="${aspectj.x}"/> + <antcall target="bundlor"/> + <copy tofile="${source-jar.output.file}"> + <path refid="external.srcpath"/> + <flattenmapper/> + </copy> + <ivy:publish resolver="integration" pubdate="${timestamp}" status="${release.type}" overwrite="true"> + <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 --> + <target name="compile.init" depends="ivy.init"> + <ivy:cachepath resolveId="ajc.classpath" pathid="ajc.classpath" organisation="org.aspectj" + module="com.springsource.org.aspectj.tools" revision="${org.aspectj.tools.version}" conf="runtime" + type="jar" inline="true" log="download-only"/> + <taskdef resource="org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties" classpathref="ajc.classpath"/> + + <ivy:cachepath resolveId="spring.ant.classpath" pathid="spring.ant.classpath" + organisation="org.springframework.build" module="org.springframework.build.ant" + revision="${org.springframework.build.ant.version}" conf="runtime" type="jar" inline="true" + log="download-only"/> + <ivy:cachepath resolveId="ecj.classpath" pathid="ecj.classpath" organisation="org.eclipse.jdt" + module="com.springsource.org.eclipse.jdt.core.compiler.batch" revision="${org.eclipse.jdt.core.compiler.batch.version}" + conf="runtime" type="jar" inline="true" log="download-only"/> + <taskdef resource="org/springframework/build/ant/antlib.xml" uri="antlib:org.springframework.build"> + <classpath> + <path refid="spring.ant.classpath"/> + <path refid="ecj.classpath"/> + </classpath> + </taskdef> + </target> + + <target name="bundlor" depends="bundlor.init" unless="disable.bundlor"> + <bundlor:bundlor inputPath="${jar.output.file}" outputPath="${jar.output.file}" + bundleVersion="${bundle.version}" manifestTemplatePath="${manifest.template.file}" + failOnWarnings="${fail.on.warnings}"> + <propertyset refid="bundlor.properties"/> + <propertyset> + <propertyref builtin="all"/> + </propertyset> + </bundlor:bundlor> + </target> + +</project> \ No newline at end of file diff --git a/spring-build/weaving-external/common.xml b/spring-build/weaving-external/common.xml new file mode 100644 index 00000000000..ada91806baf --- /dev/null +++ b/spring-build/weaving-external/common.xml @@ -0,0 +1,48 @@ +<?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-weaving-external" xmlns:s="antlib:org.springframework.build"> + + <import file="../common/common.xml"/> + +<!-- Macros --> + <macrodef name="do-compile"> + <attribute name="classpath.id"/> + <attribute name="input.dir"/> + <attribute name="output.dir"/> + <attribute name="resources.dir"/> + <sequential> + <s:javac destdir="@{output.dir}" source="${source.version}" target="${target.version}" + debug="${compile.debug}" debugLevel="${compile.debug.level}"> + <compilerarg line="${compiler.args}"/> + <src path="@{input.dir}"/> + <include name="**/*.java"/> + <include name="*.java"/> + <classpath refid="@{classpath.id}"/> + </s:javac> + <copy todir="@{output.dir}"> + <fileset dir="@{input.dir}" erroronmissingdir="false"> + <exclude name="**/*.java"/> + <exclude name="*.java"/> + </fileset> + </copy> + <copy todir="@{output.dir}"> + <fileset dir="@{resources.dir}" erroronmissingdir="false"/> + </copy> + </sequential> + </macrodef> + +</project> \ No newline at end of file diff --git a/spring-build/weaving-external/default.xml b/spring-build/weaving-external/default.xml new file mode 100644 index 00000000000..3b88f098c39 --- /dev/null +++ b/spring-build/weaving-external/default.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright 2010 SpringSource + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<project name="default-weaving-external"> + + <import file="common.xml"/> + <import file="artifact.xml"/> + <import file="quality.xml"/> + <import file="package.xml"/> + <import file="publish.xml"/> + +</project> \ No newline at end of file diff --git a/spring-build/weaving-external/package.xml b/spring-build/weaving-external/package.xml new file mode 100644 index 00000000000..09009d69f08 --- /dev/null +++ b/spring-build/weaving-external/package.xml @@ -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. +--> +<project name="package-weaving-external"> + + <import file="common.xml"/> + <import file="../common/package.xml"/> + +</project> \ No newline at end of file diff --git a/spring-build/weaving-external/publish.xml b/spring-build/weaving-external/publish.xml new file mode 100644 index 00000000000..fd58c241571 --- /dev/null +++ b/spring-build/weaving-external/publish.xml @@ -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. +--> +<project name="publish-weaving-external"> + + <import file="common.xml"/> + <import file="../common/publish.xml"/> + +</project> \ No newline at end of file diff --git a/spring-build/weaving-external/quality.xml b/spring-build/weaving-external/quality.xml new file mode 100644 index 00000000000..2b5a0261779 --- /dev/null +++ b/spring-build/weaving-external/quality.xml @@ -0,0 +1,63 @@ +<?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-weaving-external" xmlns:ivy="antlib:org.apache.ivy.ant"> + + <import file="common.xml"/> + <import file="../common/quality.xml"/> + +<!-- Other targets --> + <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="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="test.classpath"/> + <path refid="runtime.classpath"/> + </path> + <test-run classpath.id="test.run.classpath"/> + </target> + + <target name="clover.do" depends="ivy.init, resolve.test, compile.init, clover.init, clover.instrument, test.init" + if="test.exists"> + <path id="clover.run.classpath"> + <pathelement location="${jar.output.file}"/> + <pathelement location="${test.output.dir}"/> + <path refid="clover.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="${test.java.dir}" output.dir="${test.clover.dir}"/> + <path id="test.compile.classpath"> + <pathelement location="${main.output.dir}"/> + <path refid="test.classpath"/> + <path refid="clover.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> +</project> \ No newline at end of file diff --git a/spring-build/weaving/artifact.xml b/spring-build/weaving/artifact.xml new file mode 100644 index 00000000000..478fe06c116 --- /dev/null +++ b/spring-build/weaving/artifact.xml @@ -0,0 +1,59 @@ +<?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-weaving" xmlns:ivy="antlib:org.apache.ivy.ant" + xmlns:bundlor="antlib:com.springsource.bundlor.ant"> + + <import file="common.xml"/> + <import file="../common/artifact.xml"/> + + <target name="jar" depends="ivy.init, resolve.aspects, artifact-common.jar" + description="Creates a JAR file containing the output of a compilation of the source tree."/> + +<!-- Other targets --> + <target name="compile.init" depends="ivy.init"> + <ivy:cachepath resolveId="ajc.classpath" pathid="ajc.classpath" organisation="org.aspectj" + module="com.springsource.org.aspectj.tools" revision="${org.aspectj.tools.version}" conf="runtime" + type="jar" inline="true" log="download-only"/> + <taskdef resource="org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties" classpathref="ajc.classpath"/> + + <ivy:cachepath resolveId="spring.ant.classpath" pathid="spring.ant.classpath" + organisation="org.springframework.build" module="org.springframework.build.ant" + revision="${org.springframework.build.ant.version}" conf="runtime" type="jar" inline="true" + log="download-only"/> + <ivy:cachepath resolveId="ecj.classpath" pathid="ecj.classpath" organisation="org.eclipse.jdt" + module="com.springsource.org.eclipse.jdt.core.compiler.batch" revision="${org.eclipse.jdt.core.compiler.batch.version}" + conf="runtime" type="jar" inline="true" log="download-only"/> + <taskdef resource="org/springframework/build/ant/antlib.xml" uri="antlib:org.springframework.build"> + <classpath> + <path refid="spring.ant.classpath"/> + <path refid="ecj.classpath"/> + </classpath> + </taskdef> + </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> + +</project> \ No newline at end of file diff --git a/spring-build/weaving/common.xml b/spring-build/weaving/common.xml new file mode 100644 index 00000000000..9d27767759c --- /dev/null +++ b/spring-build/weaving/common.xml @@ -0,0 +1,50 @@ +<?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-weaving" xmlns:s="antlib:org.springframework.build"> + + <import file="../common/common.xml"/> + +<!-- Macros --> + <macrodef name="do-compile"> + <attribute name="classpath.id"/> + <attribute name="input.dir"/> + <attribute name="output.dir"/> + <attribute name="resources.dir"/> + <sequential> + <s:javac destdir="@{output.dir}" source="${source.version}" target="${target.version}" + debug="${compile.debug}" debugLevel="${compile.debug.level}"> + <compilerarg line="${compiler.args}"/> + <src path="@{input.dir}"/> + <include name="**/*.java"/> + <include name="*.java"/> + <classpath refid="@{classpath.id}"/> + </s:javac> + <copy todir="@{output.dir}"> + <fileset dir="@{input.dir}" erroronmissingdir="false"> + <exclude name="**/*.java"/> + <exclude name="*.java"/> + </fileset> + </copy> + <copy todir="@{output.dir}"> + <fileset dir="@{resources.dir}" erroronmissingdir="false"/> + </copy> + <iajc inPath="${main.output.dir}" aspectPathRef="aspects.classpath" classpathRef="compile.classpath" + destDir="${main.output.dir}" source="${source.version}" checkRuntimeVersion="false" X="${aspectj.x}"/> + </sequential> + </macrodef> + +</project> \ No newline at end of file diff --git a/spring-build/weaving/default.xml b/spring-build/weaving/default.xml new file mode 100644 index 00000000000..c4dc8ed9c37 --- /dev/null +++ b/spring-build/weaving/default.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright 2010 SpringSource + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<project name="default-weaving"> + + <import file="common.xml"/> + <import file="artifact.xml"/> + <import file="quality.xml"/> + <import file="package.xml"/> + <import file="publish.xml"/> + +</project> \ No newline at end of file diff --git a/spring-build/weaving/package.xml b/spring-build/weaving/package.xml new file mode 100644 index 00000000000..764a5f143e2 --- /dev/null +++ b/spring-build/weaving/package.xml @@ -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. +--> +<project name="package-weaving"> + + <import file="common.xml"/> + <import file="../common/package.xml"/> + +</project> \ No newline at end of file diff --git a/spring-build/weaving/publish.xml b/spring-build/weaving/publish.xml new file mode 100644 index 00000000000..42f3bd05615 --- /dev/null +++ b/spring-build/weaving/publish.xml @@ -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. +--> +<project name="publish-weaving"> + + <import file="common.xml"/> + <import file="../common/publish.xml"/> + +</project> \ No newline at end of file diff --git a/spring-build/weaving/quality.xml b/spring-build/weaving/quality.xml new file mode 100644 index 00000000000..20cae52bb97 --- /dev/null +++ b/spring-build/weaving/quality.xml @@ -0,0 +1,45 @@ +<?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-weaving" xmlns:ivy="antlib:org.apache.ivy.ant"> + + <import file="common.xml"/> + <import file="../common/quality.xml"/> + + <target name="clover.instrument" depends="ivy.init, resolve.aspects, quality-common.clover.instrument" + description="Creates a JAR file containing the output of a compilation of the source tree."/> + + <target name="test.do" depends="ivy.init, resolve.test, resolve.aspects, 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 refid="aspects.classpath"/> + </path> + <test-run classpath.id="test.run.classpath"/> + </target> + +</project> \ No newline at end of file