Skip to content

Commit b66b4eb

Browse files
committed
Enable NullAway in junit-platform-suite-commons
1 parent cd9519b commit b66b4eb

File tree

3 files changed

+17
-6
lines changed

3 files changed

+17
-6
lines changed

junit-platform-suite-commons/junit-platform-suite-commons.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
plugins {
22
id("junitbuild.java-library-conventions")
3+
id("junitbuild.java-nullability-conventions")
34
}
45

56
description = "JUnit Platform Suite Commons"
@@ -9,6 +10,7 @@ dependencies {
910
api(projects.junitPlatformLauncher)
1011

1112
compileOnlyApi(libs.apiguardian)
13+
compileOnly(libs.jspecify)
1214

1315
implementation(projects.junitPlatformEngine)
1416
implementation(projects.junitPlatformSuiteApi)

junit-platform-suite-commons/src/main/java/module-info.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,14 @@
88
* https://www.eclipse.org/legal/epl-v20.html
99
*/
1010

11+
import org.jspecify.annotations.NullMarked;
12+
1113
/**
1214
* Common support utilities for declarative test suites.
1315
*
1416
* @since 1.8
1517
*/
18+
@NullMarked
1619
module org.junit.platform.suite.commons {
1720
requires static transitive org.apiguardian.api;
1821
requires org.junit.platform.suite.api;

junit-platform-suite-commons/src/main/java/org/junit/platform/suite/commons/SuiteLauncherDiscoveryRequestBuilder.java

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import java.util.stream.Stream;
3333

3434
import org.apiguardian.api.API;
35+
import org.jspecify.annotations.Nullable;
3536
import org.junit.platform.commons.util.Preconditions;
3637
import org.junit.platform.commons.util.StringUtils;
3738
import org.junit.platform.engine.ConfigurationParameters;
@@ -120,7 +121,10 @@ public final class SuiteLauncherDiscoveryRequestBuilder {
120121
private final Set<String> selectedClassNames = new LinkedHashSet<>();
121122
private boolean includeClassNamePatternsUsed;
122123
private boolean filterStandardClassNamePatterns = false;
124+
125+
@Nullable
123126
private ConfigurationParameters parentConfigurationParameters;
127+
124128
private boolean enableParentConfigurationParameters = true;
125129

126130
private SuiteLauncherDiscoveryRequestBuilder() {
@@ -516,14 +520,16 @@ private static MethodSelector toMethodSelectorFromFQMN(Class<?> suiteClass, Sele
516520
return DiscoverySelectors.selectMethod(annotation.value());
517521
}
518522

519-
private static MethodSelector toMethodSelector(Class<?> suiteClass, Class<?> type, String typeName,
520-
Class<?>[] parameterTypes, String methodName, String parameterTypeNames) {
523+
private static MethodSelector toMethodSelector(Class<?> suiteClass, @Nullable Class<?> type,
524+
@Nullable String typeName, Class<?> @Nullable [] parameterTypes, String methodName,
525+
String parameterTypeNames) {
521526
if (type == null) {
522-
Preconditions.notBlank(typeName, () -> prefixErrorMessageForInvalidSelectMethodUsage(suiteClass,
523-
"type must be set or type name must not be blank"));
527+
String nonBlankTypeName = Preconditions.notBlank(typeName,
528+
() -> prefixErrorMessageForInvalidSelectMethodUsage(suiteClass,
529+
"type must be set or type name must not be blank"));
524530
return parameterTypes == null //
525-
? DiscoverySelectors.selectMethod(typeName, methodName, parameterTypeNames) //
526-
: DiscoverySelectors.selectMethod(typeName, methodName, parameterTypes);
531+
? DiscoverySelectors.selectMethod(nonBlankTypeName, methodName, parameterTypeNames) //
532+
: DiscoverySelectors.selectMethod(nonBlankTypeName, methodName, parameterTypes);
527533
}
528534
else {
529535
Preconditions.condition(typeName == null, () -> prefixErrorMessageForInvalidSelectMethodUsage(suiteClass,

0 commit comments

Comments
 (0)