You are viewing a plain text version of this content. The canonical link for it is here.
Posted to proton@qpid.apache.org by "Keith Wall (JIRA)" <ji...@apache.org> on 2013/01/30 17:37:13 UTC

[jira] [Commented] (PROTON-194) Change proton's build systems to allow for the creation of a Java binding for proton-c.

    [ https://issues.apache.org/jira/browse/PROTON-194?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13566594#comment-13566594 ] 

Keith Wall commented on PROTON-194:
-----------------------------------

The changes on the jni-branch are nearing completion.   The changes with respect to current trunk are summarised below.

- README/LICENSE files-

README/LICENCE files have been moved to the proton level. The README has been updated to reflect the new practice.


-Building Proton-C-

Build is now performed from the parent (proton) directory rather than proton-c.
If Cmake can find the JDK, proton-api and proton-jni will be built, otherwise they are skipped
If Cmake can find** Bouncycastle JARs, proton-j-impl will be built, otherwise it is skipped.

cd proton
mkdir build
cd build
cmake ..
...

** JAR search path is defined by Cmake's find_jar() function as /usr/share/java/ and /usr/local/share/java/.  This can be supplemented on the command line via:

cmake -DPROTON_JAR_DEPEND_DIR=... ..

-Testing Proton-C (Python tests)-

proton-test script and the Python tests have moved to accommodate tests written in other languages.

cd proton
. ./config.sh
./tests/python/proton-test

-Building Proton-J-

Build is now performed from the parent (proton) directory rather than proton-j.

Typical maven commands:

mvn compile -DskipTests # compile everything, skipping the tests
mvn package # package everything

-Testing Proton-J/Proton-C via JNI bindings-

mvn test -Pproton-j    # Run all system tests against proton-j
mvn test -Pproton-jnj  # Run all system tests against proton-c using jni wrappers ***
mvn test -Pproton-j -Dproton.pythontest.pattern='proton_tests.transport.TransportTest.*'   # Run Python tests matching patterm
 
*** you need to have previously built proton-c with the JNI bindings.


                
> Change proton's build systems to allow for the creation of a Java binding for proton-c.
> ---------------------------------------------------------------------------------------
>
>                 Key: PROTON-194
>                 URL: https://issues.apache.org/jira/browse/PROTON-194
>             Project: Qpid Proton
>          Issue Type: Improvement
>          Components: proton-c, proton-j
>            Reporter: Keith Wall
>
> The catalyst for this work was the need to conveniently build and test the JNI bindings created in PROTON-192.  However, there are a number of other requirements for our build system that are worth reiterating.
> To avoid making excessive edits  to this JIRA I've created a wiki page listing the provisional requirements of or build system: https://cwiki.apache.org/confluence/display/qpid/Proton+build+system+proposals

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira