diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 742d170d35..877ff176e6 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -21,16 +21,16 @@ jobs: epVersion: 2.14.0 - os: macos-latest java: 11 - epVersion: 2.29.0 + epVersion: 2.30.0 - os: ubuntu-latest java: 11 - epVersion: 2.29.0 + epVersion: 2.30.0 - os: windows-latest java: 11 - epVersion: 2.29.0 + epVersion: 2.30.0 - os: ubuntu-latest java: 17 - epVersion: 2.29.0 + epVersion: 2.30.0 fail-fast: false runs-on: ${{ matrix.os }} steps: @@ -61,7 +61,7 @@ jobs: ORG_GRADLE_PROJECT_epApiVersion: ${{ matrix.epVersion }} run: ./gradlew codeCoverageReport continue-on-error: true - if: runner.os == 'Linux' && matrix.java == '11' && matrix.epVersion == '2.29.0' && github.repository == 'uber/NullAway' + if: runner.os == 'Linux' && matrix.java == '11' && matrix.epVersion == '2.30.0' && github.repository == 'uber/NullAway' - name: Upload coverage reports to Codecov uses: codecov/codecov-action@v4 with: diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle index f3ef517cfa..13263c2095 100755 --- a/gradle/dependencies.gradle +++ b/gradle/dependencies.gradle @@ -19,7 +19,7 @@ import org.gradle.util.VersionNumber // The oldest version of Error Prone that we support running on def oldestErrorProneVersion = "2.14.0" // Latest released Error Prone version that we've tested with -def latestErrorProneVersion = "2.29.0" +def latestErrorProneVersion = "2.30.0" // Default to using latest tested Error Prone version def defaultErrorProneVersion = latestErrorProneVersion def errorProneVersionToCompileAgainst = defaultErrorProneVersion diff --git a/nullaway/src/test/java/com/uber/nullaway/jspecify/BytecodeGenericsTests.java b/nullaway/src/test/java/com/uber/nullaway/jspecify/BytecodeGenericsTests.java index d5e2dbec7b..7390f9594a 100644 --- a/nullaway/src/test/java/com/uber/nullaway/jspecify/BytecodeGenericsTests.java +++ b/nullaway/src/test/java/com/uber/nullaway/jspecify/BytecodeGenericsTests.java @@ -3,6 +3,7 @@ import com.google.errorprone.CompilationTestHelper; import com.uber.nullaway.NullAwayTestsBase; import java.util.Arrays; +import org.junit.Ignore; import org.junit.Test; public class BytecodeGenericsTests extends NullAwayTestsBase { @@ -222,6 +223,25 @@ public void overrideReturnTypes() { .doTest(); } + @Test + @Ignore("Failing due to https://bugs.openjdk.org/browse/JDK-8337795") + // TODO Re-enable this test once the JDK bug is fixed, on appropriate JDK versions + // See https://github.com/uber/NullAway/issues/1011 + public void callMethodTakingJavaUtilFunction() { + makeHelper() + .addSourceLines( + "Test.java", + "package com.uber;", + "import org.jspecify.annotations.Nullable;", + "import com.uber.lib.generics.JavaUtilFunctionMethods;", + "class Test {", + " static void testNegative() {", + " JavaUtilFunctionMethods.withFunction(s -> { return null; });", + " }", + "}") + .doTest(); + } + private CompilationTestHelper makeHelper() { return makeTestHelperWithArgs( Arrays.asList( diff --git a/test-java-lib/src/main/java/com/uber/lib/generics/JavaUtilFunctionMethods.java b/test-java-lib/src/main/java/com/uber/lib/generics/JavaUtilFunctionMethods.java new file mode 100644 index 0000000000..91a4d9f379 --- /dev/null +++ b/test-java-lib/src/main/java/com/uber/lib/generics/JavaUtilFunctionMethods.java @@ -0,0 +1,9 @@ +package com.uber.lib.generics; + +import java.util.function.Function; +import org.jspecify.annotations.Nullable; + +public class JavaUtilFunctionMethods { + + public static void withFunction(Function f) {} +}