Bck2Brwsr 0.50
From APIDesign
(4 intermediate revisions not shown.) | |||
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 | + | 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. | ||
Line 16: | Line 18: | ||
* [https://github.com/jtulach/bck2brwsr/blob/95c99ef/rt/vm11/src/test/java/org/apidesign/bck2brwsr/vm11/NestMatesTest.java#L36 NestMatesTest.java] for JDK11 related functionality | * [https://github.com/jtulach/bck2brwsr/blob/95c99ef/rt/vm11/src/test/java/org/apidesign/bck2brwsr/vm11/NestMatesTest.java#L36 NestMatesTest.java] for JDK11 related functionality | ||
- | Thanks in advance for helping [[Bck2Brwsr]] to get better! | + | Thanks in advance for trying and helping [[Bck2Brwsr]] to get better! |
Current revision
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 trying and helping Bck2Brwsr to get better!