Skip to content

Commit 11cc152

Browse files
committed
Replace JSR-305 annotations with spotbugs annotations
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. The [mailing list discussion](https://groups.google.com/g/jenkinsci-dev/c/uE1wwtVi1W0/m/gLxdEJmlBQAJ) from James Nord describes the affected annotations and why they should be replaced with annotations that are actively maintained. The ["Improve a plugin" tutorial](https://www.jenkins.io/doc/developer/tutorial-improve/replace-jsr-305-annotations/) provides instructions to perform this change. An [OpenRewrite recipe](https://docs.openrewrite.org/recipes/jenkins/javaxannotationstospotbugs) is also available and is even better than the tutorial. Confirmed that automated tests pass on Linux with Java 21.
1 parent ca57d8e commit 11cc152

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/main/java/com/coravy/hudson/plugins/github/GithubLinkAnnotator.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
import hudson.scm.ChangeLogSet.Entry;
1010
import org.apache.commons.lang.StringUtils;
1111

12-
import javax.annotation.CheckForNull;
13-
import javax.annotation.CheckReturnValue;
14-
import javax.annotation.Nonnull;
12+
import edu.umd.cs.findbugs.annotations.CheckForNull;
13+
import edu.umd.cs.findbugs.annotations.CheckReturnValue;
14+
import edu.umd.cs.findbugs.annotations.NonNull;
1515

1616
import static hudson.Functions.htmlAttributeEscape;
1717
import static java.lang.String.format;
@@ -100,13 +100,13 @@ void process(MarkupText text, String url) {
100100
"(?:C|c)lose(?:s?)\\s(?<!\\:)(?:#)NUM", // "Closes #123"
101101
"issues/$1")};
102102

103-
@Nonnull
103+
@NonNull
104104
public static String getAllowedUriSchemes() {
105105
return StringUtils.join(ALLOWED_URI_SCHEMES, ',');
106106
}
107107

108108
@CheckReturnValue
109-
@Nonnull
109+
@NonNull
110110
public static boolean verifyUrl(@CheckForNull String urlString) {
111111
if (StringUtils.isBlank(urlString)) {
112112
return false;

0 commit comments

Comments
 (0)