Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlyn Normington2010-04-23 10:29:10 -0400
committerGlyn Normington2010-04-23 10:29:10 -0400
commit83c941f667ce076ae273e1b169304bbdc5795212 (patch)
treed8444aefe5c6aa974a6786e18eb8a22bc114b40f
downloadorg.eclipse.virgo.virgo-build-83c941f667ce076ae273e1b169304bbdc5795212.tar.gz
org.eclipse.virgo.virgo-build-83c941f667ce076ae273e1b169304bbdc5795212.tar.xz
org.eclipse.virgo.virgo-build-83c941f667ce076ae273e1b169304bbdc5795212.zip
[bug 307629] initial check-in based on dm Server Virgo virgo-build at ecdc38e1579879690c2916569b12ad0ba5a6acc0
-rw-r--r--.gitignore2
-rw-r--r--aspect/artifact.xml30
-rw-r--r--aspect/common.xml42
-rw-r--r--aspect/default.xml22
-rw-r--r--aspect/package.xml19
-rw-r--r--aspect/publish.xml19
-rw-r--r--aspect/quality.xml71
-rw-r--r--common/artifact.xml116
-rw-r--r--common/common.properties170
-rw-r--r--common/common.xml234
-rw-r--r--common/default-ivy-configurations.xml31
-rw-r--r--common/findbugs-exclude.xml6
-rw-r--r--common/ivysettings.xml94
-rw-r--r--common/javadoc-resources/table-header.pngbin0 -> 164 bytes
-rw-r--r--common/javadoc-resources/table-header.svg95
-rw-r--r--common/package.xml106
-rw-r--r--common/publish.xml106
-rw-r--r--common/quality.xml274
-rw-r--r--common/virgo-javadoc.css178
-rw-r--r--docbook/common.xml18
-rw-r--r--docbook/css/html/highlight.css35
-rw-r--r--docbook/css/html/stylesheet.css77
-rw-r--r--docbook/default.xml21
-rw-r--r--docbook/documentation.xml178
-rw-r--r--docbook/package.xml26
-rw-r--r--docbook/publish.xml40
-rw-r--r--lib/ivy/commons-codec.jarbin0 -> 46725 bytes
-rw-r--r--lib/ivy/commons-httpclient.jarbin0 -> 305001 bytes
-rw-r--r--lib/ivy/commons-logging.jarbin0 -> 60686 bytes
-rw-r--r--lib/ivy/current.version6
-rw-r--r--lib/ivy/ivy.jarbin0 -> 910990 bytes
-rw-r--r--lib/ivy/jets3t.jarbin0 -> 355132 bytes
-rw-r--r--lib/ivy/jets3t.properties12
-rw-r--r--lib/ivy/org.springframework.build.aws.ivy.jarbin0 -> 7446 bytes
-rw-r--r--library/artifact.xml48
-rw-r--r--library/common.xml18
-rw-r--r--library/default.xml22
-rw-r--r--library/package.xml34
-rw-r--r--library/publish.xml78
-rw-r--r--library/quality.xml32
-rw-r--r--multi-bundle/artifact.xml67
-rw-r--r--multi-bundle/common.xml118
-rw-r--r--multi-bundle/default.xml22
-rw-r--r--multi-bundle/package.xml26
-rw-r--r--multi-bundle/publish.xml80
-rw-r--r--multi-bundle/quality.xml141
-rw-r--r--par/artifact.xml63
-rw-r--r--par/common.xml18
-rw-r--r--par/default.xml22
-rw-r--r--par/package.xml28
-rw-r--r--par/publish.xml62
-rw-r--r--par/quality.xml19
-rw-r--r--resource/artifact.xml41
-rw-r--r--resource/common.xml18
-rw-r--r--resource/default.xml22
-rw-r--r--resource/package.xml36
-rw-r--r--resource/publish.xml78
-rw-r--r--resource/quality.xml32
-rw-r--r--standard/artifact.xml37
-rw-r--r--standard/common.xml45
-rw-r--r--standard/default.xml22
-rw-r--r--standard/package.xml19
-rw-r--r--standard/publish.xml19
-rw-r--r--standard/quality.xml19
-rw-r--r--war/artifact.xml81
-rw-r--r--war/common.xml45
-rw-r--r--war/default.xml22
-rw-r--r--war/package.xml28
-rw-r--r--war/publish.xml66
-rw-r--r--war/quality.xml71
-rw-r--r--weaving-external/artifact.xml79
-rw-r--r--weaving-external/common.xml45
-rw-r--r--weaving-external/default.xml22
-rw-r--r--weaving-external/package.xml19
-rw-r--r--weaving-external/publish.xml19
-rw-r--r--weaving-external/quality.xml60
-rw-r--r--weaving/artifact.xml56
-rw-r--r--weaving/common.xml47
-rw-r--r--weaving/default.xml22
-rw-r--r--weaving/package.xml19
-rw-r--r--weaving/publish.xml19
-rw-r--r--weaving/quality.xml42
82 files changed, 4076 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..88a36b6
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+lib/findbugs
+lib/docbook
diff --git a/aspect/artifact.xml b/aspect/artifact.xml
new file mode 100644
index 0000000..1a25c7d
--- /dev/null
+++ b/aspect/artifact.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="artifact-aspect" xmlns:ivy="antlib:org.apache.ivy.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"/>
+ </target>
+
+</project>
diff --git a/aspect/common.xml b/aspect/common.xml
new file mode 100644
index 0000000..e2d391f
--- /dev/null
+++ b/aspect/common.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="common-aspect">
+
+ <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>
+ <iajc sourceroots="@{input.dir}" destDir="@{output.dir}" classpathRef="@{classpath.id}" source="${source.version}"
+ debug="${compile.debug}" debugLevel="${compile.debug.level}" checkRuntimeVersion="false"
+ aspectPathRef="aspects.classpath" X="${aspectj.x}"/>
+ <copy todir="@{output.dir}">
+ <fileset dir="@{input.dir}" erroronmissingdir="false">
+ <exclude name="**/*.aj"/>
+ <exclude name="**/*.java"/>
+ <exclude name="*.aj"/>
+ <exclude name="*.java"/>
+ </fileset>
+ </copy>
+ <copy todir="@{output.dir}">
+ <fileset dir="@{resources.dir}" erroronmissingdir="false"/>
+ </copy>
+ </sequential>
+ </macrodef>
+
+</project>
diff --git a/aspect/default.xml b/aspect/default.xml
new file mode 100644
index 0000000..c24b507
--- /dev/null
+++ b/aspect/default.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="default-aspect">
+
+ <import file="common.xml"/>
+ <import file="artifact.xml"/>
+ <import file="quality.xml"/>
+ <import file="package.xml"/>
+ <import file="publish.xml"/>
+
+</project>
diff --git a/aspect/package.xml b/aspect/package.xml
new file mode 100644
index 0000000..17a8021
--- /dev/null
+++ b/aspect/package.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="package-aspect">
+
+ <import file="common.xml"/>
+ <import file="../common/package.xml"/>
+
+</project>
diff --git a/aspect/publish.xml b/aspect/publish.xml
new file mode 100644
index 0000000..1eeb984
--- /dev/null
+++ b/aspect/publish.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="publish-aspect">
+
+ <import file="common.xml"/>
+ <import file="../common/publish.xml"/>
+
+</project>
diff --git a/aspect/quality.xml b/aspect/quality.xml
new file mode 100644
index 0000000..0978b6b
--- /dev/null
+++ b/aspect/quality.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="quality-aspect" xmlns:ivy="antlib:org.apache.ivy.ant">
+
+ <import file="common.xml"/>
+ <import file="../common/quality.xml"/>
+
+ <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>
+ <path id="test.aspect.path">
+ <pathelement location="${jar.output.file}"/>
+ <path refid="aspects.classpath"/>
+ </path>
+ <test-compile classpath.id="test.compile.classpath" input.dir="${test.java.dir}" output.dir="${test.output.dir}"
+ resources.dir="${test.resources.dir}"/>
+ <iajc inPath="${test.output.dir}" aspectPathRef="test.aspect.path" classpathRef="test.compile.classpath"
+ destDir="${test.output.dir}" source="${source.version}" checkRuntimeVersion="false" X="${aspectj.x}"/>
+
+ <path id="test.run.classpath">
+ <pathelement location="${jar.output.file}"/>
+ <pathelement location="${test.output.dir}"/>
+ <path refid="compile.classpath"/>
+ <path refid="test.classpath"/>
+ <path refid="runtime.classpath"/>
+ </path>
+ <test-run classpath.id="test.run.classpath"/>
+ </target>
+
+ <target name="clover.instrument" depends="ivy.init, resolve.aspects, resolve.test, compile.init, clover.init">
+ <instrument input.dir="${main.java.dir}" output.dir="${main.clover.dir}"/>
+ <path id="clover.compile.classpath">
+ <path refid="clover.classpath"/>
+ <path refid="compile.classpath"/>
+ </path>
+ <compile classpath.id="clover.compile.classpath" input.dir="${main.clover.dir}" output.dir="${main.output.dir}"
+ resources.dir="${main.resources.dir}"/>
+
+ <instrument input.dir="${test.java.dir}" output.dir="${test.clover.dir}"/>
+ <path id="test.compile.classpath">
+ <pathelement location="${main.output.dir}"/>
+ <path refid="clover.classpath"/>
+ <path refid="compile.classpath"/>
+ <path refid="test.classpath"/>
+ </path>
+ <path id="test.aspect.path">
+ <pathelement location="${main.output.dir}"/>
+ <path refid="aspects.classpath"/>
+ </path>
+ <test-compile classpath.id="test.compile.classpath" input.dir="${test.clover.dir}" output.dir="${test.output.dir}"
+ resources.dir="${test.resources.dir}"/>
+ <iajc inPath="${test.output.dir}" aspectPathRef="test.aspect.path" classpathRef="test.compile.classpath"
+ destDir="${test.output.dir}" source="${source.version}" checkRuntimeVersion="false" X="${aspectj.x}"/>
+ <delete dir="${clover.staging.dir}" quiet="true"/>
+ </target>
+
+</project>
diff --git a/common/artifact.xml b/common/artifact.xml
new file mode 100644
index 0000000..ce78cce
--- /dev/null
+++ b/common/artifact.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="artifact-common" xmlns:ivy="antlib:org.apache.ivy.ant"
+ xmlns:bundlor="antlib:com.springsource.bundlor.ant">
+
+<!-- Main targets -->
+ <target name="javadoc-all" depends="ivy.init, resolve.compile, src.init" if="src.exists"
+ description="Creates javadoc documentation for all classes.">
+ <java-doc input.dir="${main.java.dir}" output.dir="${javadoc-all.output.dir}" classpath.id="compile.classpath"
+ access="private"/>
+ </target>
+
+ <target name="javadoc-api" depends="ivy.init, resolve.compile, src.init" if="src.exists"
+ description="Creates javadoc documentation for all classes.">
+ <java-doc input.dir="${main.java.dir}" output.dir="${javadoc-api.output.dir}" classpath.id="compile.classpath"
+ access="protected" exclude.package.names="${javadoc.exclude.package.names}"/>
+ </target>
+
+ <target name="jar" depends="ivy.init, resolve.compile, compile.init, jar.init"
+ description="Creates a JAR file containing the output of a compilation of the source tree.">
+ <delete quiet="true" file="${ivy.output.file}"/>
+ <mkdir dir="${ivy.output.dir}"/>
+ <delete quiet="true" file="${jar.output.file}"/>
+ <mkdir dir="${jar.output.dir}"/>
+ <delete quiet="true" file="${source-jar.output.file}"/>
+ <mkdir dir="${source-jar.output.dir}"/>
+
+ <compile classpath.id="compile.classpath" input.dir="${main.java.dir}" output.dir="${main.output.dir}"
+ resources.dir="${main.resources.dir}"/>
+ <ivy:retrieve resolveId="additional.classpath" conf="additional" type="jar" transitive="false"
+ pattern="${main.output.dir}/[artifact]-[revision].[ext]" log="download-only"/>
+ <antcall target="bundlor"/>
+ <jar destfile="${jar.output.file}" basedir="${main.output.dir}" index="true" filesetmanifest="merge">
+ <manifest>
+ <attribute name="Bundle-ManifestVersion" value="2"/>
+ <attribute name="Bundle-Version" value="${bundle.version}"/>
+ <attribute name="Bundle-Creator" value="${user.name}"/>
+ <attribute name="Implementation-Title" value="${implementation.title}"/>
+ <attribute name="Implementation-Version" value="${implementation.version}"/>
+ </manifest>
+ </jar>
+ <jar destfile="${source-jar.output.file}" basedir="${main.java.dir}" index="true"/>
+ <ivy:publish resolver="integration" pubdate="${timestamp}" status="${release.type}">
+ <artifacts pattern="${ivy.output.dir}/[artifact].[ext]"/>
+ <artifacts pattern="${jar.output.dir}/[artifact].[ext]"/>
+ <artifacts pattern="${source-jar.output.dir}/[artifact].[ext]"/>
+ </ivy:publish>
+ </target>
+
+<!-- Other targets -->
+ <propertyset id="bundlor.properties"/>
+
+ <target name="compile.init" depends="ivy.init"/>
+
+ <target name="jar.init">
+ <fail message="The 'integration.repo.dir' property must be set on this project.">
+ <condition>
+ <not>
+ <isset property="integration.repo.dir"/>
+ </not>
+ </condition>
+ </fail>
+ <fail message="The 'ivy.cache.dir' property must be set on this project.">
+ <condition>
+ <not>
+ <isset property="ivy.cache.dir"/>
+ </not>
+ </condition>
+ </fail>
+ <fail message="The 'version' property must be set on this project.">
+ <condition>
+ <not>
+ <isset property="version"/>
+ </not>
+ </condition>
+ </fail>
+ </target>
+
+ <target name="bundlor" depends="bundlor.init" unless="disable.bundlor">
+ <bundlor:bundlor inputPath="${main.output.dir}" outputPath="${main.output.dir}"
+ bundleVersion="${bundle.version}" manifestTemplatePath="${manifest.template.file}"
+ failOnWarnings="${fail.on.warnings}">
+ <propertyset refid="bundlor.properties"/>
+ <propertyset>
+ <propertyref builtin="all"/>
+ </propertyset>
+ </bundlor:bundlor>
+ </target>
+
+ <target name="bundlor.init" depends="ivy.init" unless="disable.bundlor">
+ <ivy:cachepath resolveId="bundlor.classpath" pathid="bundlor.classpath" organisation="com.springsource.bundlor"
+ module="com.springsource.bundlor.ant" revision="${bundlor.ant.version}" conf="ant" inline="true"
+ type="jar" log="download-only"/>
+ <taskdef resource="com/springsource/bundlor/ant/antlib.xml" uri="antlib:com.springsource.bundlor.ant"
+ classpathref="bundlor.classpath"/>
+ </target>
+
+ <target name="javadoc.prep" depends="src.init" if="src.exists">
+ <mkdir dir="${javadoc.prep.dir}"/>
+ <copy todir="${javadoc.prep.dir}">
+ <fileset dir="${main.java.dir}" erroronmissingdir="false"/>
+ </copy>
+ </target>
+
+</project>
diff --git a/common/common.properties b/common/common.properties
new file mode 100644
index 0000000..84dcfd0
--- /dev/null
+++ b/common/common.properties
@@ -0,0 +1,170 @@
+# Common Properties
+lib.dir=${virgo.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=zodiac.springsource.com
+local.repo.dir=${java.io.tmpdir}/local-repository
+
+# Artifact Properties
+main.java.dir=${basedir}/src/main/java
+main.resources.dir=${basedir}/src/main/resources
+main.output.dir=${target.dir}/classes
+main.webapp.dir=${basedir}/src/main/webapp
+
+# Javadoc Properties
+javadoc-all.output.dir=${target.dir}/javadoc-all
+javadoc-api.output.dir=${target.dir}/javadoc-api
+javadoc.prep.dir=${target.dir}/javadoc-prep
+javadoc.exclude.package.names=
+javadoc.stylesheet.file=${virgo.build.dir}/common/virgo-javadoc.css
+javadoc.resources.dir=${virgo.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.6.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=${virgo.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=${docbook.build.dir}/css
+docbook.styles.dir=${docbook.build.dir}/styles
+
+# Findbugs Properties
+findbugs.dir=${lib.dir}/findbugs
+findbugs.exclude.file=${virgo.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=zodiac.springsource.com
+zodiac.basename=zodiac.springsource.com
+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=${virgo.build.dir}/common/ivysettings.xml
+ivy.report.todir=${artifacts.dir}/reports
+
+# 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/common/common.xml b/common/common.xml
new file mode 100644
index 0000000..4a6afff
--- /dev/null
+++ b/common/common.xml
@@ -0,0 +1,234 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="common-common" xmlns:ivy="antlib:org.apache.ivy.ant">
+
+ <tstamp>
+ <format property="timestamp" pattern="yyyyMMddHHmmss" timezone="GMT"/>
+ </tstamp>
+
+<!-- Properties -->
+ <dirname property="virgo.build.dir" file="${ant.file.common-common}/.."/>
+ <property file="${virgo.build.dir}/common/common.properties"/>
+
+<!-- Global tasks -->
+ <condition property="adjusted.release.type" value="snapshot" else="${release.type}">
+ <equals arg1="integration" arg2="${release.type}"/>
+ </condition>
+
+ <condition property="publication.resolver.prefix" value="local" else="ebr">
+ <istrue value="${local.build}"/>
+ </condition>
+
+<!-- Main targets -->
+ <target name="clean" description="Removes the target directory.">
+ <delete quiet="true" dir="${target.dir}"/>
+ </target>
+
+ <target name="clean-integration" description="Removes the integration repository directory.">
+ <fail message="The 'integration.repo.dir' property must be set on this project.">
+ <condition>
+ <not>
+ <isset property="integration.repo.dir"/>
+ </not>
+ </condition>
+ </fail>
+ <delete quiet="true" dir="${integration.repo.dir}"/>
+ </target>
+
+ <target name="clean-ivy" description="Removes the ivy cache directory.">
+ <fail message="The 'ivy.cache.dir' property must be set on this project.">
+ <condition>
+ <not>
+ <isset property="ivy.cache.dir"/>
+ </not>
+ </condition>
+ </fail>
+ <delete quiet="true" dir="${ivy.cache.dir}"/>
+ </target>
+
+ <target name="resolve" depends="resolve.init" description="Retrieves all external dependencies for this project.">
+ <ivy:resolve id="all.classpath" log="download-only"/>
+ </target>
+
+<!-- Other targets -->
+ <target name="ivy.init" unless="ivy.initialized">
+ <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant">
+ <classpath>
+ <path location="${ivy.lib.dir}/ivy.jar"/>
+ <path location="${ivy.lib.dir}/org.springframework.build.aws.ivy.jar"/>
+ <path location="${ivy.lib.dir}/commons-codec.jar"/>
+ <path location="${ivy.lib.dir}/commons-httpclient.jar"/>
+ <path location="${ivy.lib.dir}/commons-logging.jar"/>
+ <path location="${ivy.lib.dir}/jets3t.jar"/>
+ <path location="${ivy.lib.dir}"/>
+ </classpath>
+ </taskdef>
+ <ivy:settings file="${ivy.settings.file}"/>
+ <property name="ivy.initialized" value="true"/>
+ </target>
+
+ <target name="resolve.init" depends="ivy.file.exists">
+ <fail message="Dependency resolution requires an ${ivy.file} file to exist.">
+ <condition>
+ <not>
+ <isset property="ivy.file.exists"/>
+ </not>
+ </condition>
+ </fail>
+ </target>
+
+ <target name="ivy.file.exists" depends="ivy.init">
+ <condition property="ivy.file.exists">
+ <available file="${ivy.file}"/>
+ </condition>
+ </target>
+
+ <target name="resolve.compile" depends="resolve.init">
+ <ivy:cachepath resolveId="compile.classpath" pathid="compile.classpath"
+ conf="compile,optional,provided,server-provided" type="jar" log="download-only"/>
+ </target>
+
+ <target name="resolve.test" depends="resolve.init, resolve.compile">
+ <ivy:cachepath resolveId="test.classpath" pathid="test.classpath" conf="test" type="jar" log="download-only"/>
+ <ivy:cachepath resolveId="runtime.classpath" pathid="runtime.classpath" conf="runtime" type="jar"
+ log="download-only"/>
+ </target>
+
+ <target name="resolve.aspects" depends="resolve.init">
+ <ivy:cachepath resolveId="aspects.classpath" pathid="aspects.classpath" conf="aspects" type="jar"
+ log="download-only"/>
+ </target>
+
+ <target name="resolve.external" depends="resolve.init">
+ <ivy:cachepath resolveId="external.classpath" pathid="external.classpath" conf="external" type="jar"
+ transitive="false" log="download-only"/>
+ <ivy:cachepath resolveId="external.srcpath" pathid="external.srcpath" conf="external" type="src"
+ transitive="false" log="download-only"/>
+ </target>
+
+ <target name="src.init">
+ <condition property="src.exists">
+ <resourcecount when="gt" count="0">
+ <fileset dir="${main.java.dir}" erroronmissingdir="false">
+ <include name="**/*.java"/>
+ <include name="*.java"/>
+ </fileset>
+ </resourcecount>
+ </condition>
+ </target>
+
+ <target name="test.init">
+ <condition property="test.exists">
+ <resourcecount when="gt" count="0">
+ <fileset dir="${test.java.dir}" erroronmissingdir="false">
+ <include name="**/*.java"/>
+ <include name="*.java"/>
+ </fileset>
+ </resourcecount>
+ </condition>
+ </target>
+
+<!-- Macros -->
+ <macrodef name="compile">
+ <attribute name="classpath.id"/>
+ <attribute name="input.dir"/>
+ <attribute name="output.dir"/>
+ <attribute name="resources.dir"/>
+ <sequential>
+ <delete quiet="true" dir="@{output.dir}"/>
+ <mkdir dir="@{output.dir}"/>
+ <pre-compile classpath.id="@{classpath.id}" input.dir="@{input.dir}" output.dir="@{output.dir}"
+ resources.dir="@{resources.dir}"/>
+ <do-compile classpath.id="@{classpath.id}" input.dir="@{input.dir}" output.dir="@{output.dir}"
+ resources.dir="@{resources.dir}"/>
+ <post-compile classpath.id="@{classpath.id}" input.dir="@{input.dir}" output.dir="@{output.dir}"
+ resources.dir="@{resources.dir}"/>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="test-compile">
+ <attribute name="classpath.id"/>
+ <attribute name="input.dir"/>
+ <attribute name="output.dir"/>
+ <attribute name="resources.dir"/>
+ <sequential>
+ <delete quiet="true" dir="@{output.dir}"/>
+ <mkdir dir="@{output.dir}"/>
+ <test-pre-compile classpath.id="@{classpath.id}" input.dir="@{input.dir}" output.dir="@{output.dir}"
+ resources.dir="@{resources.dir}"/>
+ <do-compile classpath.id="@{classpath.id}" input.dir="@{input.dir}" output.dir="@{output.dir}"
+ resources.dir="@{resources.dir}"/>
+ <test-post-compile classpath.id="@{classpath.id}" input.dir="@{input.dir}" output.dir="@{output.dir}"
+ resources.dir="@{resources.dir}"/>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="pre-compile">
+ <attribute name="classpath.id"/>
+ <attribute name="input.dir"/>
+ <attribute name="output.dir"/>
+ <attribute name="resources.dir"/>
+ <sequential/>
+ </macrodef>
+
+ <macrodef name="post-compile">
+ <attribute name="classpath.id"/>
+ <attribute name="input.dir"/>
+ <attribute name="output.dir"/>
+ <attribute name="resources.dir"/>
+ <sequential/>
+ </macrodef>
+
+ <macrodef name="test-pre-compile">
+ <attribute name="classpath.id"/>
+ <attribute name="input.dir"/>
+ <attribute name="output.dir"/>
+ <attribute name="resources.dir"/>
+ <sequential/>
+ </macrodef>
+
+ <macrodef name="test-post-compile">
+ <attribute name="classpath.id"/>
+ <attribute name="input.dir"/>
+ <attribute name="output.dir"/>
+ <attribute name="resources.dir"/>
+ <sequential/>
+ </macrodef>
+
+ <macrodef name="java-doc">
+ <attribute name="input.dir"/>
+ <attribute name="output.dir"/>
+ <attribute name="classpath.id"/>
+ <attribute name="access"/>
+ <attribute name="exclude.package.names" default=""/>
+ <sequential>
+ <delete quiet="true" dir="@{output.dir}"/>
+ <mkdir dir="@{output.dir}"/>
+ <javadoc.links sourcepath="@{input.dir}" destdir="@{output.dir}" classpathref="@{classpath.id}"
+ access="@{access}" excludepackagenames="@{exclude.package.names}" maxmemory="${javadoc.max.memory}"
+ stylesheetfile="${javadoc.stylesheet.file}" splitindex="true" useexternalfile="true">
+ <header><![CDATA[<!-- Begin Google Analytics code --> <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script type="text/javascript"> var pageTracker = _gat._getTracker("UA-2728886-3"); pageTracker._setDomainName("none"); pageTracker._setAllowLinker(true); pageTracker._trackPageview(); </script> <!-- End Google Analytics code -->]]></header>
+ <bottom><![CDATA[<!-- Begin LoopFuse code --> <script src="http://loopfuse.net/webrecorder/js/listen.js" type="text/javascript"> </script> <script type="text/javascript"> _lf_cid = "LF_48be82fa"; _lf_remora(); </script> <!-- End LoopFuse code -->]]></bottom>
+ </javadoc.links>
+ <copy toDir="@{output.dir}/resources">
+ <fileset dir="${javadoc.resources.dir}" erroronmissingdir="false"/>
+ </copy>
+ </sequential>
+ </macrodef>
+
+ <presetdef name="javadoc.links">
+ <javadoc/>
+ </presetdef>
+
+</project>
diff --git a/common/default-ivy-configurations.xml b/common/default-ivy-configurations.xml
new file mode 100644
index 0000000..d532b81
--- /dev/null
+++ b/common/default-ivy-configurations.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<configurations>
+
+<!-- Maven equivalent configurations -->
+ <conf name="compile" visibility="public" extends="aspects" description="Maven compile dependencies"/>
+ <conf name="optional" visibility="public" extends="compile" description="Maven optional dependencies"/>
+ <conf name="provided" visibility="public" description="Maven provided dependencies"/>
+ <conf name="server-provided" visibility="public" description="Maven provided dependencies that already exist in the platform"/>
+ <conf name="runtime" visibility="public" extends="compile" description="Runtime dependencies"/>
+ <conf name="test" visibility="private" description="Test dependencies"/>
+
+<!-- Aspect weaving configuration -->
+ <conf name="aspects" visibility="private" description="Aspects to be woven"/>
+ <conf name="external" visibility="private" description="External candidates to be woven"/>
+
+<!-- PAR configuration -->
+ <conf name="additional" visibility="private" description="Additional candidates to be included in the PAR"/>
+
+</configurations>
diff --git a/common/findbugs-exclude.xml b/common/findbugs-exclude.xml
new file mode 100644
index 0000000..3649aec
--- /dev/null
+++ b/common/findbugs-exclude.xml
@@ -0,0 +1,6 @@
+<FindBugsFilter>
+ <!-- Exclusions -->
+ <Match>
+ <Bug code="BAC,PS"/>
+ </Match>
+</FindBugsFilter>
diff --git a/common/ivysettings.xml b/common/ivysettings.xml
new file mode 100644
index 0000000..a2bde22
--- /dev/null
+++ b/common/ivysettings.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<ivysettings>
+
+ <typedef name="s3" classname="org.springframework.aws.ivy.S3Resolver"/>
+
+ <settings defaultResolver="external-lookup" defaultLatestStrategy="latest-lexico"/>
+
+ <caches resolutionCacheDir="${ivy.cache.dir}/resolution" repositoryCacheDir="${ivy.cache.dir}/repository"
+ ivyPattern="[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
+ artifactPattern="[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
+ useOrigin="true" checkUpToDate="false"/>
+
+ <macrodef name="s3repo">
+ <attribute name="bucket"/>
+ <attribute name="artifact.type"/>
+ <attribute name="release.type"/>
+ <s3 descriptor="required" accessKey="${accessKey}" secretKey="${secretKey}">
+ <ivy pattern="s3://@{bucket}/ivy/@{artifact.type}/@{release.type}/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
+ <artifact pattern="s3://@{bucket}/ivy/@{artifact.type}/@{release.type}/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
+ </s3>
+ </macrodef>
+
+ <macrodef name="localrepo">
+ <filesystem descriptor="required">
+ <ivy pattern="${local.repo.dir}/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
+ <artifact pattern="${local.repo.dir}/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
+ </filesystem>
+ </macrodef>
+
+ <resolvers>
+<!-- Integration repositories -->
+ <filesystem name="integration" descriptor="required">
+ <ivy pattern="${integration.repo.dir}/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
+ <artifact pattern="${integration.repo.dir}/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
+ </filesystem>
+
+<!-- Lookup repositories -->
+ <chain name="external-lookup" returnFirst="true">
+ <localrepo name="local-external-repository"/>
+ <s3repo name="bundle-external-repository" bucket="repository.springsource.com" artifact.type="bundles" release.type="external"/>
+ <s3repo name="library-external-repository" bucket="repository.springsource.com" artifact.type="libraries" release.type="external"/>
+ <s3repo name="private-bundle-external-repository" bucket="private.repository.springsource.com" artifact.type="bundles" release.type="external"/>
+ <s3repo name="private-library-external-repository" bucket="private.repository.springsource.com" artifact.type="libraries" release.type="external"/>
+ </chain>
+
+ <chain name="spring-portfolio-lookup" returnFirst="true">
+ <resolver ref="integration"/>
+ <localrepo name="local"/>
+ <s3repo name="bundle-release-repository" bucket="repository.springsource.com" artifact.type="bundles" release.type="release"/>
+ <s3repo name="bundle-milestone-repository" bucket="repository.springsource.com" artifact.type="bundles" release.type="milestone"/>
+ <s3repo name="bundle-snapshot-repository" bucket="repository.springsource.com" artifact.type="bundles" release.type="snapshot"/>
+ <s3repo name="library-release-repository" bucket="repository.springsource.com" artifact.type="libraries" release.type="release"/>
+ <s3repo name="library-milestone-repository" bucket="repository.springsource.com" artifact.type="libraries" release.type="milestone"/>
+ <s3repo name="library-snapshot-repository" bucket="repository.springsource.com" artifact.type="libraries" release.type="snapshot"/>
+ </chain>
+
+ <chain name="zodiac-portfolio-lookup" returnFirst="true">
+ <resolver ref="integration"/>
+ <localrepo name="local"/>
+ <s3repo name="zodiac-bundle-release-repository" bucket="zodiac.springsource.com" artifact.type="bundles" release.type="release"/>
+ <s3repo name="zodiac-bundle-milestone-repository" bucket="zodiac.springsource.com" artifact.type="bundles" release.type="milestone"/>
+ <s3repo name="zodiac-bundle-snapshot-repository" bucket="zodiac.springsource.com" artifact.type="bundles" release.type="snapshot"/>
+ <s3repo name="zodiac-library-release-repository" bucket="zodiac.springsource.com" artifact.type="libraries" release.type="release"/>
+ <s3repo name="zodiac-library-milestone-repository" bucket="zodiac.springsource.com" artifact.type="libraries" release.type="milestone"/>
+ <s3repo name="zodiac-library-snapshot-repository" bucket="zodiac.springsource.com" artifact.type="libraries" release.type="snapshot"/>
+ </chain>
+
+<!-- Publishing repositories -->
+ <s3repo name="ebr-bundle-publish" bucket="${publish.bucket}" artifact.type="bundles" release.type="${adjusted.release.type}"/>
+ <s3repo name="ebr-library-publish" bucket="${publish.bucket}" artifact.type="libraries" release.type="${adjusted.release.type}"/>
+ <localrepo name="local-bundle-publish"/>
+ <localrepo name="local-library-publish"/>
+ </resolvers>
+
+ <modules>
+ <module organisation="org.springframework.*" name="*" resolver="spring-portfolio-lookup"/>
+ <module organisation="com.springsource.*" name="*" resolver="spring-portfolio-lookup"/>
+ <module organisation="org.eclipse.virgo.*" name="*" resolver="zodiac-portfolio-lookup"/>
+ <module organisation="org.eclipse.gemini.*" name="*" resolver="zodiac-portfolio-lookup"/>
+ </modules>
+
+</ivysettings>
diff --git a/common/javadoc-resources/table-header.png b/common/javadoc-resources/table-header.png
new file mode 100644
index 0000000..001f04e
--- /dev/null
+++ b/common/javadoc-resources/table-header.png
Binary files differ
diff --git a/common/javadoc-resources/table-header.svg b/common/javadoc-resources/table-header.svg
new file mode 100644
index 0000000..d7e9aec
--- /dev/null
+++ b/common/javadoc-resources/table-header.svg
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="744.09448819"
+ height="1052.3622047"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="table-header.svg">
+ <defs
+ id="defs4">
+ <linearGradient
+ id="linearGradient3590">
+ <stop
+ style="stop-color:#002e62;stop-opacity:1;"
+ offset="0"
+ id="stop3592" />
+ <stop
+ style="stop-color:#002e62;stop-opacity:0;"
+ offset="1"
+ id="stop3594" />
+ </linearGradient>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590"
+ id="linearGradient3596"
+ x1="180.5"
+ y1="315.50504"
+ x2="180.5"
+ y2="289.50504"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,6.857148)" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="15.839192"
+ inkscape:cx="184.44618"
+ inkscape:cy="747.02563"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="983"
+ inkscape:window-height="904"
+ inkscape:window-x="1920"
+ inkscape:window-y="22"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <rect
+ style="fill:url(#linearGradient3596);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="rect2816"
+ width="1"
+ height="26"
+ x="180"
+ y="296.36218"
+ inkscape:export-filename="/Users/chrisfrost/Repos/GIT/virgo-build/common/javadoc-resources/table-header.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ </g>
+</svg>
diff --git a/common/package.xml b/common/package.xml
new file mode 100644
index 0000000..4e83383
--- /dev/null
+++ b/common/package.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="package-common" xmlns:ivy="antlib:org.apache.ivy.ant">
+
+ <import file="common.xml"/>
+
+<!-- Main targets -->
+ <target name="package"
+ description="Copies all external and created artifacts to a packaging location. Unless overriden, copies nothing.">
+ <echo message="${ant.project.name} contributed no artifacts to packaging. To contribute, override the 'package' target in the bundle." />
+ </target>
+
+ <target name="copy-dist-jar" depends="ivy.init"
+ description="Copies the distributable jar to a location">
+ <dist-jar output.dir="${copy.to.dir}"/>
+ </target>
+
+ <target name="copy-ext-jars" depends="ivy.init"
+ description="Copies the external jars to a location">
+ <ext-jars output.dir="${copy.to.dir}"/>
+ </target>
+
+ <target name="copy-provided-jars" depends="ivy.init"
+ description="Copies the provided jars to a location">
+ <provided-jars output.dir="${copy.to.dir}"/>
+ </target>
+
+ <target name="copy-provided-libs" depends="ivy.init"
+ description="Copies the provided libs to a location">
+ <provided-libs output.dir="${copy.to.dir}"/>
+ </target>
+
+<!-- Macros -->
+ <macrodef name="dist-jar">
+ <attribute name="output.dir" default="${package.dist.dir}"/>
+ <sequential>
+ <mkdir dir="@{output.dir}"/>
+ <copy file="${jar.output.file}" tofile="@{output.dir}/${package.jar.output.file}"/>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="src-jar">
+ <attribute name="output.dir" default="${package.src.dir}"/>
+ <sequential>
+ <mkdir dir="@{output.dir}"/>
+ <copy file="${source-jar.output.file}" tofile="@{output.dir}/${package.source-jar.output.file}"/>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="add-jars">
+ <attribute name="output.dir" default="${package.lib.dir}"/>
+ <sequential>
+ <mkdir dir="@{output.dir}"/>
+ <ivy:retrieve resolveId="additional.classpath" conf="additional" type="jar"
+ pattern="@{output.dir}/[artifact]-[revision].[ext]" log="download-only"/>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="ext-jars">
+ <attribute name="output.dir" default="${package.lib.dir}"/>
+ <sequential>
+ <mkdir dir="@{output.dir}"/>
+ <ivy:retrieve resolveId="runtime.classpath" conf="runtime" type="jar"
+ pattern="@{output.dir}/[artifact]-[revision].[ext]" log="download-only"/>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="ext-jars-shallow">
+ <attribute name="output.dir" default="${package.lib.dir}"/>
+ <sequential>
+ <mkdir dir="@{output.dir}"/>
+ <ivy:retrieve resolveId="runtime.classpath" conf="runtime" type="jar" transitive="false"
+ pattern="@{output.dir}/[artifact]-[revision].[ext]" log="download-only"/>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="provided-jars">
+ <attribute name="output.dir" default="${package.lib.dir}"/>
+ <sequential>
+ <mkdir dir="@{output.dir}"/>
+ <ivy:retrieve resolveId="provided.classpath" conf="provided" type="jar"
+ pattern="@{output.dir}/[artifact]-[revision].[ext]" log="download-only"/>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="provided-libs">
+ <attribute name="output.dir" default="${package.lib.dir}"/>
+ <sequential>
+ <mkdir dir="@{output.dir}"/>
+ <ivy:retrieve resolveId="provided.classpath" conf="provided" type="library"
+ pattern="@{output.dir}/[artifact]-[revision].[ext]" log="download-only"/>
+ </sequential>
+ </macrodef>
+
+</project>
diff --git a/common/publish.xml b/common/publish.xml
new file mode 100644
index 0000000..83aea9e
--- /dev/null
+++ b/common/publish.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="publish-common" xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:maven="antlib:org.apache.maven.artifact.ant">
+
+ <import file="common.xml"/>
+
+<!-- Main targets -->
+ <target name="publish" depends="publish-ivy, publish-maven"
+ description="Publishes all artifacts to remote repositories"/>
+
+ <target name="publish-ivy" depends="ivy.init, resolve">
+ <delete quiet="true" file="${ivy.output.file}"/>
+ <mkdir dir="${ivy.output.dir}"/>
+
+ <ivy:publish resolver="${publication.resolver.prefix}-bundle-publish" pubdate="${timestamp}"
+ status="${release.type}">
+ <artifacts pattern="${ivy.output.dir}/[artifact].[ext]"/>
+ <artifacts pattern="${jar.output.dir}/[artifact].[ext]"/>
+ <artifacts pattern="${source-jar.output.dir}/[artifact].[ext]"/>
+ </ivy:publish>
+ </target>
+
+ <target name="publish-maven" depends="create.pom, snapshot.pom, maven.init" unless="local.build">
+ <maven:deploy file="${jar.output.file}">
+ <remoteRepository url="s3://${publish.bucket}/maven/bundles/${adjusted.release.type}">
+ <authentication username="${accessKey}" passphrase="${secretKey}"/>
+ </remoteRepository>
+ <pom file="${pom.output.file}"/>
+ <attach file="${source-jar.output.file}" classifier="sources"/>
+ </maven:deploy>
+ </target>
+
+ <!--target name="publish-maven-central" depends="maven.init">
+ <property name="maven.central.repository" value="s3://maven.springframework.org/${adjusted.release.type}"/>
+ <maven:deploy file="${jar.output.file}">
+ <remoteRepository url="${maven.central.repository}">
+ <authentication username="${accessKey}" passphrase="${secretKey}"/>
+ </remoteRepository>
+ <pom file="${local.pom.output.file}"/>
+ <attach file="${source-jar.output.file}" classifier="sources"/>
+ </maven:deploy>
+ </target-->
+
+ <target name="install-maven" depends="create.pom, snapshot.pom, maven.init">
+ <maven:install file="${jar.output.file}">
+ <pom file="${pom.output.file}"/>
+ <attach file="${source-jar.output.file}" classifier="sources"/>
+ </maven:install>
+ </target>
+
+ <!--target name="install-maven-central" depends="maven.init">
+ <maven:install file="${jar.output.file}">
+ <pom file="${local.pom.output.file}"/>
+ <attach file="${source-jar.output.file}" classifier="sources"/>
+ </maven:install>
+ </target-->
+
+<!-- Other targets -->
+ <target name="maven.init" depends="ivy.init">
+ <ivy:cachepath resolveId="maven.ant.tasks.classpath" pathid="maven.ant.tasks.classpath"
+ organisation="org.apache.maven" module="com.springsource.org.apache.maven.ant"
+ revision="${org.apache.maven.ant.version}" conf="runtime" type="jar" inline="true" log="download-only"/>
+ <taskdef resource="org/apache/maven/artifact/ant/antlib.xml" uri="antlib:org.apache.maven.artifact.ant"
+ classpathref="maven.ant.tasks.classpath"/>
+ <maven:install-provider groupId="org.springframework.build.aws" artifactId="org.springframework.build.aws.maven"
+ version="${org.springframework.build.aws.maven.version}"/>
+ </target>
+
+ <target name="create.pom" depends="ivy.init, resolve">
+ <delete quiet="true" file="${pom.output.file}"/>
+ <mkdir dir="${pom.output.dir}"/>
+
+ <ivy:makepom ivyfile="${ivy.output.file}" pomfile="${pom.output.file}">
+ <mapping conf="compile" scope="compile"/>
+ <mapping conf="provided" scope="provided"/>
+ <mapping conf="server-provided" scope="provided"/>
+ <mapping conf="runtime" scope="runtime"/>
+ <mapping conf="test" scope="test"/>
+ </ivy:makepom>
+ <replaceregexp flags="g" match="latest.integration" replace="${project.version}"
+ file="${pom.output.file}"/>
+ </target>
+
+ <target name="snapshot.pom" depends="is.snapshot" if="snapshot.release">
+ <replaceregexp flags="g" match="(\d(.\d(.\d)?)?).${build.stamp}" replace="\1.BUILD-SNAPSHOT"
+ file="${pom.output.file}"/>
+ </target>
+
+ <target name="is.snapshot">
+ <condition property="snapshot.release">
+ <equals arg1="integration" arg2="${release.type}"/>
+ </condition>
+ </target>
+
+</project>
diff --git a/common/quality.xml b/common/quality.xml
new file mode 100644
index 0000000..9852041
--- /dev/null
+++ b/common/quality.xml
@@ -0,0 +1,274 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="quality-common" xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:osgi="antlib:org.springframework.build.osgi">
+
+<!-- Main targets -->
+ <target name="test" depends="jar, test.pre, test.do, test.post" description="Executes all tests resulting from a compilation of the test tree returning test success metrics."/>
+
+ <target name="clover" depends="clover.pre, clover.do, clover.post" description="Executes all tests resulting from a compilation of the test tree returning test coverage metrics."/>
+
+ <target name="findbugs" depends="findbugs.pre, findbugs.do" description="Checks all code from the source tree for bugs."/>
+
+ <target name="osgi-validate" depends="ivy.init, osgi.init" description="Validates that a bundle can resolve against it's dependencies.">
+ <ivy:cachepath resolveId="osgi.optional.classpath" pathid="osgi.optional.classpath"
+ conf="compile,optional,provided,server-provided" type="jar" log="download-only"/>
+ <osgi:validate bundlePath="${jar.output.file}">
+ <equinoxPath refid="equinox.classpath"/>
+ <supportingBundlesPath refid="osgi.optional.classpath"/>
+ </osgi:validate>
+
+ <ivy:cachepath resolveId="osgi.compile.classpath" pathid="osgi.compile.classpath"
+ conf="compile,provided,server-provided" type="jar" log="download-only"/>
+ <osgi:validate bundlePath="${jar.output.file}">
+ <equinoxPath refid="equinox.classpath"/>
+ <supportingBundlesPath refid="osgi.compile.classpath"/>
+ </osgi:validate>
+ </target>
+
+ <target name="report" depends="ivy.init, resolve" description="Produce a HTML formatted report about all the dependencies and sub-dependencies of this build">
+ <mkdir dir="${ivy.report.todir}" />
+ <ivy:report conf="test, runtime, optional, provided, server-provided, aspects, external, additional" graph="false" xml="true"/>
+ </target>
+
+<!-- Other targets -->
+ <target name="test.pre" depends="test.init" if="test.exists">
+ <delete dir="${test-results.output.dir}" quiet="true"/>
+ <mkdir dir="${test-results.output.dir}/xml"/>
+ </target>
+
+ <target name="test.do" depends="ivy.init, resolve.test, compile.init, test.init" if="test.exists">
+ <path id="test.compile.classpath">
+ <pathelement location="${jar.output.file}"/>
+ <path refid="compile.classpath"/>
+ <path refid="test.classpath"/>
+ </path>
+ <test-compile classpath.id="test.compile.classpath" input.dir="${test.java.dir}" output.dir="${test.output.dir}"
+ resources.dir="${test.resources.dir}"/>
+
+ <path id="test.run.classpath">
+ <pathelement location="${jar.output.file}"/>
+ <pathelement location="${test.output.dir}"/>
+ <path refid="compile.classpath"/>
+ <path refid="test.classpath"/>
+ <path refid="runtime.classpath"/>
+ </path>
+ <test-run classpath.id="test.run.classpath"/>
+ </target>
+
+ <target name="test.post" depends="test.init" if="test.exists">
+ <mkdir dir="${test-results.output.dir}/html"/>
+ <junitreport>
+ <fileset dir="${test-results.output.dir}/xml" erroronmissingdir="false"/>
+ <report format="frames" todir="${test-results.output.dir}/html"/>
+ </junitreport>
+ <delete file="TESTS-TestSuites.xml"/>
+ </target>
+
+ <target name="clover.init" depends="ivy.init">
+ <ivy:cachepath resolveId="clover.classpath" pathid="clover.classpath" organisation="com.atlassian.clover"
+ module="com.springsource.com.cenqua.clover" revision="${com.springsource.com.cenqua.clover.version}"
+ conf="runtime" type="jar" inline="true" log="download-only"/>
+ <taskdef resource="cloverlib.xml" classpathref="clover.classpath"/>
+ </target>
+
+ <target name="clover.pre">
+ <delete dir="${clover.output.dir}" quiet="true"/>
+ <mkdir dir="${clover.output.dir}"/>
+ </target>
+
+ <target name="clover.do" depends="ivy.init, resolve.test, compile.init, clover.instrument, test.init"
+ if="test.exists">
+ <path id="test.compile.classpath">
+ <pathelement location="${main.output.dir}"/>
+ <path refid="compile.classpath" />
+ <path refid="test.classpath"/>
+ </path>
+
+ <path id="clover.run.classpath">
+ <pathelement location="${main.output.dir}"/>
+ <pathelement location="${test.output.dir}"/>
+ <path refid="clover.classpath"/>
+ <path refid="compile.classpath"/>
+ <path refid="test.classpath"/>
+ <path refid="runtime.classpath"/>
+ </path>
+ <test-run classpath.id="clover.run.classpath"/>
+ </target>
+
+ <target name="clover.instrument" depends="ivy.init, resolve.test, compile.init, clover.init">
+ <instrument input.dir="${main.java.dir}" output.dir="${main.clover.dir}"/>
+ <path id="clover.compile.classpath">
+ <path refid="clover.classpath"/>
+ <path refid="compile.classpath"/>
+ </path>
+ <compile classpath.id="clover.compile.classpath" input.dir="${main.clover.dir}" output.dir="${main.output.dir}"
+ resources.dir="${main.resources.dir}"/>
+
+ <instrument input.dir="${test.java.dir}" output.dir="${test.clover.dir}"/>
+ <path id="test.compile.classpath">
+ <pathelement location="${main.output.dir}"/>
+ <path refid="clover.classpath"/>
+ <path refid="compile.classpath"/>
+ <path refid="test.classpath"/>
+ </path>
+ <test-compile classpath.id="test.compile.classpath" input.dir="${test.clover.dir}" output.dir="${test.output.dir}"
+ resources.dir="${test.resources.dir}"/>
+ <delete dir="${clover.staging.dir}" quiet="true"/>
+ </target>
+
+ <target name="clover.post" depends="clover.init">
+ <clover-report initstring="${clover.db.file}">
+ <current outfile="${clover.output.dir}/clover.xml">
+ <format type="xml"/>
+ <testsources dir="${test.java.dir}">
+ <include name="**/*.java"/>
+ <include name="*.java"/>
+ </testsources>
+ </current>
+ </clover-report>
+ <clover-report initstring="${clover.db.file}">
+ <current outfile="${clover.output.dir}/html">
+ <format type="html"/>
+ <testsources dir="${test.java.dir}">
+ <include name="**/*.java"/>
+ <include name="*.java"/>
+ </testsources>
+ </current>
+ </clover-report>
+ <clover-report initstring="${clover.db.file}">
+ <current outfile="${clover.output.dir}/clover.pdf" summary="true">
+ <format type="pdf"/>
+ <testsources dir="${test.java.dir}">
+ <include name="**/*.java"/>
+ <include name="*.java"/>
+ </testsources>
+ </current>
+ </clover-report>
+ <clover-check initstring="${clover.db.file}" target="${clover.coverage}" haltOnFailure="${clover.enforce}">
+ <testsources dir="${test.java.dir}">
+ <include name="**/*.java"/>
+ <include name="*.java"/>
+ </testsources>
+ </clover-check>
+ </target>
+
+ <target name="findbugs.init" depends="ivy.init, findbugs.download">
+ <ivy:cachepath resolveId="findbugs.classpath" pathid="findbugs.classpath" organisation="edu.umd.cs.findbugs"
+ module="com.springsource.edu.umd.cs.findbugs.ant" revision="${edu.umd.cs.findbugs.version}"
+ conf="runtime" type="jar" inline="true" log="download-only"/>
+ <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"
+ classpathref="findbugs.classpath"/>
+ </target>
+
+ <target name="findbugs.download" depends="findbugs.download.init" if="findbugs.download.needed">
+ <ivy:cachepath resolveId="findbugs" pathid="findbugs" organisation="edu.umd.cs.findbugs"
+ module="edu.umd.cs.findbugs.dist" revision="${edu.umd.cs.findbugs.version}" conf="runtime" type="zip"
+ inline="true" log="download-only"/>
+ <unzip dest="${findbugs.dir}">
+ <path refid="findbugs"/>
+ <globmapper from="findbugs-${edu.umd.cs.findbugs.version}/*" to="*"/>
+ </unzip>
+ </target>
+
+ <target name="findbugs.download.init">
+ <condition property="findbugs.download.needed">
+ <not>
+ <available file="${findbugs.dir}" type="dir"/>
+ </not>
+ </condition>
+ </target>
+
+ <target name="findbugs.pre" depends="src.init" if="src.exists">
+ <delete dir="${findbugs.output.dir}" quiet="true"/>
+ <mkdir dir="${findbugs.output.dir}"/>
+ </target>
+
+ <target name="findbugs.do" depends="ivy.init, resolve.compile, compile.init, findbugs.init, src.init" if="src.exists">
+ <findbugs home="${findbugs.dir}" output="xml" outputFile="${findbugs.output.file}"
+ excludeFilter="${findbugs.exclude.file}" jvmargs="-Xmx1024M" errorProperty="findbugs.errors" warningsProperty="findbugs.warnings">
+ <class location="${main.output.dir}"/>
+ <auxClasspath>
+ <!-- Require something to always be in this classpath so findbugs on windows runs -->
+ <path location="." />
+ <path refid="compile.classpath"/>
+ </auxClasspath>
+ <sourcepath location="${main.java.dir}"/>
+ </findbugs>
+ <antcall target="findbugs.post"/>
+ </target>
+
+ <target name="findbugs.post" if="findbugs.enforce">
+ <fail if="findbugs.errors" message="FindBugs errors found"/>
+ <fail if="findbugs.warnings" message="FindBugs warnings found"/>
+ </target>
+
+ <target name="osgi.init" depends="ivy.init">
+ <ivy:cachepath resolveId="equinox.classpath" pathid="equinox.classpath" organisation="org.eclipse.osgi"
+ module="org.eclipse.osgi" revision="${org.eclipse.osgi.version}" type="jar" inline="true"
+ log="download-only"/>
+ <ivy:cachepath resolveId="ant.osgi.classpath" pathid="ant.osgi.classpath"
+ organisation="org.springframework.build" module="org.springframework.build.osgi"
+ revision="${org.springframework.build.osgi.version}" conf="runtime" type="jar" inline="true"
+ log="download-only"/>
+ <taskdef resource="org/springframework/build/osgi/antlib.xml" uri="antlib:org.springframework.build.osgi"
+ classpathref="ant.osgi.classpath"/>
+ </target>
+
+<!-- Macros -->
+ <macrodef name="test-run">
+ <attribute name="classpath.id"/>
+ <sequential>
+ <condition property="test.halt" value="false" else="true">
+ <istrue value="${ci.build}"/>
+ </condition>
+ <mkdir dir="${test-results.output.dir}/xml"/>
+ <junit forkmode="${test.forkmode}" dir="${basedir}" haltonerror="${test.halt}" haltonfailure="${test.halt}">
+ <jvmarg line="${test.vm.args}"/>
+ <syspropertyset>
+ <propertyref builtin="commandline"/>
+ </syspropertyset>
+ <classpath refid="@{classpath.id}"/>
+ <test fork="yes" todir="${test-results.output.dir}/xml" name="${testcase}" if="testcase"/>
+ <batchtest fork="yes" todir="${test-results.output.dir}/xml" unless="testcase">
+ <fileset dir="${test.output.dir}" erroronmissingdir="false">
+ <include name="**/*Test.class"/>
+ <include name="**/*Tests.class"/>
+ <exclude name="**/Abstract*.class"/>
+ </fileset>
+ </batchtest>
+ <formatter type="brief" usefile="false"/>
+ <formatter type="xml"/>
+ </junit>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="instrument">
+ <attribute name="input.dir"/>
+ <attribute name="output.dir"/>
+ <sequential>
+ <clover-instr initstring="${clover.db.file}" destdir="@{output.dir}">
+ <fileset dir="@{input.dir}" erroronmissingdir="false">
+ <include name="**/*.java"/>
+ <include name="*.java"/>
+ </fileset>
+ </clover-instr>
+ <copy todir="@{output.dir}">
+ <fileset dir="@{input.dir}" erroronmissingdir="false">
+ <exclude name="**/*.java"/>
+ <exclude name="*.java"/>
+ </fileset>
+ </copy>
+ </sequential>
+ </macrodef>
+</project>
diff --git a/common/virgo-javadoc.css b/common/virgo-javadoc.css
new file mode 100644
index 0000000..e48e697
--- /dev/null
+++ b/common/virgo-javadoc.css
@@ -0,0 +1,178 @@
+/* stylesheet.css 2008/04/22 nicolekonicki */
+
+/*
+ *
+ * Spring-specific Javadoc style sheet
+ *
+ */
+
+
+
+.code
+{
+ border: 1px solid black;
+ background-color: #F4F4F4;
+ padding: 5px;
+}
+
+body
+{
+ font: 12px Verdana, Arial, Helvetica, "Bitstream Vera Sans", sans-serif;
+ background-color: #fff;
+ color: #333;
+}
+
+
+/* Link colors */
+a
+{
+ color:#2c7b14;
+ text-decoration:none;
+}
+
+a:hover
+{
+ text-decoration:underline;
+}
+
+/* Headings */
+h1
+{
+ font-size:28px;
+ color:#002E62;
+}
+
+/* Table colors */
+
+table
+{
+ border:none;
+}
+
+td
+{
+ border:none;
+ border-bottom:1px dotted #ddd;
+}
+
+th
+{
+ border:none;
+}
+
+.TableHeadingColor th
+{
+ background-color: #efffcb;
+ background-image: url(javadoc-resources/table-header.png);
+ background-repeat: repeat-x;
+ color:#eeeeee;
+ font-size:14px;
+ height:26px;
+}
+
+.TableSubHeadingColor
+{
+ background: #f7eeff;
+
+}
+.TableRowColor
+{
+ background: #fff;
+}
+
+.TableRowColor a
+{
+ border-bottom:none;
+ color:#002E62;
+ font-weight:normal;
+}
+
+tr.TableRowColor:hover
+{
+ background:#E86FFF;
+}
+
+
+/* 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:#0093CF;
+ border-bottom:none;
+ text-decoration:underline;
+}
+
+/* Navigation bar fonts and colors */
+.NavBarCell1
+{
+ background-color:#fff;
+ border:none;
+}
+
+.NavBarCell1Rev
+{
+ background-color:#e3a5fa;
+ border:1px solid #9a0cd0;
+ padding:0;
+ margin:0;
+}
+
+.NavBarCell1 a
+{
+ color:#333;
+ text-decoration:none;
+}
+
+.NavBarFont1Rev
+{
+
+}
+
+.NavBarCell2
+{
+ border:none;
+}
+
+.NavBarCell2 a
+{
+ color:#240199;
+ font-size:90%;
+}
+
+.NavBarCell3
+{
+ border:none;
+}
+
+/* Override sizes in font tags */
+font
+{
+ font: inherit !important;
+}
diff --git a/docbook/common.xml b/docbook/common.xml
new file mode 100644
index 0000000..2e0df5c
--- /dev/null
+++ b/docbook/common.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="common-docbook">
+
+ <import file="../common/common.xml"/>
+
+</project>
diff --git a/docbook/css/html/highlight.css b/docbook/css/html/highlight.css
new file mode 100644
index 0000000..2cb42fd
--- /dev/null
+++ b/docbook/css/html/highlight.css
@@ -0,0 +1,35 @@
+/*
+ code highlight CSS resembling the Eclipse IDE default color schema and the EclipseRT Virgo Website
+ @author Christopher Frost
+*/
+
+.hl-keyword {
+ color: #7F0055;
+ font-weight: bold;
+}
+
+.hl-comment {
+ color: #646571;
+ font-style: italic;
+}
+
+.hl-multiline-comment {
+ color: #646571;
+ font-style: italic;
+}
+
+.hl-tag {
+ color: #646571;
+}
+
+.hl-attribute {
+ color: #7F0055;
+}
+
+.hl-value {
+ color: #0093CF;
+}
+
+.hl-string {
+ color: #0093CF;
+} \ No newline at end of file
diff --git a/docbook/css/html/stylesheet.css b/docbook/css/html/stylesheet.css
new file mode 100644
index 0000000..b02eca7
--- /dev/null
+++ b/docbook/css/html/stylesheet.css
@@ -0,0 +1,77 @@
+@IMPORT url("highlight.css");
+
+/*
+ code CSS resembling the EclipseRT Virgo Website
+ @author Christopher Frost
+*/
+
+html {
+ padding: 0pt;
+ margin: 0pt;
+}
+
+body {
+ margin-left: 10%;
+ margin-right: 10%;
+ color: #111111;
+ font-family: Arial, Sans-serif;
+}
+
+div {
+ margin: 0pt;
+}
+
+p {
+ text-align: justify;
+}
+
+hr {
+ border: 1px solid gray;
+ background: gray;
+}
+
+a {
+ color: #002E62; /* Dark Blue */
+}
+
+a:visited {
+ color: #646571; /* Gray */
+}
+
+a:hover, a:active {
+ color: #0093CF; /* Light Blue */
+}
+
+h1,h2,h3,h4 {
+ color: #002E62;
+ 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/docbook/default.xml b/docbook/default.xml
new file mode 100644
index 0000000..ca04b02
--- /dev/null
+++ b/docbook/default.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="default-docbook">
+
+ <import file="common.xml"/>
+ <import file="documentation.xml"/>
+ <import file="package.xml"/>
+ <import file="publish.xml"/>
+
+</project>
diff --git a/docbook/documentation.xml b/docbook/documentation.xml
new file mode 100644
index 0000000..42fd7d4
--- /dev/null
+++ b/docbook/documentation.xml
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="documentation-docbook" xmlns:ivy="antlib:org.apache.ivy.ant">
+
+ <import file="common.xml"/>
+
+ <filterset id="docbook.filters" />
+
+<!-- Main targets -->
+ <target name="doc-html" depends="docbook.init"
+ description="Creates both the single and multi-page HTML versions of the reference documentation.">
+ <delete quiet="true" dir="${docbook.output.dir}/html"/>
+ <delete quiet="true" dir="${docbook.output.dir}/htmlsingle"/>
+ <mkdir dir="${docbook.output.dir}"/>
+
+ <mkdir dir="${docbook.staging.dir}"/>
+ <copy todir="${docbook.staging.dir}">
+ <fileset dir="${docbook.src.dir}" erroronmissingdir="false">
+ <include name="**/*.xml"/>
+ </fileset>
+ <filterset>
+ <filterset refid="docbook.filters"/>
+ </filterset>
+ </copy>
+ <copy todir="${docbook.staging.dir}/images">
+ <fileset dir="${docbook.images.dir}" erroronmissingdir="false">
+ <include name="**/*"/>
+ </fileset>
+ </copy>
+
+ <ant antfile="${docbook.dir}/build-docbook.xml" inheritAll="false">
+ <property name="dbf.basedir" value="${docbook.dir}"/>
+ <property name="docbook.dir" value=""/>
+ <property name="docbook.file" value="${ant.project.name}"/>
+ <property name="docbook.src.dir" value="${docbook.staging.dir}"/>
+ <property name="images.src.dir" value="${docbook.staging.dir}/images"/>
+ <property name="src.dir" value="${docbook.build.dir}"/>
+ <property name="css.src.dir" value="${docbook.css.dir}"/>
+ <property name="styles.src.dir" value="${docbook.styles.dir}"/>
+ <property name="target.dir" value="${docbook.target.dir}"/>
+ <target name="html"/>
+ <target name="htmlsingle"/>
+ </ant>
+ <move file="${docbook.target.dir}/html" todir="${docbook.output.dir}"/>
+ <move file="${docbook.target.dir}/htmlsingle" todir="${docbook.output.dir}"/>
+
+ <delete quiet="true" dir="${docbook.target.dir}"/>
+ </target>
+
+ <target name="doc-pdf" depends="docbook.init"
+ description="Creates the PDF version of the reference documentation.">
+ <delete quiet="true" dir="${docbook.output.dir}/pdf"/>
+ <mkdir dir="${docbook.output.dir}"/>
+
+ <mkdir dir="${docbook.staging.dir}"/>
+ <copy todir="${docbook.staging.dir}">
+ <fileset dir="${docbook.src.dir}" erroronmissingdir="false">
+ <include name="**/*.xml"/>
+ </fileset>
+ <filterset>
+ <filterset refid="docbook.filters"/>
+ </filterset>
+ </copy>
+ <copy todir="${docbook.staging.dir}/images">
+ <fileset dir="${docbook.images.dir}" erroronmissingdir="false">
+ <include name="**/*"/>
+ </fileset>
+ </copy>
+
+ <ant antfile="${docbook.dir}/build-docbook.xml" inheritAll="false">
+ <property name="dbf.basedir" value="${docbook.dir}"/>
+ <property name="docbook.dir" value=""/>
+ <property name="docbook.file" value="${ant.project.name}"/>
+ <property name="docbook.src.dir" value="${docbook.staging.dir}"/>
+ <property name="images.src.dir" value="${docbook.staging.dir}/images"/>
+ <property name="src.dir" value="${docbook.build.dir}"/>
+ <property name="css.src.dir" value="${docbook.css.dir}"/>
+ <property name="styles.src.dir" value="${docbook.styles.dir}"/>
+ <property name="target.dir" value="${docbook.target.dir}"/>
+ <target name="pdf"/>
+ </ant>
+ <move file="${docbook.target.dir}/pdf" todir="${docbook.output.dir}"/>
+
+ <delete quiet="true" dir="${docbook.target.dir}"/>
+ </target>
+
+ <target name="doc" depends="docbook.init, ivy.init, resolve"
+ description="Creates both the single and multi-page HTML versions and the PDF version of the reference documentation.">
+ <delete quiet="true" dir="${docbook.output.dir}/html"/>
+ <delete quiet="true" dir="${docbook.output.dir}/htmlsingle"/>
+ <delete quiet="true" dir="${docbook.output.dir}/pdf"/>
+ <mkdir dir="${docbook.output.dir}"/>
+
+ <mkdir dir="${docbook.staging.dir}"/>
+ <copy todir="${docbook.staging.dir}">
+ <fileset dir="${docbook.src.dir}" erroronmissingdir="false">
+ <include name="**/*.xml"/>
+ </fileset>
+ <filterset>
+ <filterset refid="docbook.filters"/>
+ </filterset>
+ </copy>
+ <copy todir="${docbook.staging.dir}/images">
+ <fileset dir="${docbook.images.dir}" erroronmissingdir="false">
+ <include name="**/*"/>
+ </fileset>
+ </copy>
+
+ <ant antfile="${docbook.dir}/build-docbook.xml" inheritAll="false">
+ <property name="dbf.basedir" value="${docbook.dir}"/>
+ <property name="docbook.dir" value=""/>
+ <property name="docbook.file" value="${ant.project.name}"/>
+ <property name="docbook.src.dir" value="${docbook.staging.dir}"/>
+ <property name="images.src.dir" value="${docbook.staging.dir}/images"/>
+ <property name="src.dir" value="${docbook.build.dir}"/>
+ <property name="css.src.dir" value="${docbook.css.dir}"/>
+ <property name="styles.src.dir" value="${docbook.styles.dir}"/>
+ <property name="target.dir" value="${docbook.target.dir}"/>
+ <target name="html"/>
+ <target name="htmlsingle"/>
+ <target name="pdf"/>
+ </ant>
+ <move file="${docbook.target.dir}/htmlsingle/${ant.project.name}.zip"
+ tofile="${docbook.target.dir}/htmlsingle/${ant.project.name}-single.zip"/>
+ <move file="${docbook.target.dir}/html" todir="${docbook.output.dir}"/>
+ <move file="${docbook.target.dir}/htmlsingle" todir="${docbook.output.dir}"/>
+ <move file="${docbook.target.dir}/pdf" todir="${docbook.output.dir}"/>
+
+ <ivy:publish resolver="integration" pubdate="${timestamp}" status="${release.type}">
+ <artifacts pattern="${docbook.output.dir}/html/[artifact].[ext]"/>
+ <artifacts pattern="${docbook.output.dir}/htmlsingle/[artifact].[ext]"/>
+ <artifacts pattern="${docbook.output.dir}/pdf/[artifact].[ext]"/>
+ <artifacts pattern="${ivy.output.dir}/[artifact].[ext]"/>
+ </ivy:publish>
+
+ <delete quiet="true" dir="${docbook.target.dir}"/>
+ </target>
+
+<!-- Other targets -->
+ <target name="docbook.init" depends="ivy.init, docbook.download.init" if="docbook.download.needed">
+ <ivy:cachepath resolveId="docbook.framework" pathid="docbook.framework" organisation="org.apache.velocity"
+ module="org.apache.velocity.docbookframework.dist"
+ revision="${org.apache.velocity.docbookframework.dist.version}" conf="runtime" type="zip" inline="true"
+ log="download-only"/>
+ <unzip dest="${docbook.dir}">
+ <path refid="docbook.framework"/>
+ <globmapper from="DocBook-Framework-${org.apache.velocity.docbookframework.dist.version}/*" to="*"/>
+ </unzip>
+ <ivy:retrieve resolveId="xslthl" pattern="${docbook.dir}/lib/[artifact]-[revision].[ext]"
+ organisation="net.sourceforge.xslthl" module="com.springsource.net.sf.xslthl"
+ revision="${com.springsource.net.sf.xslthl.version}" conf="runtime" type="jar" inline="true"
+ log="download-only"/>
+ <ivy:retrieve resolveId="xerces" pattern="${docbook.dir}/lib/[artifact]-[revision].[ext]"
+ organisation="org.apache.xerces" module="com.springsource.org.apache.xerces"
+ revision="${com.springsource.org.apache.xerces.version}" conf="runtime" type="jar" inline="true"
+ log="download-only"/>
+ </target>
+
+ <target name="docbook.download.init">
+ <condition property="docbook.download.needed">
+ <not>
+ <available file="${docbook.dir}" type="dir"/>
+ </not>
+ </condition>
+ </target>
+
+</project>
diff --git a/docbook/package.xml b/docbook/package.xml
new file mode 100644
index 0000000..a679357
--- /dev/null
+++ b/docbook/package.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="package-docbook">
+
+ <import file="common.xml"/>
+
+<!-- Main targets -->
+ <target name="package" description="Copies all documentation to a packaging location. Unless overriden, copies all documentation.">
+ <mkdir dir="${package.docs.dir}/${ant.project.name}"/>
+ <copy todir="${package.docs.dir}/${ant.project.name}">
+ <fileset dir="${docbook.output.dir}" erroronmissingdir="false"/>
+ </copy>
+ </target>
+
+</project>
diff --git a/docbook/publish.xml b/docbook/publish.xml
new file mode 100644
index 0000000..16ca821
--- /dev/null
+++ b/docbook/publish.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="publish-docbook" xmlns:ivy="antlib:org.apache.ivy.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="${docbook.output.dir}/html/[artifact].[ext]"/>
+ <artifacts pattern="${docbook.output.dir}/htmlsingle/[artifact].[ext]"/>
+ <artifacts pattern="${docbook.output.dir}/pdf/[artifact].[ext]"/>
+ <artifacts pattern="${ivy.output.dir}/[artifact].[ext]"/>
+ </ivy:publish>
+ </target>
+
+ <target name="publish-maven"/>
+
+ <!--target name="publish-maven-central"/-->
+
+ <target name="install-maven"/>
+
+ <!--target name="install-maven-central"/-->
+
+</project>
diff --git a/lib/ivy/commons-codec.jar b/lib/ivy/commons-codec.jar
new file mode 100644
index 0000000..957b675
--- /dev/null
+++ b/lib/ivy/commons-codec.jar
Binary files differ
diff --git a/lib/ivy/commons-httpclient.jar b/lib/ivy/commons-httpclient.jar
new file mode 100644
index 0000000..7c59774
--- /dev/null
+++ b/lib/ivy/commons-httpclient.jar
Binary files differ
diff --git a/lib/ivy/commons-logging.jar b/lib/ivy/commons-logging.jar
new file mode 100644
index 0000000..1deef14
--- /dev/null
+++ b/lib/ivy/commons-logging.jar
Binary files differ
diff --git a/lib/ivy/current.version b/lib/ivy/current.version
new file mode 100644
index 0000000..6ba9c6c
--- /dev/null
+++ b/lib/ivy/current.version
@@ -0,0 +1,6 @@
+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/lib/ivy/ivy.jar b/lib/ivy/ivy.jar
new file mode 100644
index 0000000..3902b6f
--- /dev/null
+++ b/lib/ivy/ivy.jar
Binary files differ
diff --git a/lib/ivy/jets3t.jar b/lib/ivy/jets3t.jar
new file mode 100644
index 0000000..3bab298
--- /dev/null
+++ b/lib/ivy/jets3t.jar
Binary files differ
diff --git a/lib/ivy/jets3t.properties b/lib/ivy/jets3t.properties
new file mode 100644
index 0000000..42e5d72
--- /dev/null
+++ b/lib/ivy/jets3t.properties
@@ -0,0 +1,12 @@
+## 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/lib/ivy/org.springframework.build.aws.ivy.jar b/lib/ivy/org.springframework.build.aws.ivy.jar
new file mode 100644
index 0000000..252d9a8
--- /dev/null
+++ b/lib/ivy/org.springframework.build.aws.ivy.jar
Binary files differ
diff --git a/library/artifact.xml b/library/artifact.xml
new file mode 100644
index 0000000..bd83a7a
--- /dev/null
+++ b/library/artifact.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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]"/>
+ </ivy:publish>
+ </target>
+
+<!-- Other targets -->
+ <target name="javadoc.prep"/>
+
+</project>
diff --git a/library/common.xml b/library/common.xml
new file mode 100644
index 0000000..7e708fe
--- /dev/null
+++ b/library/common.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="common-library" xmlns:s="antlib:org.springframework.build">
+
+ <import file="../common/common.xml"/>
+
+</project>
diff --git a/library/default.xml b/library/default.xml
new file mode 100644
index 0000000..c4a40d4
--- /dev/null
+++ b/library/default.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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>
diff --git a/library/package.xml b/library/package.xml
new file mode 100644
index 0000000..db2add8
--- /dev/null
+++ b/library/package.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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>
diff --git a/library/publish.xml b/library/publish.xml
new file mode 100644
index 0000000..6f07d1c
--- /dev/null
+++ b/library/publish.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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]"/>
+ </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="server-provided" scope="provided"/>
+ <mapping conf="runtime" scope="runtime"/>
+ <mapping conf="test" scope="test"/>
+ </ivy:makepom>
+
+ <replaceregexp match="&lt;packaging&gt;jar&lt;/packaging&gt;"
+ replace="&lt;packaging&gt;libd&lt;/packaging&gt;"
+ file="${pom.output.file}"/>
+ </target>
+
+</project>
diff --git a/library/quality.xml b/library/quality.xml
new file mode 100644
index 0000000..d2180b6
--- /dev/null
+++ b/library/quality.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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>
diff --git a/multi-bundle/artifact.xml b/multi-bundle/artifact.xml
new file mode 100644
index 0000000..f9114d4
--- /dev/null
+++ b/multi-bundle/artifact.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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>
diff --git a/multi-bundle/common.xml b/multi-bundle/common.xml
new file mode 100644
index 0000000..e0f728d
--- /dev/null
+++ b/multi-bundle/common.xml
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="common-multi-bundle" xmlns:ivy="antlib:org.apache.ivy.ant">
+
+ <tstamp>
+ <format property="timestamp" pattern="yyyyMMddHHmmss" timezone="GMT"/>
+ </tstamp>
+
+<!-- Properties -->
+ <dirname property="virgo.build.dir" file="${ant.file.common-multi-bundle}/.."/>
+ <property file="${virgo.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>
+ <bottom><![CDATA[<!-- Begin LoopFuse code --> <script src="http://loopfuse.net/webrecorder/js/listen.js" type="text/javascript"> </script> <script type="text/javascript"> _lf_cid = "LF_48be82fa"; _lf_remora(); </script> <!-- End LoopFuse code -->]]></bottom>
+ </javadoc.links>
+ <copy toDir="@{output.dir}/resources">
+ <fileset dir="${javadoc.resources.dir}" erroronmissingdir="false"/>
+ </copy>
+ </sequential>
+ </macrodef>
+
+ <presetdef name="javadoc.links">
+ <javadoc/>
+ </presetdef>
+
+</project>
diff --git a/multi-bundle/default.xml b/multi-bundle/default.xml
new file mode 100644
index 0000000..b153329
--- /dev/null
+++ b/multi-bundle/default.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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>
diff --git a/multi-bundle/package.xml b/multi-bundle/package.xml
new file mode 100644
index 0000000..bb21428
--- /dev/null
+++ b/multi-bundle/package.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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>
diff --git a/multi-bundle/publish.xml b/multi-bundle/publish.xml
new file mode 100644
index 0000000..f379fe3
--- /dev/null
+++ b/multi-bundle/publish.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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="${zodiac.basename}" file="${package.output.file}"
+ toFile="zips/${adjusted.release.type}/${project.key}/${bundle.version}/${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="${zodiac.basename}" file="${package.output.file}.sha1"
+ toFile="zips/${adjusted.release.type}/${project.key}/${bundle.version}/${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>
diff --git a/multi-bundle/quality.xml b/multi-bundle/quality.xml
new file mode 100644
index 0000000..449fc4f
--- /dev/null
+++ b/multi-bundle/quality.xml
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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>
+
+ <target name="report" depends="ivy.init" description="Produce a HTML formatted report about all the dependancies and sub-dependancies of this build">
+ <all-bundles target="report" >
+ <property name="ivy.report.todir" value="${ivy.report.todir}" />
+ </all-bundles>
+ </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>
diff --git a/par/artifact.xml b/par/artifact.xml
new file mode 100644
index 0000000..feca670
--- /dev/null
+++ b/par/artifact.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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>
diff --git a/par/common.xml b/par/common.xml
new file mode 100644
index 0000000..c657fb5
--- /dev/null
+++ b/par/common.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="common-par">
+
+ <import file="../multi-bundle/common.xml"/>
+
+</project>
diff --git a/par/default.xml b/par/default.xml
new file mode 100644
index 0000000..0256e3f
--- /dev/null
+++ b/par/default.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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>
diff --git a/par/package.xml b/par/package.xml
new file mode 100644
index 0000000..d5f988b
--- /dev/null
+++ b/par/package.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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>
diff --git a/par/publish.xml b/par/publish.xml
new file mode 100644
index 0000000..c005a54
--- /dev/null
+++ b/par/publish.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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]"/>
+ </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>
diff --git a/par/quality.xml b/par/quality.xml
new file mode 100644
index 0000000..3df07e3
--- /dev/null
+++ b/par/quality.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="quality-par">
+
+ <import file="common.xml"/>
+ <import file="../multi-bundle/quality.xml"/>
+
+</project>
diff --git a/resource/artifact.xml b/resource/artifact.xml
new file mode 100644
index 0000000..6b19e8f
--- /dev/null
+++ b/resource/artifact.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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]"/>
+ </ivy:publish>
+ </target>
+
+<!-- Other targets -->
+ <target name="javadoc.prep"/>
+
+</project>
diff --git a/resource/common.xml b/resource/common.xml
new file mode 100644
index 0000000..0244cf9
--- /dev/null
+++ b/resource/common.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="common-resource" xmlns:s="antlib:org.springframework.build">
+
+ <import file="../common/common.xml"/>
+
+</project>
diff --git a/resource/default.xml b/resource/default.xml
new file mode 100644
index 0000000..55713b3
--- /dev/null
+++ b/resource/default.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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>
diff --git a/resource/package.xml b/resource/package.xml
new file mode 100644
index 0000000..7ce84e3
--- /dev/null
+++ b/resource/package.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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>
diff --git a/resource/publish.xml b/resource/publish.xml
new file mode 100644
index 0000000..1bc6a4f
--- /dev/null
+++ b/resource/publish.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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]"/>
+ </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="server-provided" scope="provided"/>
+ <mapping conf="runtime" scope="runtime"/>
+ <mapping conf="test" scope="test"/>
+ </ivy:makepom>
+
+ <replaceregexp match="&lt;packaging&gt;jar&lt;/packaging&gt;"
+ replace="&lt;packaging&gt;pom&lt;/packaging&gt;"
+ file="${pom.output.file}"/>
+ </target>
+
+</project>
diff --git a/resource/quality.xml b/resource/quality.xml
new file mode 100644
index 0000000..ed38c60
--- /dev/null
+++ b/resource/quality.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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>
diff --git a/standard/artifact.xml b/standard/artifact.xml
new file mode 100644
index 0000000..ac93830
--- /dev/null
+++ b/standard/artifact.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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>
diff --git a/standard/common.xml b/standard/common.xml
new file mode 100644
index 0000000..042c6b7
--- /dev/null
+++ b/standard/common.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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>
diff --git a/standard/default.xml b/standard/default.xml
new file mode 100644
index 0000000..95c41ec
--- /dev/null
+++ b/standard/default.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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>
diff --git a/standard/package.xml b/standard/package.xml
new file mode 100644
index 0000000..fc03196
--- /dev/null
+++ b/standard/package.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="package-standard">
+
+ <import file="common.xml"/>
+ <import file="../common/package.xml"/>
+
+</project>
diff --git a/standard/publish.xml b/standard/publish.xml
new file mode 100644
index 0000000..fd4b75b
--- /dev/null
+++ b/standard/publish.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="publish-standard">
+
+ <import file="common.xml"/>
+ <import file="../common/publish.xml"/>
+
+</project>
diff --git a/standard/quality.xml b/standard/quality.xml
new file mode 100644
index 0000000..996d5a5
--- /dev/null
+++ b/standard/quality.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="quality-standard">
+
+ <import file="common.xml"/>
+ <import file="../common/quality.xml"/>
+
+</project>
diff --git a/war/artifact.xml b/war/artifact.xml
new file mode 100644
index 0000000..065fb36
--- /dev/null
+++ b/war/artifact.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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]"/>
+ </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>
diff --git a/war/common.xml b/war/common.xml
new file mode 100644
index 0000000..ba9825d
--- /dev/null
+++ b/war/common.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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>
diff --git a/war/default.xml b/war/default.xml
new file mode 100644
index 0000000..2e49c5a
--- /dev/null
+++ b/war/default.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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>
diff --git a/war/package.xml b/war/package.xml
new file mode 100644
index 0000000..d5c88cb
--- /dev/null
+++ b/war/package.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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>
diff --git a/war/publish.xml b/war/publish.xml
new file mode 100644
index 0000000..f528906
--- /dev/null
+++ b/war/publish.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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]"/>
+ </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>
diff --git a/war/quality.xml b/war/quality.xml
new file mode 100644
index 0000000..76d0938
--- /dev/null
+++ b/war/quality.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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,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,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>
diff --git a/weaving-external/artifact.xml b/weaving-external/artifact.xml
new file mode 100644
index 0000000..a5c33ca
--- /dev/null
+++ b/weaving-external/artifact.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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]"/>
+ </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>
diff --git a/weaving-external/common.xml b/weaving-external/common.xml
new file mode 100644
index 0000000..ebccde4
--- /dev/null
+++ b/weaving-external/common.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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>
diff --git a/weaving-external/default.xml b/weaving-external/default.xml
new file mode 100644
index 0000000..bb0e00f
--- /dev/null
+++ b/weaving-external/default.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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>
diff --git a/weaving-external/package.xml b/weaving-external/package.xml
new file mode 100644
index 0000000..08d0347
--- /dev/null
+++ b/weaving-external/package.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="package-weaving-external">
+
+ <import file="common.xml"/>
+ <import file="../common/package.xml"/>
+
+</project>
diff --git a/weaving-external/publish.xml b/weaving-external/publish.xml
new file mode 100644
index 0000000..4a6884f
--- /dev/null
+++ b/weaving-external/publish.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="publish-weaving-external">
+
+ <import file="common.xml"/>
+ <import file="../common/publish.xml"/>
+
+</project>
diff --git a/weaving-external/quality.xml b/weaving-external/quality.xml
new file mode 100644
index 0000000..7d1cf5d
--- /dev/null
+++ b/weaving-external/quality.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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>
diff --git a/weaving/artifact.xml b/weaving/artifact.xml
new file mode 100644
index 0000000..c00d919
--- /dev/null
+++ b/weaving/artifact.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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>
diff --git a/weaving/common.xml b/weaving/common.xml
new file mode 100644
index 0000000..2611ba4
--- /dev/null
+++ b/weaving/common.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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>
diff --git a/weaving/default.xml b/weaving/default.xml
new file mode 100644
index 0000000..49f09ca
--- /dev/null
+++ b/weaving/default.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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>
diff --git a/weaving/package.xml b/weaving/package.xml
new file mode 100644
index 0000000..749405a
--- /dev/null
+++ b/weaving/package.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="package-weaving">
+
+ <import file="common.xml"/>
+ <import file="../common/package.xml"/>
+
+</project>
diff --git a/weaving/publish.xml b/weaving/publish.xml
new file mode 100644
index 0000000..9d90690
--- /dev/null
+++ b/weaving/publish.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<project name="publish-weaving">
+
+ <import file="common.xml"/>
+ <import file="../common/publish.xml"/>
+
+</project>
diff --git a/weaving/quality.xml b/weaving/quality.xml
new file mode 100644
index 0000000..cd6a20a
--- /dev/null
+++ b/weaving/quality.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ ******************************************************************************
+-->
+<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>

Back to the top