Skip to content

Commit 40749bd

Browse files
committed
Replace Legacy javax Annotations with jspecify
1 parent 88a71ca commit 40749bd

34 files changed

+192
-204
lines changed

pom.xml

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -55,17 +55,6 @@
5555
<assertj.version>3.27.7</assertj.version>
5656
</properties>
5757

58-
<dependencyManagement>
59-
<dependencies>
60-
<dependency>
61-
<groupId>com.google.code.findbugs</groupId>
62-
<artifactId>jsr305</artifactId>
63-
<version>3.0.2</version>
64-
<optional>true</optional>
65-
</dependency>
66-
</dependencies>
67-
</dependencyManagement>
68-
6958
<build>
7059
<pluginManagement>
7160
<plugins>
@@ -240,8 +229,9 @@
240229
<version>${jgit.version}</version>
241230
</dependency>
242231
<dependency>
243-
<groupId>com.google.code.findbugs</groupId>
244-
<artifactId>jsr305</artifactId>
232+
<groupId>org.jspecify</groupId>
233+
<artifactId>jspecify</artifactId>
234+
<version>1.0.0</version>
245235
</dependency>
246236
<dependency>
247237
<groupId>nu.studer</groupId>

src/main/java/pl/project13/core/GitCommitIdPlugin.java

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@
1717

1818
package pl.project13.core;
1919

20+
import org.jspecify.annotations.NonNull;
21+
import org.jspecify.annotations.Nullable;
2022
import pl.project13.core.cibuild.BuildServerDataProvider;
2123
import pl.project13.core.git.GitDescribeConfig;
2224
import pl.project13.core.log.LogInterface;
2325
import pl.project13.core.util.BuildFileChangeListener;
2426
import pl.project13.core.util.GitDirLocator;
2527

26-
import javax.annotation.Nonnull;
27-
import javax.annotation.Nullable;
2828
import java.io.File;
2929
import java.nio.charset.Charset;
3030
import java.nio.file.Path;
@@ -55,14 +55,14 @@ default Map<String, String> getSystemEnv() {
5555
/**
5656
* @return Logging Interface
5757
*/
58-
@Nonnull
58+
@NonNull
5959
LogInterface getLogInterface();
6060

6161
/**
6262
* @return The date format to be used for any dates exported by this plugin.
6363
* It should be a valid {@link SimpleDateFormat} string.
6464
*/
65-
@Nonnull
65+
@NonNull
6666
String getDateFormat();
6767

6868
/**
@@ -74,15 +74,15 @@ default Map<String, String> getSystemEnv() {
7474
*
7575
* @return The timezone used in the date format of dates exported by this plugin.
7676
*/
77-
@Nonnull
77+
@NonNull
7878
String getDateFormatTimeZone();
7979

8080
/**
8181
* The prefix to expose the properties on. For example {@code 'git'} would allow you to access {@code ${git.branch}}.
8282
*
8383
* @return The prefix to expose the properties on.
8484
*/
85-
@Nonnull
85+
@NonNull
8686
String getPrefixDot();
8787

8888
/**
@@ -297,7 +297,7 @@ default Map<String, String> getSystemEnv() {
297297

298298
protected static final Pattern allowedCharactersForEvaluateOnCommit = Pattern.compile("[a-zA-Z0-9\\_\\-\\^\\/\\.]+");
299299

300-
public static void runPlugin(@Nonnull Callback cb, @Nullable Properties contextProperties) throws GitCommitIdExecutionException {
300+
public static void runPlugin(@NonNull Callback cb, @Nullable Properties contextProperties) throws GitCommitIdExecutionException {
301301
PropertiesFilterer propertiesFilterer = new PropertiesFilterer(cb.getLogInterface());
302302

303303
// The properties we store our data in and then expose them.
@@ -334,7 +334,7 @@ public static void runPlugin(@Nonnull Callback cb, @Nullable Properties contextP
334334
cb.performPublishToAllSystemEnvironments(properties);
335335
}
336336

337-
protected static void loadBuildData(@Nonnull Callback cb, @Nonnull Properties properties) throws GitCommitIdExecutionException {
337+
protected static void loadBuildData(@NonNull Callback cb, @NonNull Properties properties) throws GitCommitIdExecutionException {
338338
Map<String, Supplier<String>> additionalProperties = Collections.singletonMap(
339339
GitCommitPropertyConstant.BUILD_VERSION, cb.supplyProjectVersion());
340340
BuildServerDataProvider buildServerDataProvider = BuildServerDataProvider.getBuildServerProvider(
@@ -349,7 +349,7 @@ protected static void loadBuildData(@Nonnull Callback cb, @Nonnull Properties pr
349349
buildServerDataProvider.loadBuildData(properties, cb.getReproducibleBuildOutputTimestamp());
350350
}
351351

352-
protected static void loadGitData(@Nonnull Callback cb, @Nonnull Properties properties) throws GitCommitIdExecutionException {
352+
protected static void loadGitData(@NonNull Callback cb, @NonNull Properties properties) throws GitCommitIdExecutionException {
353353
String evaluateOnCommit = cb.getEvaluateOnCommit();
354354
if ((evaluateOnCommit == null) || !allowedCharactersForEvaluateOnCommit.matcher(evaluateOnCommit).matches()) {
355355
throw new GitCommitIdExecutionException("suspicious argument for evaluateOnCommit, aborting execution!");
@@ -375,9 +375,9 @@ protected static void loadGitData(@Nonnull Callback cb, @Nonnull Properties prop
375375
}
376376

377377
private static void loadGitDataWithNativeGit(
378-
@Nonnull Callback cb,
379-
@Nonnull File dotGitDirectory,
380-
@Nonnull Properties properties) throws GitCommitIdExecutionException {
378+
@NonNull Callback cb,
379+
@NonNull File dotGitDirectory,
380+
@NonNull Properties properties) throws GitCommitIdExecutionException {
381381
GitDataProvider nativeGitProvider = NativeGitProvider
382382
.on(dotGitDirectory, cb.getNativeGitTimeoutInMs(), cb.getLogInterface());
383383

@@ -387,9 +387,9 @@ private static void loadGitDataWithNativeGit(
387387
}
388388

389389
private static void loadGitDataWithJGit(
390-
@Nonnull Callback cb,
391-
@Nonnull File dotGitDirectory,
392-
@Nonnull Properties properties) throws GitCommitIdExecutionException {
390+
@NonNull Callback cb,
391+
@NonNull File dotGitDirectory,
392+
@NonNull Properties properties) throws GitCommitIdExecutionException {
393393
GitDataProvider jGitProvider = JGitProvider
394394
.on(dotGitDirectory, cb.getLogInterface());
395395

@@ -399,9 +399,9 @@ private static void loadGitDataWithJGit(
399399
}
400400

401401
private static void configureCommonProvider(
402-
@Nonnull GitDataProvider provider,
403-
@Nonnull Callback cb,
404-
@Nonnull File dotGitDirectory) {
402+
@NonNull GitDataProvider provider,
403+
@NonNull Callback cb,
404+
@NonNull File dotGitDirectory) {
405405
provider
406406
.setPrefixDot(cb.getPrefixDot())
407407
.setAbbrevLength(cb.getAbbrevLength())
@@ -425,7 +425,7 @@ private static void configureCommonProvider(
425425
* Returns null if the project directory is not within the repository or if resolution fails.
426426
*/
427427
@Nullable
428-
private static String resolveRelativeModulePath(@Nonnull Callback cb, @Nonnull File dotGitDirectory) {
428+
private static String resolveRelativeModulePath(@NonNull Callback cb, @NonNull File dotGitDirectory) {
429429
try {
430430
// Determine repository work tree
431431
// If dotGitDirectory is named ".git", the work tree is its parent

src/main/java/pl/project13/core/GitDataProvider.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@
1717

1818
package pl.project13.core;
1919

20+
import org.jspecify.annotations.NonNull;
2021
import pl.project13.core.git.GitDescribeConfig;
2122
import pl.project13.core.cibuild.BuildServerDataProvider;
2223
import pl.project13.core.cibuild.UnknownBuildServerData;
2324
import pl.project13.core.log.LogInterface;
2425
import pl.project13.core.util.PropertyManager;
2526

26-
import javax.annotation.Nonnull;
2727
import java.net.URI;
2828
import java.net.URLEncoder;
2929
import java.nio.charset.StandardCharsets;
@@ -44,7 +44,7 @@ public abstract class GitDataProvider implements GitProvider {
4444
/**
4545
* Logging provider which will be used to log events.
4646
*/
47-
@Nonnull
47+
@NonNull
4848
protected final LogInterface log;
4949

5050
/**
@@ -126,7 +126,7 @@ public abstract class GitDataProvider implements GitProvider {
126126
* Constructor to encapsulates all references required to dertermine all git-data.
127127
* @param log logging provider which will be used to log events
128128
*/
129-
public GitDataProvider(@Nonnull LogInterface log) {
129+
public GitDataProvider(@NonNull LogInterface log) {
130130
this.log = log;
131131
}
132132

@@ -268,7 +268,7 @@ public GitDataProvider setPathFilter(String pathFilter) {
268268
* @param properties The Properties-Set that should be enriched by the generated one.
269269
* @throws GitCommitIdExecutionException In case any problem occurred during loading of the properties from the git repository.
270270
*/
271-
protected void loadGitData(@Nonnull String evaluateOnCommit, @Nonnull Map<String,String> env, @Nonnull Properties properties) throws GitCommitIdExecutionException {
271+
protected void loadGitData(@NonNull String evaluateOnCommit, @NonNull Map<String,String> env, @NonNull Properties properties) throws GitCommitIdExecutionException {
272272
this.evaluateOnCommit = evaluateOnCommit;
273273
init();
274274
// git.user.name
@@ -337,7 +337,7 @@ protected void loadGitData(@Nonnull String evaluateOnCommit, @Nonnull Map<String
337337
}
338338
}
339339

340-
private void maybePutGitDescribe(@Nonnull Properties properties) throws GitCommitIdExecutionException {
340+
private void maybePutGitDescribe(@NonNull Properties properties) throws GitCommitIdExecutionException {
341341
boolean isGitDescribeOptOutByDefault = (gitDescribe == null);
342342
boolean isGitDescribeOptOutByConfiguration = (gitDescribe != null && !gitDescribe.isSkip());
343343

@@ -346,7 +346,7 @@ private void maybePutGitDescribe(@Nonnull Properties properties) throws GitCommi
346346
}
347347
}
348348

349-
protected void loadShortDescribe(@Nonnull Properties properties) throws GitCommitIdExecutionException {
349+
protected void loadShortDescribe(@NonNull Properties properties) throws GitCommitIdExecutionException {
350350
//removes git hash part from describe
351351
String commitDescribe = properties.getProperty(prefixDot + GitCommitPropertyConstant.COMMIT_DESCRIBE);
352352

@@ -382,7 +382,7 @@ void validateAbbrevLength(int abbrevLength) throws GitCommitIdExecutionException
382382
* @return results of getBranchName() or, if in Jenkins/Hudson, value of GIT_BRANCH
383383
* @throws GitCommitIdExecutionException the branch name could not be determined
384384
*/
385-
protected String determineBranchName(@Nonnull Map<String, String> env) throws GitCommitIdExecutionException {
385+
protected String determineBranchName(@NonNull Map<String, String> env) throws GitCommitIdExecutionException {
386386
BuildServerDataProvider buildServerDataProvider = BuildServerDataProvider.getBuildServerProvider(env, log);
387387
if (useBranchNameFromBuildEnvironment && !(buildServerDataProvider instanceof UnknownBuildServerData)) {
388388
String branchName = buildServerDataProvider.getBuildBranch();
@@ -404,7 +404,7 @@ protected SimpleDateFormat getSimpleDateFormatWithTimeZone() {
404404
return smf;
405405
}
406406

407-
protected void maybePut(@Nonnull Properties properties, String key, SupplierEx<String> value)
407+
protected void maybePut(@NonNull Properties properties, String key, SupplierEx<String> value)
408408
throws GitCommitIdExecutionException {
409409
String keyWithPrefix = prefixDot + key;
410410
if (properties.stringPropertyNames().contains(keyWithPrefix)) {
@@ -531,4 +531,4 @@ protected String stripCredentialsFromOriginUrl(String gitRemoteString) throws Gi
531531
return "";
532532
}
533533
}
534-
}
534+
}

src/main/java/pl/project13/core/JGitProvider.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
import org.eclipse.jgit.storage.file.FileRepositoryBuilder;
2828
import org.eclipse.jgit.util.FS;
2929

30+
import org.jspecify.annotations.NonNull;
31+
import org.jspecify.annotations.Nullable;
3032
import pl.project13.core.jgit.DescribeResult;
3133
import pl.project13.core.jgit.JGitCommon;
3234
import pl.project13.core.jgit.DescribeCommand;
@@ -40,9 +42,6 @@
4042

4143
import org.eclipse.jgit.storage.file.WindowCacheConfig;
4244

43-
import javax.annotation.Nonnull;
44-
import javax.annotation.Nullable;
45-
4645
public class JGitProvider extends GitDataProvider {
4746

4847
private File dotGitDirectory;
@@ -52,12 +51,12 @@ public class JGitProvider extends GitDataProvider {
5251
private RevCommit evalCommit;
5352
private JGitCommon jGitCommon;
5453

55-
@Nonnull
56-
public static JGitProvider on(@Nonnull File dotGitDirectory, @Nonnull LogInterface log) {
54+
@NonNull
55+
public static JGitProvider on(@NonNull File dotGitDirectory, @NonNull LogInterface log) {
5756
return new JGitProvider(dotGitDirectory, log);
5857
}
5958

60-
JGitProvider(@Nonnull File dotGitDirectory, @Nonnull LogInterface log) {
59+
JGitProvider(@NonNull File dotGitDirectory, @NonNull LogInterface log) {
6160
super(log);
6261
this.dotGitDirectory = dotGitDirectory;
6362
FS.FileStoreAttributes.setBackground(true);
@@ -130,7 +129,7 @@ public void prepareGitToExtractMoreDetailedRepoInformation() throws GitCommitIdE
130129
* Returns the commit hash or null if no commits found.
131130
*/
132131
@Nullable
133-
private String findLatestCommitForPath(@Nonnull String path) throws GitCommitIdExecutionException {
132+
private String findLatestCommitForPath(@NonNull String path) throws GitCommitIdExecutionException {
134133
try {
135134
ObjectId start = git.resolve(evaluateOnCommit);
136135
if (start == null) {
@@ -412,7 +411,7 @@ private String getAbbrevCommitId(ObjectReader objectReader, RevCommit headCommit
412411
}
413412
}
414413

415-
@Nonnull
414+
@NonNull
416415
private Repository getGitRepository() throws GitCommitIdExecutionException {
417416
Repository repository;
418417

src/main/java/pl/project13/core/NativeGitProvider.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@
1919

2020
import static java.lang.String.format;
2121

22+
import org.jspecify.annotations.NonNull;
23+
import org.jspecify.annotations.Nullable;
2224
import pl.project13.core.git.GitDescribeConfig;
2325
import pl.project13.core.log.LogInterface;
2426

25-
import javax.annotation.Nonnull;
26-
import javax.annotation.Nullable;
2727

2828
import java.io.*;
2929
import java.text.SimpleDateFormat;
@@ -44,12 +44,12 @@ public class NativeGitProvider extends GitDataProvider {
4444

4545
final File canonical;
4646

47-
@Nonnull
48-
public static NativeGitProvider on(@Nonnull File dotGitDirectory, long nativeGitTimeoutInMs, @Nonnull LogInterface log) {
47+
@NonNull
48+
public static NativeGitProvider on(@NonNull File dotGitDirectory, long nativeGitTimeoutInMs, @NonNull LogInterface log) {
4949
return new NativeGitProvider(dotGitDirectory, nativeGitTimeoutInMs, log);
5050
}
5151

52-
NativeGitProvider(@Nonnull File dotGitDirectory, long nativeGitTimeoutInMs, @Nonnull LogInterface log) {
52+
NativeGitProvider(@NonNull File dotGitDirectory, long nativeGitTimeoutInMs, @NonNull LogInterface log) {
5353
super(log);
5454
this.dotGitDirectory = dotGitDirectory;
5555
this.nativeGitTimeoutInMs = nativeGitTimeoutInMs;
@@ -251,7 +251,7 @@ public String getCommitId() throws GitCommitIdExecutionException {
251251
* Returns the commit hash or null if no commits found.
252252
*/
253253
@Nullable
254-
private String findLatestCommitForPath(@Nonnull String path) throws GitCommitIdExecutionException {
254+
private String findLatestCommitForPath(@NonNull String path) throws GitCommitIdExecutionException {
255255
try {
256256
return runQuietGitCommand(
257257
canonical, nativeGitTimeoutInMs,

src/main/java/pl/project13/core/PropertiesFileGenerator.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@
1818
package pl.project13.core;
1919

2020
import nu.studer.java.util.OrderedProperties;
21+
import org.jspecify.annotations.NonNull;
2122
import pl.project13.core.log.LogInterface;
2223
import pl.project13.core.util.*;
2324

24-
import javax.annotation.Nonnull;
2525
import java.io.*;
2626
import java.nio.charset.Charset;
2727
import java.util.Comparator;
@@ -44,7 +44,7 @@ public PropertiesFileGenerator(LogInterface log, BuildFileChangeListener buildFi
4444
}
4545

4646
public void maybeGeneratePropertiesFile(
47-
@Nonnull Properties localProperties,
47+
@NonNull Properties localProperties,
4848
File projectDir,
4949
File propsFile,
5050
Charset sourceCharset,

src/main/java/pl/project13/core/PropertiesFilterer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@
2020
import java.util.List;
2121
import java.util.Properties;
2222

23+
import org.jspecify.annotations.Nullable;
2324
import pl.project13.core.log.LogInterface;
2425

25-
import javax.annotation.Nullable;
2626

2727
public class PropertiesFilterer {
2828

src/main/java/pl/project13/core/cibuild/AwsCodeBuildBuildServerData.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,16 @@
1717

1818
package pl.project13.core.cibuild;
1919

20+
import org.jspecify.annotations.NonNull;
2021
import pl.project13.core.GitCommitPropertyConstant;
2122
import pl.project13.core.log.LogInterface;
2223

23-
import javax.annotation.Nonnull;
2424
import java.util.Map;
2525
import java.util.Properties;
2626

2727
public class AwsCodeBuildBuildServerData extends BuildServerDataProvider {
2828

29-
AwsCodeBuildBuildServerData(LogInterface log, @Nonnull Map<String, String> env) {
29+
AwsCodeBuildBuildServerData(LogInterface log, @NonNull Map<String, String> env) {
3030
super(log,env);
3131
}
3232

@@ -40,7 +40,7 @@ public static boolean isActiveServer(Map<String, String> env) {
4040
}
4141

4242
@Override
43-
void loadBuildNumber(@Nonnull Properties properties) {
43+
void loadBuildNumber(@NonNull Properties properties) {
4444
String buildNumber = env.getOrDefault("CODEBUILD_BUILD_NUMBER", "");
4545
maybePut(properties, GitCommitPropertyConstant.BUILD_NUMBER, () -> buildNumber);
4646

0 commit comments

Comments
 (0)