leangen / geantyref

Advanced generic type reflection library with support for working with AnnotatedTypes (for Java 8+)
Apache License 2.0
99 stars 15 forks source link

feat: add support for jpms #29

Closed sgammon closed 1 week ago

sgammon commented 5 months ago

Summary

Adds a module-info.java so that Geantyref can be used from Modular Java apps.

Fixes and closes leangen/geantyref#28 and leangen/geantyref#26

Changelog

kaqqao commented 3 weeks ago

Hi @sgammon! Thanks for this. Java 8 is ancient enough that I'd rather drop support for it and make this 9+ only. And, to be honest, I don't really want to maintain a multi-release. Would you mind changing your PR to accommodate for that?

sgammon commented 3 weeks ago

@kaqqao happy to do so :)

sgammon commented 3 weeks ago

@kaqqao Okay, I've pushed so that only the JPMS changes are included. Geantyref is now Java 9+ only. Some overrides needed to be added to comply with Java 9+ APIs, and I took the liberty of adding the mvnw wrapper. Otherwise the PR is very clean.

I have been testing downstream in the JPMS Attic repo; this lets me exercise Geantyref against libraries that use it, with these changes applied. I'll report back if I encounter any issues. I expect tests to pass.

kaqqao commented 1 week ago

@sgammon Merged this, added the real implementations for the API introduced in Java 9 and released this as v2.0.0 🚀

sgammon commented 1 week ago

Thank you @kaqqao! 🥳