-
Notifications
You must be signed in to change notification settings - Fork 162
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
Require Java 11 and Jenkins 2.361.4 or newer #126
Require Java 11 and Jenkins 2.361.4 or newer #126
Conversation
This is required to be able to work on modern core version of Jenkins.
Several changes have been made to the Jenkins ecosystem since this project was built. Adapt several of the calls to the latest call signatures: * Selenium WebDriver now takes Duration instead of seconds / int + unit * The Messages class is now internal-only inside Jenkins. * Converted BuildPipelineDashboardTest to Java to avoid duplicate class error when building groovy * Matrix-auth is now a plugin * Spock needs to target the right Groovy version, now 2.4. * Use parent-pom specified surefire (now 3.0) * Specify "escape-by-default" jelly configuration
Jenkins has removed the ability to pass undeclared parameters as part of a security fix. These two assertions rely on that security hole. Remove them.
Remove two dependency declarations that are now provided by the parent pom. Update the plugin bill of materials to match the minimum required Jenkins version. Declare the objenesis version because it is no longer provided by the parent pom.
Fix a spotbugs warning without changing code behavior
Prevent future spotbugs messages from being introduced, without resolving the existing issues.
The checkstyle complaints are not very helpful, but it is easier to resolve the complaints than to declare some form of exception to the complaints.
Compilation fails with Java 17
This is amazing! I took your branch and added a fix to all icons (the PR you mentioned did not fix everything). |
This comment was marked as outdated.
This comment was marked as outdated.
Submitted as a patch to my pull request
The plugin build was successful and the icons display correctly thanks to @yoavain-sundaysky |
@dalvizu , @recena , or @geoffbullen would you be willing to merge this? The plugin is popular enough that I believe it should eventually be tested with Java 21. That's not this pull request, but might arrive in a future pull request. |
I'll review and merge this by Friday. I can't be an effective maintainer of this plugin going forward, is there an area to list a plugin as open for adoption? |
Thanks for asking. There is a place to announce that the plugin is up for adoption. If you add the "adopt-this-plugin" topic to the GitHub repository, that will make it visible to others that it is up for adoption. You can see an example with the jaxb plugin. As an added step, you could also announce that it is up for adoption on the Jenkins developer mailing list. |
Released in 2.0.0 |
// Compilation fails on Java 17 | ||
// [ platform: 'linux', jdk: '17' ], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Require Java 11 and Jenkins 2.361.4 or newer
Jenkins core has required Java 11 for over a year. As part of preparing for Java 21 support, I updated this plugin to require Java 11 and to use Jenkins 2.361.4 or newer as its minimum version.
Not ready for Java 17 or Java 21 because gmaven is used to compile groovy source files and that seems to no longer be recommended practice by the gmaven plugin maintainers.
Changes in this pull request are necessary but not sufficient for modernization of this plugin.
Based on the work in the pull requests:
Other changes that were made included:
Testing done
Confirmed that tests pass with Java 11 on Linux and that warnings are silenced from
mvn clean verify
.Confirmed that interactive use with Jenkins 2.414.3 is no worse than it was before this pull request. Images are now displayed correctly in the view provided by this plugin.
Submitter checklist