QPIDIT-86: Improved shim build and installation under cmake. Also improved Java installation through use of placing all dependencies into a single jar file.
diff --git a/.gitignore b/.gitignore
index 99d2bb1..3367604 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,4 @@
 /target/
 /build/
+/docs/users-guide.html
+
diff --git a/.project b/.project
index ea09747..c5fd3bb 100644
--- a/.project
+++ b/.project
@@ -3,6 +3,7 @@
 	<name>qpid-interop-test</name>
 	<comment></comment>
 	<projects>
+		<project>qpid-proton-c</project>
 	</projects>
 	<buildSpec>
 		<buildCommand>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1b8cee5..3006b3b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -45,12 +45,10 @@
 endif ()
 
 add_subdirectory(shims/qpid-proton-cpp/src)
+add_subdirectory(shims/qpid-jms)
 add_subdirectory(shims/amqpnetlite/src)
 add_subdirectory(shims/rhea-js)
-
-# Build Java code
-install(CODE "execute_process(COMMAND mvn -DskipTests install
-                              WORKING_DIRECTORY ../)")
+add_subdirectory(docs)
 
 # Install files using python setup.py
 install(CODE "execute_process(COMMAND python setup.py install --prefix ${CMAKE_INSTALL_PREFIX}
diff --git a/pom.xml b/pom.xml
index f1e930f..309a270 100644
--- a/pom.xml
+++ b/pom.xml
@@ -18,19 +18,21 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 
-  <parent>
-    <groupId>org.apache</groupId>
-    <artifactId>apache</artifactId>
-    <version>17</version>
-  </parent>
   <modelVersion>4.0.0</modelVersion>
 
   <groupId>org.apache.qpid</groupId>
   <artifactId>qpid-interop-test-parent</artifactId>
   <packaging>pom</packaging>
   <version>0.1.0-SNAPSHOT</version>
-
   <url>https://qpid.apache.org</url>
+  <name>Qpid Interop Test</name>
+  <description>Qpid client interoperability test suite for AMQP 1.0 clients</description>
+
+  <parent>
+    <groupId>org.apache</groupId>
+    <artifactId>apache</artifactId>
+    <version>17</version>
+  </parent>
 
   <issueManagement>
     <url>https://issues.apache.org/jira/browse/QPIDIT</url>
@@ -46,6 +48,7 @@
   <properties>
     <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>
   </properties>
 
   <modules>
diff --git a/setup.py b/setup.py
index a0d12e1..9f892c6 100644
--- a/setup.py
+++ b/setup.py
@@ -53,30 +53,5 @@
                       'shims/qpid-proton-python/src/jms_messages_test/Sender.py',
                      ]
                   ),
-                  ('%s/qpid-jms' % SHIM_DIR,
-                     ['shims/qpid-jms/target/qpid-interop-test-jms-shim-0.1.0-SNAPSHOT.jar',
-                       'shims/qpid-jms/cp.txt',
-                     ]
-                  ),
-                  ('%s/qpid-proton-cpp/amqp_types_test' % SHIM_DIR,
-                     ['build/amqp_types_test/Receiver',
-                      'build/amqp_types_test/Sender',
-                     ]
-                  ),
-                  ('%s/qpid-proton-cpp/amqp_large_content_test' % SHIM_DIR,
-                     ['build/amqp_large_content_test/Receiver',
-                      'build/amqp_large_content_test/Sender',
-                     ],
-                  ),
-                  ('%s/qpid-proton-cpp/jms_messages_test' % SHIM_DIR,
-                     ['build/jms_messages_test/Receiver',
-                      'build/jms_messages_test/Sender',
-                     ],
-                  ),
-                  ('%s/qpid-proton-cpp/jms_hdrs_props_test' % SHIM_DIR,
-                     ['build/jms_hdrs_props_test/Receiver',
-                      'build/jms_hdrs_props_test/Sender',
-                     ],
-                  ),
                  ],
      )
diff --git a/shims/qpid-jms/CMakeLists.txt b/shims/qpid-jms/CMakeLists.txt
new file mode 100644
index 0000000..e5839a7
--- /dev/null
+++ b/shims/qpid-jms/CMakeLists.txt
@@ -0,0 +1,41 @@
+#
+# 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 (qpid-interop-test-qpid-jms-shims)
+
+cmake_minimum_required(VERSION 2.8.7 FATAL_ERROR)
+
+# Build Java code
+add_custom_target(maven
+                  COMMAND mvn -DskipTests package
+                  WORKING_DIRECTORY ../)
+
+add_custom_target(blah ALL mvn -DskipTests package
+                  WORKING_DIRECTORY ../../../)
+
+# === Install ===
+set(JMS_INSTALL_ROOT ${CMAKE_INSTALL_PREFIX}/libexec/qpid_interop_test/shims/qpid-jms)
+
+# Find the version string from the pom.xml file (as this in included in the jar file name)
+execute_process(COMMAND xpath -q -e "//project/version/text()" ${CMAKE_SOURCE_DIR}/pom.xml
+                OUTPUT_VARIABLE QPID_JMS_SHIM_VERSION
+                OUTPUT_STRIP_TRAILING_WHITESPACE)
+message(STATUS "Qpid JMS shim version: ${QPID_JMS_SHIM_VERSION}")
+
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/target/qpid-interop-test-jms-shim-${QPID_JMS_SHIM_VERSION}-jar-with-dependencies.jar"
+        DESTINATION ${JMS_INSTALL_ROOT})
diff --git a/shims/qpid-jms/pom.xml b/shims/qpid-jms/pom.xml
index 01c7829..e56c0f7 100644
--- a/shims/qpid-jms/pom.xml
+++ b/shims/qpid-jms/pom.xml
@@ -33,6 +33,25 @@
   <build>
     <plugins>
       <plugin>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <version>3.0.0</version>
+        <configuration>
+          <descriptorRefs>
+            <descriptorRef>jar-with-dependencies</descriptorRef>
+          </descriptorRefs>
+        </configuration>
+        <executions>
+          <execution>
+            <id>make-assembly</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+
+      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-dependency-plugin</artifactId>
         <executions>
diff --git a/shims/qpid-proton-cpp/src/CMakeLists.txt b/shims/qpid-proton-cpp/src/CMakeLists.txt
index 13fdea5..5deb175 100644
--- a/shims/qpid-proton-cpp/src/CMakeLists.txt
+++ b/shims/qpid-proton-cpp/src/CMakeLists.txt
@@ -17,7 +17,7 @@
 # under the License.
 #
 
-project (qpid-interop-test-cpp-shims)
+project (qpid-interop-test-cpp-shim)
 
 cmake_minimum_required(VERSION 2.8.7 FATAL_ERROR)
 
@@ -27,6 +27,7 @@
 include_directories(${CMAKE_CURRENT_SOURCE_DIR})
 link_directories(${PROTON_INSTALL_DIR}/lib64)
 #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+set(CPP_SHIM_INSTALL_ROOT "${CMAKE_INSTALL_PREFIX}/libexec/qpid_interop_test/shims/qpid-proton-cpp")
 
 
 
@@ -43,10 +44,13 @@
 add_executable(${testName}_Sender ${${testName}_Sender_SOURCES})
 target_link_libraries(${testName}_Sender Common Common_Amqp ${Common_Link_LIBS})
 set_target_properties(${testName}_Sender PROPERTIES
-    RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${testName}"
+    RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${testName}"
     OUTPUT_NAME Sender
 )
 
+install(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/${testName}/Sender"
+        DESTINATION "${CPP_SHIM_INSTALL_ROOT}/${testName}")
+
 # --- Receiver ---
 
 set(${testName}_Receiver_SOURCES
@@ -57,10 +61,13 @@
 add_executable(${testName}_Receiver ${${testName}_Receiver_SOURCES})
 target_link_libraries(${testName}_Receiver Common Common_Amqp ${Common_Link_LIBS})
 set_target_properties(${testName}_Receiver PROPERTIES
-    RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${testName}"
+    RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${testName}"
     OUTPUT_NAME Receiver
 )
 
+install(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/${testName}/Receiver"
+        DESTINATION "${CPP_SHIM_INSTALL_ROOT}/${testName}")
+
 endfunction(addAmqpTest testName)
 
 
@@ -78,10 +85,13 @@
 add_executable(${testName}_Sender ${${testName}_Sender_SOURCES})
 target_link_libraries(${testName}_Sender Common Common_Jms ${Common_Link_LIBS})
 set_target_properties(${testName}_Sender PROPERTIES
-    RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${testName}"
+    RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${testName}"
     OUTPUT_NAME Sender
 )
 
+install(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/${testName}/Sender"
+        DESTINATION "${CPP_SHIM_INSTALL_ROOT}/${testName}")
+
 # --- Receiver ---
 
 set(${testName}_Receiver_SOURCES
@@ -92,10 +102,13 @@
 add_executable(${testName}_Receiver ${${testName}_Receiver_SOURCES})
 target_link_libraries(${testName}_Receiver Common Common_Jms ${Common_Link_LIBS})
 set_target_properties(${testName}_Receiver PROPERTIES
-    RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${testName}"
+    RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${testName}"
     OUTPUT_NAME Receiver
 )
 
+install(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/${testName}/Receiver"
+        DESTINATION "${CPP_SHIM_INSTALL_ROOT}/${testName}")
+
 endfunction(addJmsTest testName)
 
 
@@ -130,10 +143,6 @@
 
 
 addAmqpTest(amqp_types_test)
-addAmqpTest(amqp_features_test)
 addAmqpTest(amqp_large_content_test)
-addAmqpTest(amqp_dtx_test)
 addJmsTest(jms_messages_test)
 addJmsTest(jms_hdrs_props_test)
-addJmsTest(jms_large_content_test)
-addJmsTest(jms_dtx_test)
diff --git a/shims/qpid-proton-python/src/CMakeLists.txt b/shims/qpid-proton-python/src/CMakeLists.txt
new file mode 100644
index 0000000..0b26d2e
--- /dev/null
+++ b/shims/qpid-proton-python/src/CMakeLists.txt
@@ -0,0 +1,23 @@
+#
+# 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 (qpid-interop-test-python-shim)
+
+cmake_minimum_required(VERSION 2.8.7 FATAL_ERROR)
+