[
https://issues.apache.org/jira/browse/PROTON-194?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Philip Harvey updated PROTON-194:
---------------------------------
Description:
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.
Each of the following things should be easy to do in a small number of steps
(ideally in one step).
- Starting from a fresh checkout out the base proton directory:
- Build proton-c, including the language bindings
- Build proton-j
- Run the system tests against:
- proton-c via its Python binding
- proton-c via the JNI binding
- proton-j
After making a local code change to any part of Proton it should also be easy
to re-run each of the system test configurations listed above.
- Create an SVN tag and use it to:
- Release the proton-c tarball
- Publish the proton-j maven artefacts
I'm not sure how fixed the aforementioned requirements are for independent
proton-j/proton-c checkouts. Maybe we could relax the requirement by stating
that you would also need to check out an accompanying top-level "api" module.
All the usual software engineering rules apply, e.g.
- Don't Repeat Yourself
- Adhere to the Principle of Least Surprise
was:
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.
Each of the following things should be easy to do in a small number of steps
(ideally in one step).
- Starting from a fresh checkout out the base proton directory:
- Build proton-c, including the language bindings
- Build proton-j
- Run the system tests against:
- proton-c via its Python binding
- proton-c via the JNI binding
- proton-j
After making a local code change to any part of Proton it should also be easy
to re-run each of the system test configurations listed above.
- Create an SVN tag and use it to:
- Release the proton-c tarball
- Publish the proton-j maven artefacts
I'm not sure how fixed the aforementioned requirements for independent
checkouts are. Maybe we could relax the requirement by stating that you would
also need to check out an accompanying top-level "api" module.
All the usual software engineering rules apply, e.g.
- Don't Repeat Yourself
- Adhere to the Principle of Least Surprise
> Change proton's build systems to support 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.
> Each of the following things should be easy to do in a small number of steps
> (ideally in one step).
> - Starting from a fresh checkout out the base proton directory:
> - Build proton-c, including the language bindings
> - Build proton-j
> - Run the system tests against:
> - proton-c via its Python binding
> - proton-c via the JNI binding
> - proton-j
> After making a local code change to any part of Proton it should also be easy
> to re-run each of the system test configurations listed above.
> - Create an SVN tag and use it to:
> - Release the proton-c tarball
> - Publish the proton-j maven artefacts
> I'm not sure how fixed the aforementioned requirements are for independent
> proton-j/proton-c checkouts. Maybe we could relax the requirement by stating
> that you would also need to check out an accompanying top-level "api" module.
> All the usual software engineering rules apply, e.g.
> - Don't Repeat Yourself
> - Adhere to the Principle of Least Surprise
--
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