summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2012-05-11 15:36:49 +0000
committerRobert Gemmell <robbie@apache.org>2012-05-11 15:36:49 +0000
commitf423571bb4239a65945e2bc52b2e64f9e2163042 (patch)
tree4f125010b7a11e047ff17922102e6776dd6b0071 /java
parent9bb5ada379722f35f12bce387cc71af1172bc2c5 (diff)
downloadqpid-python-f423571bb4239a65945e2bc52b2e64f9e2163042.tar.gz
QPID-3994: use Ivy to download the main component dependencies during the build, and the optional bdb-je dependency on request, enabling removal of the main component dependencies from the repository and the 'source release' artifacts.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1337211 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
-rw-r--r--java/bdbstore/build.xml21
-rw-r--r--java/build.deps50
-rw-r--r--java/build.xml22
-rw-r--r--java/common.xml72
-rw-r--r--java/common/build.xml7
-rw-r--r--java/ivy.nexus.xml (renamed from java/ivy.xml)2
-rw-r--r--java/ivy.retrieve.xml66
-rw-r--r--java/ivysettings.nexus.xml (renamed from java/ivysettings-nexus.xml)3
-rw-r--r--java/ivysettings.retrieve.xml45
-rw-r--r--java/lib/bdbstore/README.txt14
-rw-r--r--java/lib/bnd-0.0.384.jarbin668180 -> 0 bytes
-rw-r--r--java/lib/commons-beanutils-core-1.8.3.jarbin206711 -> 0 bytes
-rw-r--r--java/lib/commons-cli-1.2.jarbin41123 -> 0 bytes
-rw-r--r--java/lib/commons-codec-1.6.jarbin232771 -> 0 bytes
-rw-r--r--java/lib/commons-collections-3.2.1.jarbin575389 -> 0 bytes
-rw-r--r--java/lib/commons-configuration-1.8.jarbin354491 -> 0 bytes
-rw-r--r--java/lib/commons-digester-1.8.1.jarbin146108 -> 0 bytes
-rw-r--r--java/lib/commons-lang-2.6.jarbin284220 -> 0 bytes
-rw-r--r--java/lib/commons-logging-1.1.1.jarbin60841 -> 0 bytes
-rw-r--r--java/lib/derby-10.8.2.2.jarbin2671577 -> 0 bytes
-rw-r--r--java/lib/geronimo-ejb_3.0_spec-1.0.1.jarbin32102 -> 0 bytes
-rw-r--r--java/lib/geronimo-j2ee-connector_1.5_spec-2.0.0.jarbin37477 -> 0 bytes
-rw-r--r--java/lib/geronimo-jms_1.1_spec-1.0.jarbin28211 -> 0 bytes
-rw-r--r--java/lib/geronimo-jta_1.1_spec-1.1.1.jarbin16030 -> 0 bytes
-rw-r--r--java/lib/geronimo-kernel-2.2.1.jarbin416154 -> 0 bytes
-rw-r--r--java/lib/geronimo-servlet_2.5_spec-1.2.jarbin70593 -> 0 bytes
-rw-r--r--java/lib/gson-2.0.jarbin202952 -> 0 bytes
-rw-r--r--java/lib/jackson-core-asl-1.9.0.jarbin228286 -> 0 bytes
-rw-r--r--java/lib/jackson-mapper-asl-1.9.0.jarbin764075 -> 0 bytes
-rw-r--r--java/lib/javacc.jarbin298569 -> 0 bytes
-rw-r--r--java/lib/junit-3.8.1.jarbin121070 -> 0 bytes
-rw-r--r--java/lib/jython-2.5.0.jarbin8580107 -> 0 bytes
-rw-r--r--java/lib/log4j-1.2.16.jarbin481534 -> 0 bytes
-rw-r--r--java/lib/maven-ant-tasks-2.1.1.jarbin1314262 -> 0 bytes
-rw-r--r--java/lib/mockito-all-1.9.0.jarbin1495219 -> 0 bytes
-rw-r--r--java/lib/org.apache.felix.main-2.0.5.jarbin391763 -> 0 bytes
-rw-r--r--java/lib/slf4j-api-1.6.4.jarbin25962 -> 0 bytes
-rw-r--r--java/lib/slf4j-log4j12-1.6.4.jarbin9748 -> 0 bytes
-rw-r--r--java/lib/xalan-2.7.0.jarbin2730442 -> 0 bytes
-rw-r--r--java/module.xml6
-rw-r--r--java/upload.xml90
41 files changed, 251 insertions, 147 deletions
diff --git a/java/bdbstore/build.xml b/java/bdbstore/build.xml
index 7e55b41b28..54f2d8dbc4 100644
--- a/java/bdbstore/build.xml
+++ b/java/bdbstore/build.xml
@@ -16,7 +16,7 @@
- specific language governing permissions and limitations
- under the License.
-->
-<project name="bdbstore" default="build">
+<project name="bdbstore" xmlns:ivy="antlib:org.apache.ivy.ant" default="build">
<property name="module.depends" value="common broker" />
<property name="module.test.depends" value="test client common/test broker/test management/common systests" />
<property name="module.genpom" value="true"/>
@@ -25,9 +25,15 @@
<property name="bdb.lib.dir" value="${project.root}/lib/bdbstore" />
<property name="bdb.version" value="5.0.34" />
- <property name="bdb.download.url" value="http://download.oracle.com/maven/com/sleepycat/je/${bdb.version}/je-${bdb.version}.jar" />
<property name="bdb.jar.file" value="${bdb.lib.dir}/je-${bdb.version}.jar" />
+ <condition property="download.bdb.jar">
+ <or>
+ <istrue value="${download-bdb}"/>
+ <istrue value="${optional.dependencies}"/>
+ </or>
+ </condition>
+
<!--check whether the BDB jar is present, possibly after download-->
<target name="check-bdb-jar">
<available file="${bdb.jar.file}" type="file" property="bdb.jar.available"/>
@@ -61,15 +67,16 @@ http://www.oracle.com/technetwork/database/berkeleydb/downloads/jeoslicense-0868
</target>
<!--check if an inline BDB download was requested with the build-->
- <target name="check-request-props" if="download-bdb">
+ <target name="check-request-props" if="download.bdb.jar">
<antcall target="download-bdb"/>
</target>
<!--download BDB, with licencing note-->
- <target name="download-bdb" depends="bdb-licence-note">
- <mkdir dir="${bdb.lib.dir}"/>
- <echo>Downloading BDB JE</echo>
- <get src="${bdb.download.url}" dest="${bdb.jar.file}" usetimestamp="true" />
+ <target name="download-bdb" depends="bdb-licence-note, load-ivy, configure-ivy" unless="${ivy.dont.retrieve}">
+ <echo message="Resolving and retrieving dependencies..."/>
+ <ivy:resolve type="jar,bundle" file="${project.root}/ivy.retrieve.xml" conf="bdbje"/>
+ <ivy:retrieve type="jar,bundle" conf="bdbje" sync="true"
+ pattern="${project.root}/lib/bdbstore/[artifact]-[revision].[ext]" />
</target>
<target name="build" depends="check-request-props, bdb-jar-required, module.build" />
diff --git a/java/build.deps b/java/build.deps
index 31a646608a..518d3e2ce9 100644
--- a/java/build.deps
+++ b/java/build.deps
@@ -17,42 +17,42 @@
# under the License.
#
-commons-beanutils-core=lib/commons-beanutils-core-1.8.3.jar
-commons-cli=lib/commons-cli-1.2.jar
-commons-codec=lib/commons-codec-1.6.jar
-commons-collections=lib/commons-collections-3.2.1.jar
-commons-configuration=lib/commons-configuration-1.8.jar
-commons-digester=lib/commons-digester-1.8.1.jar
-commons-lang=lib/commons-lang-2.6.jar
-commons-logging=lib/commons-logging-1.1.1.jar
+commons-beanutils-core=lib/required/commons-beanutils-core-1.8.3.jar
+commons-cli=lib/required/commons-cli-1.2.jar
+commons-codec=lib/required/commons-codec-1.6.jar
+commons-collections=lib/required/commons-collections-3.2.1.jar
+commons-configuration=lib/required/commons-configuration-1.8.jar
+commons-digester=lib/required/commons-digester-1.8.1.jar
+commons-lang=lib/required/commons-lang-2.6.jar
+commons-logging=lib/required/commons-logging-1.1.1.jar
-derby-db=lib/derby-10.8.2.2.jar
+derby-db=lib/required/derby-10.8.2.2.jar
-geronimo-jms=lib/geronimo-jms_1.1_spec-1.0.jar
-geronimo-j2ee=lib/geronimo-j2ee-connector_1.5_spec-2.0.0.jar
-geronimo-jta=lib/geronimo-jta_1.1_spec-1.1.1.jar
-geronimo-kernel=lib/geronimo-kernel-2.2.1.jar
-geronimo-openejb=lib/geronimo-ejb_3.0_spec-1.0.1.jar
-geronimo-servlet=lib/geronimo-servlet_2.5_spec-1.2.jar
+geronimo-jms=lib/required/geronimo-jms_1.1_spec-1.0.jar
+geronimo-j2ee=lib/required/geronimo-j2ee-connector_1.5_spec-2.0.0.jar
+geronimo-jta=lib/required/geronimo-jta_1.1_spec-1.1.1.jar
+geronimo-kernel=lib/required/geronimo-kernel-2.2.1.jar
+geronimo-openejb=lib/required/geronimo-ejb_3.0_spec-1.0.1.jar
+geronimo-servlet=lib/required/geronimo-servlet_2.5_spec-1.2.jar
-junit=lib/junit-3.8.1.jar
-mockito-all=lib/mockito-all-1.9.0.jar
+junit=lib/required/junit-3.8.1.jar
+mockito-all=lib/required/mockito-all-1.9.0.jar
-gson-all=lib/gson-2.0.jar
+gson-all=lib/required/gson-2.0.jar
-log4j=lib/log4j-1.2.16.jar
+log4j=lib/required/log4j-1.2.16.jar
-slf4j-api=lib/slf4j-api-1.6.4.jar
-slf4j-log4j=lib/slf4j-log4j12-1.6.4.jar
+slf4j-api=lib/required/slf4j-api-1.6.4.jar
+slf4j-log4j=lib/required/slf4j-log4j12-1.6.4.jar
-xalan=lib/xalan-2.7.0.jar
+xalan=lib/required/xalan-2.7.0.jar
-felix-main=lib/org.apache.felix.main-2.0.5.jar
+felix-main=lib/required/org.apache.felix.main-2.0.5.jar
felix.libs=${felix-main}
-jackson-core=lib/jackson-core-asl-1.9.0.jar
-jackson-mapper=lib/jackson-mapper-asl-1.9.0.jar
+jackson-core=lib/required/jackson-core-asl-1.9.0.jar
+jackson-mapper=lib/required/jackson-mapper-asl-1.9.0.jar
commons-configuration.libs = ${commons-beanutils-core} ${commons-digester} \
${commons-codec} ${commons-lang} ${commons-collections} ${commons-configuration}
diff --git a/java/build.xml b/java/build.xml
index 1de6c8f49c..0905d650d4 100644
--- a/java/build.xml
+++ b/java/build.xml
@@ -18,7 +18,7 @@
- under the License.
-
-->
-<project name="AMQ Java" default="build">
+<project name="AMQ Java" xmlns:ivy="antlib:org.apache.ivy.ant" default="build">
<import file="common.xml"/>
@@ -156,7 +156,7 @@
<touch file="${qpid.jar}"/>
</target>
- <target name="build" description="build the project">
+ <target name="build" depends="retrieve-dependencies" description="build the project">
<iterate target="build"/>
<antcall target="manifest"/>
</target>
@@ -296,4 +296,22 @@
<target name="eclipse" description="build eclipse project and classpath files">
<iterate target="eclipse"/>
</target>
+
+ <!-- check the following properties which must be specified by the user-->
+ <target name="check-upload-props-exist" description="check that the required properties have been set">
+ <fail unless="nexus.user" message="You must supply the 'nexus.user' property"/>
+ <fail unless="nexus.password" message="You must supply the 'nexus.password' property"/>
+ <fail unless="maven.artifact.dir" message="You must supply the 'maven.artifact.dir' property"/>
+ </target>
+
+ <target name="perform-nexus-upload">
+ <ivy:configure file="ivysettings.nexus.xml"/>
+ <ivy:resolve file="ivy.nexus.xml"/>
+ <ivy:deliver/>
+ <ivy:publish publishivy="false" resolver="nexus"
+ artifactspattern="${maven.artifact.dir}/[organisation]/[module]/[artifact]/[revision]/[artifact]-[revision](-[classifier]).[ext]"/>
+ </target>
+
+ <target name="upload" depends="load-ivy, check-upload-props-exist, perform-nexus-upload"/>
+
</project>
diff --git a/java/common.xml b/java/common.xml
index 2059e0aeb9..fbb17d7412 100644
--- a/java/common.xml
+++ b/java/common.xml
@@ -18,7 +18,7 @@
- under the License.
-
-->
-<project name="common">
+<project xmlns:ivy="antlib:org.apache.ivy.ant" name="common">
<dirname property="project.root" file="${ant.file.common}"/>
@@ -82,6 +82,7 @@
</fileset>
</path>
+ <!-- properties for generating the maven artifacts -->
<property name="maven.local.repo" value="${build.scratch}/maven-local-repo"/>
<property name="maven.settings.xml" value="${project.root}/maven-settings.xml"/>
<property name="maven.unique.version" value="false"/>
@@ -90,6 +91,40 @@
<isfalse value="${maven.snapshot}"/>
</condition>
+ <!-- properties for uploading our Maven artifacts to Nexus using Ivy -->
+ <property name="ivy.organisation" value="org/apache"/>
+ <property name="nexus.organisation" value="org.apache"/>
+ <property name="nexus.host" value="repository.apache.org"/>
+ <property name="nexus.upload.url" value="https://${nexus.host}/service/local/staging/deploy/maven2"/>
+
+ <!-- properties for downloading ivy, and then our dependencies -->
+ <property name="ivy.jar.dir" value="${project.root}/lib/ivy" />
+ <property name="ivy.install.version" value="2.2.0" />
+ <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy-${ivy.install.version}.jar" />
+ <property name="ivy.repo.url" value="http://repo1.maven.org/maven2/org/apache/ivy/ivy"/>
+ <property name="ivy.jar.url" value="${ivy.repo.url}/${ivy.install.version}/ivy-${ivy.install.version}.jar"/>
+
+ <available property="ivy.jar.file.exists" file="${ivy.jar.file}"/>
+ <property name="retrieve.dependencies" value="true" />
+ <property name="optional.dependencies" value="false" />
+
+ <condition property="dont.download.ivy">
+ <!-- Set prop to stop Ivy download if asked not to retrieve
+ the dependencies, or the ivy jar is already present -->
+ <or>
+ <isfalse value="${retrieve.dependencies}"/>
+ <and>
+ <isset property="ivy.jar.file.exists"/>
+ <istrue value="${ivy.jar.file.exists}"/>
+ </and>
+ </or>
+ </condition>
+
+ <condition property="ivy.dont.retrieve">
+ <isfalse value="${retrieve.dependencies}"/>
+ </condition>
+
+
<macrodef name="indirect">
<attribute name="name"/>
<attribute name="variable"/>
@@ -141,7 +176,7 @@
<attribute name="path"/>
<element name="args"/>
<sequential>
- <java jar="${project.root}/lib/jython-2.5.0.jar" fork="true" failonerror="true">
+ <java jar="${project.root}/lib/required/jython-standalone-2.5.2.jar" fork="true" failonerror="true">
<arg value="-Dpython.path=@{path}"/>
<args/>
</java>
@@ -221,6 +256,39 @@
<taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask" classpath="${findbugs.dir}/findbugs-ant.jar"/>
</target>
+
+ <!-- targets for downloading ivy and retrieving dependencies -->
+ <target name="retrieve-dependencies" depends="load-ivy, configure-ivy" unless="${ivy.dont.retrieve}">
+ <echo message="Resolving and retrieving dependencies..."/>
+ <ivy:resolve type="jar,bundle" file="${project.root}/ivy.retrieve.xml" conf="required"/>
+ <ivy:retrieve type="jar,bundle" conf="required" sync="true"
+ pattern="${project.root}/lib/required/[artifact]-[revision].[ext]" />
+ </target>
+
+ <target name="configure-ivy" unless="${ivy.configured}">
+ <ivy:configure file="${project.root}/ivysettings.retrieve.xml" override="true"/>
+ <property name="ivy.configured" value="true" />
+ </target>
+
+ <target name="load-ivy" depends="download-ivy" unless="${ivy.dont.retrieve}">
+ <!-- Try to load Ivy from local ivy dir, in case the user has not already dropped it into
+ Ant's lib dir (note that the latter copy will always take precedence). Won't
+ fail so long as Ivy is in at least one of the locations. -->
+ <mkdir dir="${ivy.jar.dir}"/>
+ <path id="ivy.lib.path">
+ <fileset dir="${ivy.jar.dir}" includes="*.jar"/>
+ </path>
+ <taskdef resource="org/apache/ivy/ant/antlib.xml"
+ uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
+ </target>
+
+ <target name="download-ivy" unless="${dont.download.ivy}">
+ <mkdir dir="${ivy.jar.dir}"/>
+ <echo message="Downloading ivy..."/>
+ <get src="${ivy.jar.url}" dest="${ivy.jar.file}" usetimestamp="true"/>
+ </target>
+
+
<target name="help" description="display detailed build documentation">
<echo>
ant build
diff --git a/java/common/build.xml b/java/common/build.xml
index fe96f384d5..a78d6c4133 100644
--- a/java/common/build.xml
+++ b/java/common/build.xml
@@ -98,10 +98,15 @@ public class QpidBuildVersion
</target>
<target name="jms-selector">
+ <copy tofile="${module.build}/javacc.jar" failonerror="true">
+ <fileset dir="${project.root}/lib/required">
+ <include name="javacc-*.jar"/>
+ </fileset>
+ </copy>
<mkdir dir="${selector.output.dir}"/>
<javacc target="src/main/grammar/SelectorParser.jj"
outputdirectory="${selector.output.dir}"
- javacchome="${project.root}/lib"/>
+ javacchome="${module.build}"/>
</target>
<target name="precompile" depends="gentools,jython,create-version,build-version,jms-selector"/>
diff --git a/java/ivy.xml b/java/ivy.nexus.xml
index cc891094a3..61ae9f315b 100644
--- a/java/ivy.xml
+++ b/java/ivy.nexus.xml
@@ -18,7 +18,7 @@
<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
- <info organisation="org/apache" module="qpid" revision="0.17"/>
+ <info organisation="${ivy.organisation}" module="${project.name}" revision="${project.version}"/>
<publications xmlns:e="urn:ant.apache.org:ivy-extras">
<artifact name="qpid-client" type="pom" ext="pom"/>
diff --git a/java/ivy.retrieve.xml b/java/ivy.retrieve.xml
new file mode 100644
index 0000000000..609d773c21
--- /dev/null
+++ b/java/ivy.retrieve.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
+
+ <info organisation="${ivy.organisation}" module="${project.name}" revision="${project.version}"/>
+
+ <configurations defaultconf="required" defaultconfmapping="required->default;bdbje->default">
+ <conf name="required"/>
+ <conf name="bdbje"/>
+ </configurations>
+
+ <publications xmlns:e="urn:ant.apache.org:ivy-extras"/>
+
+ <dependencies>
+ <dependency org="biz.aQute" name="bnd" rev="0.0.384" transitive="false"/>
+ <dependency org="commons-beanutils" name="commons-beanutils-core" rev="1.8.3" transitive="false"/>
+ <dependency org="commons-cli" name="commons-cli" rev="1.2" transitive="false"/>
+ <dependency org="commons-codec" name="commons-codec" rev="1.6" transitive="false"/>
+ <dependency org="commons-collections" name="commons-collections" rev="3.2.1" transitive="false"/>
+ <dependency org="commons-configuration" name="commons-configuration" rev="1.8" transitive="false"/>
+ <dependency org="commons-digester" name="commons-digester" rev="1.8.1" transitive="false"/>
+ <dependency org="commons-lang" name="commons-lang" rev="2.6" transitive="false"/>
+ <dependency org="commons-logging" name="commons-logging" rev="1.1.1" transitive="false"/>
+ <dependency org="org.apache.derby" name="derby" rev="10.8.2.2" transitive="false"/>
+ <dependency org="org.apache.geronimo.framework" name="geronimo-kernel" rev="2.2.1" transitive="false"/>
+ <dependency org="org.apache.geronimo.specs" name="geronimo-ejb_3.0_spec" rev="1.0.1" transitive="false"/>
+ <dependency org="org.apache.geronimo.specs" name="geronimo-j2ee-connector_1.5_spec" rev="2.0.0" transitive="false"/>
+ <dependency org="org.apache.geronimo.specs" name="geronimo-jms_1.1_spec" rev="1.0" transitive="false"/>
+ <dependency org="org.apache.geronimo.specs" name="geronimo-jta_1.1_spec" rev="1.1.1" transitive="false"/>
+ <dependency org="org.apache.geronimo.specs" name="geronimo-servlet_2.5_spec" rev="1.2" transitive="false"/>
+ <dependency org="com.google.code.gson" name="gson" rev="2.0" transitive="false"/>
+ <dependency org="org.codehaus.jackson" name="jackson-core-asl" rev="1.9.0" transitive="false"/>
+ <dependency org="org.codehaus.jackson" name="jackson-mapper-asl" rev="1.9.0" transitive="false"/>
+ <dependency org="net.java.dev.javacc" name="javacc" rev="5.0" transitive="false"/>
+ <dependency org="junit" name="junit" rev="3.8.1" transitive="false"/>
+ <dependency org="org.python" name="jython-standalone" rev="2.5.2" transitive="false"/>
+ <dependency org="log4j" name="log4j" rev="1.2.16" transitive="false"/>
+ <dependency org="org.apache.maven" name="maven-ant-tasks" rev="2.1.1" transitive="false"/>
+ <dependency org="org.mockito" name="mockito-all" rev="1.9.0" transitive="false"/>
+ <dependency org="org.apache.felix" name="org.apache.felix.main" rev="2.0.5" transitive="false"/>
+ <dependency org="org.slf4j" name="slf4j-api" rev="1.6.4" transitive="false"/>
+ <dependency org="org.slf4j" name="slf4j-log4j12" rev="1.6.4" transitive="false"/>
+ <dependency org="xalan" name="xalan" rev="2.7.0" transitive="false"/>
+
+ <!-- The following are optional dependencies, for modules providing optional functionlity or
+ for use in optional build/test steps. Their optional status is usually indicative of licences
+ which are not compatible with the Apache Licence -->
+ <dependency org="com.sleepycat" name="je" rev="5.0.34" transitive="false" conf="bdbje"/>
+ </dependencies>
+</ivy-module>
diff --git a/java/ivysettings-nexus.xml b/java/ivysettings.nexus.xml
index 1d9c393e23..03f84f9f7c 100644
--- a/java/ivysettings-nexus.xml
+++ b/java/ivysettings.nexus.xml
@@ -18,7 +18,6 @@
<credentials host="${nexus.host}" realm="Sonatype Nexus Repository Manager" username="${nexus.user}" passwd="${nexus.password}"/>
<caches defaultCacheDir="${user.home}/.ivy2/cache"/>
<resolvers>
- <ibiblio name="public" m2compatible="true"/>
<url name="nexus">
<artifact pattern="${nexus.upload.url}/[organisation]/[module]/[artifact]/[revision]/[artifact]-[revision](-[classifier]).[ext]" />
</url>
@@ -26,5 +25,5 @@
<modules>
<module organisation="${nexus.organisation}" name="qpid" resolver="nexus"/>
</modules>
- <settings defaultResolver="public"/>
+ <settings defaultResolver="nexus"/>
</ivysettings>
diff --git a/java/ivysettings.retrieve.xml b/java/ivysettings.retrieve.xml
new file mode 100644
index 0000000000..aead12935a
--- /dev/null
+++ b/java/ivysettings.retrieve.xml
@@ -0,0 +1,45 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<ivysettings>
+ <property name="ivy.default.resolver" value="chain" override="false"/>
+ <property name="ivy.localfs.root" value="${project.root}/localfs_repo" override="false"/>
+ <property name="ivy.localfs.pattern" value="[artifact]-[revision](-[classifier]).[ext]" override="false"/>
+ <property name="ivy.m2repo.url" value="http://repo1.maven.org/maven2" override="false"/>
+
+ <settings defaultResolver="${ivy.default.resolver}"/>
+ <resolvers>
+ <filesystem name="localfs">
+ <artifact pattern="${ivy.localfs.root}/${ivy.localfs.pattern}" />
+ </filesystem>
+
+ <url name="m2repo" m2compatible="true">
+ <artifact pattern="${ivy.m2repo.url}/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
+ </url>
+
+ <url name="oracle" m2compatible="true">
+ <artifact pattern="http://download.oracle.com/maven/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
+ </url>
+
+ <ibiblio name="public" m2compatible="true"/>
+
+ <chain name="chain" returnFirst="true">
+ <resolver ref="m2repo"/>
+ <resolver ref="oracle"/>
+ <resolver ref="public"/>
+ </chain>
+ </resolvers>
+</ivysettings>
diff --git a/java/lib/bdbstore/README.txt b/java/lib/bdbstore/README.txt
deleted file mode 100644
index 80adb199bf..0000000000
--- a/java/lib/bdbstore/README.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-The BDB JE jar must be downloaded into this directory in order to allow the optional bdbstore module to be built against it.
-
-*NOTE* The BDB JE library is licensed under the Sleepycat Licence [1], which is not compatible with the Apache Lience v2.0. As a result, the BDB JE library is not distributed with the project, and the optional bdbstore module is not compiled by default.
-
-The jar file may be downloaded by either:
-
- Seperately running the following command from the qpid/java/bdbstore dir: ant download-bdb
-
- OR
-
- Adding -Ddownload-bdb=true to your regular build command
-
-
-[1] http://www.oracle.com/technetwork/database/berkeleydb/downloads/jeoslicense-086837.html
diff --git a/java/lib/bnd-0.0.384.jar b/java/lib/bnd-0.0.384.jar
deleted file mode 100644
index fa5e5263f7..0000000000
--- a/java/lib/bnd-0.0.384.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/commons-beanutils-core-1.8.3.jar b/java/lib/commons-beanutils-core-1.8.3.jar
deleted file mode 100644
index 7647dc52be..0000000000
--- a/java/lib/commons-beanutils-core-1.8.3.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/commons-cli-1.2.jar b/java/lib/commons-cli-1.2.jar
deleted file mode 100644
index ce4b9fffe4..0000000000
--- a/java/lib/commons-cli-1.2.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/commons-codec-1.6.jar b/java/lib/commons-codec-1.6.jar
deleted file mode 100644
index ee1bc49aca..0000000000
--- a/java/lib/commons-codec-1.6.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/commons-collections-3.2.1.jar b/java/lib/commons-collections-3.2.1.jar
deleted file mode 100644
index c35fa1fee1..0000000000
--- a/java/lib/commons-collections-3.2.1.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/commons-configuration-1.8.jar b/java/lib/commons-configuration-1.8.jar
deleted file mode 100644
index ae9ae9969b..0000000000
--- a/java/lib/commons-configuration-1.8.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/commons-digester-1.8.1.jar b/java/lib/commons-digester-1.8.1.jar
deleted file mode 100644
index 7abda9696a..0000000000
--- a/java/lib/commons-digester-1.8.1.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/commons-lang-2.6.jar b/java/lib/commons-lang-2.6.jar
deleted file mode 100644
index 98467d3a65..0000000000
--- a/java/lib/commons-lang-2.6.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/commons-logging-1.1.1.jar b/java/lib/commons-logging-1.1.1.jar
deleted file mode 100644
index 8758a96b70..0000000000
--- a/java/lib/commons-logging-1.1.1.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/derby-10.8.2.2.jar b/java/lib/derby-10.8.2.2.jar
deleted file mode 100644
index b59555907a..0000000000
--- a/java/lib/derby-10.8.2.2.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/geronimo-ejb_3.0_spec-1.0.1.jar b/java/lib/geronimo-ejb_3.0_spec-1.0.1.jar
deleted file mode 100644
index 29087f2f46..0000000000
--- a/java/lib/geronimo-ejb_3.0_spec-1.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/geronimo-j2ee-connector_1.5_spec-2.0.0.jar b/java/lib/geronimo-j2ee-connector_1.5_spec-2.0.0.jar
deleted file mode 100644
index 70e7ed4a93..0000000000
--- a/java/lib/geronimo-j2ee-connector_1.5_spec-2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/geronimo-jms_1.1_spec-1.0.jar b/java/lib/geronimo-jms_1.1_spec-1.0.jar
deleted file mode 100644
index 42bf403e28..0000000000
--- a/java/lib/geronimo-jms_1.1_spec-1.0.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/geronimo-jta_1.1_spec-1.1.1.jar b/java/lib/geronimo-jta_1.1_spec-1.1.1.jar
deleted file mode 100644
index ee9963dfc8..0000000000
--- a/java/lib/geronimo-jta_1.1_spec-1.1.1.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/geronimo-kernel-2.2.1.jar b/java/lib/geronimo-kernel-2.2.1.jar
deleted file mode 100644
index 34c46c3183..0000000000
--- a/java/lib/geronimo-kernel-2.2.1.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/geronimo-servlet_2.5_spec-1.2.jar b/java/lib/geronimo-servlet_2.5_spec-1.2.jar
deleted file mode 100644
index 00a2010036..0000000000
--- a/java/lib/geronimo-servlet_2.5_spec-1.2.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/gson-2.0.jar b/java/lib/gson-2.0.jar
deleted file mode 100644
index 7b413f9570..0000000000
--- a/java/lib/gson-2.0.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/jackson-core-asl-1.9.0.jar b/java/lib/jackson-core-asl-1.9.0.jar
deleted file mode 100644
index e9456ad887..0000000000
--- a/java/lib/jackson-core-asl-1.9.0.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/jackson-mapper-asl-1.9.0.jar b/java/lib/jackson-mapper-asl-1.9.0.jar
deleted file mode 100644
index f8beebcfea..0000000000
--- a/java/lib/jackson-mapper-asl-1.9.0.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/javacc.jar b/java/lib/javacc.jar
deleted file mode 100644
index 2550727eef..0000000000
--- a/java/lib/javacc.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/junit-3.8.1.jar b/java/lib/junit-3.8.1.jar
deleted file mode 100644
index 674d71e89e..0000000000
--- a/java/lib/junit-3.8.1.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/jython-2.5.0.jar b/java/lib/jython-2.5.0.jar
deleted file mode 100644
index f8fc553ae7..0000000000
--- a/java/lib/jython-2.5.0.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/log4j-1.2.16.jar b/java/lib/log4j-1.2.16.jar
deleted file mode 100644
index 3f9d847618..0000000000
--- a/java/lib/log4j-1.2.16.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/maven-ant-tasks-2.1.1.jar b/java/lib/maven-ant-tasks-2.1.1.jar
deleted file mode 100644
index 7810a541b8..0000000000
--- a/java/lib/maven-ant-tasks-2.1.1.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/mockito-all-1.9.0.jar b/java/lib/mockito-all-1.9.0.jar
deleted file mode 100644
index 273fd50feb..0000000000
--- a/java/lib/mockito-all-1.9.0.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/org.apache.felix.main-2.0.5.jar b/java/lib/org.apache.felix.main-2.0.5.jar
deleted file mode 100644
index 71e5a84231..0000000000
--- a/java/lib/org.apache.felix.main-2.0.5.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/slf4j-api-1.6.4.jar b/java/lib/slf4j-api-1.6.4.jar
deleted file mode 100644
index 4d23f41d37..0000000000
--- a/java/lib/slf4j-api-1.6.4.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/slf4j-log4j12-1.6.4.jar b/java/lib/slf4j-log4j12-1.6.4.jar
deleted file mode 100644
index daa3aa1631..0000000000
--- a/java/lib/slf4j-log4j12-1.6.4.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/xalan-2.7.0.jar b/java/lib/xalan-2.7.0.jar
deleted file mode 100644
index 007be3960a..0000000000
--- a/java/lib/xalan-2.7.0.jar
+++ /dev/null
Binary files differ
diff --git a/java/module.xml b/java/module.xml
index 1aea77b488..b07a9cc35e 100644
--- a/java/module.xml
+++ b/java/module.xml
@@ -22,7 +22,7 @@
<import file="common.xml"/>
- <path id="maven-ant-tasks.classpath" path="${project.root}/lib/maven-ant-tasks-2.1.1.jar" />
+ <path id="maven-ant-tasks.classpath" path="${project.root}/lib/required/maven-ant-tasks-2.1.1.jar" />
<typedef resource="org/apache/maven/artifact/ant/antlib.xml"
uri="antlib:org.apache.maven.artifact.ant"
classpathref="maven-ant-tasks.classpath" />
@@ -599,7 +599,7 @@
<target name="bundle" description="Build module osgi artifact. Override and depend on bundle-tasks to use"/>
<target name="bundle-tasks" depends="jar">
- <taskdef resource="aQute/bnd/ant/taskdef.properties" classpath="${project.root}/lib/bnd-0.0.384.jar"/>
+ <taskdef resource="aQute/bnd/ant/taskdef.properties" classpath="${project.root}/lib/required/bnd-0.0.384.jar"/>
<echo message="Bundling ${build}/lib/${module.namever}.jar with ${module.src}/${module.name}.bnd"/>
<bnd
classpath="${build}/lib/${module.namever}.jar"
@@ -809,7 +809,7 @@ qpid.name=${project.name}
<classpath>
<pathelement path="${module.src}"/>
<pathelement path="${velocity.compile.dir}" />
- <fileset dir="${project.root}/lib">
+ <fileset dir="${project.root}/lib/required">
<include name="**/*.jar"/>
</fileset>
<pathelement path="${gentools.home}/lib/velocity-1.4.jar" />
diff --git a/java/upload.xml b/java/upload.xml
deleted file mode 100644
index 9f2fd6819b..0000000000
--- a/java/upload.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-<?xml version="1.0"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<project name="upload" default="upload" xmlns:ivy="antlib:org.apache.ivy.ant">
- <description>Targets for uploading releases to ASF's Nexus instance</description>
-
- <property name="nexus.organisation" value="org.apache"/>
- <property name="nexus.host" value="repository.apache.org"/>
- <property name="nexus.upload.url" value="https://repository.apache.org/service/local/staging/deploy/maven2"/>
-
- <!-- properties for downloading ivy if required -->
- <property name="ivy.jar.dir" value="lib/ivy" />
- <property name="ivy.install.version" value="2.2.0" />
- <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy-${ivy.install.version}.jar" />
- <property name="ivy.repo.url" value="http://repo1.maven.org/maven2/org/apache/ivy/ivy"/>
-
- <target name="download-ivy">
- <mkdir dir="${ivy.jar.dir}"/>
- <!-- download Ivy from web site so that it can be used without any special installation -->
- <echo message="Downloading ivy..."/>
- <get src="${ivy.repo.url}/${ivy.install.version}/ivy-${ivy.install.version}.jar"
- dest="${ivy.jar.file}" usetimestamp="true"/>
- </target>
-
- <target name="load-ivy">
- <!-- Try to load Ivy from local ivy dir, in case the user has not already dropped it into
- Ant's lib dir (note that the latter copy will always take precedence). Won't
- fail so long as Ivy is in at least one of the locations. -->
- <mkdir dir="${ivy.jar.dir}"/>
- <path id="ivy.lib.path">
- <fileset dir="${ivy.jar.dir}" includes="*.jar"/>
- </path>
- <taskdef resource="org/apache/ivy/ant/antlib.xml"
- uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
- </target>
-
- <!-- check the following properties which must be specified by the user-->
- <target name="check-props-exist" description="check that the required properties have been set">
- <fail unless="nexus.user" message="You must supply the 'nexus.user' property"/>
- <fail unless="nexus.password" message="You must supply the 'nexus.password' property"/>
- <fail unless="maven.artifact.dir" message="You must supply the 'maven.artifact.dir' property"/>
- </target>
-
- <target name="perform-nexus-upload" description="really requires the prepare-upload target to be run first">
- <ivy:configure file="ivysettings-nexus.xml"/>
- <ivy:resolve file="ivy.xml"/>
- <ivy:retrieve/>
- <ivy:deliver/>
- <ivy:publish publishivy="false" resolver="nexus"
- artifactspattern="${maven.artifact.dir}/[organisation]/[module]/[artifact]/[revision]/[artifact]-[revision](-[classifier]).[ext]"/>
- </target>
-
- <target name="upload" depends="load-ivy, check-props-exist, perform-nexus-upload"/>
-
- <target name="help" description="display detailed build documentation">
- <echo>
-Ivy can be leveraged either by installing it in the Ant lib dir yourself,
-or by running the following command in qpid/java to place it in the
-qpid/java/lib/ivy lib folder:
-
- ant -buildfile upload.xml download-ivy
-
-The publishing task should be run once the release process has otherwise
-been completed and the artifacts signed. It can be performed from the
-qpid/java directory with a command as follows:
-
- ant -buildfile upload.xml -Dnexus.user=&lt;apache_username&gt; -Dnexus.password=&lt;password&gt;
- -Dmaven.artifact.dir=&lt;path to maven repo structure from release process&gt;
-
-Note: if you are behind a proxy server it is necessary to give Ant the
-proxy settings by doing something like:
-
-export ANT_OPTS=&quot;-Dhttp.proxyHost=&lt;host&gt; -Dhttp.proxyPort=&lt;port&gt; -Dhttps.proxyHost=&lt;host&gt; -Dhttps.proxyPort=&lt;port&gt;&quot;
- </echo>
- </target>
-</project>