Author: kwall
Date: Wed Jan 30 14:49:06 2013
New Revision: 1440436
URL: http://svn.apache.org/viewvc?rev=1440436&view=rev
Log:
PROTON-194: Update README/config.sh to reflect current implementation
Modified:
qpid/proton/branches/jni-binding/README
qpid/proton/branches/jni-binding/config.sh
Modified: qpid/proton/branches/jni-binding/README
URL:
http://svn.apache.org/viewvc/qpid/proton/branches/jni-binding/README?rev=1440436&r1=1440435&r2=1440436&view=diff
==============================================================================
--- qpid/proton/branches/jni-binding/README (original)
+++ qpid/proton/branches/jni-binding/README Wed Jan 30 14:49:06 2013
@@ -1,47 +1,46 @@
-Proton is library for speaking AMQP, including:
-
- + The AMQP Messenger API, a simple but powerful interface to send
- and receive messages over AMQP.
+Proton is a library for speaking AMQP, including:
+ + The AMQP Messenger API, a simple but powerful interface to send and receive
+ messages over AMQP.
+ The AMQP Protocol Engine, a succinct encapsulation of the full
AMQP protocol machinery.
Proton is designed for maximum embeddability:
+ minimal dependencies
-
+ minimal assumptions about application threading model
Proton is designed to scale up and down:
- + transparently supports both simple peer to peer messaging and
- complex globally federated topologies
+ + transparently supports both simple peer to peer messaging and complex
+ globally federated topologies
Proton is multi-lingual:
- + designed for easy language bindings
- - includes full fidelity data exchange:
- maps, lists, strings, custom data structures, and more
-
-PHTOD mention that two implementations exist - proton-c and proton-j.
+ + Proton-C - a C implementation with lanuage bindings in Python, Php, Perl,
+ Ruby, and Java (via JNI).
+ + Proton-J - a pure Java implementation
Please see http://qpid.apache.org/proton for a more info.
-========================
-== Build Instructions ==
-========================
+==== Build Instructions ====
-PHTODO mention that cmake and maven exist.
+Proton has two separate build systems reflecting the nature of the its
+two implementations.
-========================
-== cmake ==
+ + Proton-C and the language bindings use CMake.
+ + Proton-J uses Maven.
-== Build Instructions (Linux) ==
+The two build systems are independent of one and other, that is, Proton-C
+may be built independently of Proton-J, and vice-versa.
+=== Proton-C ===
-The following prerequesuites are required to do a full build. If you
-do not wish to build a given language binding you can omit the -devel
-package for that language:
+== 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 omit the package for that
+language:
# required dependencies
yum install gcc cmake libuuid-devel
@@ -50,7 +49,7 @@ package for that language:
yum install openssl-devel
# dependencies needed for bindings
- yum install swig python-devel ruby-devel php-devel
+ yum install swig python-devel ruby-devel php-devel java-1.6.0-openjdk
# dependencies needed for python docs
yum install epydoc
@@ -74,14 +73,14 @@ From the directory where you found this
Note that all installed files are stored in the install_manifest.txt
file.
-
== Build Instructions (Windows) ==
-This describes how to build the Proton library on Windows using Microsoft
Visual C++ 2010
-Express (VC10).
+This describes how to build the Proton library on Windows using Microsoft
+Visual C++ 2010 Express (VC10).
-The Proton build uses the cmake tool to generate the Visual Studio project
files. These
-project files can then be loaded into Express and used to build the Proton
library.
+The Proton build uses the cmake tool to generate the Visual Studio project
+files. These project files can then be loaded into Express and used to build
+the Proton library.
Note that these instructions were created using a 32 bit version of Windows 7
Professional. These instructions assume use of a command shell.
@@ -122,27 +121,58 @@ Step 3: Generate the Visual Studio proje
Step 4: Load the ALL_BUILD project into Visual C++ Express.
4a: Run the Microsoft Visual C++ Express IDE
- 4b: From within the IDE, open the ALL_BUILD project file - it should be
in the
- 'build' directory you created above.
+ 4b: From within the IDE, open the ALL_BUILD project file - it should be in
+ the 'build' directory you created above.
Step 5: Build the ALL_BUILD project.
+=== Proton-J ===
+
+== Build Instructions (All platforms) ==
+
+The following prerequesuites are required to do a full build.
+
+ + Apache Maven 3.0 (or higher) (http://maven.apache.org/)
+
+From the directory where you found this README file:
+
+ # To compile and package all Java modules (omitting the tests)
+ mvn -DskipTests package
+
+ # To install the packages in the local Maven repository (usually ~/.m2/repo)
+ mvn -DskipTests install
+
+=== Testing ===
+
+To test Proton, run the system tests (located in the tests subdirectory).
+The system tests are applicable to both the Proton-C and Proton-J
+implementations.
+
+== Test Instructions (Proton-C only) ==
+To run the system tests against Proton-C, from the directory where you found
this
+README file:
+ # Source conifig.sh to set-up the Python path.
+ . config.sh
-========================
-== maven ==
+ # Execute the tests
+ ./tests/python/proton-test
+== Test Instructions (Proton-J and Proton-C) ==
-========================
-== testing ==
+To run the system tests, execute Maven specifying profile 'proton-j' to
+test Proton-J, and 'proton-jni' to test the Proton-C implementation via the
+JNI bindings. (To test Proton-C via the JNI Bindings the JNI Binding must have
+been built with Cmake as described above).
-TODO tidy up the following
+ # To test Proton-J
+ mvn test -P proton-j
-Contains the Proton system tests, which are written in Java but can be
-used to test either the Java or C implementations.
+ # To test Proton-C via the JNI Bindings
+ mvn test -P proton-jni
-To run the tests from a clean checkout:
+ # To produce a nicely formated report containing the test results
+ # (in tests/target/site/surefire-report.html)
+ mvn surefire-report:report
-* 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/config.sh
URL:
http://svn.apache.org/viewvc/qpid/proton/branches/jni-binding/config.sh?rev=1440436&r1=1440435&r2=1440436&view=diff
==============================================================================
--- qpid/proton/branches/jni-binding/config.sh (original)
+++ qpid/proton/branches/jni-binding/config.sh Wed Jan 30 14:49:06 2013
@@ -23,8 +23,8 @@ export PROTON_HOME=$(pwd)
cd - > /dev/null
if [ -z "$CPROTON_BUILD" ]; then
- if [ -d $PROTON_HOME/proton-c/build ]; then
- PROTON_BINDINGS=$PROTON_HOME/proton-c/build/bindings
+ if [ -d $PROTON_HOME/build/proton-c ]; then
+ PROTON_BINDINGS=$PROTON_HOME/build/proton-c/bindings
else
PROTON_BINDINGS=$PROTON_HOME/proton-c/bindings
fi
@@ -34,9 +34,8 @@ fi
# Python & Jython
export PYTHON_BINDINGS=$PROTON_BINDINGS/python
-export COMMON_PYPATH=$PROTON_HOME/tests
+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/src/main/scripts:$PROTON_HOME/proton-j/target/qpid-proton-1.0-SNAPSHOT.jar
# PHP
export PHP_BINDINGS=$PROTON_BINDINGS/php
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]