Bck2Brwsr 0.50
From APIDesign
Line 1: | Line 1: | ||
The [[Bck2Brwsr]] project has been updated to work with 2021 technologies: | The [[Bck2Brwsr]] project has been updated to work with 2021 technologies: | ||
* [[Gradle]] task rewritten to be compatible with 7.0 | * [[Gradle]] task rewritten to be compatible with 7.0 | ||
+ | * Support for '''--continuous''' [[Gradle]] mode has been added | ||
* [https://github.com/jtulach/bck2brwsr/issues/19 Issue 19] - support for [https://openjdk.java.net/jeps/181 nest based access control] has been implemented | * [https://github.com/jtulach/bck2brwsr/issues/19 Issue 19] - support for [https://openjdk.java.net/jeps/181 nest based access control] has been implemented | ||
Line 7: | Line 8: | ||
* [https://github.com/jtulach/bck2brwsr/commit/95c99ef9f90e0bc3d1d4fdac370c033ed48f1f25 StringConcatHandler] - converts the [https://openjdk.java.net/jeps/280 indy based] string concatenation into simple '''+''' of JavaScript strings | * [https://github.com/jtulach/bck2brwsr/commit/95c99ef9f90e0bc3d1d4fdac370c033ed48f1f25 StringConcatHandler] - converts the [https://openjdk.java.net/jeps/280 indy based] string concatenation into simple '''+''' of JavaScript strings | ||
- | The removal of [[RetroLambda]] is a [[good]] thing - the system was fragile. It relied on reflection and internal behavior of [[JDK]]s. However, replacing it with homemade implementation, is a request for regressions - finding and supporting all the corner cases, is going to take some time. | + | The removal of [[RetroLambda]] is a [[good]] thing - the system was fragile. It relied on reflection and internal behavior of [[JDK]]s. However, replacing it with homemade implementation, is a request for regressions - finding and supporting all the corner cases, is going to take some time. Thanks to Johan Vos, who managed to compile JavaFX with [[Bck2Brwsr]] transpiler and reported quite a few bugs. The likehood[Bck2Brwsr 0.50]] is going to work is now higher! |
+ | |||
<!-- | <!-- | ||
The '''1.0-SNAPSHOT''' version is being uploaded to https://maven.java.net/content/repositories/snapshots/ repository. | The '''1.0-SNAPSHOT''' version is being uploaded to https://maven.java.net/content/repositories/snapshots/ repository. |
Revision as of 19:21, 1 August 2021
The Bck2Brwsr project has been updated to work with 2021 technologies:
- Gradle task rewritten to be compatible with 7.0
- Support for --continuous Gradle mode has been added
- Issue 19 - support for nest based access control has been implemented
No more RetroLambda. Instead of RetroLambda there is now an abstract IndyHandler interface with two implementations:
- MetafactoryHandler - generates special JavaScript for recognized Java Closures
- StringConcatHandler - converts the indy based string concatenation into simple + of JavaScript strings
The removal of RetroLambda is a good thing - the system was fragile. It relied on reflection and internal behavior of JDKs. However, replacing it with homemade implementation, is a request for regressions - finding and supporting all the corner cases, is going to take some time. Thanks to Johan Vos, who managed to compile JavaFX with Bck2Brwsr transpiler and reported quite a few bugs. The likehood[Bck2Brwsr 0.50]] is going to work is now higher!
The easiest way to report an error is to enhance one of existing test-cases:
- SamTest.java for JDK8 closure support
- NestMatesTest.java for JDK11 related functionality
Thanks in advance for helping Bck2Brwsr to get better!