Add build configuration for NullAway.

Closes #2483
This commit is contained in:
Mark Paluch
2025-02-06 08:41:13 +01:00
parent 7b7cd512e0
commit 24fa667ea7
2 changed files with 65 additions and 5 deletions

View File

@@ -1,6 +1,6 @@
# Java versions
java.main.tag=17.0.15_6-jdk-focal
java.next.tag=24.0.1_9-jdk-noble
java.main.tag=23.0.2_7-jdk-noble
java.next.tag=23.0.1_11-jdk-noble
# Docker container images - standard
docker.java.main.image=library/eclipse-temurin:${java.main.tag}

View File

@@ -106,6 +106,7 @@
<cdi>4.0.1</cdi>
<commons-io>2.5</commons-io>
<eclipse-collections>11.0.0</eclipse-collections>
<errorprone>2.36.0</errorprone>
<guava>31.1-jre</guava>
<hamcrest>1.3</hamcrest>
<jackson>2.19.0</jackson>
@@ -126,6 +127,7 @@
<micrometer-tracing>1.4.2</micrometer-tracing>
<mockito>5.15.2</mockito>
<mockk>1.13.14</mockk>
<nullaway>0.12.3</nullaway>
<querydsl>5.1.0</querydsl>
<reactor>2024.0.6</reactor>
<rxjava2>2.2.21</rxjava2>
@@ -218,6 +220,66 @@
</profile>
<profile>
<id>nullaway</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<release>${source.level}</release>
<showWarnings>true</showWarnings>
<annotationProcessorPaths>
<path>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_core</artifactId>
<version>${errorprone}</version>
</path>
<path>
<groupId>com.uber.nullaway</groupId>
<artifactId>nullaway</artifactId>
<version>${nullaway}</version>
</path>
</annotationProcessorPaths>
</configuration>
<executions>
<execution>
<id>default-compile</id>
<phase>none</phase>
</execution>
<execution>
<id>default-testCompile</id>
<phase>none</phase>
</execution>
<execution>
<id>java-compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<compilerArgs>
<arg>-XDcompilePolicy=simple</arg>
<arg>--should-stop=ifError=FLOW</arg>
<arg>-Xplugin:ErrorProne -XepDisableAllChecks -Xep:NullAway:ERROR -XepOpt:NullAway:OnlyNullMarked=true -XepOpt:NullAway:CustomContractAnnotations=org.springframework.lang.Contract</arg>
</compilerArgs>
</configuration>
</execution>
<execution>
<id>java-test-compile</id>
<phase>test-compile</phase>
<goals>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!--
Profile to be run before a release is executed, currently does the following:
@@ -1169,7 +1231,6 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version>
<configuration>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
<parameters>true</parameters>
</configuration>
</plugin>
@@ -1343,8 +1404,7 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${source.level}</source>
<target>${source.level}</target>
<release>${source.level}</release>
</configuration>
<executions>
<execution>