You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rh...@apache.org on 2014/01/29 21:26:47 UTC

svn commit: r1562574 - in /qpid/proton/trunk: ./ contrib/ contrib/proton-hawtdispatch/ contrib/proton-jms/ examples/messenger/java/ proton-j/ proton-j/contrib/ proton-j/proton-api/ proton-j/proton/ proton-j/src/ proton-j/src/main/java/org/apache/qpid/p...

Author: rhs
Date: Wed Jan 29 20:26:46 2014
New Revision: 1562574

URL: http://svn.apache.org/r1562574
Log:
PROTON-253, PROTON-417, and PROTON-499: This change consits mostly of
moving stuff around to avoid using the "test-jar" mechanism introduced
into the proton-j build a while ago. It appears that use of this
mechanism causes the maven build to be circularly self-dependent, i.e.
it requires an older stale binary version of its own output in order
to successfully complete the mvn compile stage. There are also some
fairly small code changes included that make the bouncycastle
dependency a runtime dependency rather than a compile-time dependency.

Added:
    qpid/proton/trunk/contrib/
      - copied from r1562506, qpid/proton/trunk/proton-j/contrib/
    qpid/proton/trunk/proton-j/CMakeLists.txt
      - copied, changed from r1562506, qpid/proton/trunk/proton-j/proton/CMakeLists.txt
    qpid/proton/trunk/proton-j/LICENSE
      - copied unchanged from r1562506, qpid/proton/trunk/proton-j/proton/LICENSE
    qpid/proton/trunk/proton-j/pom.xml
      - copied, changed from r1562506, qpid/proton/trunk/proton-j/proton/pom.xml
    qpid/proton/trunk/proton-j/src/
      - copied from r1562506, qpid/proton/trunk/proton-j/proton/src/
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/InterruptException.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/InterruptException.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/Proton.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/Proton.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/ProtonException.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/ProtonException.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/ProtonFactory.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/ProtonFactory.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/ProtonFactoryLoader.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/ProtonFactoryLoader.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/ProtonUnsupportedOperationException.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/ProtonUnsupportedOperationException.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/TimeoutException.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/TimeoutException.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/amqp/
      - copied from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/amqp/
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/codec/Data.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/codec/Data.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/codec/DataFactory.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/codec/DataFactory.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/driver/Connector.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/driver/Connector.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/driver/Driver.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/driver/Driver.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/driver/DriverFactory.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/driver/DriverFactory.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/driver/Listener.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/driver/Listener.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/Connection.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/engine/Connection.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/Delivery.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/engine/Delivery.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/Endpoint.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/engine/Endpoint.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/EndpointState.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/engine/EndpointState.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/EngineFactory.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/engine/EngineFactory.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/Link.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/engine/Link.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/Receiver.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/engine/Receiver.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/Sasl.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/engine/Sasl.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/Sender.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/engine/Sender.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/Session.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/engine/Session.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/Ssl.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/engine/Ssl.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/SslDomain.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/engine/SslDomain.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/SslPeerDetails.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/engine/SslPeerDetails.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/Transport.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/engine/Transport.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/TransportException.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/engine/TransportException.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/TransportResult.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/engine/TransportResult.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/TransportResultFactory.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/engine/TransportResultFactory.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/message/Message.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/message/Message.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/message/MessageError.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/message/MessageError.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/message/MessageFactory.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/message/MessageFactory.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/message/MessageFormat.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/message/MessageFormat.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/message/MessageFormatException.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/message/MessageFormatException.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/messenger/Messenger.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/messenger/Messenger.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/messenger/MessengerException.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/messenger/MessengerException.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/messenger/MessengerFactory.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/messenger/MessengerFactory.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/messenger/Status.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/messenger/Status.java
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/messenger/Tracker.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/java/org/apache/qpid/proton/messenger/Tracker.java
    qpid/proton/trunk/proton-j/src/main/resources/proton.py
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/main/resources/proton.py
    qpid/proton/trunk/proton-j/src/test/java/org/apache/qpid/proton/ProtonFactoryLoaderTest.java
      - copied unchanged from r1560765, qpid/proton/trunk/proton-j/proton-api/src/test/java/org/apache/qpid/proton/ProtonFactoryLoaderTest.java
    qpid/proton/trunk/proton-j/src/test/java/org/apache/qpid/proton/amqp/
      - copied from r1560765, qpid/proton/trunk/proton-j/proton-api/src/test/java/org/apache/qpid/proton/amqp/
    qpid/proton/trunk/proton-j/src/test/java/org/apache/qpid/proton/factoryloadertesting/
      - copied from r1560765, qpid/proton/trunk/proton-j/proton-api/src/test/java/org/apache/qpid/proton/factoryloadertesting/
    qpid/proton/trunk/proton-j/src/test/java/org/apache/qpid/proton/systemtests/
      - copied from r1562506, qpid/proton/trunk/tests/java/org/apache/qpid/proton/systemtests/
    qpid/proton/trunk/proton-j/src/test/java/org/apache/qpid/proton/test/
      - copied from r1560765, qpid/proton/trunk/proton-j/proton-api/src/test/java/org/apache/qpid/proton/test/
    qpid/proton/trunk/proton-j/src/test/resources/
      - copied from r1560765, qpid/proton/trunk/proton-j/proton-api/src/test/resources/
Removed:
    qpid/proton/trunk/proton-j/contrib/
    qpid/proton/trunk/proton-j/proton/
    qpid/proton/trunk/proton-j/proton-api/
    qpid/proton/trunk/tests/java/org/apache/qpid/proton/systemtests/
Modified:
    qpid/proton/trunk/CMakeLists.txt
    qpid/proton/trunk/config.sh
    qpid/proton/trunk/contrib/proton-hawtdispatch/pom.xml
    qpid/proton/trunk/contrib/proton-jms/pom.xml
    qpid/proton/trunk/examples/messenger/java/pom.xml
    qpid/proton/trunk/pom.xml
    qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SslEngineFacadeFactory.java
    qpid/proton/trunk/tests/pom.xml
    qpid/proton/trunk/tests/python/proton-test

Modified: qpid/proton/trunk/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/CMakeLists.txt?rev=1562574&r1=1562573&r2=1562574&view=diff
==============================================================================
--- qpid/proton/trunk/CMakeLists.txt (original)
+++ qpid/proton/trunk/CMakeLists.txt Wed Jan 29 20:26:46 2014
@@ -84,8 +84,6 @@ set (JNI_SHARED_LIB_INSTALL_DIR ${LIB_IN
 set (PROTON_SHARE ${SHARE_INSTALL_DIR}/proton-${PN_VERSION})
 # End of variables used during install
 
-# Location of proton-api jar created by the build; used by proton-jni and proton-j-impl
-set (PROTON_API_TARGET_JAR ${CMAKE_BINARY_DIR}/proton-j/proton-api/proton-api-${PN_VERSION}.jar)
 set (PROTON_JAR_DEPEND_DIR /usr/share/java/ CACHE PATH
       "When locating compile-time dependencies, the build system searches this location in addition to the default ones provided by find_jar")
 
@@ -101,8 +99,7 @@ if (GEN_JAVA)
     include(UseJava)
     include(ProtonUseJava)
 
-    add_subdirectory(proton-j/proton-api)
-    add_subdirectory(proton-j/proton)
+    add_subdirectory(proton-j)
   endif()
 endif()
 

Modified: qpid/proton/trunk/config.sh
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/config.sh?rev=1562574&r1=1562573&r2=1562574&view=diff
==============================================================================
--- qpid/proton/trunk/config.sh (original)
+++ qpid/proton/trunk/config.sh Wed Jan 29 20:26:46 2014
@@ -29,9 +29,9 @@ if [ -z "$CPROTON_BUILD" ]; then
         PROTON_BINDINGS=$PROTON_HOME/proton-c/bindings
     fi
     if [ -d $PROTON_HOME/build/proton-j ]; then
-        PROTON_JARS=$PROTON_HOME/build/proton-j/proton-api/proton-api.jar:$PROTON_HOME/build/proton-j/proton/proton-j-impl.jar
+        PROTON_JARS=$PROTON_HOME/build/proton-j/proton/proton-j.jar
     else
-        PROTON_JARS=$PROTON_HOME/proton-j/proton-api/proton-api.jar:$PROTON_HOME/proton-j/proton/proton-j-impl.jar
+        PROTON_JARS=$PROTON_HOME/proton-j/proton/proton-j.jar
     fi
 else
     PROTON_BINDINGS=$CPROTON_BUILD/bindings
@@ -41,7 +41,7 @@ fi
 export PYTHON_BINDINGS=$PROTON_BINDINGS/python
 export COMMON_PYPATH=$PROTON_HOME/tests/python
 export PYTHONPATH=$COMMON_PYPATH:$PROTON_HOME/proton-c/bindings/python:$PYTHON_BINDINGS
-export JYTHONPATH=$COMMON_PYPATH:$PROTON_HOME/proton-j/proton-api/src/main/resources:$PROTON_JARS
+export JYTHONPATH=$COMMON_PYPATH:$PROTON_HOME/proton-j/proton/src/main/resources:$PROTON_JARS
 export CLASSPATH=$PROTON_JARS
 
 # PHP

Modified: qpid/proton/trunk/contrib/proton-hawtdispatch/pom.xml
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/contrib/proton-hawtdispatch/pom.xml?rev=1562574&r1=1562506&r2=1562574&view=diff
==============================================================================
--- qpid/proton/trunk/contrib/proton-hawtdispatch/pom.xml (original)
+++ qpid/proton/trunk/contrib/proton-hawtdispatch/pom.xml Wed Jan 29 20:26:46 2014
@@ -18,7 +18,7 @@
 <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.qpid</groupId>
-    <artifactId>proton-j</artifactId>
+    <artifactId>proton-project</artifactId>
     <version>1.0-SNAPSHOT</version>
     <relativePath>../..</relativePath>
   </parent>
@@ -35,7 +35,7 @@
   <dependencies>
     <dependency>
       <groupId>org.apache.qpid</groupId>
-      <artifactId>proton-j-impl</artifactId>
+      <artifactId>proton-j</artifactId>
       <version>${project.parent.version}</version>
     </dependency>
     <dependency>

Modified: qpid/proton/trunk/contrib/proton-jms/pom.xml
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/contrib/proton-jms/pom.xml?rev=1562574&r1=1562506&r2=1562574&view=diff
==============================================================================
Binary files - no diff available.

Modified: qpid/proton/trunk/examples/messenger/java/pom.xml
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/examples/messenger/java/pom.xml?rev=1562574&r1=1562573&r2=1562574&view=diff
==============================================================================
--- qpid/proton/trunk/examples/messenger/java/pom.xml (original)
+++ qpid/proton/trunk/examples/messenger/java/pom.xml Wed Jan 29 20:26:46 2014
@@ -30,7 +30,7 @@
   <dependencies>
     <dependency>
       <groupId>org.apache.qpid</groupId>
-      <artifactId>proton-j-impl</artifactId>
+      <artifactId>proton-j</artifactId>
       <version>${project.parent.version}</version>
     </dependency>
   </dependencies>

Modified: qpid/proton/trunk/pom.xml
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/pom.xml?rev=1562574&r1=1562573&r2=1562574&view=diff
==============================================================================
--- qpid/proton/trunk/pom.xml (original)
+++ qpid/proton/trunk/pom.xml Wed Jan 29 20:26:46 2014
@@ -78,29 +78,28 @@
     </plugins>
   </build>
 
-  <profiles>
-    <profile>
-      <id>proton-j</id>
-      <activation>
-        <activeByDefault>true</activeByDefault>
-      </activation>
-      <modules>
-        <module>proton-j</module>
-        <module>tests</module>
-        <module>examples/messenger/java</module>
-      </modules>
-    </profile>
-    <profile>
-      <id>proton-jni</id>
-      <modules>
-        <module>proton-j/proton-api</module>
-        <!--proton-j-impl is required so we can use its EncoderImpl and DecoderImpl to generate test data -->
-        <module>proton-j/proton</module>
-        <module>tests</module>
-        <module>examples/messenger/java</module>
-      </modules>
-    </profile>
-  </profiles>
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>${junit-version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-core</artifactId>
+      <version>1.9.5</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+  <modules>
+    <module>proton-j</module>
+    <module>contrib/proton-jms</module>
+    <module>contrib/proton-hawtdispatch</module>
+    <module>tests</module>
+    <module>examples/messenger/java</module>
+  </modules>
 
   <url>http://qpid.apache.org/proton</url>
   <scm>

Copied: qpid/proton/trunk/proton-j/CMakeLists.txt (from r1562506, qpid/proton/trunk/proton-j/proton/CMakeLists.txt)
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/CMakeLists.txt?p2=qpid/proton/trunk/proton-j/CMakeLists.txt&p1=qpid/proton/trunk/proton-j/proton/CMakeLists.txt&r1=1562506&r2=1562574&rev=1562574&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/proton/CMakeLists.txt (original)
+++ qpid/proton/trunk/proton-j/CMakeLists.txt Wed Jan 29 20:26:46 2014
@@ -17,47 +17,8 @@
 # under the License.
 #
 
-set(BOUNCYCASTLE_VERSION 1.47 CACHE STRING "Version of Bouncycastle to compile proton-j-impl against")
-
-find_jar(BOUNCYCASTLE_BCPKIX_JAR
-         NAMES bcpkix-jdk15on bcpkix
-         PATHS ${PROTON_JAR_DEPEND_DIR}
-         VERSIONS ${BOUNCYCASTLE_VERSION}
-         DOC "Full path to Bouncycastle PKIX jar")
-find_jar(BOUNCYCASTLE_BCPROV_JAR
-         NAMES bcprov-jdk15on bcprov
-         PATHS ${PROTON_JAR_DEPEND_DIR}
-         VERSIONS ${BOUNCYCASTLE_VERSION}
-         DOC "Full path to Bouncycastle Provider jar")
-
-if (${BOUNCYCASTLE_BCPKIX_JAR} MATCHES "^.*-NOTFOUND$" OR ${BOUNCYCASTLE_BCPROV_JAR} MATCHES "^.*-NOTFOUND$")
-  set(BOUNCYCASTLE_FOUND FALSE)
-else()
-  set(BOUNCYCASTLE_FOUND TRUE)
-endif()
-
-message(STATUS "Locations of Bouncycastle ${BOUNCYCASTLE_VERSION} jars: "
-        "${BOUNCYCASTLE_BCPROV_JAR} ${BOUNCYCASTLE_BCPKIX_JAR}")
-
-if (BOUNCYCASTLE_FOUND)
-  message(STATUS "Will build proton-j-impl")
-  set(CMAKE_JAVA_TARGET_VERSION ${PN_VERSION})
-
-  file(GLOB_RECURSE SOURCES_ABS "src/main/java/*.java")
-
-  set(CMAKE_JAVA_INCLUDE_PATH
-        ${PROTON_API_TARGET_JAR}
-        ${BOUNCYCASTLE_BCPROV_JAR}
-        ${BOUNCYCASTLE_BCPKIX_JAR})
-
-  add_jar(proton-j-impl ${SOURCES_ABS})
-
-  rebuild_jar(proton-j-impl proton-j-impl-${PN_VERSION}.jar)
-
-  add_dependencies(proton-j-impl proton-api)
-
-  install_jar(proton-j-impl ${JAVA_INSTALL_DIR})
-else()
-    message(STATUS "Won't build proton-j-impl because one or more Bouncycastle jars were not found. PROTON_JAR_DEPEND_DIR was: ${PROTON_JAR_DEPEND_DIR}")
-endif()
-
+set(CMAKE_JAVA_TARGET_VERSION ${PN_VERSION})
+file(GLOB_RECURSE SOURCES_ABS "src/main/java/*.java")
+add_jar(proton-j ${SOURCES_ABS})
+rebuild_jar(proton-j proton-j-${PN_VERSION}.jar)
+install_jar(proton-j ${JAVA_INSTALL_DIR})

Copied: qpid/proton/trunk/proton-j/pom.xml (from r1562506, qpid/proton/trunk/proton-j/proton/pom.xml)
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/pom.xml?p2=qpid/proton/trunk/proton-j/pom.xml&p1=qpid/proton/trunk/proton-j/proton/pom.xml&r1=1562506&r2=1562574&rev=1562574&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/proton/pom.xml (original)
+++ qpid/proton/trunk/proton-j/pom.xml Wed Jan 29 20:26:46 2014
@@ -18,47 +18,13 @@
 <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.qpid</groupId>
-    <artifactId>proton-j</artifactId>
+    <artifactId>proton-project</artifactId>
     <version>1.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
-  <artifactId>proton-j-impl</artifactId>
-  <name>proton-j-impl</name>
-
-  <!-- Creates a JAR containing the test classes of this module.  These are used by the tests module. -->
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <executions>
-          <execution>
-            <!-- Binding to phase test to retains compatibility with Maven 2. If we ever remove
-                 support for Maven 2, the phase can revert to its default (package). -->
-            <phase>test</phase>
-            <goals>
-              <goal>test-jar</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.qpid</groupId>
-      <artifactId>proton-api</artifactId>
-      <version>${project.parent.version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.bouncycastle</groupId>
-      <artifactId>bcpkix-jdk15on</artifactId>
-      <version>1.47</version>
-    </dependency>
-  </dependencies>
+  <artifactId>proton-j</artifactId>
+  <name>proton-j</name>
 
   <scm>
     <url>http://svn.apache.org/viewvc/qpid/proton/</url>

Modified: qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SslEngineFacadeFactory.java
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SslEngineFacadeFactory.java?rev=1562574&r1=1562506&r2=1562574&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SslEngineFacadeFactory.java (original)
+++ qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SslEngineFacadeFactory.java Wed Jan 29 20:26:46 2014
@@ -23,12 +23,18 @@ package org.apache.qpid.proton.engine.im
 import java.io.FileReader;
 import java.io.IOException;
 import java.io.Reader;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
 import java.security.KeyManagementException;
 import java.security.KeyPair;
 import java.security.KeyStore;
 import java.security.KeyStoreException;
 import java.security.NoSuchAlgorithmException;
 import java.security.PrivateKey;
+import java.security.Provider;
 import java.security.Security;
 import java.security.UnrecoverableKeyException;
 import java.security.cert.Certificate;
@@ -49,10 +55,7 @@ import javax.net.ssl.X509TrustManager;
 
 import org.apache.qpid.proton.engine.SslDomain;
 import org.apache.qpid.proton.engine.SslPeerDetails;
-import org.bouncycastle.jce.provider.BouncyCastleProvider;
-import org.bouncycastle.openssl.PEMException;
-import org.bouncycastle.openssl.PEMReader;
-import org.bouncycastle.openssl.PasswordFinder;
+import org.apache.qpid.proton.ProtonUnsupportedOperationException;
 
 public class SslEngineFacadeFactory
 {
@@ -66,9 +69,66 @@ public class SslEngineFacadeFactory
      */
     private static final String TLS_PROTOCOL = "TLS";
 
+    private static final Class pemReaderClass = getClass("org.bouncycastle.openssl.PEMReader");
+    private static final Class passwordClass = getClass("org.bouncycastle.openssl.PasswordFinder");
+    private static final Class passwordProxy = makePasswordProxy();
+    private static final Constructor pemReaderCons = getConstructor(pemReaderClass, Reader.class, passwordClass);
+    private static final Method readObjectMeth = getMethod(pemReaderClass, "readObject");
+
+    private static Class getClass(String klass) {
+        try {
+            return Class.forName(klass);
+        } catch (ClassNotFoundException e) {
+            _logger.warning("unable to load " + klass);
+        }
+
+        return null;
+    }
+
+    private static Constructor getConstructor(Class klass, Class<?> ... params) {
+        if (klass == null) {
+            return null;
+        }
+
+        try {
+            return klass.getConstructor(params);
+        } catch (NoSuchMethodException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    private static Method getMethod(Class klass, String name, Class<?> ... params) {
+        if (klass == null) {
+            return null;
+        }
+
+        try {
+            return klass.getMethod(name, params);
+        } catch (NoSuchMethodException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    private static Class makePasswordProxy() {
+        if (passwordClass != null) {
+            return Proxy.getProxyClass(passwordClass.getClassLoader(), new Class[] {passwordClass});
+        } else {
+            return null;
+        }
+    }
+
     static
     {
-        Security.addProvider(new BouncyCastleProvider());
+        try {
+            Class klass = Class.forName("org.bouncycastle.jce.provider.BouncyCastleProvider");
+            Security.addProvider((Provider) klass.newInstance());
+        } catch (ClassNotFoundException e) {
+            _logger.warning("unable to load bouncycastle provider");
+        } catch (InstantiationException e) {
+            _logger.warning("unable to instantiate bouncycastle provider");
+        } catch (IllegalAccessException e) {
+            _logger.warning("unable to access bouncycastle provider");
+        }
     }
 
     SslEngineFacadeFactory()
@@ -339,7 +399,7 @@ public class SslEngineFacadeFactory
 
     private Object readPemObject(String pemFile, String keyPassword, @SuppressWarnings("rawtypes") Class... expectedInterfaces)
     {
-        final PasswordFinder passwordFinder;
+        final Object passwordFinder;
         if (keyPassword != null)
         {
             passwordFinder = getPasswordFinderFor(keyPassword);
@@ -350,13 +410,17 @@ public class SslEngineFacadeFactory
         }
 
         Reader reader = null;
-        PEMReader pemReader = null;
+        Reader pemReader = null;
+
+        if (pemReaderCons == null || readObjectMeth == null) {
+            throw new ProtonUnsupportedOperationException();
+        }
 
         try
         {
             reader = new FileReader(pemFile);
-            pemReader = new PEMReader(reader, passwordFinder);
-            Object pemObject = pemReader.readObject();
+            pemReader = (Reader) pemReaderCons.newInstance(new Object[] {reader, passwordFinder});
+            Object pemObject = readObjectMeth.invoke(pemReader);
             if (!checkPemObjectIsOfAllowedTypes(pemObject, expectedInterfaces))
             {
                 throw new IllegalStateException("File " + pemFile + " does not provide a object of the required type."
@@ -365,11 +429,20 @@ public class SslEngineFacadeFactory
             }
             return pemObject;
         }
-        catch(PEMException e)
+        catch(InstantiationException e)
         {
             _logger.log(Level.SEVERE, "Unable to read PEM object. Perhaps you need the unlimited strength libraries in <java-home>/jre/lib/security/ ?", e);
             throw new IllegalStateException("Unable to read PEM object from file " + pemFile, e);
         }
+        catch(InvocationTargetException e)
+        {
+            _logger.log(Level.SEVERE, "Unable to read PEM object. Perhaps you need the unlimited strength libraries in <java-home>/jre/lib/security/ ?", e);
+            throw new IllegalStateException("Unable to read PEM object from file " + pemFile, e);
+        }
+        catch (IllegalAccessException e)
+        {
+            throw new RuntimeException(e);
+        }
         catch (IOException e)
         {
             throw new RuntimeException("Unable to read PEM object from file " + pemFile, e);
@@ -419,17 +492,30 @@ public class SslEngineFacadeFactory
         return false;
     }
 
-    private PasswordFinder getPasswordFinderFor(final String keyPassword)
+    private Object getPasswordFinderFor(final String keyPassword)
     {
-        PasswordFinder passwordFinder = new PasswordFinder()
-        {
-            @Override
-            public char[] getPassword()
-            {
+        if (passwordProxy == null) {
+            throw new ProtonUnsupportedOperationException();
+        }
+
+        try {
+            Constructor con = passwordProxy.getConstructor(new Class[] {InvocationHandler.class});
+            Object finder = con.newInstance(new InvocationHandler() {
+                public Object invoke(Object obj, Method meth, Object[] args) {
                 return keyPassword.toCharArray();
-            }
-        };
-        return passwordFinder;
+                }
+            });
+
+            return finder;
+        } catch (NoSuchMethodException e) {
+            throw new RuntimeException(e);
+        } catch (InstantiationException e) {
+            throw new RuntimeException(e);
+        } catch (IllegalAccessException e) {
+            throw new RuntimeException(e);
+        } catch (InvocationTargetException e) {
+            throw new RuntimeException(e);
+        }
     }
 
     private final class AlwaysTrustingTrustManager implements X509TrustManager

Modified: qpid/proton/trunk/tests/pom.xml
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/tests/pom.xml?rev=1562574&r1=1562573&r2=1562574&view=diff
==============================================================================
--- qpid/proton/trunk/tests/pom.xml (original)
+++ qpid/proton/trunk/tests/pom.xml Wed Jan 29 20:26:46 2014
@@ -24,15 +24,20 @@
   <artifactId>proton-tests</artifactId>
   <name>proton-tests</name>
 
+  <parent>
+    <groupId>org.apache.qpid</groupId>
+    <artifactId>proton-project</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+
   <description>The Proton system tests execute against either the Java or the C implementations,
 based on the chosen profile.
 
-To execute, run either &quot;mvn test&quot; or &quot;mvn test -P proton-jni&quot;.
+To execute, &quot;mvn test&quot;.
 
 Example of advanced usage (all of the -D flags are optional):
 
 mvn test \
--P proton-jni \
 -Dproton.pythontest.pattern='proton_tests.transport.TransportTest.*' \
 -Dproton.pythontest.invocations=20 \
 -Dproton.pythontest.always_colorize=true \
@@ -41,6 +46,10 @@ mvn test \
 By default, the proton-jni profile looks for the JNI jar and native libraries under
 directory &lt;basedir&gt;/build/proton-c.</description>
 
+  <scm>
+    <url>http://svn.apache.org/viewvc/qpid/proton/</url>
+  </scm>
+
   <properties>
     <testReportOutputDirectory>${basedir}/target/surefire-reports</testReportOutputDirectory>
   </properties>
@@ -71,15 +80,14 @@ directory &lt;basedir&gt;/build/proton-c
 
   <dependencies>
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>${junit-version}</version>
-      <scope>test</scope>
+      <groupId>org.apache.qpid</groupId>
+      <artifactId>proton-j</artifactId>
+      <version>${project.parent.version}</version>
     </dependency>
     <dependency>
-      <groupId>org.apache.qpid</groupId>
-      <artifactId>proton-api</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <groupId>org.bouncycastle</groupId>
+      <artifactId>bcpkix-jdk15on</artifactId>
+      <version>1.47</version>
     </dependency>
     <dependency>
         <groupId>org.python</groupId>
@@ -87,87 +95,5 @@ directory &lt;basedir&gt;/build/proton-c
         <version>2.5.3</version>
       <scope>test</scope>
     </dependency>
-
-    <dependency>
-      <!-- proton-j-impl is even required for profile proton-jni so we can use EncoderImpl and DecoderImpl to
-           generate test data, hence this dependency appearing here and not just in the proton-j profile -->
-      <groupId>org.apache.qpid</groupId>
-      <artifactId>proton-j-impl</artifactId>
-      <version>1.0-SNAPSHOT</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <!-- Depend on test helper classes contained with test-jar from proton-j-impl -->
-      <groupId>org.apache.qpid</groupId>
-      <artifactId>proton-j-impl</artifactId>
-      <version>1.0-SNAPSHOT</version>
-      <scope>test</scope>
-      <type>test-jar</type>
-    </dependency>
   </dependencies>
-
-  <profiles>
-    <profile>
-      <id>proton-j</id>
-      <activation>
-        <activeByDefault>true</activeByDefault>
-      </activation>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <configuration>
-              <systemPropertyVariables>
-                <qpid.proton.implementationtype>PROTON_J</qpid.proton.implementationtype>
-              </systemPropertyVariables>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-    <profile>
-      <id>proton-jni</id>
-      <properties>
-        <!-- Uses the JNI jar and the native libraries, neither of which are built by Maven,
-             therefore their location needs to be set explicitly in the following properties. -->
-        <proton-c-build-dir>${basedir}/../build/proton-c</proton-c-build-dir>
-        <jni-native-path>${proton-c-build-dir}:${proton-c-build-dir}/bindings/java</jni-native-path>
-        <jni-jar>${proton-c-build-dir}/bindings/java/proton-jni.jar</jni-jar>
-      </properties>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <configuration>
-              <forkMode>once</forkMode>
-              <argLine>-Djava.library.path=${jni-native-path}</argLine>
-              <systemPropertyVariables>
-                <qpid.proton.implementationtype>PROTON_C</qpid.proton.implementationtype>
-              </systemPropertyVariables>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-      <dependencies>
-        <dependency>
-          <groupId>org.apache.qpid</groupId>
-          <artifactId>proton-jni</artifactId>
-          <version>${project.parent.version}</version>
-          <scope>system</scope>
-          <systemPath>${jni-jar}</systemPath>
-        </dependency>
-      </dependencies>
-    </profile>
-  </profiles>
-
-  <parent>
-    <groupId>org.apache.qpid</groupId>
-    <artifactId>proton-project</artifactId>
-    <version>1.0-SNAPSHOT</version>
-  </parent>
-  <scm>
-    <url>http://svn.apache.org/viewvc/qpid/proton/</url>
-  </scm>
 </project>

Modified: qpid/proton/trunk/tests/python/proton-test
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/tests/python/proton-test?rev=1562574&r1=1562573&r2=1562574&view=diff
==============================================================================
--- qpid/proton/trunk/tests/python/proton-test (original)
+++ qpid/proton/trunk/tests/python/proton-test Wed Jan 29 20:26:46 2014
@@ -676,7 +676,6 @@ while limit == 0 or count < limit:
   if runthrough():
     if count > 1:
       print " -- (failures after %s runthroughs)" % count
-    sys.exit(1)
   else:
     continue
 



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org