ezylang / EvalEx

EvalEx is a handy expression evaluator for Java, that allows to evaluate simple mathematical and boolean expressions.
https://ezylang.github.io/EvalEx/
Apache License 2.0
980 stars 266 forks source link

Restore compatibility with Java 8 #451

Closed f-cramer closed 5 months ago

f-cramer commented 6 months ago

I would really like to use version 3, but unfortunatelly I am stuck with Java 8 for the foreseeable future. May I ask what was the reason for requiring Java 11 starting with version 3?

I already made the necessary changes to restore compatibility with Java 8 in my fork. It did not seem that any "new" API were used other then the of constructors on List and Set and Map#entries. Those can easily be changed to Collections#singleton(List), Arrays#asList and new AbstractMap.SimpleEntry. Other then that I only had to downgrade googleJavaFormat to version 1.7, because newer versions require Java 11.

uklimaschewski commented 6 months ago

Hi, I took the chance of the new major version with all the breaking changes to also upgrade the Java version. Though I was also thinking about moving to Java 17, I decided to be a bit more conservative and had chosen Java 11. In general, I would like to continue to also upgrade to newer Java versions from time to time.

When it comes to Java 8, there are possibly also some hidden problems, apart from the language changes. In version 2 (which uses Java 8), I had to add special treatments for the Java module system, which was introduced in Java 9.

f-cramer commented 5 months ago

Thanks for the quick answer. Guess I'll have to stick with version 2 for the time being