Skip to content

Commit e18894c

Browse files
author
david
committed
Replace JetBrains annotations with JSpecify
Replaced all occurrences of JetBrains annotations with JSpecify annotations across various classes to ensure consistency and modernize the codebase. Updated the build.gradle.kts to include JSpecify as a dependency for both compile and test environments.
1 parent c126591 commit e18894c

File tree

11 files changed

+31
-41
lines changed

11 files changed

+31
-41
lines changed

version-checker/build.gradle.kts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,11 @@ repositories {
2323

2424
dependencies {
2525
compileOnly("org.projectlombok:lombok:1.18.34")
26-
compileOnly("org.jetbrains:annotations:24.1.0")
27-
compileOnly(project(":annotations"))
2826

2927
api("com.google.code.gson:gson:2.11.0")
28+
compileOnly("org.jspecify:jspecify:1.0.0")
3029

31-
testCompileOnly(project(":annotations"))
30+
testCompileOnly("org.jspecify:jspecify:1.0.0")
3231

3332
testImplementation(platform("org.junit:junit-bom:5.10.0"))
3433
testImplementation("org.junit.jupiter:junit-jupiter")

version-checker/src/main/java/core/version/SemanticVersion.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
11
package core.version;
22

3-
import core.annotation.MethodsReturnNotNullByDefault;
4-
import core.annotation.ParametersAreNotNullByDefault;
5-
import org.jetbrains.annotations.Nullable;
3+
import org.jspecify.annotations.NullMarked;
4+
import org.jspecify.annotations.Nullable;
65

76
import java.util.Objects;
87

98
/**
109
* The SemanticVersion class represents a <a href="https://semver.org/">semantic version number</a>.
1110
* It implements the Version interface and provides methods to access and compare version components.
1211
*/
13-
@MethodsReturnNotNullByDefault
14-
@ParametersAreNotNullByDefault
12+
@NullMarked
1513
public record SemanticVersion(int major, int minor, int patch, @Nullable String preRelease) implements Version {
1614
/**
1715
* The PATTERN variable represents the regular expression pattern for a semantic version number.

version-checker/src/main/java/core/version/Version.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package core.version;
22

3-
import org.jetbrains.annotations.Nullable;
3+
import org.jspecify.annotations.Nullable;
44

55
/**
66
* The {@code Version} interface represents a version number without format.

version-checker/src/main/java/core/version/VersionChecker.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
package core.version;
22

3-
import org.jetbrains.annotations.Unmodifiable;
3+
import org.jspecify.annotations.NullMarked;
44

55
import java.util.Optional;
66
import java.util.Set;
77
import java.util.concurrent.CompletableFuture;
88

9+
@NullMarked
910
public interface VersionChecker<N, V extends Version> {
1011
/**
1112
* Retrieves the version of the currently running software.
@@ -50,7 +51,7 @@ public interface VersionChecker<N, V extends Version> {
5051
*
5152
* @return a CompletableFuture containing a Set of all versions
5253
*/
53-
CompletableFuture<@Unmodifiable Set<V>> retrieveVersions();
54+
CompletableFuture<Set<V>> retrieveVersions();
5455

5556
/**
5657
* Retrieves the latest supported version of the software asynchronously.
@@ -64,15 +65,13 @@ public interface VersionChecker<N, V extends Version> {
6465
*
6566
* @return an unmodifiable {@code Set} of supported versions
6667
*/
67-
@Unmodifiable
6868
Set<V> getSupportedVersions();
6969

7070
/**
7171
* Retrieves all available versions that have been queried up to this point.
7272
*
7373
* @return an unmodifiable {@code Set} of all available versions
7474
*/
75-
@Unmodifiable
7675
Set<V> getVersions();
7776

7877
/**

version-checker/src/main/java/core/version/github/GitHubVersionChecker.java

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,11 @@
22

33
import com.google.gson.Gson;
44
import com.google.gson.reflect.TypeToken;
5-
import core.annotation.FieldsAreNotNullByDefault;
6-
import core.annotation.MethodsReturnNotNullByDefault;
7-
import core.annotation.ParametersAreNotNullByDefault;
8-
import core.annotation.TypesAreNotNullByDefault;
95
import core.version.Version;
106
import core.version.VersionChecker;
117
import lombok.Getter;
128
import lombok.RequiredArgsConstructor;
13-
import org.jetbrains.annotations.Unmodifiable;
9+
import org.jspecify.annotations.NullMarked;
1410

1511
import java.net.URI;
1612
import java.net.http.HttpClient;
@@ -23,11 +19,8 @@
2319
import java.util.stream.Collectors;
2420

2521
@Getter
22+
@NullMarked
2623
@RequiredArgsConstructor
27-
@TypesAreNotNullByDefault
28-
@FieldsAreNotNullByDefault
29-
@MethodsReturnNotNullByDefault
30-
@ParametersAreNotNullByDefault
3124
public abstract class GitHubVersionChecker<V extends Version> implements VersionChecker<Release, V> {
3225
private static final String API_URL = "https://api.github.com/repos/%s/%s/";
3326
private static final HttpClient client = HttpClient.newBuilder()
@@ -56,7 +49,7 @@ public CompletableFuture<V> retrieveLatestVersion() {
5649
}
5750

5851
@Override
59-
public CompletableFuture<@Unmodifiable Set<V>> retrieveVersions() {
52+
public CompletableFuture<Set<V>> retrieveVersions() {
6053
return retrieveGitHubReleases().thenApply(versions -> versions.stream()
6154
.map(this::parseVersion)
6255
.collect(Collectors.toUnmodifiableSet()));
@@ -72,14 +65,14 @@ public CompletableFuture<V> retrieveLatestSupportedVersion() {
7265
}
7366

7467
@Override
75-
public @Unmodifiable Set<V> getSupportedVersions() {
68+
public Set<V> getSupportedVersions() {
7669
return releases.stream()
7770
.filter(this::isSupported)
7871
.map(this::parseVersion)
7972
.collect(Collectors.toUnmodifiableSet());
8073
}
8174

82-
public @Unmodifiable Set<V> getVersions() {
75+
public Set<V> getVersions() {
8376
return releases.stream()
8477
.map(this::parseVersion)
8578
.collect(Collectors.toUnmodifiableSet());

version-checker/src/main/java/core/version/github/Release.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package core.version.github;
22

33
import com.google.gson.annotations.SerializedName;
4+
import org.jspecify.annotations.NullMarked;
45

6+
@NullMarked
57
public record Release(
68
@SerializedName("html_url") String url,
79
@SerializedName("tag_name") String tag,
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
package core.version.hangar;
22

3+
import org.jspecify.annotations.NullMarked;
4+
35
import java.util.List;
46
import java.util.Map;
57

8+
@NullMarked
69
public record HangarVersion(String name, String author, Map<Platform, List<String>> platformDependencies) {
710
}

version-checker/src/main/java/core/version/hangar/HangarVersionChecker.java

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
11
package core.version.hangar;
22

33
import com.google.gson.Gson;
4-
import core.annotation.FieldsAreNotNullByDefault;
5-
import core.annotation.MethodsReturnNotNullByDefault;
6-
import core.annotation.ParametersAreNotNullByDefault;
7-
import core.annotation.TypesAreNotNullByDefault;
84
import core.version.Version;
95
import core.version.VersionChecker;
106
import lombok.Getter;
117
import lombok.RequiredArgsConstructor;
12-
import org.jetbrains.annotations.Unmodifiable;
8+
import org.jspecify.annotations.NullMarked;
139

1410
import java.net.URI;
1511
import java.net.http.HttpClient;
@@ -28,11 +24,8 @@
2824
* @param <V> the type parameter for the version
2925
*/
3026
@Getter
27+
@NullMarked
3128
@RequiredArgsConstructor
32-
@TypesAreNotNullByDefault
33-
@FieldsAreNotNullByDefault
34-
@MethodsReturnNotNullByDefault
35-
@ParametersAreNotNullByDefault
3629
public abstract class HangarVersionChecker<V extends Version> implements VersionChecker<HangarVersion, V> {
3730
private static final String API_URL = "https://hangar.papermc.io/api/v1/projects/%s/";
3831
private static final HttpClient client = HttpClient.newBuilder()
@@ -60,7 +53,7 @@ public CompletableFuture<V> retrieveLatestVersion() {
6053
}
6154

6255
@Override
63-
public CompletableFuture<@Unmodifiable Set<V>> retrieveVersions() {
56+
public CompletableFuture<Set<V>> retrieveVersions() {
6457
return retrieveHangarVersions().thenApply(versions -> versions.stream()
6558
.map(this::parseVersion)
6659
.collect(Collectors.toUnmodifiableSet()));
@@ -76,14 +69,14 @@ public CompletableFuture<V> retrieveLatestSupportedVersion() {
7669
}
7770

7871
@Override
79-
public @Unmodifiable Set<V> getSupportedVersions() {
72+
public Set<V> getSupportedVersions() {
8073
return versions.stream()
8174
.filter(this::isSupported)
8275
.map(this::parseVersion)
8376
.collect(Collectors.toUnmodifiableSet());
8477
}
8578

86-
public @Unmodifiable Set<V> getVersions() {
79+
public Set<V> getVersions() {
8780
return versions.stream()
8881
.map(this::parseVersion)
8982
.collect(Collectors.toUnmodifiableSet());
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package core.version.hangar;
22

3+
import org.jspecify.annotations.NullMarked;
4+
35
import java.util.Set;
46

7+
@NullMarked
58
public record HangarVersions(Set<HangarVersion> result) {
69
}

version-checker/src/test/java/core/version/test/implementation/GitHubSemanticVersionChecker.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package core.version.test.implementation;
22

3-
import core.annotation.TypesAreNotNullByDefault;
43
import core.version.SemanticVersion;
54
import core.version.github.GitHubVersionChecker;
65
import core.version.github.Release;
6+
import org.jspecify.annotations.NullMarked;
77

8-
@TypesAreNotNullByDefault
8+
@NullMarked
99
public class GitHubSemanticVersionChecker extends GitHubVersionChecker<SemanticVersion> {
1010
public GitHubSemanticVersionChecker(String owner, String repository) {
1111
super(owner, repository);

0 commit comments

Comments
 (0)