DEV Community

Eric Ahnell
Eric Ahnell

Posted on

2 1

Moving the needle forward: mass-upgrading 30 Java games to JDK 11

This has been a much larger undertaking than I thought it would be... I've completed the first 3 of the 7 phases:

  • Set the SDK for all projects to JDK 11 [DONE]
  • Migrate core dependencies to their Java 11 equivalents [DONE]
  • Fix all compiler errors caused by the previous two phases [DONE]
  • Make sure all projects declare a module and dependencies
  • Migrate project-unique dependencies to Java 11
  • Fix MORE compiler errors and various warnings left until now
  • Test the results of the changes!

Making matters slightly harder is that the original projects were compiled in a number of different Java versions, exactly zero of which are 11. Also, some of the projects needed code specific to them upstreamed into the shared dependencies to work - this obviously benefits all the other projects too. More of this will happen when the project-unique stuff is tackled. The one bit of good news is that the required changes so far to make the code compile are highly similar across all 30 projects, turning that part into a copy/paste job. Love those. 😀

You may be curious why I'm doing this now, in light of my LOVE2D efforts. The reason is that all of these games need to be rewritten in LOVE2D at some point, and doing that is a LOT easier if they're all first moved to a common baseline. As for the code itself... that's here.

AWS GenAI LIVE image

Real challenges. Real solutions. Real talk.

From technical discussions to philosophical debates, AWS and AWS Partners examine the impact and evolution of gen AI.

Learn more

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay