How to patch third party libraries (Proposal)
JBCS uses a number of third party libraries, and ocassionally we encounter problems with those libraries, such that we need a fix made in the library to fix a bug with JBCS. We prefer that fixes are maintained upstream, however sometimes it is necessary to get the fix included in a build of JBCS.
Given that, here is a proposed process.
Download the source for the third party library.
Fix the bug/add the feature and run any unit tests supplied with that library.
Build the library, and use it to test the fix in JBCS.
Create a patch and send it to the library's maintainers.
If it is necessary that we release JBCS with the fixed library, due to the critical nature of the bug, or slow turn-around on the part of the team maintaining the third party library then:
Include the library in the JBCS lib directory (name it so that we recognised it as a patched version of the jar).
Update the build files to include the new version of the library.
Put the patch for the library in the patch directory in the JBCS source repository (for prosterity).
When the new version of the library with the fix included is released, update JBCS accordingly.