Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add module-info definitions for the Java libraries #7236

Open
SamCarlberg opened this issue Oct 20, 2024 · 0 comments · May be fixed by #7424
Open

Add module-info definitions for the Java libraries #7236

SamCarlberg opened this issue Oct 20, 2024 · 0 comments · May be fixed by #7424
Labels
component: apriltag AprilTag library component: command-based WPILib Command Based Library component: cscore CameraServer library component: epilogue Annotation-based logging library component: hal Hardware Abstraction Layer component: ntcore NetworkTables library component: wpilibj WPILib Java component: wpimath Math library component: wpiunits Java units library component: wpiutil WPI utility library type: chore Formatting, reorganizing, and other necessary (but less impactful) tasks.

Comments

@SamCarlberg
Copy link
Member

Java 23 added support for module imports, which would allow users to use eg import module wpilib.units to import every type from the wpiunits library instead of needing a separate import for each class. It effectively acts like a star import on every package exported by the module. This could be helpful for new programmers who aren't familiar with the library, and for example projects and documentation.

https://openjdk.org/jeps/476

While module imports will need the new MRC for a compatible JDK version, the library can still be modularized on our current JDK

@SamCarlberg SamCarlberg added component: apriltag AprilTag library component: command-based WPILib Command Based Library component: cscore CameraServer library component: epilogue Annotation-based logging library component: hal Hardware Abstraction Layer component: ntcore NetworkTables library component: wpilibj WPILib Java component: wpimath Math library component: wpiutil WPI utility library component: wpiunits Java units library type: chore Formatting, reorganizing, and other necessary (but less impactful) tasks. labels Oct 20, 2024
@SamCarlberg SamCarlberg linked a pull request Nov 22, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: apriltag AprilTag library component: command-based WPILib Command Based Library component: cscore CameraServer library component: epilogue Annotation-based logging library component: hal Hardware Abstraction Layer component: ntcore NetworkTables library component: wpilibj WPILib Java component: wpimath Math library component: wpiunits Java units library component: wpiutil WPI utility library type: chore Formatting, reorganizing, and other necessary (but less impactful) tasks.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant