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/e962be5e0dd86335cc66415a0a417f9e4bb3040b
yers,
Mark <evenson@panix.com>
--
"A screaming comes across the sky. It has happened before but there is nothing
to compare to it now."