cjstehno / ersatz

🤖 A simulated HTTP server for testing client code with configurable responses.
https://cjstehno.github.io/ersatz
Apache License 2.0
47 stars 5 forks source link

Java 9 Support #75

Closed cjstehno closed 5 years ago

cjstehno commented 7 years ago

Java 9 is out and it's not pretty. I upgraded, tried to build the project only to fail with odd errors... I then did a similar pattern on my other projects and got the same result. I then downgraded back to Java 8.

At this point, I don't have a Java 9 upgrade plan. My original understanding was that the modularization was an optional piece of functionality - it appears that it is not and that it also seems to break pretty much everything.

If you are comfortable with Java 9 and want to take a whack and getting Ersatz to compile and work, feel free to submit a Pull Request. If not for that, it might be a while unless I get a lot of outside pressure.

cjstehno commented 6 years ago

I was able to get the project to build under Java 10 by:

The big question at this point is how to handle an upgrade. I use Java 8 at home and work due to the slow progress on support. Suggestions here would be helpful if you are interested in using this under Java 9+:

cjstehno commented 6 years ago

I played around with this a bit more (see branch jdk-11) but still can't get it to build - pushing this off into 2.0 where the whole codebase will probably be pure java rather than Groovy.

My general plan is to create two release profiles - one for jdk8 and one for jdkcurrent (consider name options) with the jdkcurrent release being built under the most current release of the JDK. With the current update cadence Oracle is planning I think it's fair to say that once you take the JDK9+ plunge, you will stay up to date.

cjstehno commented 5 years ago

Version 1.10.0 will still build as JDK-8 but will work on JDK-11.