Bck2Brwsr 0.50
From APIDesign
(9 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 | ||
- | * [https://github.com/jtulach/bck2brwsr/issues/19 Issue 19] - support for [https://openjdk.java.net/jeps/181 | + | * 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 | ||
No more [[RetroLambda]]. Instead of [[RetroLambda]] there is now an abstract [https://github.com/jtulach/bck2brwsr/blob/99bbd2e4224b497341959cb287c41baf98dc6bc0/rt/vm/src/main/java/org/apidesign/vm4brwsr/IndyHandler.java IndyHandler] interface with two implementations: | No more [[RetroLambda]]. Instead of [[RetroLambda]] there is now an abstract [https://github.com/jtulach/bck2brwsr/blob/99bbd2e4224b497341959cb287c41baf98dc6bc0/rt/vm/src/main/java/org/apidesign/vm4brwsr/IndyHandler.java IndyHandler] interface with two implementations: | ||
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 easiest way to report an error is to enhance one of existing test-cases: | The easiest way to report an error is to enhance one of existing test-cases: | ||
- | * [https://github.com/jtulach/bck2brwsr/blob/9bd50a75/rt/vm8/src/test/java/org/apidesign/bck2brwsr/vm8/SamTest.java | + | * [https://github.com/jtulach/bck2brwsr/blob/9bd50a75/rt/vm8/src/test/java/org/apidesign/bck2brwsr/vm8/SamTest.java SamTest.java] for JDK8 [[closure]] support |
- | * [https://github.com/jtulach/bck2brwsr/blob/95c99ef/rt/vm11/src/test/java/org/apidesign/bck2brwsr/vm11/NestMatesTest.java#L36 | + | * [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!