mirror of
https://github.com/jlengrand/error-prone-support.git
synced 2026-03-10 08:11:25 +00:00
Summary of changes: - Update the set of expected changes for compatibility with the latest features, except for the `ErrorProneRuntimeClasspath` check. - Test against version 10.12.7 rather than 10.13.0. - Omit the targeted tag from file names, so that similar upgrade PRs can be tested using an `/integration-test` GitHub comment.
184 lines
9.2 KiB
Diff
184 lines
9.2 KiB
Diff
--- a/pom.xml
|
|
+++ b/pom.xml
|
|
@@ -362,6 +362,12 @@
|
|
<version>1.3.0</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
+ <dependency>
|
|
+ <groupId>org.assertj</groupId>
|
|
+ <artifactId>assertj-core</artifactId>
|
|
+ <version>${assertj.version}</version>
|
|
+ <scope>test</scope>
|
|
+ </dependency>
|
|
<dependency>
|
|
<groupId>nl.jqno.equalsverifier</groupId>
|
|
<artifactId>equalsverifier</artifactId>
|
|
@@ -2412,6 +2418,8 @@
|
|
<arg>
|
|
-Xplugin:ErrorProne ${error-prone.configuration-args}
|
|
</arg>
|
|
+ <arg>-Xmaxwarns</arg>
|
|
+ <arg>1000000</arg>
|
|
</compilerArgs>
|
|
<annotationProcessorPaths>
|
|
<path>
|
|
@@ -2424,6 +2432,11 @@
|
|
<artifactId>error-prone-contrib</artifactId>
|
|
<version>${error-prone-support.version}</version>
|
|
</path>
|
|
+ <path>
|
|
+ <groupId>tech.picnic.error-prone-support</groupId>
|
|
+ <artifactId>refaster-runner</artifactId>
|
|
+ <version>${error-prone-support.version}</version>
|
|
+ </path>
|
|
</annotationProcessorPaths>
|
|
</configuration>
|
|
</execution>
|
|
@@ -2468,9 +2481,10 @@
|
|
<arg>-XDcompilePolicy=simple</arg>
|
|
<arg>
|
|
-Xplugin:ErrorProne \
|
|
- -XepExcludedPaths:.*[\\/]resources[\\/].* \
|
|
${error-prone.configuration-args}
|
|
</arg>
|
|
+ <arg>-Xmaxwarns</arg>
|
|
+ <arg>1000000</arg>
|
|
</compilerArgs>
|
|
<annotationProcessorPaths>
|
|
<path>
|
|
@@ -2483,6 +2497,11 @@
|
|
<artifactId>error-prone-contrib</artifactId>
|
|
<version>${error-prone-support.version}</version>
|
|
</path>
|
|
+ <path>
|
|
+ <groupId>tech.picnic.error-prone-support</groupId>
|
|
+ <artifactId>refaster-runner</artifactId>
|
|
+ <version>${error-prone-support.version}</version>
|
|
+ </path>
|
|
</annotationProcessorPaths>
|
|
</configuration>
|
|
</execution>
|
|
--- a/src/main/java/com/puppycrawl/tools/checkstyle/DetailNodeTreeStringPrinter.java
|
|
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/DetailNodeTreeStringPrinter.java
|
|
@@ -63,6 +63,8 @@ public final class DetailNodeTreeStringPrinter {
|
|
* @return DetailNode tree
|
|
* @throws IllegalArgumentException if there is an error parsing the Javadoc.
|
|
*/
|
|
+ // Invoking `getParseErrorMessage` requires that `status.getParseErrorMessage()` is `null`.
|
|
+ @SuppressWarnings("CheckArgumentWithMessage")
|
|
public static DetailNode parseJavadocAsDetailNode(DetailAST blockComment) {
|
|
final JavadocDetailNodeParser parser = new JavadocDetailNodeParser();
|
|
final ParseStatus status = parser.parseJavadocAsDetailNode(blockComment);
|
|
--- a/src/main/java/com/puppycrawl/tools/checkstyle/Main.java
|
|
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/Main.java
|
|
@@ -626,6 +626,8 @@ public final class Main {
|
|
+ "reported to standard out in plain format. Checkstyle requires a configuration "
|
|
+ "XML file that configures the checks to apply.",
|
|
mixinStandardHelpOptions = true)
|
|
+ // XXX: Don't reorder arguments to `picocli.CommandLine.Option#names`.
|
|
+ @SuppressWarnings("LexicographicalAnnotationAttributeListing")
|
|
private static final class CliOptions {
|
|
|
|
/** Width of CLI help option. */
|
|
--- a/src/main/java/com/puppycrawl/tools/checkstyle/SarifLogger.java
|
|
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/SarifLogger.java
|
|
@@ -139,6 +139,9 @@ public class SarifLogger extends AbstractAutomaticBean implements AuditListener
|
|
@Override
|
|
public void auditFinished(AuditEvent event) {
|
|
final String version = SarifLogger.class.getPackage().getImplementationVersion();
|
|
+ // Here `version` may be `null`, while `String#replace` requires non-`null` arguments.
|
|
+ // XXX: Investigate better nullness handling by `IdentityConversion`.
|
|
+ @SuppressWarnings("IdentityConversion")
|
|
final String rendered = report
|
|
.replace(VERSION_PLACEHOLDER, String.valueOf(version))
|
|
.replace(RESULTS_PLACEHOLDER, String.join(",\n", results));
|
|
--- a/src/main/java/com/puppycrawl/tools/checkstyle/site/SiteUtil.java
|
|
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/site/SiteUtil.java
|
|
@@ -564,6 +564,10 @@ public final class SiteUtil {
|
|
* @return a set of properties for the given class.
|
|
*/
|
|
public static Set<String> getPropertiesForDocumentation(Class<?> clss, Object instance) {
|
|
+ // XXX: File PR to replace `.collect(toSet())` with `.collect(toCollection(HashSet::new))`.
|
|
+ // XXX: Update `CollectorMutability` to recognize cases such as this one, where the created
|
|
+ // collection is clearly modified.
|
|
+ @SuppressWarnings("CollectorMutability")
|
|
final Set<String> properties =
|
|
getProperties(clss).stream()
|
|
.filter(prop -> {
|
|
--- a/src/test/java/com/puppycrawl/tools/checkstyle/CheckerTest.java
|
|
+++ b/src/test/java/com/puppycrawl/tools/checkstyle/CheckerTest.java
|
|
@@ -93,6 +93,8 @@ import de.thetaphi.forbiddenapis.SuppressForbidden;
|
|
* @noinspectionreason ClassWithTooManyDependencies - complex tests require a large number
|
|
* of imports
|
|
*/
|
|
+// This class is referenced from another package.
|
|
+@SuppressWarnings("JUnitClassModifiers")
|
|
public class CheckerTest extends AbstractModuleTestSupport {
|
|
|
|
@TempDir
|
|
--- a/src/test/java/com/puppycrawl/tools/checkstyle/ConfigurationLoaderTest.java
|
|
+++ b/src/test/java/com/puppycrawl/tools/checkstyle/ConfigurationLoaderTest.java
|
|
@@ -47,6 +47,8 @@ import com.puppycrawl.tools.checkstyle.internal.utils.TestUtil;
|
|
/**
|
|
* Unit test for ConfigurationLoader.
|
|
*/
|
|
+// This class is referenced from another package.
|
|
+@SuppressWarnings("JUnitClassModifiers")
|
|
public class ConfigurationLoaderTest extends AbstractPathTestSupport {
|
|
|
|
@Override
|
|
--- a/src/test/java/com/puppycrawl/tools/checkstyle/PackageObjectFactoryTest.java
|
|
+++ b/src/test/java/com/puppycrawl/tools/checkstyle/PackageObjectFactoryTest.java
|
|
@@ -98,6 +98,8 @@ public class PackageObjectFactoryTest {
|
|
public void testCtorNullPackageException1() {
|
|
final ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
|
|
try {
|
|
+ // XXX: Don't suggest `ImmutableSet.of(elem)` for nullable `elem`.
|
|
+ @SuppressWarnings("ImmutableSetOf1")
|
|
final Object test = new PackageObjectFactory(Collections.singleton(null), classLoader);
|
|
assertWithMessage("Exception is expected but got " + test).fail();
|
|
}
|
|
@@ -126,6 +128,8 @@ public class PackageObjectFactoryTest {
|
|
public void testCtorNullPackageException3() {
|
|
final ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
|
|
try {
|
|
+ // XXX: Don't suggest `ImmutableSet.of(elem)` for nullable `elem`.
|
|
+ @SuppressWarnings("ImmutableSetOf1")
|
|
final Object test = new PackageObjectFactory(Collections.singleton(null), classLoader,
|
|
TRY_IN_ALL_REGISTERED_PACKAGES);
|
|
assertWithMessage("Exception is expected but got " + test).fail();
|
|
--- a/src/test/java/com/puppycrawl/tools/checkstyle/PropertyCacheFileTest.java
|
|
+++ b/src/test/java/com/puppycrawl/tools/checkstyle/PropertyCacheFileTest.java
|
|
@@ -429,6 +429,9 @@ public class PropertyCacheFileTest extends AbstractPathTestSupport {
|
|
* mock toByteArray to throw exception.
|
|
*/
|
|
@Test
|
|
+ // XXX: Drop suppression once
|
|
+ // https://github.com/checkstyle/checkstyle/pull/14362 is resolved.
|
|
+ @SuppressWarnings("InputStreamReadAllBytes")
|
|
public void testNonExistentResource() throws IOException {
|
|
final Configuration config = new DefaultConfiguration("myName");
|
|
final String filePath = File.createTempFile("junit", null, temporaryFolder).getPath();
|
|
--- a/src/test/java/com/puppycrawl/tools/checkstyle/TreeWalkerTest.java
|
|
+++ b/src/test/java/com/puppycrawl/tools/checkstyle/TreeWalkerTest.java
|
|
@@ -81,6 +81,8 @@ import com.puppycrawl.tools.checkstyle.utils.CommonUtil;
|
|
* @noinspectionreason ClassWithTooManyDependencies - complex tests require a
|
|
* large number of imports
|
|
*/
|
|
+// This class is referenced from another package.
|
|
+@SuppressWarnings("JUnitClassModifiers")
|
|
public class TreeWalkerTest extends AbstractModuleTestSupport {
|
|
|
|
@TempDir
|
|
--- a/src/test/java/com/puppycrawl/tools/checkstyle/utils/CheckUtilTest.java
|
|
+++ b/src/test/java/com/puppycrawl/tools/checkstyle/utils/CheckUtilTest.java
|
|
@@ -47,6 +47,8 @@ import com.puppycrawl.tools.checkstyle.checks.coding.NestedIfDepthCheck;
|
|
import com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocMethodCheck;
|
|
import com.puppycrawl.tools.checkstyle.checks.naming.AccessModifierOption;
|
|
|
|
+// This class is referenced from another package.
|
|
+@SuppressWarnings("JUnitClassModifiers")
|
|
public class CheckUtilTest extends AbstractModuleTestSupport {
|
|
|
|
@Override
|