GutoVeronezi commented on PR #5909: URL: https://github.com/apache/cloudstack/pull/5909#issuecomment-1205592600
As explained in #5891, we choose [J2V8] to be our JS engine based on its relevance, performance and implementation; However, we faced a dependency on a GCC version higher or equal to 4.9. CentOS7, by default, is shipped with GCC 4.8, therefore, to build the packages we would need to build a newer GCC version and install it. In order to avoid this barrier, we searched for another JS engine and found [Nashorn Engine] (standalone) (which has a similar performance compared to [J2V8]). "The Nashorn JavaScript engine was first incorporated into JDK 8 via [JEP 174] as a replacement for the Rhino scripting engine" ([JEP 372]). Due to the rapid pace of development of ECMAScript, the community found Nashorn challenging to maintain. Then, in JDK 11, they started the engine deprecation ([JEP 335]). After that, the OpenJDK community created a standalone version of the [Nashorn Engine], which is available for JDK 11 and after. Currently, ACS is developed under JDK 11, which still has the engine as built-in; however, looking at future compatibility, we decided to use the standalone [Nashorn Engine] version. [Nashorn Engine] (standalone) will attend our necessities with JS processing inside Java, allowing users to write rules for Quota tariffs, equally as we achieved with [J2V8]. [J2V8]: https://github.com/eclipsesource/J2V8 [Nashorn Engine]: https://github.com/openjdk/nashorn [JEP 174]: https://openjdk.org/jeps/174 [JEP 335]: https://openjdk.org/jeps/335 [JEP 372]: https://openjdk.org/jeps/372 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
