Skip to content

Commit

Permalink
Replace JSR-305 annotations with spotbugs annotations
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
MarkEWaite committed May 7, 2024
1 parent fa8b821 commit aaa093a
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 8 deletions.
7 changes: 3 additions & 4 deletions src/main/java/hudson/plugins/jira/JiraSite.java
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,6 @@
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Pattern;
import javax.annotation.Nonnull;
import javax.annotation.PreDestroy;
import javax.servlet.ServletException;
import jenkins.model.Jenkins;
Expand Down Expand Up @@ -980,19 +979,19 @@ public String getPropertyValue(final String s) {
throw new UnsupportedOperationException("Not implemented");
}

@Nonnull
@NonNull
@Override
public String getApplicationFileEncoding() {
return System.getProperty("file.encoding");
}

@Nonnull
@NonNull
@Override
public Optional<Path> getLocalHomeDirectory() {
return Optional.empty();
}

@Nonnull
@NonNull
@Override
public Optional<Path> getSharedHomeDirectory() {
return Optional.empty();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
import java.util.Date;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
import javax.annotation.Nonnull;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
Expand Down Expand Up @@ -271,19 +270,19 @@ public String getPropertyValue(String s) {
return null;
}

@Nonnull
@NonNull
@Override
public String getApplicationFileEncoding() {
return System.getProperty("file.encoding");
}

@Nonnull
@NonNull
@Override
public Optional<Path> getLocalHomeDirectory() {
return Optional.empty();
}

@Nonnull
@NonNull
@Override
public Optional<Path> getSharedHomeDirectory() {
return Optional.empty();
Expand Down

0 comments on commit aaa093a

Please sign in to comment.