git checkout -b fix-jsr-305 master
Annotations for Nonnull
, CheckForNull
, and several others were proposed for Java as part of dormant Java specification request JSR-305.
The proposal never became a part of standard Java.
Jenkins plugins should switch from using JSR-305 annotations to use Spotbugs annotations that provide the same semantics.
Refer to the mailing list discussion from James Nord.
In a local copy of your fork of the plugin repository create a git branch for your work with the command:
git checkout -b fix-jsr-305 master
Replace imports of javax.annotation.Nonnull
with imports of edu.umd.cs.findbugs.annotations.NonNull
.
Replace references to Nonnull
with NonNull
.
Replace imports of javax.annotation.CheckForNull
with imports of edu.umd.cs.findbugs.annotations.CheckForNull
.
If the pom file includes a jsr305
dependency, remove it.
The spotbugs annotations are provided by the parent pom.
Use Apache Maven to compile the plugin and run its automated tests with the command:
mvn clean verify
Confirm that JSR-305 is not mentioned in the compiler output and that compilation succeeds.
Commit that change:
git add src/main/ src/test/
git commit -m "Fix JSR-305 annotations"
Push the change to GitHub:
git push origin --set-upstream fix-jsr-305
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 remote: remote: Create a pull request for '{task-identifier}' on GitHub by visiting: remote: https://github.com/user/your-plugin/pull/new/{task-identifier} remote: To github.com:user/your-plugin.git * [new branch] {task-identifier} -> {task-identifier} Branch '{task-identifier}' tracking remote branch '{task-identifier}'.
Notice that the output of the command includes the URL, which can be used to open a pull request. Copy that URL in your web browser and submit a pull request.