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.