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

Ensure plugin compatibility with Java 17 #2033

Closed
iluwatar opened this issue Sep 28, 2022 · 7 comments
Closed

Ensure plugin compatibility with Java 17 #2033

iluwatar opened this issue Sep 28, 2022 · 7 comments

Comments

@iluwatar
Copy link
Owner

iluwatar commented Sep 28, 2022

This issue is a part of the Java 17 transition plan at https://github.com/iluwatar/java-design-patterns/wiki/19.-Java-17-transition.

The Maven build uses a plethora of plugins. In this issue let's ensure that all the used plugins have been updated to versions that support Java 17.

Acceptance criteria

  • All the Maven plugins have been updated to recent versions that support Java 17
@HeVictor
Copy link
Contributor

HeVictor commented Oct 3, 2022

Hi, I would like to give this a crack if that's alright. Thanks!

@HeVictor
Copy link
Contributor

HeVictor commented Oct 3, 2022

Hi @iluwatar, I've been working on this issue and if it's alright I'd like to ask for some tips just to see if I'm on the right track. So far after forking and cloning the repo locally I've built the project in my IDE and I've configured it to use Java 17. Initially my approach was to go through each plugin to see if their versions have any release notes on whether it supports JDK 17 and then bump relevant ones in the POM file, but while some plugins mention this from their release notes I couldn't find this info for a lot of them anywhere (although sometimes I can find a couple of issue threads on other repos talking about fixing JDK compatibility issues for a plugin by bumping it above a certain version).

Thus currently my approach is running mvn clean install to see what errors pop up from each of the design pattern directories and see if I can fix them through upping the plugin versions. My question is since there will be other incompatibility issues the project faces after switching to Java 17 as-is (such as due to library dependency incompatibilities), how should I make the changes in my PR to ensure plugin compatibility is met even if there's still errors during build or install? In other words what kind of testing steps should I take to verify that I've ensured compatibility for all the plugins in the project, beyond building the project in maven and running the unit tests?

I'm happy to put up a draft PR to show the changes I've made so far if it's easier to discuss where I'm at. Thanks so much for your time.

@iluwatar
Copy link
Owner Author

iluwatar commented Oct 3, 2022

I think executing ./mvnw clean install should uncover 99% of the issues. Additionally, we can try to run each pattern using the command line e.g. java -jar proxy.jar, but the unit tests should mostly cover it already.

@yonatankarp
Copy link
Contributor

@HeVictor can we close this issue? or are there any other dependencies that should be migrated first?

@HeVictor
Copy link
Contributor

@yonatankarp As far as I know all of the other plugin dependencies work under Java 17 except for the current naked-objects pattern directory which will break, as I mentioned in the previous comment. I'm still having a crack at updating the naked objects module to the latest version using Apache Isis (#1683) which will solve this problem when that is completed, however it is going a little slow at the moment.

@iluwatar Hope it's alright if I pull you into this discussion. Do you think it could be good to close this issue and keep the problem of updating naked-objects within #1683 or should this still remain open until that's resolved?

@iluwatar
Copy link
Owner Author

@HeVictor thanks for the update. I think we can close this issue as completed.

Repository owner moved this from In Progress to Done in Java Design Patterns project Oct 30, 2022
@iluwatar iluwatar added this to the 1.26.0 milestone Oct 30, 2022
@iluwatar
Copy link
Owner Author

Besides the naked objects pattern, we need to complete #2035 #2036 #2037 before switching to Java 17 build. See https://github.com/iluwatar/java-design-patterns/wiki/19.-Java-17-transition

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

3 participants