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]

Reply via email to