Qpid Proton Developer Information
=================================

DEVELOPMENT ENVIRONMENT
=======================

To setup the variables for your development environment, simply source
the file $BLDDIR/config.sh [$BLDDIR points to the proton build directory]:

  $ source config.sh

This file sets the needed environment variables for all supported dynamic
languages (Python, Perl, Ruby, PHP) as well as for Java and for testing.

You will need to have set up the build directory first with cmake before the file
will exist (see the instructions in README).


MAILING LIST
============

Subscribe to the Qpid Proton mailing list here:

  http://qpid.apache.org/proton/mailing_lists.html



PATCHES
=======

The best way to submit patches it to create a bug report or feature request
on the project's JIRA instance:

  http://issues.apache.org/jira/browse/PROTON

You can attach any patch(es) to the report/request there
