Author: philharveyonline Date: Tue Jan 29 17:23:40 2013 New Revision: 1440006
URL: http://svn.apache.org/viewvc?rev=1440006&view=rev Log: PROTON-194: WIP pulled up README files (not finished), tidied up cmake files (eg now including proton.py in proton-j-impl.jar), and renamed maven profile to proton-jni. Added: qpid/proton/branches/jni-binding/README - copied, changed from r1440005, qpid/proton/branches/jni-binding/proton-c/README Removed: qpid/proton/branches/jni-binding/proton-c/README qpid/proton/branches/jni-binding/proton-j/proton/README qpid/proton/branches/jni-binding/tests/README Modified: qpid/proton/branches/jni-binding/CMakeLists.txt qpid/proton/branches/jni-binding/bin/release.sh qpid/proton/branches/jni-binding/cmake/Modules/UseProtonJava.cmake qpid/proton/branches/jni-binding/pom.xml qpid/proton/branches/jni-binding/proton-j/proton-api/CMakeLists.txt qpid/proton/branches/jni-binding/proton-j/proton/CMakeLists.txt qpid/proton/branches/jni-binding/tests/pom.xml Modified: qpid/proton/branches/jni-binding/CMakeLists.txt URL: http://svn.apache.org/viewvc/qpid/proton/branches/jni-binding/CMakeLists.txt?rev=1440006&r1=1440005&r2=1440006&view=diff ============================================================================== --- qpid/proton/branches/jni-binding/CMakeLists.txt (original) +++ qpid/proton/branches/jni-binding/CMakeLists.txt Tue Jan 29 17:23:40 2013 @@ -29,6 +29,8 @@ set (PN_VERSION "${PN_VERSION_MAJOR}.${P # 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") # Used to allow the building of the Java bindings when CMAKE_VERSION < 2.6.8 if ( ${CMAKE_VERSION} VERSION_LESS "2.8.6" ) Copied: qpid/proton/branches/jni-binding/README (from r1440005, qpid/proton/branches/jni-binding/proton-c/README) URL: http://svn.apache.org/viewvc/qpid/proton/branches/jni-binding/README?p2=qpid/proton/branches/jni-binding/README&p1=qpid/proton/branches/jni-binding/proton-c/README&r1=1440005&r2=1440006&rev=1440006&view=diff ============================================================================== --- qpid/proton/branches/jni-binding/proton-c/README (original) +++ qpid/proton/branches/jni-binding/README Tue Jan 29 17:23:40 2013 @@ -23,12 +23,24 @@ Proton is multi-lingual: - includes full fidelity data exchange: maps, lists, strings, custom data structures, and more +PHTOD mention that two implementations exist - proton-c and proton-j. + Please see http://qpid.apache.org/proton for a more info. +======================== +== Build Instructions == +======================== + +PHTODO mention that cmake and maven exist. + +======================== +== cmake == + == Build Instructions (Linux) == + The following prerequesuites are required to do a full build. If you -do not wish to build a given language binding you can ommit the -devel +do not wish to build a given language binding you can omit the -devel package for that language: # required dependencies @@ -117,3 +129,20 @@ Step 5: Build the ALL_BUILD project. + +======================== +== maven == + + +======================== +== testing == + +TODO tidy up the following + +Contains the Proton system tests, which are written in Java but can be +used to test either the Java or C implementations. + +To run the tests from a clean checkout: + +* If you want to test proton-c, build it using the instructions in ./proton-c/README +* run "mvn test -P proton-c" or "mvn test -P proton-j" Modified: qpid/proton/branches/jni-binding/bin/release.sh URL: http://svn.apache.org/viewvc/qpid/proton/branches/jni-binding/bin/release.sh?rev=1440006&r1=1440005&r2=1440006&view=diff ============================================================================== --- qpid/proton/branches/jni-binding/bin/release.sh (original) +++ qpid/proton/branches/jni-binding/bin/release.sh Tue Jan 29 17:23:40 2013 @@ -19,7 +19,8 @@ # under the License. # -# +# TODO modify this script to create the correct artefacts from the top level (i.e. not from separate proton-c/proton-j subfolders) + # release.sh - Creates release tarballs from the upstream source # repository. # Modified: qpid/proton/branches/jni-binding/cmake/Modules/UseProtonJava.cmake URL: http://svn.apache.org/viewvc/qpid/proton/branches/jni-binding/cmake/Modules/UseProtonJava.cmake?rev=1440006&r1=1440005&r2=1440006&view=diff ============================================================================== --- qpid/proton/branches/jni-binding/cmake/Modules/UseProtonJava.cmake (original) +++ qpid/proton/branches/jni-binding/cmake/Modules/UseProtonJava.cmake Tue Jan 29 17:23:40 2013 @@ -17,13 +17,13 @@ # under the License. # -# Adds a custom command to rebuild the JAR to include META-INF resources and the +# Adds a custom command to rebuild the JAR to include resources and the # directory entries that are missed by add_jar() function (rebuild_jar upstream_target jar_name) add_custom_command(TARGET ${upstream_target} POST_BUILD COMMAND ${Java_JAR_EXECUTABLE} cf ${jar_name} - -C ${CMAKE_CURRENT_SOURCE_DIR}/src/main/resources META-INF + -C ${CMAKE_CURRENT_SOURCE_DIR}/src/main/resources . -C ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${upstream_target}.dir/ org COMMENT "Rebuilding ${jar_name} to include missing resources") endfunction () Modified: qpid/proton/branches/jni-binding/pom.xml URL: http://svn.apache.org/viewvc/qpid/proton/branches/jni-binding/pom.xml?rev=1440006&r1=1440005&r2=1440006&view=diff ============================================================================== --- qpid/proton/branches/jni-binding/pom.xml (original) +++ qpid/proton/branches/jni-binding/pom.xml Tue Jan 29 17:23:40 2013 @@ -44,7 +44,7 @@ </modules> </profile> <profile> - <id>proton-c</id> + <id>proton-jni</id> <modules> <module>proton-j/proton-api</module> <module>tests</module> Modified: qpid/proton/branches/jni-binding/proton-j/proton-api/CMakeLists.txt URL: http://svn.apache.org/viewvc/qpid/proton/branches/jni-binding/proton-j/proton-api/CMakeLists.txt?rev=1440006&r1=1440005&r2=1440006&view=diff ============================================================================== --- qpid/proton/branches/jni-binding/proton-j/proton-api/CMakeLists.txt (original) +++ qpid/proton/branches/jni-binding/proton-j/proton-api/CMakeLists.txt Tue Jan 29 17:23:40 2013 @@ -22,3 +22,4 @@ set(CMAKE_JAVA_TARGET_VERSION ${PN_VERSI file(GLOB_RECURSE SOURCES_ABS "src/main/java/*.java") add_jar(proton-api ${SOURCES_ABS}) +rebuild_jar(proton-api proton-api-${PN_VERSION}.jar) \ No newline at end of file Modified: qpid/proton/branches/jni-binding/proton-j/proton/CMakeLists.txt URL: http://svn.apache.org/viewvc/qpid/proton/branches/jni-binding/proton-j/proton/CMakeLists.txt?rev=1440006&r1=1440005&r2=1440006&view=diff ============================================================================== --- qpid/proton/branches/jni-binding/proton-j/proton/CMakeLists.txt (original) +++ qpid/proton/branches/jni-binding/proton-j/proton/CMakeLists.txt Tue Jan 29 17:23:40 2013 @@ -17,15 +17,16 @@ # under the License. # -set(BOUNCYCASTLE_VERSION 1.47) +set(BOUNCYCASTLE_VERSION 1.47 CACHE STRING "Version of Bouncycastle to compile proton-j-impl against") + find_jar(BOUNCYCASTLE_BCPKIX_JAR NAMES bcpkix-jdk15on - PATHS $ENV{PROTON_JAR_DEPEND_DIR} + PATHS ${PROTON_JAR_DEPEND_DIR} VERSIONS ${BOUNCYCASTLE_VERSION} DOC "Full path to Bouncycastle PKIX jar") find_jar(BOUNCYCASTLE_BCPROV_JAR NAMES bcprov-jdk15on - PATHS $ENV{PROTON_JAR_DEPEND_DIR} + PATHS ${PROTON_JAR_DEPEND_DIR} VERSIONS ${BOUNCYCASTLE_VERSION} DOC "Full path to Bouncycastle Provider jar") @@ -55,5 +56,5 @@ if (BOUNCYCASTLE_FOUND) add_dependencies(proton-j-impl proton-api) else() - message("Won't build proton-j-impl because one or more Bouncycastle jars were not found") + message("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() \ No newline at end of file Modified: qpid/proton/branches/jni-binding/tests/pom.xml URL: http://svn.apache.org/viewvc/qpid/proton/branches/jni-binding/tests/pom.xml?rev=1440006&r1=1440005&r2=1440006&view=diff ============================================================================== --- qpid/proton/branches/jni-binding/tests/pom.xml (original) +++ qpid/proton/branches/jni-binding/tests/pom.xml Tue Jan 29 17:23:40 2013 @@ -25,18 +25,16 @@ <artifactId>tests</artifactId> <version>1.0-SNAPSHOT</version> - <description> -The Proton system tests execute against either the Java or the C implementations, based on the chosen profile. + <description>The Proton system tests execute against either the Java or the C implementations, based on the chosen profile. -To execute, run either "mvn test -P proton-j" or "mvn test -P proton-c". +To execute, run either "mvn test -P proton-j" or "mvn test -P proton-jni". To reduce the set of Python tests run, set system property proton.pythontest.pattern, for example: mvn test -Dproton.pythontest.pattern='proton_tests.transport.TransportTest.*' -The proton-c profile looks for the JNI jar and native libraries under directory <basedir>/proton-c/build. -To override this, run Maven like so: "mvn test -P proton-c -Dproton-c-build-dir=/path/to/build/dir". -</description> +The proton-jni profile looks for the JNI jar and native libraries under directory <basedir>/build/proton-c. +To override this, run Maven like so: "mvn test -P proton-jni -Dproton-c-build-dir=/path/to/build/dir".</description> <build> <plugins> @@ -90,7 +88,7 @@ To override this, run Maven like so: &qu </dependencies> </profile> <profile> - <id>proton-c</id> + <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. --> --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org