QPIDIT-96: Changes to QUICKSTART.md to improve instructions around the Java components (particularly Qpid-JMS). Also improvements to dependency version management - the version numbers are stored in properties in the main pom file, also all dependencies are moved to the main pom file.
diff --git a/QUICKSTART.md b/QUICKSTART.md
index c5c01bc..028f328 100644
--- a/QUICKSTART.md
+++ b/QUICKSTART.md
@@ -42,7 +42,6 @@
* Qpid Proton (including C++ Proton API)
* Qpid Python
- * Qpid JMS
The following are not required, but if installed and present, will be tested:
@@ -56,7 +55,7 @@
1. Install prerequisites, from packages or source
2. Install or download / build AMQP brokers to test against (or set up networked brokers)
-3. Download and build qpid-interop-test
+3. Build qpid-interop-test
4. Run the tests
## 1. Install prerequisites
@@ -88,26 +87,17 @@
yum install jsoncpp-devel nodejs-rhea qpid-proton-cpp-devel python-qpid-proton
````
-Qpid-jms client is not available as a package, so it must be built:
-
-````
-git clone https://git-wip-us.apache.org/repos/asf/qpid-jms.git
-cd qpid-jms
-mvn -DskipTests install
-cd ..
-````
-
### 1.3 Fedora 26
All packages are available directly from the Fedora repositories:
````
-dnf install gcc-c++ cmake maven java-1.8.0-openjdk-devel perl-XML-XPath jsoncpp-devel nodejs-rhea qpid-proton-cpp-devel python-qpid-proton qpid-jms-client
+dnf install gcc-c++ cmake maven java-1.8.0-openjdk-devel perl-XML-XPath jsoncpp-devel nodejs-rhea qpid-proton-cpp-devel python-qpid-proton
````
## 2. Obtaining a broker
-Qpid-interop-test requires a broker to be running against which the tests may be run. This
+Qpid-interop-test requires a running broker to be available. This
may be on localhost as a local install or build, or on another machine, in which case its
IP addresss must be known. Some local broker install options are:
@@ -161,22 +151,41 @@
````
-## 3. Build and install qpid-interop-test
+## 3. Install qpid-interop-test
Qpid-interop-test may be installed locally (preferred for local builds) or to the system
(which requires root privileges). For a local install, use the `-DCMAKE_INSTALL_PREFIX`
option to the `cmake` command. If it is omitted, then qpid-interop-test will be installed
-into the default system directories.
+into the default system directories. The source may be unpacked, or (if you need to use the
+latest and greatest), cloned from git:
````
git clone https://git-wip-us.apache.org/repos/asf/qpid-interop-test.git
+````
+
+Assuming the source tree is located in directory {{qpid-interop-test}}:
+
+````
cd qpid-interop-test
mkdir build
cd build
-cmake [-DCMAKE_INSTALL_PREFIX=<abs-path-to-local-install-dir>] ..
+````
+For a local install:
+
+````
+cmake -DCMAKE_INSTALL_PREFIX=<abs-path-to-local-install-dir> ..
make install
````
+For a system install, root privileges are required:
+
+````
+cmake ..
+make
+sudo make install
+
+````
+
## 4. Run the tests
### 4.1 Set the environment
@@ -213,7 +222,7 @@
...
````
-If the broker is remote, use the following to point to the broker:
+If the broker is remote, use the following to point to the broker(s):
````
python -m qpid_interop_test.amqp_types_test --sender <broker-ip-addr> --receiver <broker-ip-addr>
diff --git a/pom.xml b/pom.xml
index 032cf74..ae6c3e7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -49,12 +49,49 @@
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<maven-assembly-plugin-version>2.6</maven-assembly-plugin-version>
+
+ <!-- Dependency versions -->
+ <geronimo.jms.2.spec-version>1.0-alpha-2</geronimo.jms.2.spec-version>
+ <json-version>1.1</json-version>
+ <qpid-jms-client-version>[0.25.0-SNAPSHOT,)</qpid-jms-client-version>
+ <slf4j-version>1.7.25</slf4j-version>
+
</properties>
<modules>
<module>shims/qpid-jms</module>
<module>utils</module>
</modules>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jms_2.0_spec</artifactId>
+ <version>${geronimo.jms.2.spec-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.json</groupId>
+ <artifactId>javax.json-api</artifactId>
+ <version>${json-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish</groupId>
+ <artifactId>javax.json</artifactId>
+ <version>${json-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-jms-client</artifactId>
+ <version>${qpid-jms-client-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-nop</artifactId>
+ <version>${slf4j-version}</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
<build>
<plugins>
diff --git a/shims/qpid-jms/pom.xml b/shims/qpid-jms/pom.xml
index 1b0d2f0..5030e71 100644
--- a/shims/qpid-jms/pom.xml
+++ b/shims/qpid-jms/pom.xml
@@ -70,37 +70,25 @@
</build>
<dependencies>
- <!-- JMS 1.1 dependency, now obsolete -->
- <!--dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jms_1.1_spec</artifactId>
- <version>1.1.1</version>
- </dependency-->
- <!-- JMS 2.0 dependency -->
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jms_2.0_spec</artifactId>
- <version>1.0-alpha-2</version>
</dependency>
<dependency>
<groupId>javax.json</groupId>
<artifactId>javax.json-api</artifactId>
- <version>1.0</version>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.json</artifactId>
- <version>1.0.4</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-jms-client</artifactId>
- <version>[0.20.0-SNAPSHOT,)</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-nop</artifactId>
- <version>1.7.21</version>
</dependency>
</dependencies>
</project>