Dear long-suffering fans of the Bear,
Rejoice! for preparations for the release of abcl-1.6.0 to support openjdk{6,7,8,11} and beyond near completion.
We have managed to get a [Continuous Integration (CI)][travis-builds] build mostly working via Travis CI integration with the Github repository. Anyone who forks us on Github with suitable monkeying around can get automated build and test results for their commits to their fork. The [current version of the tests][.travis.yml] attempt to run in environments that are the cross product of macOS/Linux with openjdk8/openjdk11. This isn't quite completely working yet as I haven't apparently figured out how to use jenv in Travis to specify the correct openjdk to invoke, but I'm close. For now, we at least getting test coverage for openjdk11 under Linux, and I hope to iron out the remaining kinks real soon now. It should be theoretically possible to [add Windows builds][windows-builds] as well, but I am planning on to tackling that in the near future.
The CI tests have given me the confidence to next attempt to release abcl-1.6.0 via existing release engineering process in spite of the following problems:
1. While they seemingly pass in the CI, the CFFI linkages to CL+SSL libraries often fail in a spectacularly segmentation fault in practical use. With judicious refinement, I think we can figure out what is going but for now we should just accept this.
2. [A major regression from abcl-1.5.0][pathname-problems] concerning the use of CL:PATHNAME to refer to objects within a jar/zip archive has been discovered, but curiously it is seemingly not fatal to anything other than the execution of ABCL test suite. In analyzing the problems, I realized that we can considerably clean up our abstraction for a CL:PATHNAME which denotes an entry in an archive by allowing nested archives using the CL:PATHNAME-DEVICE component. To do this in a reasonably clean manner means a fair amount of modification on the Java side of our implementation by reflecting the various types of a CL:PATHNAME in that Java hierarchy as Erik Hülsmann suggested many years ago. While I have some promising preliminary patches towards this, due to the amount of outstanding effort, I feel we should get abcl-1.6.0 out first.
Please holler loudly real soon if anyone has problems with releasing as things currently stand.
I intend follow up with abcl-1.6.1 within a month to hopefully address the two major blockers in addition to any errata.
[travis-builds]: https://travis-ci.org/armedbear/abcl/builds [.travis.yml]: https://github.com/armedbear/abcl/blob/master/.travis.yml [windows-builds]: https://twitter.com/ArmedBear/status/1197538417678192645 [cl+ssl-problems]: https://abcl.org/trac/ticket/464 [pathname-problems]: https://github.com/armedbear/abcl/commit/e962be5e0dd86335cc66415a0a417f9e4bb...
yers, Mark evenson@panix.com