mirror of
https://github.com/jlengrand/error-prone-support.git
synced 2026-03-10 08:11:25 +00:00
Compare commits
22 Commits
v0.19.0
...
gdejong/in
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c8c354617d | ||
|
|
0a0c09c447 | ||
|
|
2cd6b2dc15 | ||
|
|
8846614513 | ||
|
|
9af80ce1ae | ||
|
|
df89f6d83b | ||
|
|
0bcd6f081f | ||
|
|
bcd33f42e5 | ||
|
|
f3a6f35fd4 | ||
|
|
d9a687de4a | ||
|
|
87bc9492b1 | ||
|
|
397a299db6 | ||
|
|
1a077529c7 | ||
|
|
07d7c8aad2 | ||
|
|
7ffceb5e41 | ||
|
|
9af5031ea2 | ||
|
|
c445f0cce9 | ||
|
|
42acd1a192 | ||
|
|
b91ae01c26 | ||
|
|
d3e5b20a05 | ||
|
|
65a13c84b4 | ||
|
|
696999505f |
36
.github/workflows/integration-test.yml
vendored
Normal file
36
.github/workflows/integration-test.yml
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
name: On-demand integration test
|
||||
on:
|
||||
# run action every time a new comment is created
|
||||
issue_comment:
|
||||
types: [ created ]
|
||||
permissions:
|
||||
contents: read
|
||||
jobs:
|
||||
on_demand_integration_test:
|
||||
name: On-demand integration test
|
||||
# Only run the integration test if the created comment is on a pull request
|
||||
# and contains the string `/integration-test`
|
||||
if: |
|
||||
github.event.issue.pull_request &&
|
||||
contains(github.event.comment.body, '/integration-test')
|
||||
# XXX TODO: Device matrix?
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1
|
||||
with:
|
||||
submodules: 'recursive'
|
||||
persist-credentials: false
|
||||
- name: Set up JDK
|
||||
uses: actions/setup-java@0ab4596768b603586c0de567f2430c30f5b0d2b0 # v3.13.0
|
||||
with:
|
||||
# XXX TODO: java version matrix?
|
||||
java-version: 17.0.8
|
||||
distribution: temurin
|
||||
cache: maven
|
||||
- name: Display build environment details
|
||||
run: mvn --version
|
||||
- name: Install error-prone-support snapshot
|
||||
run: mvn -T1C install -DskipTests -Dverification.skip
|
||||
- name: Run integration test
|
||||
run: echo "running integration test"
|
||||
15
.gitmodules
vendored
Normal file
15
.gitmodules
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
[submodule "integration-tests/checkstyle"]
|
||||
path = integration-tests/checkstyle
|
||||
url = git@github.com:checkstyle/checkstyle.git
|
||||
[submodule "integration-tests/guava"]
|
||||
path = integration-tests/guava
|
||||
url = https://github.com/google/guava
|
||||
[submodule "integration-tests/metrics"]
|
||||
path = integration-tests/metrics
|
||||
url = https://github.com/dropwizard/metrics
|
||||
[submodule "integration-tests/druid"]
|
||||
path = integration-tests/druid
|
||||
url = https://github.com/apache/druid
|
||||
[submodule "integration-tests/calcite"]
|
||||
path = integration-tests/calcite
|
||||
url = https://github.com/apache/calcite
|
||||
22389
integration-tests/calcite-calcite-1.35.0-expected-changes.patch
Normal file
22389
integration-tests/calcite-calcite-1.35.0-expected-changes.patch
Normal file
File diff suppressed because it is too large
Load Diff
183
integration-tests/calcite-calcite-1.35.0-init.patch
Normal file
183
integration-tests/calcite-calcite-1.35.0-init.patch
Normal file
@@ -0,0 +1,183 @@
|
||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||
index a9a6c0692..3695e9d9f 100644
|
||||
--- a/build.gradle.kts
|
||||
+++ b/build.gradle.kts
|
||||
@@ -91,7 +91,8 @@ fun reportsForHumans() = !(System.getenv()["CI"]?.toBoolean() ?: false)
|
||||
val skipJavadoc by props()
|
||||
val enableMavenLocal by props()
|
||||
val enableGradleMetadata by props()
|
||||
-val werror by props(true) // treat javac warnings as errors
|
||||
+// disable, as error prone will be producing lots of warnings
|
||||
+val werror by props(false) // treat javac warnings as errors
|
||||
// Inherited from stage-vote-release-plugin: skipSign, useGpgCmd
|
||||
// Inherited from gradle-extensions-plugin: slowSuiteLogThreshold=0L, slowTestLogThreshold=2000L
|
||||
|
||||
@@ -510,8 +511,8 @@ fun com.github.autostyle.gradle.BaseFormatExtension.license() {
|
||||
|
||||
plugins.withType<JavaPlugin> {
|
||||
configure<JavaPluginConvention> {
|
||||
- sourceCompatibility = JavaVersion.VERSION_1_8
|
||||
- targetCompatibility = JavaVersion.VERSION_1_8
|
||||
+ sourceCompatibility = JavaVersion.VERSION_17
|
||||
+ targetCompatibility = JavaVersion.VERSION_17
|
||||
}
|
||||
configure<JavaPluginExtension> {
|
||||
consistentResolution {
|
||||
@@ -548,6 +549,7 @@ fun com.github.autostyle.gradle.BaseFormatExtension.license() {
|
||||
if (!skipAutostyle) {
|
||||
autostyle {
|
||||
java {
|
||||
+ googleJavaFormat()
|
||||
filter.exclude(*javaccGeneratedPatterns +
|
||||
"**/test/java/*.java" +
|
||||
"**/RelRule.java" /** remove as part of CALCITE-4831 **/)
|
||||
@@ -640,7 +642,7 @@ fun com.github.autostyle.gradle.BaseFormatExtension.license() {
|
||||
replace("hamcrest: nullValue", "org.hamcrest.Matchers.nullValue", "org.hamcrest.CoreMatchers.nullValue")
|
||||
replace("hamcrest: sameInstance", "org.hamcrest.core.IsSame.sameInstance", "org.hamcrest.CoreMatchers.sameInstance")
|
||||
replace("hamcrest: startsWith", "org.hamcrest.core.StringStartsWith.startsWith", "org.hamcrest.CoreMatchers.startsWith")
|
||||
- replaceRegex("hamcrest: size", "\\.size\\(\\), (is|equalTo)\\(", ", hasSize\\(")
|
||||
+ // replaceRegex("hamcrest: size", "\\.size\\(\\), (is|equalTo)\\(", ", hasSize\\(")
|
||||
custom("((() preventer", 1) { contents: String ->
|
||||
ParenthesisBalancer.apply(contents)
|
||||
}
|
||||
@@ -685,17 +687,26 @@ fun com.github.autostyle.gradle.BaseFormatExtension.license() {
|
||||
|
||||
if (enableErrorprone) {
|
||||
apply(plugin = "net.ltgt.errorprone")
|
||||
+ repositories {
|
||||
+ mavenLocal()
|
||||
+ }
|
||||
+
|
||||
+ val errorProneFlags = System.getProperty("error-prone.flags")
|
||||
+ val errorProneSupportVersion = System.getProperty("error-prone-support.version")
|
||||
+
|
||||
dependencies {
|
||||
"errorprone"("com.google.errorprone:error_prone_core:${"errorprone".v}")
|
||||
+ "annotationProcessor"("tech.picnic.error-prone-support:error-prone-contrib:$errorProneSupportVersion")
|
||||
+ "annotationProcessor"("tech.picnic.error-prone-support:refaster-runner:$errorProneSupportVersion")
|
||||
"annotationProcessor"("com.google.guava:guava-beta-checker:1.0")
|
||||
}
|
||||
tasks.withType<JavaCompile>().configureEach {
|
||||
options.errorprone {
|
||||
+ allErrorsAsWarnings.set(true)
|
||||
disableWarningsInGeneratedCode.set(true)
|
||||
errorproneArgs.add("-XepExcludedPaths:.*/javacc/.*")
|
||||
- enable(
|
||||
- "MethodCanBeStatic"
|
||||
- )
|
||||
+ errorproneArgs.addAll(errorProneFlags.toString().split(" "))
|
||||
+ errorproneArgs.add("-XepOpt:Refaster:NamePattern=^((?!((JUnitTo)?AssertJ)).*)")
|
||||
disable(
|
||||
"ComplexBooleanConstant",
|
||||
"EqualsGetClass",
|
||||
@@ -704,7 +715,12 @@ fun com.github.autostyle.gradle.BaseFormatExtension.license() {
|
||||
"MutableConstantField",
|
||||
"ReferenceEquality",
|
||||
"SameNameButDifferent",
|
||||
- "TypeParameterUnusedInFormals"
|
||||
+ "TypeParameterUnusedInFormals",
|
||||
+ "CollectorMutability",
|
||||
+ "MethodCanBeStatic",
|
||||
+ "StaticImport",
|
||||
+ "LexicographicalAnnotationListing",
|
||||
+ "LexicographicalAnnotationAttributeListing"
|
||||
)
|
||||
// Analyze issues, and enable the check
|
||||
disable(
|
||||
diff --git a/core/src/main/java/org/apache/calcite/plan/SubstitutionVisitor.java b/core/src/main/java/org/apache/calcite/plan/SubstitutionVisitor.java
|
||||
index 3cd45f455..1887d0a54 100644
|
||||
--- a/core/src/main/java/org/apache/calcite/plan/SubstitutionVisitor.java
|
||||
+++ b/core/src/main/java/org/apache/calcite/plan/SubstitutionVisitor.java
|
||||
@@ -1463,6 +1463,8 @@ private AggregateOnCalcToAggregateUnifyRule() {
|
||||
operand(MutableAggregate.class, target(0)), 1);
|
||||
}
|
||||
|
||||
+
|
||||
+ @SuppressWarnings("MapEntryComparingByKey")
|
||||
@Override protected @Nullable UnifyResult apply(UnifyRuleCall call) {
|
||||
final MutableAggregate query = (MutableAggregate) call.query;
|
||||
final MutableCalc qInput = (MutableCalc) query.getInput();
|
||||
diff --git a/core/src/main/java/org/apache/calcite/plan/volcano/RelSubset.java b/core/src/main/java/org/apache/calcite/plan/volcano/RelSubset.java
|
||||
index 29b26adb3..5de5d25cd 100644
|
||||
--- a/core/src/main/java/org/apache/calcite/plan/volcano/RelSubset.java
|
||||
+++ b/core/src/main/java/org/apache/calcite/plan/volcano/RelSubset.java
|
||||
@@ -621,6 +621,7 @@ private static String traitDiff(RelTraitSet original, RelTraitSet desired) {
|
||||
.collect(Collectors.joining(", ", "[", "]"));
|
||||
}
|
||||
|
||||
+ @SuppressWarnings("MapEntryComparingByValue")
|
||||
public RelNode visit(
|
||||
RelNode p,
|
||||
int ordinal,
|
||||
diff --git a/core/src/main/java/org/apache/calcite/util/ImmutableIntList.java b/core/src/main/java/org/apache/calcite/util/ImmutableIntList.java
|
||||
index cb34fe3d5..5dbae21f5 100644
|
||||
--- a/core/src/main/java/org/apache/calcite/util/ImmutableIntList.java
|
||||
+++ b/core/src/main/java/org/apache/calcite/util/ImmutableIntList.java
|
||||
@@ -324,10 +324,12 @@ private static class EmptyImmutableIntList extends ImmutableIntList {
|
||||
return a;
|
||||
}
|
||||
|
||||
+ @SuppressWarnings("ImmutableListOf")
|
||||
@Override public Iterator<Integer> iterator() {
|
||||
return Collections.<Integer>emptyList().iterator();
|
||||
}
|
||||
|
||||
+ @SuppressWarnings("ImmutableListOf")
|
||||
@Override public ListIterator<Integer> listIterator() {
|
||||
return Collections.<Integer>emptyList().listIterator();
|
||||
}
|
||||
diff --git a/gradle.properties b/gradle.properties
|
||||
index 3b0776230..42cfa56f3 100644
|
||||
--- a/gradle.properties
|
||||
+++ b/gradle.properties
|
||||
@@ -53,7 +53,7 @@ com.google.protobuf.version=0.8.10
|
||||
de.thetaphi.forbiddenapis.version=3.5.1
|
||||
jacoco.version=0.8.10
|
||||
kotlin.version=1.7.10
|
||||
-net.ltgt.errorprone.version=1.3.0
|
||||
+net.ltgt.errorprone.version=3.1.0
|
||||
me.champeau.gradle.jmh.version=0.5.3
|
||||
org.jetbrains.gradle.plugin.idea-ext.version=0.5
|
||||
org.nosphere.apache.rat.version=0.7.0
|
||||
@@ -75,7 +75,7 @@ kotlin.stdlib.default.dependency=false
|
||||
checkerframework.version=3.10.0
|
||||
checkstyle.version=8.28
|
||||
spotbugs.version=3.1.11
|
||||
-errorprone.version=2.5.1
|
||||
+errorprone.version=HEAD-SNAPSHOT
|
||||
# The property is used in https://github.com/wildfly/jandex regression testing, so avoid renaming
|
||||
jandex.version=2.2.3.Final
|
||||
|
||||
@@ -109,7 +109,7 @@ foodmart-data-hsqldb.version=0.5
|
||||
foodmart-data-json.version=0.4
|
||||
foodmart-queries.version=0.4.1
|
||||
geode-core.version=1.15.1
|
||||
-guava.version=19.0
|
||||
+guava.version=31.1-jre
|
||||
h2.version=2.1.210
|
||||
hadoop.version=2.7.5
|
||||
hamcrest-date.version=2.0.4
|
||||
diff --git a/linq4j/src/main/java/org/apache/calcite/linq4j/Linq4j.java b/linq4j/src/main/java/org/apache/calcite/linq4j/Linq4j.java
|
||||
index 482a30757..1b22df621 100644
|
||||
--- a/linq4j/src/main/java/org/apache/calcite/linq4j/Linq4j.java
|
||||
+++ b/linq4j/src/main/java/org/apache/calcite/linq4j/Linq4j.java
|
||||
@@ -417,6 +417,7 @@ public static <T> boolean equals(T t0, T t1) {
|
||||
* above.
|
||||
*/
|
||||
@Deprecated // to be removed before 2.0
|
||||
+ @SuppressWarnings("RequireNonNullStatement")
|
||||
public static <T> T requireNonNull(T o) {
|
||||
if (o == null) {
|
||||
throw new NullPointerException();
|
||||
diff --git a/testkit/src/main/java/org/apache/calcite/sql/parser/SqlParserTest.java b/testkit/src/main/java/org/apache/calcite/sql/parser/SqlParserTest.java
|
||||
index d78fab432..449c2ebdd 100644
|
||||
--- a/testkit/src/main/java/org/apache/calcite/sql/parser/SqlParserTest.java
|
||||
+++ b/testkit/src/main/java/org/apache/calcite/sql/parser/SqlParserTest.java
|
||||
@@ -98,6 +98,7 @@
|
||||
* @see SqlParserFixture
|
||||
* @see SqlParserListFixture
|
||||
*/
|
||||
+@SuppressWarnings("JUnitClassModifiers")
|
||||
public class SqlParserTest {
|
||||
/**
|
||||
* List of reserved keywords.
|
||||
1
integration-tests/checkstyle
Submodule
1
integration-tests/checkstyle
Submodule
Submodule integration-tests/checkstyle added at 23cdcab162
54085
integration-tests/checkstyle-checkstyle-10.5.0-expected-changes.patch
Normal file
54085
integration-tests/checkstyle-checkstyle-10.5.0-expected-changes.patch
Normal file
File diff suppressed because it is too large
Load Diff
253
integration-tests/checkstyle-checkstyle-10.5.0-init.patch
Normal file
253
integration-tests/checkstyle-checkstyle-10.5.0-init.patch
Normal file
@@ -0,0 +1,253 @@
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index 0f453706b..a478db73f 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -233,7 +233,8 @@
|
||||
<junit.version>5.9.1</junit.version>
|
||||
<forbiddenapis.version>3.4</forbiddenapis.version>
|
||||
<json-schema-validator.version>1.2.0</json-schema-validator.version>
|
||||
- <error-prone.version>2.15.0</error-prone.version>
|
||||
+ <error-prone.version>v2.17.0-picnic-3</error-prone.version>
|
||||
+ <error-prone-support.version>0.7.0</error-prone-support.version>
|
||||
<checkerframework.version>3.27.0</checkerframework.version>
|
||||
</properties>
|
||||
|
||||
@@ -333,6 +334,12 @@
|
||||
<version>1.1.3</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
+ <dependency>
|
||||
+ <groupId>org.assertj</groupId>
|
||||
+ <artifactId>assertj-core</artifactId>
|
||||
+ <version>3.24.1</version>
|
||||
+ <scope>test</scope>
|
||||
+ </dependency>
|
||||
<dependency>
|
||||
<groupId>nl.jqno.equalsverifier</groupId>
|
||||
<artifactId>equalsverifier</artifactId>
|
||||
@@ -2322,15 +2329,25 @@
|
||||
<arg>-Xpkginfo:always</arg>
|
||||
<arg>-XDcompilePolicy=simple</arg>
|
||||
<arg>
|
||||
- -Xplugin:ErrorProne
|
||||
+ -Xplugin:ErrorProne ${error-prone.flags}
|
||||
</arg>
|
||||
</compilerArgs>
|
||||
<annotationProcessorPaths>
|
||||
<path>
|
||||
- <groupId>com.google.errorprone</groupId>
|
||||
+ <groupId>com.github.PicnicSupermarket.error-prone</groupId>
|
||||
<artifactId>error_prone_core</artifactId>
|
||||
<version>${error-prone.version}</version>
|
||||
</path>
|
||||
+ <path>
|
||||
+ <groupId>tech.picnic.error-prone-support</groupId>
|
||||
+ <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>
|
||||
@@ -2375,15 +2392,26 @@
|
||||
<arg>-XDcompilePolicy=simple</arg>
|
||||
<arg>
|
||||
-Xplugin:ErrorProne \
|
||||
- -XepExcludedPaths:.*[\\/]resources[\\/].*
|
||||
+ -XepExcludedPaths:.*[\\/]resources[\\/].* \
|
||||
+ ${error-prone.flags}
|
||||
</arg>
|
||||
</compilerArgs>
|
||||
<annotationProcessorPaths>
|
||||
<path>
|
||||
- <groupId>com.google.errorprone</groupId>
|
||||
+ <groupId>com.github.PicnicSupermarket.error-prone</groupId>
|
||||
<artifactId>error_prone_core</artifactId>
|
||||
<version>${error-prone.version}</version>
|
||||
</path>
|
||||
+ <path>
|
||||
+ <groupId>tech.picnic.error-prone-support</groupId>
|
||||
+ <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>
|
||||
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/DetailNodeTreeStringPrinter.java b/src/main/java/com/puppycrawl/tools/checkstyle/DetailNodeTreeStringPrinter.java
|
||||
index de390a42c..a0ff7a866 100644
|
||||
--- a/src/main/java/com/puppycrawl/tools/checkstyle/DetailNodeTreeStringPrinter.java
|
||||
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/DetailNodeTreeStringPrinter.java
|
||||
@@ -63,6 +63,7 @@ public final class DetailNodeTreeStringPrinter {
|
||||
* @return DetailNode tree
|
||||
* @throws IllegalArgumentException if there is an error parsing the Javadoc.
|
||||
*/
|
||||
+ @SuppressWarnings("CheckArgumentWithMessage")
|
||||
public static DetailNode parseJavadocAsDetailNode(DetailAST blockComment) {
|
||||
final JavadocDetailNodeParser parser = new JavadocDetailNodeParser();
|
||||
final ParseStatus status = parser.parseJavadocAsDetailNode(blockComment);
|
||||
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/PackageObjectFactory.java b/src/main/java/com/puppycrawl/tools/checkstyle/PackageObjectFactory.java
|
||||
index bec9669bf..2ad0f4467 100644
|
||||
--- a/src/main/java/com/puppycrawl/tools/checkstyle/PackageObjectFactory.java
|
||||
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/PackageObjectFactory.java
|
||||
@@ -300,6 +300,7 @@ public class PackageObjectFactory implements ModuleFactory {
|
||||
* @return the map of third party Checkstyle module names to the set of their fully qualified
|
||||
* names
|
||||
*/
|
||||
+ @SuppressWarnings("CollectorMutability")
|
||||
private Map<String, Set<String>> generateThirdPartyNameToFullModuleName(ClassLoader loader) {
|
||||
Map<String, Set<String>> returnValue;
|
||||
try {
|
||||
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/SarifLogger.java b/src/main/java/com/puppycrawl/tools/checkstyle/SarifLogger.java
|
||||
index 399893f40..aa93aca80 100644
|
||||
--- a/src/main/java/com/puppycrawl/tools/checkstyle/SarifLogger.java
|
||||
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/SarifLogger.java
|
||||
@@ -140,6 +140,7 @@ public class SarifLogger extends AutomaticBean implements AuditListener {
|
||||
@Override
|
||||
public void auditFinished(AuditEvent event) {
|
||||
final String version = SarifLogger.class.getPackage().getImplementationVersion();
|
||||
+ @SuppressWarnings("IdentityConversion")
|
||||
final String rendered = report
|
||||
.replace(VERSION_PLACEHOLDER, String.valueOf(version))
|
||||
.replace(RESULTS_PLACEHOLDER, String.join(",\n", results));
|
||||
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/IllegalCatchCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/IllegalCatchCheck.java
|
||||
index fd1d9d729..d5d891d6e 100644
|
||||
--- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/IllegalCatchCheck.java
|
||||
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/IllegalCatchCheck.java
|
||||
@@ -152,6 +152,7 @@ public final class IllegalCatchCheck extends AbstractCheck {
|
||||
public static final String MSG_KEY = "illegal.catch";
|
||||
|
||||
/** Specify exception class names to reject. */
|
||||
+ @SuppressWarnings("CollectorMutability")
|
||||
private final Set<String> illegalClassNames = Arrays.stream(new String[] {"Exception", "Error",
|
||||
"RuntimeException", "Throwable", "java.lang.Error", "java.lang.Exception",
|
||||
"java.lang.RuntimeException", "java.lang.Throwable", }).collect(Collectors.toSet());
|
||||
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/IllegalThrowsCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/IllegalThrowsCheck.java
|
||||
index d00cd2fdf..4a0d9220d 100644
|
||||
--- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/IllegalThrowsCheck.java
|
||||
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/IllegalThrowsCheck.java
|
||||
@@ -159,10 +159,12 @@ public final class IllegalThrowsCheck extends AbstractCheck {
|
||||
public static final String MSG_KEY = "illegal.throw";
|
||||
|
||||
/** Specify names of methods to ignore. */
|
||||
+ @SuppressWarnings("CollectorMutability")
|
||||
private final Set<String> ignoredMethodNames =
|
||||
Arrays.stream(new String[] {"finalize", }).collect(Collectors.toSet());
|
||||
|
||||
/** Specify throw class names to reject. */
|
||||
+ @SuppressWarnings("CollectorMutability")
|
||||
private final Set<String> illegalClassNames = Arrays.stream(
|
||||
new String[] {"Error", "RuntimeException", "Throwable", "java.lang.Error",
|
||||
"java.lang.RuntimeException", "java.lang.Throwable", })
|
||||
diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/AbstractModuleTestSupport.java b/src/test/java/com/puppycrawl/tools/checkstyle/AbstractModuleTestSupport.java
|
||||
index 157e65406..239c2ecc6 100644
|
||||
--- a/src/test/java/com/puppycrawl/tools/checkstyle/AbstractModuleTestSupport.java
|
||||
+++ b/src/test/java/com/puppycrawl/tools/checkstyle/AbstractModuleTestSupport.java
|
||||
@@ -553,6 +553,7 @@ public abstract class AbstractModuleTestSupport extends AbstractPathTestSupport
|
||||
*/
|
||||
protected static String[] removeSuppressed(String[] actualViolations,
|
||||
String... suppressedViolations) {
|
||||
+ @SuppressWarnings("CollectorMutability")
|
||||
final List<String> actualViolationsList =
|
||||
Arrays.stream(actualViolations).collect(Collectors.toList());
|
||||
actualViolationsList.removeAll(Arrays.asList(suppressedViolations));
|
||||
diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/CheckerTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/CheckerTest.java
|
||||
index 8fee6bfed..7e20a1580 100644
|
||||
--- a/src/test/java/com/puppycrawl/tools/checkstyle/CheckerTest.java
|
||||
+++ b/src/test/java/com/puppycrawl/tools/checkstyle/CheckerTest.java
|
||||
@@ -90,6 +90,7 @@ import com.puppycrawl.tools.checkstyle.utils.CommonUtil;
|
||||
* @noinspectionreason ClassWithTooManyDependencies - complex tests require a large number
|
||||
* of imports
|
||||
*/
|
||||
+@SuppressWarnings("JUnitClassModifiers")
|
||||
public class CheckerTest extends AbstractModuleTestSupport {
|
||||
|
||||
@TempDir
|
||||
diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/ConfigurationLoaderTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/ConfigurationLoaderTest.java
|
||||
index 72881222e..9e81ede00 100644
|
||||
--- a/src/test/java/com/puppycrawl/tools/checkstyle/ConfigurationLoaderTest.java
|
||||
+++ b/src/test/java/com/puppycrawl/tools/checkstyle/ConfigurationLoaderTest.java
|
||||
@@ -46,6 +46,7 @@ import com.puppycrawl.tools.checkstyle.internal.utils.TestUtil;
|
||||
/**
|
||||
* Unit test for ConfigurationLoader.
|
||||
*/
|
||||
+@SuppressWarnings("JUnitClassModifiers")
|
||||
public class ConfigurationLoaderTest extends AbstractPathTestSupport {
|
||||
|
||||
@Override
|
||||
diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/JavaAstVisitorTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/JavaAstVisitorTest.java
|
||||
index 5280ab216..2b984fe89 100644
|
||||
--- a/src/test/java/com/puppycrawl/tools/checkstyle/JavaAstVisitorTest.java
|
||||
+++ b/src/test/java/com/puppycrawl/tools/checkstyle/JavaAstVisitorTest.java
|
||||
@@ -106,6 +106,7 @@ public class JavaAstVisitorTest extends AbstractModuleTestSupport {
|
||||
.map(Method::getName)
|
||||
.collect(Collectors.toSet());
|
||||
|
||||
+ @SuppressWarnings("CollectorMutability")
|
||||
final Set<String> filteredVisitMethodNames = Arrays.stream(visitMethods)
|
||||
.filter(method -> method.getName().contains("visit"))
|
||||
.filter(method -> method.getModifiers() == Modifier.PUBLIC)
|
||||
diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/PackageObjectFactoryTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/PackageObjectFactoryTest.java
|
||||
index 41636ec4b..9ada7757d 100644
|
||||
--- a/src/test/java/com/puppycrawl/tools/checkstyle/PackageObjectFactoryTest.java
|
||||
+++ b/src/test/java/com/puppycrawl/tools/checkstyle/PackageObjectFactoryTest.java
|
||||
@@ -98,6 +98,7 @@ public class PackageObjectFactoryTest {
|
||||
public void testCtorNullPackageException1() {
|
||||
final ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
|
||||
try {
|
||||
+ @SuppressWarnings("ImmutableSetOf1")
|
||||
final Object test = new PackageObjectFactory(Collections.singleton(null), classLoader);
|
||||
assertWithMessage("Exception is expected but got " + test).fail();
|
||||
}
|
||||
@@ -126,6 +127,7 @@ public class PackageObjectFactoryTest {
|
||||
public void testCtorNullPackageException3() {
|
||||
final ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
|
||||
try {
|
||||
+ @SuppressWarnings("ImmutableSetOf1")
|
||||
final Object test = new PackageObjectFactory(Collections.singleton(null), classLoader,
|
||||
TRY_IN_ALL_REGISTERED_PACKAGES);
|
||||
assertWithMessage("Exception is expected but got " + test).fail();
|
||||
diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/TreeWalkerTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/TreeWalkerTest.java
|
||||
index da5d8f2af..4b6f85e95 100644
|
||||
--- a/src/test/java/com/puppycrawl/tools/checkstyle/TreeWalkerTest.java
|
||||
+++ b/src/test/java/com/puppycrawl/tools/checkstyle/TreeWalkerTest.java
|
||||
@@ -79,6 +79,7 @@ import com.puppycrawl.tools.checkstyle.utils.CommonUtil;
|
||||
* @noinspectionreason ClassWithTooManyDependencies - complex tests require a
|
||||
* large number of imports
|
||||
*/
|
||||
+@SuppressWarnings("JUnitClassModifiers")
|
||||
public class TreeWalkerTest extends AbstractModuleTestSupport {
|
||||
|
||||
@TempDir
|
||||
diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/internal/XpathRegressionTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/internal/XpathRegressionTest.java
|
||||
index 2e5ce578c..ebf661993 100644
|
||||
--- a/src/test/java/com/puppycrawl/tools/checkstyle/internal/XpathRegressionTest.java
|
||||
+++ b/src/test/java/com/puppycrawl/tools/checkstyle/internal/XpathRegressionTest.java
|
||||
@@ -180,6 +180,7 @@ public class XpathRegressionTest extends AbstractModuleTestSupport {
|
||||
@Test
|
||||
public void validateIncompatibleJavadocCheckNames() throws IOException {
|
||||
// subclasses of AbstractJavadocCheck
|
||||
+ @SuppressWarnings("CollectorMutability")
|
||||
final Set<Class<?>> abstractJavadocCheckNames = CheckUtil.getCheckstyleChecks()
|
||||
.stream()
|
||||
.filter(AbstractJavadocCheck.class::isAssignableFrom)
|
||||
diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/internal/utils/CheckUtil.java b/src/test/java/com/puppycrawl/tools/checkstyle/internal/utils/CheckUtil.java
|
||||
index ae779e07b..55f68955e 100644
|
||||
--- a/src/test/java/com/puppycrawl/tools/checkstyle/internal/utils/CheckUtil.java
|
||||
+++ b/src/test/java/com/puppycrawl/tools/checkstyle/internal/utils/CheckUtil.java
|
||||
@@ -78,6 +78,7 @@ public final class CheckUtil {
|
||||
* @param checks class instances.
|
||||
* @return a set of simple names.
|
||||
*/
|
||||
+ @SuppressWarnings("CollectorMutability")
|
||||
public static Set<String> getSimpleNames(Set<Class<?>> checks) {
|
||||
return checks.stream().map(check -> {
|
||||
String name = check.getSimpleName();
|
||||
54936
integration-tests/checkstyle-checkstyle-10.9.3-expected-changes.patch
Normal file
54936
integration-tests/checkstyle-checkstyle-10.9.3-expected-changes.patch
Normal file
File diff suppressed because it is too large
Load Diff
136
integration-tests/checkstyle-checkstyle-10.9.3-init.patch
Normal file
136
integration-tests/checkstyle-checkstyle-10.9.3-init.patch
Normal file
@@ -0,0 +1,136 @@
|
||||
diff --git a/config/archunit-store/slices-should-be-free-of-cycles-suppressions b/config/archunit-store/slices-should-be-free-of-cycles-suppressions
|
||||
index 476efc1b9..4eab67306 100644
|
||||
--- a/config/archunit-store/slices-should-be-free-of-cycles-suppressions
|
||||
+++ b/config/archunit-store/slices-should-be-free-of-cycles-suppressions
|
||||
@@ -1351,8 +1351,8 @@ Cycle detected: Slice checks.javadoc -> \
|
||||
- Constructor <com.puppycrawl.tools.checkstyle.checks.javadoc.AtclauseOrderCheck.<init>()> calls method <com.puppycrawl.tools.checkstyle.utils.TokenUtil.asBitSet([I)> in (AtclauseOrderCheck.java:177)\
|
||||
- Method <com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocTagContinuationIndentationCheck.visitJavadocToken(com.puppycrawl.tools.checkstyle.api.DetailNode)> calls method <com.puppycrawl.tools.checkstyle.utils.JavadocUtil.getNextSibling(com.puppycrawl.tools.checkstyle.api.DetailNode)> in (JavadocTagContinuationIndentationCheck.java:177)\
|
||||
- Method <com.puppycrawl.tools.checkstyle.checks.javadoc.RequireEmptyLineBeforeBlockTagGroupCheck.isAnotherTagBefore(com.puppycrawl.tools.checkstyle.api.DetailNode)> calls method <com.puppycrawl.tools.checkstyle.utils.JavadocUtil.getPreviousSibling(com.puppycrawl.tools.checkstyle.api.DetailNode)> in (RequireEmptyLineBeforeBlockTagGroupCheck.java:177)\
|
||||
+ - Method <com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocNodeImpl.toString()> calls method <com.puppycrawl.tools.checkstyle.utils.JavadocUtil.getTokenName(int)> in (JavadocNodeImpl.java:178)\
|
||||
- Method <com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocTagInfo$8.isValidOn(com.puppycrawl.tools.checkstyle.api.DetailAST)> calls method <com.puppycrawl.tools.checkstyle.utils.ScopeUtil.isLocalVariableDef(com.puppycrawl.tools.checkstyle.api.DetailAST)> in (JavadocTagInfo.java:178)\
|
||||
- - Method <com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocNodeImpl.toString()> calls method <com.puppycrawl.tools.checkstyle.utils.JavadocUtil.getTokenName(int)> in (JavadocNodeImpl.java:179)\
|
||||
- Method <com.puppycrawl.tools.checkstyle.checks.javadoc.AbstractJavadocCheck.setJavadocTokens([Ljava.lang.String;)> calls method <com.puppycrawl.tools.checkstyle.utils.JavadocUtil.getTokenId(java.lang.String)> in (AbstractJavadocCheck.java:181)\
|
||||
- Method <com.puppycrawl.tools.checkstyle.checks.javadoc.RequireEmptyLineBeforeBlockTagGroupCheck.isAnotherTagBefore(com.puppycrawl.tools.checkstyle.api.DetailNode)> calls method <com.puppycrawl.tools.checkstyle.utils.JavadocUtil.getPreviousSibling(com.puppycrawl.tools.checkstyle.api.DetailNode)> in (RequireEmptyLineBeforeBlockTagGroupCheck.java:183)\
|
||||
- Method <com.puppycrawl.tools.checkstyle.checks.javadoc.NonEmptyAtclauseDescriptionCheck.hasOnlyEmptyText(com.puppycrawl.tools.checkstyle.api.DetailNode)> calls method <com.puppycrawl.tools.checkstyle.utils.CommonUtil.isBlank(java.lang.String)> in (NonEmptyAtclauseDescriptionCheck.java:185)\
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index e47bd227e..304b565ed 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -230,10 +230,12 @@
|
||||
<pitest.junit5.plugin.version>1.1.2</pitest.junit5.plugin.version>
|
||||
<pitest.accelerator.junit5.plugin.version>1.0.4</pitest.accelerator.junit5.plugin.version>
|
||||
<sonar.test.exclusions>**/test/resources/**/*,**/it/resources/**/*</sonar.test.exclusions>
|
||||
+ <assertj.version>3.24.2</assertj.version>
|
||||
<junit.version>5.9.2</junit.version>
|
||||
<forbiddenapis.version>3.4</forbiddenapis.version>
|
||||
<json-schema-validator.version>1.2.0</json-schema-validator.version>
|
||||
- <error-prone.version>2.18.0</error-prone.version>
|
||||
+ <error-prone.version>2.18.0-picnic-1</error-prone.version>
|
||||
+ <error-prone-support.version>0.9.0</error-prone-support.version>
|
||||
<checkerframework.version>3.27.0</checkerframework.version>
|
||||
</properties>
|
||||
|
||||
@@ -277,6 +279,12 @@
|
||||
</dependency>
|
||||
|
||||
<!-- test scope stuff -->
|
||||
+ <dependency>
|
||||
+ <groupId>org.assertj</groupId>
|
||||
+ <artifactId>assertj-core</artifactId>
|
||||
+ <version>${assertj.version}</version>
|
||||
+ <scope>test</scope>
|
||||
+ </dependency>
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter-api</artifactId>
|
||||
@@ -2308,15 +2316,25 @@
|
||||
<arg>-Xpkginfo:always</arg>
|
||||
<arg>-XDcompilePolicy=simple</arg>
|
||||
<arg>
|
||||
- -Xplugin:ErrorProne
|
||||
+ -Xplugin:ErrorProne ${error-prone.flags}
|
||||
</arg>
|
||||
</compilerArgs>
|
||||
<annotationProcessorPaths>
|
||||
<path>
|
||||
- <groupId>com.google.errorprone</groupId>
|
||||
+ <groupId>com.github.PicnicSupermarket.error-prone</groupId>
|
||||
<artifactId>error_prone_core</artifactId>
|
||||
<version>${error-prone.version}</version>
|
||||
</path>
|
||||
+ <path>
|
||||
+ <groupId>tech.picnic.error-prone-support</groupId>
|
||||
+ <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>
|
||||
@@ -2361,15 +2379,26 @@
|
||||
<arg>-XDcompilePolicy=simple</arg>
|
||||
<arg>
|
||||
-Xplugin:ErrorProne \
|
||||
- -XepExcludedPaths:.*[\\/]resources[\\/].*
|
||||
+ -XepExcludedPaths:.*[\\/]resources[\\/].* \
|
||||
+ ${error-prone.flags}
|
||||
</arg>
|
||||
</compilerArgs>
|
||||
<annotationProcessorPaths>
|
||||
<path>
|
||||
- <groupId>com.google.errorprone</groupId>
|
||||
+ <groupId>com.github.PicnicSupermarket.error-prone</groupId>
|
||||
<artifactId>error_prone_core</artifactId>
|
||||
<version>${error-prone.version}</version>
|
||||
</path>
|
||||
+ <path>
|
||||
+ <groupId>tech.picnic.error-prone-support</groupId>
|
||||
+ <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>
|
||||
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/DetailNodeTreeStringPrinter.java b/src/main/java/com/puppycrawl/tools/checkstyle/DetailNodeTreeStringPrinter.java
|
||||
index 61c59b613..9019964ad 100644
|
||||
--- a/src/main/java/com/puppycrawl/tools/checkstyle/DetailNodeTreeStringPrinter.java
|
||||
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/DetailNodeTreeStringPrinter.java
|
||||
@@ -63,6 +63,7 @@ public final class DetailNodeTreeStringPrinter {
|
||||
* @return DetailNode tree
|
||||
* @throws IllegalArgumentException if there is an error parsing the Javadoc.
|
||||
*/
|
||||
+ @SuppressWarnings("CheckArgumentWithMessage")
|
||||
public static DetailNode parseJavadocAsDetailNode(DetailAST blockComment) {
|
||||
final JavadocDetailNodeParser parser = new JavadocDetailNodeParser();
|
||||
final ParseStatus status = parser.parseJavadocAsDetailNode(blockComment);
|
||||
diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocNodeImpl.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocNodeImpl.java
|
||||
index fd90c4259..0c1b4f141 100644
|
||||
--- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocNodeImpl.java
|
||||
+++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocNodeImpl.java
|
||||
@@ -20,7 +20,6 @@
|
||||
package com.puppycrawl.tools.checkstyle.checks.javadoc;
|
||||
|
||||
import java.util.Arrays;
|
||||
-import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
|
||||
import com.puppycrawl.tools.checkstyle.api.DetailNode;
|
||||
@@ -180,7 +179,7 @@ public class JavadocNodeImpl implements DetailNode {
|
||||
+ ", text='" + text + '\''
|
||||
+ ", lineNumber=" + lineNumber
|
||||
+ ", columnNumber=" + columnNumber
|
||||
- + ", children=" + Objects.hashCode(children)
|
||||
+ + ", children=" + Arrays.hashCode(children)
|
||||
+ ", parent=" + parent + ']';
|
||||
}
|
||||
|
||||
|
||||
23894
integration-tests/druid-druid-26.0.0-expected-changes.patch
Normal file
23894
integration-tests/druid-druid-26.0.0-expected-changes.patch
Normal file
File diff suppressed because it is too large
Load Diff
1025
integration-tests/druid-druid-26.0.0-init.patch
Normal file
1025
integration-tests/druid-druid-26.0.0-init.patch
Normal file
File diff suppressed because it is too large
Load Diff
1
integration-tests/guava
Submodule
1
integration-tests/guava
Submodule
Submodule integration-tests/guava added at 8e4c7128d6
31831
integration-tests/guava-v31.1-expected-changes.patch
Normal file
31831
integration-tests/guava-v31.1-expected-changes.patch
Normal file
File diff suppressed because it is too large
Load Diff
929
integration-tests/guava-v31.1-init.patch
Normal file
929
integration-tests/guava-v31.1-init.patch
Normal file
@@ -0,0 +1,929 @@
|
||||
diff --git a/guava/src/com/google/common/collect/Iterables.java b/guava/src/com/google/common/collect/Iterables.java
|
||||
index 7928b15d67..f86ac443ba 100644
|
||||
--- a/guava/src/com/google/common/collect/Iterables.java
|
||||
+++ b/guava/src/com/google/common/collect/Iterables.java
|
||||
@@ -1041,6 +1041,7 @@ public final class Iterables {
|
||||
*
|
||||
* @return {@code true} if the iterable contains no elements
|
||||
*/
|
||||
+ @SuppressWarnings("IterableIsEmpty")
|
||||
public static boolean isEmpty(Iterable<?> iterable) {
|
||||
if (iterable instanceof Collection) {
|
||||
return ((Collection<?>) iterable).isEmpty();
|
||||
|
||||
diff --git a/guava-testlib/test/com/google/common/testing/NullPointerTesterTest.java b/guava-testlib/test/com/google/common/testing/NullPointerTesterTest.java
|
||||
index a5a20ec3ad..9bad916fe3 100644
|
||||
--- a/guava-testlib/test/com/google/common/testing/NullPointerTesterTest.java
|
||||
+++ b/guava-testlib/test/com/google/common/testing/NullPointerTesterTest.java
|
||||
@@ -839,6 +839,7 @@ public class NullPointerTesterTest extends TestCase {
|
||||
|
||||
@SuppressWarnings("unused") // for NullPointerTester
|
||||
private static class ClassThatFailsToThrowForStatic {
|
||||
+ @SuppressWarnings("EmptyMethod")
|
||||
static void staticOneArg(String s) {}
|
||||
}
|
||||
|
||||
@@ -854,6 +855,7 @@ public class NullPointerTesterTest extends TestCase {
|
||||
|
||||
private static class SubclassThatTriesToOverrideBadStaticMethod
|
||||
extends ClassThatFailsToThrowForStatic {
|
||||
+ @SuppressWarnings("EmptyMethod")
|
||||
static void staticOneArg(@Nullable String s) {}
|
||||
}
|
||||
|
||||
|
||||
diff --git a/guava-testlib/test/com/google/common/testing/ClassSanityTesterTest.java b/guava-testlib/test/com/google/common/testing/ClassSanityTesterTest.java
|
||||
index c5db2d575c..4aa3d60ff0 100644
|
||||
--- a/guava-testlib/test/com/google/common/testing/ClassSanityTesterTest.java
|
||||
+++ b/guava-testlib/test/com/google/common/testing/ClassSanityTesterTest.java
|
||||
@@ -1338,7 +1338,7 @@ public class ClassSanityTesterTest extends TestCase {
|
||||
private enum EnumFailsToCheckNull {
|
||||
A;
|
||||
|
||||
- @SuppressWarnings("unused")
|
||||
+ @SuppressWarnings({"unused", "EmptyMethod"})
|
||||
public void failToCheckNull(String s) {}
|
||||
}
|
||||
|
||||
diff --git a/guava/src/com/google/common/base/Platform.java b/guava/src/com/google/common/base/Platform.java
|
||||
index 644e89cbfa..137f879603 100644
|
||||
--- a/guava/src/com/google/common/base/Platform.java
|
||||
+++ b/guava/src/com/google/common/base/Platform.java
|
||||
@@ -55,6 +55,7 @@ final class Platform {
|
||||
return String.format(Locale.ROOT, "%.4g", value);
|
||||
}
|
||||
|
||||
+ @SuppressWarnings("StringIsNullOrEmpty")
|
||||
static boolean stringIsNullOrEmpty(@CheckForNull String string) {
|
||||
return string == null || string.isEmpty();
|
||||
}
|
||||
diff --git a/guava/src/com/google/common/base/Preconditions.java b/guava/src/com/google/common/base/Preconditions.java
|
||||
index 13ff77b7f7..1d9729951c 100644
|
||||
--- a/guava/src/com/google/common/base/Preconditions.java
|
||||
+++ b/guava/src/com/google/common/base/Preconditions.java
|
||||
@@ -126,6 +126,7 @@ public final class Preconditions {
|
||||
* @param expression a boolean expression
|
||||
* @throws IllegalArgumentException if {@code expression} is false
|
||||
*/
|
||||
+ @SuppressWarnings("CheckArgument")
|
||||
public static void checkArgument(boolean expression) {
|
||||
if (!expression) {
|
||||
throw new IllegalArgumentException();
|
||||
@@ -140,6 +141,7 @@ public final class Preconditions {
|
||||
* string using {@link String#valueOf(Object)}
|
||||
* @throws IllegalArgumentException if {@code expression} is false
|
||||
*/
|
||||
+ @SuppressWarnings("CheckArgumentWithMessage")
|
||||
public static void checkArgument(boolean expression, @CheckForNull Object errorMessage) {
|
||||
if (!expression) {
|
||||
throw new IllegalArgumentException(String.valueOf(errorMessage));
|
||||
@@ -159,6 +161,7 @@ public final class Preconditions {
|
||||
* are converted to strings using {@link String#valueOf(Object)}.
|
||||
* @throws IllegalArgumentException if {@code expression} is false
|
||||
*/
|
||||
+ @SuppressWarnings("CheckArgumentWithMessage")
|
||||
public static void checkArgument(
|
||||
boolean expression,
|
||||
String errorMessageTemplate,
|
||||
@@ -175,6 +178,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckArgumentWithMessage")
|
||||
public static void checkArgument(boolean b, String errorMessageTemplate, char p1) {
|
||||
if (!b) {
|
||||
throw new IllegalArgumentException(lenientFormat(errorMessageTemplate, p1));
|
||||
@@ -267,6 +271,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckArgumentWithMessage")
|
||||
public static void checkArgument(
|
||||
boolean b, String errorMessageTemplate, char p1, @CheckForNull Object p2) {
|
||||
if (!b) {
|
||||
@@ -281,6 +286,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckArgumentWithMessage")
|
||||
public static void checkArgument(boolean b, String errorMessageTemplate, int p1, char p2) {
|
||||
if (!b) {
|
||||
throw new IllegalArgumentException(lenientFormat(errorMessageTemplate, p1, p2));
|
||||
@@ -294,6 +300,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckArgumentWithMessage")
|
||||
public static void checkArgument(boolean b, String errorMessageTemplate, int p1, int p2) {
|
||||
if (!b) {
|
||||
throw new IllegalArgumentException(lenientFormat(errorMessageTemplate, p1, p2));
|
||||
@@ -307,6 +314,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckArgumentWithMessage")
|
||||
public static void checkArgument(boolean b, String errorMessageTemplate, int p1, long p2) {
|
||||
if (!b) {
|
||||
throw new IllegalArgumentException(lenientFormat(errorMessageTemplate, p1, p2));
|
||||
@@ -320,6 +328,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckArgumentWithMessage")
|
||||
public static void checkArgument(
|
||||
boolean b, String errorMessageTemplate, int p1, @CheckForNull Object p2) {
|
||||
if (!b) {
|
||||
@@ -334,6 +343,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckArgumentWithMessage")
|
||||
public static void checkArgument(boolean b, String errorMessageTemplate, long p1, char p2) {
|
||||
if (!b) {
|
||||
throw new IllegalArgumentException(lenientFormat(errorMessageTemplate, p1, p2));
|
||||
@@ -347,6 +357,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckArgumentWithMessage")
|
||||
public static void checkArgument(boolean b, String errorMessageTemplate, long p1, int p2) {
|
||||
if (!b) {
|
||||
throw new IllegalArgumentException(lenientFormat(errorMessageTemplate, p1, p2));
|
||||
@@ -360,6 +371,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckArgumentWithMessage")
|
||||
public static void checkArgument(boolean b, String errorMessageTemplate, long p1, long p2) {
|
||||
if (!b) {
|
||||
throw new IllegalArgumentException(lenientFormat(errorMessageTemplate, p1, p2));
|
||||
@@ -373,6 +385,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckArgumentWithMessage")
|
||||
public static void checkArgument(
|
||||
boolean b, String errorMessageTemplate, long p1, @CheckForNull Object p2) {
|
||||
if (!b) {
|
||||
@@ -387,6 +400,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckArgumentWithMessage")
|
||||
public static void checkArgument(
|
||||
boolean b, String errorMessageTemplate, @CheckForNull Object p1, char p2) {
|
||||
if (!b) {
|
||||
@@ -401,6 +415,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckArgumentWithMessage")
|
||||
public static void checkArgument(
|
||||
boolean b, String errorMessageTemplate, @CheckForNull Object p1, int p2) {
|
||||
if (!b) {
|
||||
@@ -415,6 +430,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckArgumentWithMessage")
|
||||
public static void checkArgument(
|
||||
boolean b, String errorMessageTemplate, @CheckForNull Object p1, long p2) {
|
||||
if (!b) {
|
||||
@@ -429,6 +445,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckArgumentWithMessage")
|
||||
public static void checkArgument(
|
||||
boolean b, String errorMessageTemplate, @CheckForNull Object p1, @CheckForNull Object p2) {
|
||||
if (!b) {
|
||||
@@ -443,6 +460,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckArgumentWithMessage")
|
||||
public static void checkArgument(
|
||||
boolean b,
|
||||
String errorMessageTemplate,
|
||||
@@ -461,6 +479,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckArgumentWithMessage")
|
||||
public static void checkArgument(
|
||||
boolean b,
|
||||
String errorMessageTemplate,
|
||||
@@ -481,6 +500,7 @@ public final class Preconditions {
|
||||
* @throws IllegalStateException if {@code expression} is false
|
||||
* @see Verify#verify Verify.verify()
|
||||
*/
|
||||
+ @SuppressWarnings("CheckState")
|
||||
public static void checkState(boolean expression) {
|
||||
if (!expression) {
|
||||
throw new IllegalStateException();
|
||||
@@ -497,6 +517,7 @@ public final class Preconditions {
|
||||
* @throws IllegalStateException if {@code expression} is false
|
||||
* @see Verify#verify Verify.verify()
|
||||
*/
|
||||
+ @SuppressWarnings("CheckStateWithMessage")
|
||||
public static void checkState(boolean expression, @CheckForNull Object errorMessage) {
|
||||
if (!expression) {
|
||||
throw new IllegalStateException(String.valueOf(errorMessage));
|
||||
@@ -518,6 +539,7 @@ public final class Preconditions {
|
||||
* @throws IllegalStateException if {@code expression} is false
|
||||
* @see Verify#verify Verify.verify()
|
||||
*/
|
||||
+ @SuppressWarnings("CheckStateWithMessage")
|
||||
public static void checkState(
|
||||
boolean expression,
|
||||
/*
|
||||
@@ -543,6 +565,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckStateWithMessage")
|
||||
public static void checkState(boolean b, String errorMessageTemplate, char p1) {
|
||||
if (!b) {
|
||||
throw new IllegalStateException(lenientFormat(errorMessageTemplate, p1));
|
||||
@@ -557,6 +580,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckStateWithMessage")
|
||||
public static void checkState(boolean b, String errorMessageTemplate, int p1) {
|
||||
if (!b) {
|
||||
throw new IllegalStateException(lenientFormat(errorMessageTemplate, p1));
|
||||
@@ -571,6 +595,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckStateWithMessage")
|
||||
public static void checkState(boolean b, String errorMessageTemplate, long p1) {
|
||||
if (!b) {
|
||||
throw new IllegalStateException(lenientFormat(errorMessageTemplate, p1));
|
||||
@@ -585,6 +610,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckStateWithMessage")
|
||||
public static void checkState(boolean b, String errorMessageTemplate, @CheckForNull Object p1) {
|
||||
if (!b) {
|
||||
throw new IllegalStateException(lenientFormat(errorMessageTemplate, p1));
|
||||
@@ -599,6 +625,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckStateWithMessage")
|
||||
public static void checkState(boolean b, String errorMessageTemplate, char p1, char p2) {
|
||||
if (!b) {
|
||||
throw new IllegalStateException(lenientFormat(errorMessageTemplate, p1, p2));
|
||||
@@ -613,6 +640,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckStateWithMessage")
|
||||
public static void checkState(boolean b, String errorMessageTemplate, char p1, int p2) {
|
||||
if (!b) {
|
||||
throw new IllegalStateException(lenientFormat(errorMessageTemplate, p1, p2));
|
||||
@@ -627,6 +655,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckStateWithMessage")
|
||||
public static void checkState(boolean b, String errorMessageTemplate, char p1, long p2) {
|
||||
if (!b) {
|
||||
throw new IllegalStateException(lenientFormat(errorMessageTemplate, p1, p2));
|
||||
@@ -641,6 +670,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckStateWithMessage")
|
||||
public static void checkState(
|
||||
boolean b, String errorMessageTemplate, char p1, @CheckForNull Object p2) {
|
||||
if (!b) {
|
||||
@@ -656,6 +686,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckStateWithMessage")
|
||||
public static void checkState(boolean b, String errorMessageTemplate, int p1, char p2) {
|
||||
if (!b) {
|
||||
throw new IllegalStateException(lenientFormat(errorMessageTemplate, p1, p2));
|
||||
@@ -670,6 +701,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckStateWithMessage")
|
||||
public static void checkState(boolean b, String errorMessageTemplate, int p1, int p2) {
|
||||
if (!b) {
|
||||
throw new IllegalStateException(lenientFormat(errorMessageTemplate, p1, p2));
|
||||
@@ -684,6 +716,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckStateWithMessage")
|
||||
public static void checkState(boolean b, String errorMessageTemplate, int p1, long p2) {
|
||||
if (!b) {
|
||||
throw new IllegalStateException(lenientFormat(errorMessageTemplate, p1, p2));
|
||||
@@ -698,6 +731,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckStateWithMessage")
|
||||
public static void checkState(
|
||||
boolean b, String errorMessageTemplate, int p1, @CheckForNull Object p2) {
|
||||
if (!b) {
|
||||
@@ -713,6 +747,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckStateWithMessage")
|
||||
public static void checkState(boolean b, String errorMessageTemplate, long p1, char p2) {
|
||||
if (!b) {
|
||||
throw new IllegalStateException(lenientFormat(errorMessageTemplate, p1, p2));
|
||||
@@ -727,6 +762,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckStateWithMessage")
|
||||
public static void checkState(boolean b, String errorMessageTemplate, long p1, int p2) {
|
||||
if (!b) {
|
||||
throw new IllegalStateException(lenientFormat(errorMessageTemplate, p1, p2));
|
||||
@@ -741,6 +777,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckStateWithMessage")
|
||||
public static void checkState(boolean b, String errorMessageTemplate, long p1, long p2) {
|
||||
if (!b) {
|
||||
throw new IllegalStateException(lenientFormat(errorMessageTemplate, p1, p2));
|
||||
@@ -755,6 +792,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckStateWithMessage")
|
||||
public static void checkState(
|
||||
boolean b, String errorMessageTemplate, long p1, @CheckForNull Object p2) {
|
||||
if (!b) {
|
||||
@@ -770,6 +808,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckStateWithMessage")
|
||||
public static void checkState(
|
||||
boolean b, String errorMessageTemplate, @CheckForNull Object p1, char p2) {
|
||||
if (!b) {
|
||||
@@ -785,6 +824,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckStateWithMessage")
|
||||
public static void checkState(
|
||||
boolean b, String errorMessageTemplate, @CheckForNull Object p1, int p2) {
|
||||
if (!b) {
|
||||
@@ -800,6 +840,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckStateWithMessage")
|
||||
public static void checkState(
|
||||
boolean b, String errorMessageTemplate, @CheckForNull Object p1, long p2) {
|
||||
if (!b) {
|
||||
@@ -815,6 +856,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckStateWithMessage")
|
||||
public static void checkState(
|
||||
boolean b, String errorMessageTemplate, @CheckForNull Object p1, @CheckForNull Object p2) {
|
||||
if (!b) {
|
||||
@@ -830,6 +872,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckStateWithMessage")
|
||||
public static void checkState(
|
||||
boolean b,
|
||||
String errorMessageTemplate,
|
||||
@@ -849,6 +892,7 @@ public final class Preconditions {
|
||||
*
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
+ @SuppressWarnings("CheckStateWithMessage")
|
||||
public static void checkState(
|
||||
boolean b,
|
||||
String errorMessageTemplate,
|
||||
@@ -884,6 +928,7 @@ public final class Preconditions {
|
||||
* @see Verify#verifyNotNull Verify.verifyNotNull()
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("RequireNonNullStatement")
|
||||
public static <T> T checkNotNull(@CheckForNull T reference) {
|
||||
if (reference == null) {
|
||||
throw new NullPointerException();
|
||||
@@ -902,6 +947,7 @@ public final class Preconditions {
|
||||
* @see Verify#verifyNotNull Verify.verifyNotNull()
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("RequireNonNullWithMessageStatement")
|
||||
public static <T> T checkNotNull(@CheckForNull T reference, @CheckForNull Object errorMessage) {
|
||||
if (reference == null) {
|
||||
throw new NullPointerException(String.valueOf(errorMessage));
|
||||
@@ -925,6 +971,7 @@ public final class Preconditions {
|
||||
* @see Verify#verifyNotNull Verify.verifyNotNull()
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("RequireNonNullWithMessageStatement")
|
||||
public static <T> T checkNotNull(
|
||||
@CheckForNull T reference,
|
||||
String errorMessageTemplate,
|
||||
@@ -943,6 +990,7 @@ public final class Preconditions {
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("RequireNonNullWithMessageStatement")
|
||||
public static <T> T checkNotNull(@CheckForNull T obj, String errorMessageTemplate, char p1) {
|
||||
if (obj == null) {
|
||||
throw new NullPointerException(lenientFormat(errorMessageTemplate, p1));
|
||||
@@ -958,6 +1006,7 @@ public final class Preconditions {
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("RequireNonNullWithMessageStatement")
|
||||
public static <T> T checkNotNull(@CheckForNull T obj, String errorMessageTemplate, int p1) {
|
||||
if (obj == null) {
|
||||
throw new NullPointerException(lenientFormat(errorMessageTemplate, p1));
|
||||
@@ -973,6 +1022,7 @@ public final class Preconditions {
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("RequireNonNullWithMessageStatement")
|
||||
public static <T> T checkNotNull(@CheckForNull T obj, String errorMessageTemplate, long p1) {
|
||||
if (obj == null) {
|
||||
throw new NullPointerException(lenientFormat(errorMessageTemplate, p1));
|
||||
@@ -988,6 +1038,7 @@ public final class Preconditions {
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("RequireNonNullWithMessageStatement")
|
||||
public static <T> T checkNotNull(
|
||||
@CheckForNull T obj, String errorMessageTemplate, @CheckForNull Object p1) {
|
||||
if (obj == null) {
|
||||
@@ -1004,6 +1055,7 @@ public final class Preconditions {
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("RequireNonNullWithMessageStatement")
|
||||
public static <T> T checkNotNull(
|
||||
@CheckForNull T obj, String errorMessageTemplate, char p1, char p2) {
|
||||
if (obj == null) {
|
||||
@@ -1020,6 +1072,7 @@ public final class Preconditions {
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("RequireNonNullWithMessageStatement")
|
||||
public static <T> T checkNotNull(
|
||||
@CheckForNull T obj, String errorMessageTemplate, char p1, int p2) {
|
||||
if (obj == null) {
|
||||
@@ -1036,6 +1089,7 @@ public final class Preconditions {
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("RequireNonNullWithMessageStatement")
|
||||
public static <T> T checkNotNull(
|
||||
@CheckForNull T obj, String errorMessageTemplate, char p1, long p2) {
|
||||
if (obj == null) {
|
||||
@@ -1052,6 +1106,7 @@ public final class Preconditions {
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("RequireNonNullWithMessageStatement")
|
||||
public static <T> T checkNotNull(
|
||||
@CheckForNull T obj, String errorMessageTemplate, char p1, @CheckForNull Object p2) {
|
||||
if (obj == null) {
|
||||
@@ -1068,6 +1123,7 @@ public final class Preconditions {
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("RequireNonNullWithMessageStatement")
|
||||
public static <T> T checkNotNull(
|
||||
@CheckForNull T obj, String errorMessageTemplate, int p1, char p2) {
|
||||
if (obj == null) {
|
||||
@@ -1084,6 +1140,7 @@ public final class Preconditions {
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("RequireNonNullWithMessageStatement")
|
||||
public static <T> T checkNotNull(
|
||||
@CheckForNull T obj, String errorMessageTemplate, int p1, int p2) {
|
||||
if (obj == null) {
|
||||
@@ -1100,6 +1157,7 @@ public final class Preconditions {
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("RequireNonNullWithMessageStatement")
|
||||
public static <T> T checkNotNull(
|
||||
@CheckForNull T obj, String errorMessageTemplate, int p1, long p2) {
|
||||
if (obj == null) {
|
||||
@@ -1116,6 +1174,7 @@ public final class Preconditions {
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("RequireNonNullWithMessageStatement")
|
||||
public static <T> T checkNotNull(
|
||||
@CheckForNull T obj, String errorMessageTemplate, int p1, @CheckForNull Object p2) {
|
||||
if (obj == null) {
|
||||
@@ -1132,6 +1191,7 @@ public final class Preconditions {
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("RequireNonNullWithMessageStatement")
|
||||
public static <T> T checkNotNull(
|
||||
@CheckForNull T obj, String errorMessageTemplate, long p1, char p2) {
|
||||
if (obj == null) {
|
||||
@@ -1148,6 +1208,7 @@ public final class Preconditions {
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("RequireNonNullWithMessageStatement")
|
||||
public static <T> T checkNotNull(
|
||||
@CheckForNull T obj, String errorMessageTemplate, long p1, int p2) {
|
||||
if (obj == null) {
|
||||
@@ -1164,6 +1225,7 @@ public final class Preconditions {
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("RequireNonNullWithMessageStatement")
|
||||
public static <T> T checkNotNull(
|
||||
@CheckForNull T obj, String errorMessageTemplate, long p1, long p2) {
|
||||
if (obj == null) {
|
||||
@@ -1180,6 +1242,7 @@ public final class Preconditions {
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("RequireNonNullWithMessageStatement")
|
||||
public static <T> T checkNotNull(
|
||||
@CheckForNull T obj, String errorMessageTemplate, long p1, @CheckForNull Object p2) {
|
||||
if (obj == null) {
|
||||
@@ -1196,6 +1259,7 @@ public final class Preconditions {
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("RequireNonNullWithMessageStatement")
|
||||
public static <T> T checkNotNull(
|
||||
@CheckForNull T obj, String errorMessageTemplate, @CheckForNull Object p1, char p2) {
|
||||
if (obj == null) {
|
||||
@@ -1212,6 +1276,7 @@ public final class Preconditions {
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("RequireNonNullWithMessageStatement")
|
||||
public static <T> T checkNotNull(
|
||||
@CheckForNull T obj, String errorMessageTemplate, @CheckForNull Object p1, int p2) {
|
||||
if (obj == null) {
|
||||
@@ -1228,6 +1293,7 @@ public final class Preconditions {
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("RequireNonNullWithMessageStatement")
|
||||
public static <T> T checkNotNull(
|
||||
@CheckForNull T obj, String errorMessageTemplate, @CheckForNull Object p1, long p2) {
|
||||
if (obj == null) {
|
||||
@@ -1244,6 +1310,7 @@ public final class Preconditions {
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("RequireNonNullWithMessageStatement")
|
||||
public static <T> T checkNotNull(
|
||||
@CheckForNull T obj,
|
||||
String errorMessageTemplate,
|
||||
@@ -1263,6 +1330,7 @@ public final class Preconditions {
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("RequireNonNullWithMessageStatement")
|
||||
public static <T> T checkNotNull(
|
||||
@CheckForNull T obj,
|
||||
String errorMessageTemplate,
|
||||
@@ -1283,6 +1351,7 @@ public final class Preconditions {
|
||||
* @since 20.0 (varargs overload since 2.0)
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("RequireNonNullWithMessageStatement")
|
||||
public static <T> T checkNotNull(
|
||||
@CheckForNull T obj,
|
||||
String errorMessageTemplate,
|
||||
@@ -1349,6 +1418,7 @@ public final class Preconditions {
|
||||
* @throws IllegalArgumentException if {@code size} is negative
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("CheckElementIndexWithMessage")
|
||||
public static int checkElementIndex(int index, int size, String desc) {
|
||||
// Carefully optimized for execution by hotspot (explanatory comment above)
|
||||
if (index < 0 || index >= size) {
|
||||
@@ -1394,6 +1464,7 @@ public final class Preconditions {
|
||||
* @throws IllegalArgumentException if {@code size} is negative
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
+ @SuppressWarnings("CheckPositionIndexWithMessage")
|
||||
public static int checkPositionIndex(int index, int size, String desc) {
|
||||
// Carefully optimized for execution by hotspot (explanatory comment above)
|
||||
if (index < 0 || index > size) {
|
||||
diff --git a/guava/src/com/google/common/base/Strings.java b/guava/src/com/google/common/base/Strings.java
|
||||
index e56bf1c481..459acbca1a 100644
|
||||
--- a/guava/src/com/google/common/base/Strings.java
|
||||
+++ b/guava/src/com/google/common/base/Strings.java
|
||||
@@ -265,6 +265,7 @@ public final class Strings {
|
||||
* @since 25.1
|
||||
*/
|
||||
// TODO(diamondm) consider using Arrays.toString() for array parameters
|
||||
+ @SuppressWarnings("IdentityConversion")
|
||||
public static String lenientFormat(
|
||||
@CheckForNull String template, @CheckForNull @Nullable Object... args) {
|
||||
template = String.valueOf(template); // null -> "null"
|
||||
diff --git a/guava/src/com/google/common/graph/UndirectedNetworkConnections.java b/guava/src/com/google/common/graph/UndirectedNetworkConnections.java
|
||||
index 190897f882..f11f98867c 100644
|
||||
--- a/guava/src/com/google/common/graph/UndirectedNetworkConnections.java
|
||||
+++ b/guava/src/com/google/common/graph/UndirectedNetworkConnections.java
|
||||
@@ -43,6 +43,7 @@ final class UndirectedNetworkConnections<N, E> extends AbstractUndirectedNetwork
|
||||
return new UndirectedNetworkConnections<>(HashBiMap.<E, N>create(EXPECTED_DEGREE));
|
||||
}
|
||||
|
||||
+ @SuppressWarnings("IdentityConversion")
|
||||
static <N, E> UndirectedNetworkConnections<N, E> ofImmutable(Map<E, N> incidentEdges) {
|
||||
return new UndirectedNetworkConnections<>(ImmutableBiMap.copyOf(incidentEdges));
|
||||
}
|
||||
diff --git a/guava/src/com/google/common/graph/DirectedNetworkConnections.java b/guava/src/com/google/common/graph/DirectedNetworkConnections.java
|
||||
index e1db65708e..9d70c790ee 100644
|
||||
--- a/guava/src/com/google/common/graph/DirectedNetworkConnections.java
|
||||
+++ b/guava/src/com/google/common/graph/DirectedNetworkConnections.java
|
||||
@@ -44,6 +44,7 @@ final class DirectedNetworkConnections<N, E> extends AbstractDirectedNetworkConn
|
||||
HashBiMap.<E, N>create(EXPECTED_DEGREE), HashBiMap.<E, N>create(EXPECTED_DEGREE), 0);
|
||||
}
|
||||
|
||||
+ @SuppressWarnings("IdentityConversion")
|
||||
static <N, E> DirectedNetworkConnections<N, E> ofImmutable(
|
||||
Map<E, N> inEdges, Map<E, N> outEdges, int selfLoopCount) {
|
||||
return new DirectedNetworkConnections<>(
|
||||
diff --git a/guava-testlib/src/com/google/common/collect/testing/google/MapGenerators.java b/guava-testlib/src/com/google/common/collect/testing/google/MapGenerators.java
|
||||
index 35063e815d..3f445ca116 100644
|
||||
--- a/guava-testlib/src/com/google/common/collect/testing/google/MapGenerators.java
|
||||
+++ b/guava-testlib/src/com/google/common/collect/testing/google/MapGenerators.java
|
||||
@@ -60,6 +60,7 @@ public class MapGenerators {
|
||||
|
||||
public static class ImmutableMapCopyOfGenerator extends TestStringMapGenerator {
|
||||
@Override
|
||||
+ @SuppressWarnings("IdentityConversion")
|
||||
protected Map<String, String> create(Entry<String, String>[] entries) {
|
||||
Map<String, String> builder = Maps.newLinkedHashMap();
|
||||
for (Entry<String, String> entry : entries) {
|
||||
@@ -71,6 +72,7 @@ public class MapGenerators {
|
||||
|
||||
public static class ImmutableMapCopyOfEntriesGenerator extends TestStringMapGenerator {
|
||||
@Override
|
||||
+ @SuppressWarnings("IdentityConversion")
|
||||
protected Map<String, String> create(Entry<String, String>[] entries) {
|
||||
return ImmutableMap.copyOf(Arrays.asList(entries));
|
||||
}
|
||||
@@ -162,6 +164,7 @@ public class MapGenerators {
|
||||
|
||||
public static class ImmutableMapCopyOfEnumMapGenerator extends TestEnumMapGenerator {
|
||||
@Override
|
||||
+ @SuppressWarnings("IdentityConversion")
|
||||
protected Map<AnEnum, String> create(Entry<AnEnum, String>[] entries) {
|
||||
EnumMap<AnEnum, String> map = new EnumMap<>(AnEnum.class);
|
||||
for (Entry<AnEnum, String> entry : entries) {
|
||||
diff --git a/guava/src/com/google/common/collect/RegularImmutableSortedSet.java b/guava/src/com/google/common/collect/RegularImmutableSortedSet.java
|
||||
index 572e0acbf5..fa17e67916 100644
|
||||
--- a/guava/src/com/google/common/collect/RegularImmutableSortedSet.java
|
||||
+++ b/guava/src/com/google/common/collect/RegularImmutableSortedSet.java
|
||||
@@ -324,6 +324,7 @@ final class RegularImmutableSortedSet<E> extends ImmutableSortedSet<E> {
|
||||
|
||||
@Override
|
||||
ImmutableSortedSet<E> createDescendingSet() {
|
||||
+ @SuppressWarnings("StaticImport")
|
||||
Comparator<? super E> reversedOrder = Collections.reverseOrder(comparator);
|
||||
return isEmpty()
|
||||
? emptySet(reversedOrder)
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index 13dd0985d3..30c1060d1c 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -22,6 +22,9 @@
|
||||
<maven-javadoc-plugin.additionalJOptions></maven-javadoc-plugin.additionalJOptions>
|
||||
<maven-source-plugin.version>3.2.1</maven-source-plugin.version>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
+ <error-prone.version>v2.19.1-picnic-1</error-prone.version> <java.version>11</java.version>
|
||||
+ <error-prone-support.version>0.11.2-SNAPSHOT</error-prone-support.version>
|
||||
+ <maven.compiler.plugin.version>3.11.0</maven.compiler.plugin.version>
|
||||
</properties>
|
||||
<issueManagement>
|
||||
<system>GitHub Issues</system>
|
||||
@@ -347,50 +350,163 @@
|
||||
</dependencyManagement>
|
||||
<profiles>
|
||||
<profile>
|
||||
- <id>sonatype-oss-release</id>
|
||||
- <build>
|
||||
- <plugins>
|
||||
- <plugin>
|
||||
- <groupId>org.apache.maven.plugins</groupId>
|
||||
- <artifactId>maven-source-plugin</artifactId>
|
||||
- <version>${maven-source-plugin.version}</version>
|
||||
- <executions>
|
||||
- <execution>
|
||||
- <id>attach-sources</id>
|
||||
- <goals>
|
||||
- <goal>jar-no-fork</goal>
|
||||
- </goals>
|
||||
- </execution>
|
||||
- </executions>
|
||||
- </plugin>
|
||||
- <plugin>
|
||||
- <groupId>org.apache.maven.plugins</groupId>
|
||||
- <artifactId>maven-javadoc-plugin</artifactId>
|
||||
- <version>${maven-javadoc-plugin.version}</version>
|
||||
- <executions>
|
||||
- <execution>
|
||||
- <id>attach-javadocs</id>
|
||||
- <goals>
|
||||
- <goal>jar</goal>
|
||||
- </goals>
|
||||
- </execution>
|
||||
- </executions>
|
||||
- </plugin>
|
||||
- <plugin>
|
||||
- <groupId>org.apache.maven.plugins</groupId>
|
||||
- <artifactId>maven-gpg-plugin</artifactId>
|
||||
- <version>1.6</version>
|
||||
- <executions>
|
||||
- <execution>
|
||||
- <id>sign-artifacts</id>
|
||||
- <phase>verify</phase>
|
||||
- <goals>
|
||||
- <goal>sign</goal>
|
||||
- </goals>
|
||||
- </execution>
|
||||
- </executions>
|
||||
- </plugin>
|
||||
- </plugins>
|
||||
+ <id>error-prone-compile</id>
|
||||
+ <build>
|
||||
+ <plugins>
|
||||
+ <plugin>
|
||||
+ <groupId>org.apache.maven.plugins</groupId>
|
||||
+ <artifactId>maven-compiler-plugin</artifactId>
|
||||
+ <version>${maven.compiler.plugin.version}</version>
|
||||
+ <executions>
|
||||
+ <execution>
|
||||
+ <id>error-prone-compile</id>
|
||||
+ <phase>compile</phase>
|
||||
+ <goals>
|
||||
+ <goal>compile</goal>
|
||||
+ </goals>
|
||||
+ <configuration>
|
||||
+ <failOnError>false</failOnError>
|
||||
+ <source>1.8</source>
|
||||
+ <target>1.8</target>
|
||||
+ <compilerArgs>
|
||||
+ <arg>-Xpkginfo:always</arg>
|
||||
+ <arg>-XDcompilePolicy=simple</arg>
|
||||
+ <arg>
|
||||
+ -Xplugin:ErrorProne ${error-prone.flags} -Xep:CollectorMutability:OFF -Xep:FluxImplicitBlock:OFF -Xep:ScheduledTransactionTrace:OFF -XepOpt:Refaster:NamePattern=^((?!(Immutable|PrimitiveRules|AssortedRules\$CheckIndex|NullRules\$RequireNonNullElse|MapEntryRules\$MapEntry|OptionalRules\$OptionalOrElseThrow|OptionalRules\$OptionalIsEmpty)).*)
|
||||
+ </arg>
|
||||
+ </compilerArgs>
|
||||
+ <annotationProcessorPaths>
|
||||
+ <path>
|
||||
+ <groupId>com.github.PicnicSupermarket.error-prone</groupId>
|
||||
+ <artifactId>error_prone_core</artifactId>
|
||||
+ <version>${error-prone.version}</version>
|
||||
+ </path>
|
||||
+ <path>
|
||||
+ <groupId>tech.picnic.error-prone-support</groupId>
|
||||
+ <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>
|
||||
+ </executions>
|
||||
+ </plugin>
|
||||
+ </plugins>
|
||||
+ </build>
|
||||
+ </profile>
|
||||
+ <profile>
|
||||
+ <id>error-prone-test-compile</id>
|
||||
+ <build>
|
||||
+ <plugins>
|
||||
+ <plugin>
|
||||
+ <groupId>org.apache.maven.plugins</groupId>
|
||||
+ <artifactId>maven-compiler-plugin</artifactId>
|
||||
+ <version>${maven.compiler.plugin.version}</version>
|
||||
+ <executions>
|
||||
+ <!-- Skip the default-testCompile execution as we don't want to execute the testCompile goal twice -->
|
||||
+ <execution>
|
||||
+ <id>default-testCompile</id>
|
||||
+ <phase>test-compile</phase>
|
||||
+ <goals>
|
||||
+ <goal>testCompile</goal>
|
||||
+ </goals>
|
||||
+ <configuration>
|
||||
+ <skip>true</skip>
|
||||
+ </configuration>
|
||||
+ </execution>
|
||||
+ <execution>
|
||||
+ <id>error-prone-test-compile</id>
|
||||
+ <phase>test-compile</phase>
|
||||
+ <goals>
|
||||
+ <goal>testCompile</goal>
|
||||
+ </goals>
|
||||
+ <configuration>
|
||||
+ <failOnError>false</failOnError>
|
||||
+ <source>${java.version}</source>
|
||||
+ <target>${java.version}</target>
|
||||
+ <compilerArgs>
|
||||
+ <arg>-Xpkginfo:always</arg>
|
||||
+ <arg>-XDcompilePolicy=simple</arg>
|
||||
+ <arg>
|
||||
+ -Xplugin:ErrorProne \
|
||||
+
|
||||
+ ${error-prone.flags}
|
||||
+ </arg>
|
||||
+ </compilerArgs>
|
||||
+ <annotationProcessorPaths>
|
||||
+ <path>
|
||||
+ <groupId>com.github.PicnicSupermarket.error-prone</groupId>
|
||||
+ <artifactId>error_prone_core</artifactId>
|
||||
+ <version>${error-prone.version}</version>
|
||||
+ </path>
|
||||
+ <path>
|
||||
+ <groupId>tech.picnic.error-prone-support</groupId>
|
||||
+ <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>
|
||||
+ </executions>
|
||||
+ </plugin>
|
||||
+ </plugins>
|
||||
+ </build>
|
||||
+ </profile>
|
||||
+ <profile>
|
||||
+ <id>sonatype-oss-release</id>
|
||||
+ <build>
|
||||
+ <plugins>
|
||||
+ <plugin>
|
||||
+ <groupId>org.apache.maven.plugins</groupId>
|
||||
+ <artifactId>maven-source-plugin</artifactId>
|
||||
+ <version>${maven-source-plugin.version}</version>
|
||||
+ <executions>
|
||||
+ <execution>
|
||||
+ <id>attach-sources</id>
|
||||
+ <goals>
|
||||
+ <goal>jar-no-fork</goal>
|
||||
+ </goals>
|
||||
+ </execution>
|
||||
+ </executions>
|
||||
+ </plugin>
|
||||
+ <plugin>
|
||||
+ <groupId>org.apache.maven.plugins</groupId>
|
||||
+ <artifactId>maven-javadoc-plugin</artifactId>
|
||||
+ <version>${maven-javadoc-plugin.version}</version>
|
||||
+ <executions>
|
||||
+ <execution>
|
||||
+ <id>attach-javadocs</id>
|
||||
+ <goals>
|
||||
+ <goal>jar</goal>
|
||||
+ </goals>
|
||||
+ </execution>
|
||||
+ </executions>
|
||||
+ </plugin>
|
||||
+ <plugin>
|
||||
+ <groupId>org.apache.maven.plugins</groupId>
|
||||
+ <artifactId>maven-gpg-plugin</artifactId>
|
||||
+ <version>1.6</version>
|
||||
+ <executions>
|
||||
+ <execution>
|
||||
+ <id>sign-artifacts</id>
|
||||
+ <phase>verify</phase>
|
||||
+ <goals>
|
||||
+ <goal>sign</goal>
|
||||
+ </goals>
|
||||
+ </execution>
|
||||
+ </executions>
|
||||
+ </plugin>
|
||||
+ </plugins>
|
||||
</build>
|
||||
</profile>
|
||||
<profile>
|
||||
6703
integration-tests/metrics-v4.2.19-expected-changes.patch
Normal file
6703
integration-tests/metrics-v4.2.19-expected-changes.patch
Normal file
File diff suppressed because it is too large
Load Diff
8
integration-tests/metrics-v4.2.19-expected-warnings.txt
Normal file
8
integration-tests/metrics-v4.2.19-expected-warnings.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
metrics-core/src/main/java/com/codahale/metrics/CsvReporter.java:[382,36] [FormatStringConcatenation] Defer string concatenation to the invoked method
|
||||
metrics-graphite/src/main/java/com/codahale/metrics/graphite/GraphiteReporter.java:[431,18] [Slf4jLogStatement] Log statement contains 0 placeholders, but specifies 1 matching argument(s)
|
||||
metrics-graphite/src/main/java/com/codahale/metrics/graphite/GraphiteReporter.java:[436,20] [Slf4jLogStatement] Log statement contains 0 placeholders, but specifies 1 matching argument(s)
|
||||
metrics-graphite/src/main/java/com/codahale/metrics/graphite/GraphiteReporter.java:[449,21] [Slf4jLogStatement] Log statement contains 0 placeholders, but specifies 1 matching argument(s)
|
||||
metrics-healthchecks/src/test/java/com/codahale/metrics/health/HealthCheckTest.java:[189,47] [TimeZoneUsage] Derive the current time from an existing `Clock` Spring bean, and don't rely on a `Clock`'s time zone
|
||||
metrics-healthchecks/src/test/java/com/codahale/metrics/health/HealthCheckTest.java:[203,47] [TimeZoneUsage] Derive the current time from an existing `Clock` Spring bean, and don't rely on a `Clock`'s time zone
|
||||
metrics-jakarta-servlets/src/test/java/io/dropwizard/metrics/servlets/HealthCheckServletTest.java:[29,68] [TimeZoneUsage] Derive the current time from an existing `Clock` Spring bean, and don't rely on a `Clock`'s time zone
|
||||
metrics-servlets/src/test/java/com/codahale/metrics/servlets/HealthCheckServletTest.java:[30,68] [TimeZoneUsage] Derive the current time from an existing `Clock` Spring bean, and don't rely on a `Clock`'s time zone
|
||||
231
integration-tests/metrics-v4.2.19-init.patch
Normal file
231
integration-tests/metrics-v4.2.19-init.patch
Normal file
@@ -0,0 +1,231 @@
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index 6192b52f..b8e38fbc 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -66,7 +66,9 @@
|
||||
<junit.version>4.13.1</junit.version>
|
||||
<hamcrest.version>1.3</hamcrest.version>
|
||||
<maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version>
|
||||
- <errorprone.version>2.19.1</errorprone.version>
|
||||
+ <errorprone.version>v2.19.1-picnic-1</errorprone.version>
|
||||
+ <error-prone-support.version>0.11.2-SNAPSHOT</error-prone-support.version>
|
||||
+ <error-prone-support.flags>-Xplugin:ErrorProne ${error-prone.flags} -Xep:CollectorMutability:OFF -XepOpt:Refaster:NamePattern=^((?!(Immutable|Preconditions|StringRules\$StringIsNullOrEmpty)).*)</error-prone-support.flags>
|
||||
<errorprone.javac.version>9+181-r4173-1</errorprone.javac.version>
|
||||
|
||||
<sonar.projectKey>dropwizard_metrics</sonar.projectKey>
|
||||
@@ -137,60 +139,118 @@
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
- <id>jdk8</id>
|
||||
- <activation>
|
||||
- <jdk>1.8</jdk>
|
||||
- </activation>
|
||||
+ <id>error-prone-compile</id>
|
||||
<build>
|
||||
<plugins>
|
||||
- <plugin>
|
||||
- <groupId>org.apache.maven.plugins</groupId>
|
||||
- <artifactId>maven-compiler-plugin</artifactId>
|
||||
+ <plugin>
|
||||
+ <groupId>org.apache.maven.plugins</groupId>
|
||||
+ <artifactId>maven-compiler-plugin</artifactId>
|
||||
+ <version>${maven-compiler-plugin.version}</version>
|
||||
+ <executions>
|
||||
+ <execution>
|
||||
+ <id>error-prone-compile</id>
|
||||
+ <phase>compile</phase>
|
||||
+ <goals>
|
||||
+ <goal>compile</goal>
|
||||
+ </goals>
|
||||
<configuration>
|
||||
- <compilerArgs combine.children="append">
|
||||
- <arg>-J-Xbootclasspath/p:${settings.localRepository}/com/google/errorprone/javac/${errorprone.javac.version}/javac-${errorprone.javac.version}.jar</arg>
|
||||
- </compilerArgs>
|
||||
+ <failOnError>true</failOnError>
|
||||
+ <compilerArgs combine.children="append">
|
||||
+ <arg>-Xpkginfo:always</arg>
|
||||
+ <arg>-XDcompilePolicy=simple</arg>
|
||||
+ <arg>${error-prone-support.flags}</arg>
|
||||
+ <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
|
||||
+ <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
|
||||
+ <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
|
||||
+ <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg>
|
||||
+ <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
|
||||
+ <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
|
||||
+ <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
|
||||
+ <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
|
||||
+ <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
|
||||
+ <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
|
||||
+ </compilerArgs>
|
||||
+ <annotationProcessorPaths combine.children="append">
|
||||
+ <path>
|
||||
+ <groupId>com.github.PicnicSupermarket.error-prone</groupId>
|
||||
+ <artifactId>error_prone_core</artifactId>
|
||||
+ <version>${errorprone.version}</version>
|
||||
+ </path>
|
||||
+ <path>
|
||||
+ <groupId>tech.picnic.error-prone-support</groupId>
|
||||
+ <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>
|
||||
- </plugin>
|
||||
+ </execution>
|
||||
+ </executions>
|
||||
+ </plugin>
|
||||
</plugins>
|
||||
- </build>
|
||||
+ </build>
|
||||
</profile>
|
||||
<profile>
|
||||
- <id>jdk17</id>
|
||||
- <activation>
|
||||
- <jdk>[17,)</jdk>
|
||||
- </activation>
|
||||
+ <id>error-prone-test-compile</id>
|
||||
<build>
|
||||
- <plugins>
|
||||
- <plugin>
|
||||
- <groupId>org.apache.maven.plugins</groupId>
|
||||
- <artifactId>maven-compiler-plugin</artifactId>
|
||||
- <configuration>
|
||||
- <compilerArgs>
|
||||
- <arg>-Xlint:all</arg>
|
||||
- <arg>-XDcompilePolicy=simple</arg>
|
||||
- <arg>-Xplugin:ErrorProne -XepExcludedPaths:.*/target/generated-sources/.*</arg>
|
||||
- <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
|
||||
- <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
|
||||
- <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
|
||||
- <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg>
|
||||
- <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
|
||||
- <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
|
||||
- <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
|
||||
- <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
|
||||
- <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
|
||||
- <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
|
||||
- </compilerArgs>
|
||||
- <annotationProcessorPaths>
|
||||
- <path>
|
||||
- <groupId>com.google.errorprone</groupId>
|
||||
- <artifactId>error_prone_core</artifactId>
|
||||
- <version>${errorprone.version}</version>
|
||||
- </path>
|
||||
- </annotationProcessorPaths>
|
||||
- </configuration>
|
||||
- </plugin>
|
||||
- </plugins>
|
||||
+ <plugins>
|
||||
+ <plugin>
|
||||
+ <groupId>org.apache.maven.plugins</groupId>
|
||||
+ <artifactId>maven-compiler-plugin</artifactId>
|
||||
+ <version>${maven-compiler-plugin.version}</version>
|
||||
+ <executions>
|
||||
+ <!-- Skip the default-testCompile execution as we don't want to execute the testCompile goal twice -->
|
||||
+ <execution>
|
||||
+ <id>default-testCompile</id>
|
||||
+ <phase>test-compile</phase>
|
||||
+ <goals>
|
||||
+ <goal>testCompile</goal>
|
||||
+ </goals>
|
||||
+ <configuration>
|
||||
+ <skip>true</skip>
|
||||
+ </configuration>
|
||||
+ </execution>
|
||||
+ <execution>
|
||||
+ <id>error-prone-test-compile</id>
|
||||
+ <phase>test-compile</phase>
|
||||
+ <goals>
|
||||
+ <goal>testCompile</goal>
|
||||
+ </goals>
|
||||
+ <configuration>
|
||||
+ <failOnError>false</failOnError>
|
||||
+ <source>1.8</source>
|
||||
+ <target>1.8</target>
|
||||
+ <compilerArgs combine.children="append">
|
||||
+ <arg>-Xpkginfo:always</arg>
|
||||
+ <arg>-XDcompilePolicy=simple</arg>
|
||||
+ <arg>${error-prone-support.flags}</arg>
|
||||
+ </compilerArgs>
|
||||
+ <annotationProcessorPaths>
|
||||
+ <path>
|
||||
+ <groupId>com.github.PicnicSupermarket.error-prone</groupId>
|
||||
+ <artifactId>error_prone_core</artifactId>
|
||||
+ <version>${errorprone.version}</version>
|
||||
+ </path>
|
||||
+ <path>
|
||||
+ <groupId>tech.picnic.error-prone-support</groupId>
|
||||
+ <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>
|
||||
+ </executions>
|
||||
+ </plugin>
|
||||
+ </plugins>
|
||||
</build>
|
||||
</profile>
|
||||
<profile>
|
||||
@@ -315,23 +375,13 @@
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
- <source>1.8</source>
|
||||
- <target>1.8</target>
|
||||
- <fork>true</fork>
|
||||
+ <fork>false</fork>
|
||||
<parameters>true</parameters>
|
||||
<showWarnings>true</showWarnings>
|
||||
<compilerArgs>
|
||||
<arg>-Xlint:all</arg>
|
||||
<arg>-XDcompilePolicy=simple</arg>
|
||||
- <arg>-Xplugin:ErrorProne -XepExcludedPaths:.*/target/generated-sources/.*</arg>
|
||||
</compilerArgs>
|
||||
- <annotationProcessorPaths>
|
||||
- <path>
|
||||
- <groupId>com.google.errorprone</groupId>
|
||||
- <artifactId>error_prone_core</artifactId>
|
||||
- <version>${errorprone.version}</version>
|
||||
- </path>
|
||||
- </annotationProcessorPaths>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
diff --git a/metrics-jakarta-servlets/src/main/java/io/dropwizard/metrics/servlets/MetricsServlet.java b/metrics-jakarta-servlets/src/main/java/io/dropwizard/metrics/servlets/MetricsServlet.java
|
||||
index a248dd81..64d00eb1 100644
|
||||
--- a/metrics-jakarta-servlets/src/main/java/io/dropwizard/metrics/servlets/MetricsServlet.java
|
||||
+++ b/metrics-jakarta-servlets/src/main/java/io/dropwizard/metrics/servlets/MetricsServlet.java
|
||||
@@ -188,6 +188,7 @@ public class MetricsServlet extends HttpServlet {
|
||||
return mapper.writer();
|
||||
}
|
||||
|
||||
+ @SuppressWarnings("IdentityConversion")
|
||||
protected TimeUnit parseTimeUnit(String value, TimeUnit defaultValue) {
|
||||
try {
|
||||
return TimeUnit.valueOf(String.valueOf(value).toUpperCase(Locale.US));
|
||||
diff --git a/metrics-servlets/src/main/java/com/codahale/metrics/servlets/MetricsServlet.java b/metrics-servlets/src/main/java/com/codahale/metrics/servlets/MetricsServlet.java
|
||||
index 0bd1297d..22fc1c54 100644
|
||||
--- a/metrics-servlets/src/main/java/com/codahale/metrics/servlets/MetricsServlet.java
|
||||
+++ b/metrics-servlets/src/main/java/com/codahale/metrics/servlets/MetricsServlet.java
|
||||
@@ -189,6 +189,7 @@ public class MetricsServlet extends HttpServlet {
|
||||
return mapper.writer();
|
||||
}
|
||||
|
||||
+ @SuppressWarnings("IdentityConversion")
|
||||
protected TimeUnit parseTimeUnit(String value, TimeUnit defaultValue) {
|
||||
try {
|
||||
return TimeUnit.valueOf(String.valueOf(value).toUpperCase(Locale.US));
|
||||
|
||||
|
||||
104
integration-tests/run-gradle.sh
Executable file
104
integration-tests/run-gradle.sh
Executable file
@@ -0,0 +1,104 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e -u -o pipefail
|
||||
|
||||
project=calcite
|
||||
revision=calcite-1.35.0
|
||||
|
||||
if [ "${#}" -gt 1 ] || [[ ${1:---sync} != '--sync' ]]; then
|
||||
echo "Usage: ${0} [--sync]"
|
||||
exit 1
|
||||
fi
|
||||
do_sync="${1:-}"
|
||||
|
||||
error_prone_support_version="$(
|
||||
mvn -f .. help:evaluate -Dexpression=project.version -q -DforceStdout
|
||||
)"
|
||||
|
||||
error_prone_shared_flags='-XepExcludedPaths:(\Q${project.basedir}${file.separator}src${file.separator}\E(it|test)\Q${file.separator}resources\E|\Q${project.build.directory}${file.separator}\E).*'
|
||||
|
||||
error_prone_patch_flags="${error_prone_shared_flags} -XepPatchLocation:IN_PLACE -XepPatchChecks:$(
|
||||
find .. -path "*/META-INF/services/com.google.errorprone.bugpatterns.BugChecker" \
|
||||
| xargs grep -hoP '[^.]+$' \
|
||||
| paste -s -d ','
|
||||
)"
|
||||
|
||||
error_prone_validation_flags="${error_prone_shared_flags} -XepDisableAllChecks $(
|
||||
find .. -path "*/META-INF/services/com.google.errorprone.bugpatterns.BugChecker" \
|
||||
| xargs grep -hoP '[^.]+$' \
|
||||
| sed -r 's,(.*),-Xep:\1:WARN,' \
|
||||
| paste -s -d ' '
|
||||
)"
|
||||
|
||||
validation_log_file="$(mktemp)"
|
||||
trap 'rm -rf -- "${validation_log_file}"' INT TERM HUP EXIT
|
||||
|
||||
echo "Error Prone Support version: ${error_prone_support_version}"
|
||||
echo "Error Prone patch flags: ${error_prone_patch_flags}"
|
||||
echo "Error Prone validation flags: ${error_prone_validation_flags}"
|
||||
|
||||
pushd "${project}"
|
||||
|
||||
git checkout -f "${revision}"
|
||||
git apply < "../${project}-${revision}-init.patch"
|
||||
git commit -m 'dependency: Introduce Error Prone Support' .
|
||||
|
||||
|
||||
# XXX: autostyleApply is only available in calcite, need to find better approach
|
||||
./gradlew clean autostyleApply --no-build-cache
|
||||
git commit -m 'minor: Reformat using Google Java Format' .
|
||||
|
||||
function apply_patch() {
|
||||
local current_diff="${1}"
|
||||
./gradlew clean autostyleApply compileJava -PenableErrorprone \
|
||||
-Derror-prone.flags="${error_prone_patch_flags}" \
|
||||
-Derror-prone-support.version="${error_prone_support_version}" \
|
||||
--no-build-cache
|
||||
|
||||
local new_diff="$(git diff | shasum --algorithm 256)"
|
||||
|
||||
if [ "${current_diff}" != "${new_diff}" ]; then
|
||||
apply_patch "${new_diff}"
|
||||
fi
|
||||
}
|
||||
|
||||
echo "Running patches..."
|
||||
apply_patch "$(git diff | shasum --algorithm 256)"
|
||||
|
||||
baseline_patch="../${project}-${revision}-expected-changes.patch"
|
||||
if [ -n "${do_sync}" ]; then
|
||||
echo 'Saving changes...'
|
||||
git diff > "${baseline_patch}"
|
||||
else
|
||||
echo 'Inspecting changes...'
|
||||
if ! diff -u "${baseline_patch}" <(git diff); then
|
||||
echo 'There are unexpected changes.'
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Validate the results.
|
||||
#
|
||||
# - The `metadataFilesGenerationAllFiles` test is skipped because is makes line
|
||||
# number assertions that will fail when the code is formatted or patched.
|
||||
# - The `allCheckSectionJavaDocs` test is skipped because is validates that
|
||||
# Javadoc has certain closing tags that are removed by Google Java Format.
|
||||
# XXX: Figure out why the `validateCliDocSections` test fails.
|
||||
./gradlew clean autostyleApply compileJava -PenableErrorprone \
|
||||
-Derror-prone.flags="${error_prone_patch_flags}" \
|
||||
-Derror-prone-support.version="${error_prone_support_version}" \
|
||||
--no-build-cache \
|
||||
| tee "${validation_log_file}"
|
||||
|
||||
baseline_warnings="../${project}-${revision}-expected-warnings.txt"
|
||||
generated_warnngs="$(grep -oP "(?<=^\\Q[WARNING] ${PWD}/\\E).*" "${validation_log_file}" | grep -P '\]*\[')"
|
||||
if [ -n "${do_sync}" ]; then
|
||||
echo 'Saving emitted warnings...'
|
||||
echo "${generated_warnngs}" > "${baseline_warnings}"
|
||||
else
|
||||
echo 'Inspecting emitted warnings...'
|
||||
if ! diff -u "${baseline_warnings}" <(echo "${generated_warnngs}"); then
|
||||
echo 'Diagnostics output changed.'
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
109
integration-tests/run.sh
Executable file
109
integration-tests/run.sh
Executable file
@@ -0,0 +1,109 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e -u -o pipefail
|
||||
|
||||
project=checkstyle
|
||||
revision=checkstyle-10.9.3
|
||||
|
||||
if [ "${#}" -gt 1 ] || [[ ${1:---sync} != '--sync' ]]; then
|
||||
echo "Usage: ${0} [--sync]"
|
||||
exit 1
|
||||
fi
|
||||
do_sync="${1:-}"
|
||||
|
||||
error_prone_support_version="$(
|
||||
mvn -f .. help:evaluate -Dexpression=project.version -q -DforceStdout
|
||||
)"
|
||||
|
||||
error_prone_shared_flags='-XepExcludedPaths:(\Q${project.basedir}${file.separator}src${file.separator}\E(it|test)\Q${file.separator}resources\E|\Q${project.build.directory}${file.separator}\E).*'
|
||||
|
||||
error_prone_patch_flags="${error_prone_shared_flags} -XepPatchLocation:IN_PLACE -XepPatchChecks:$(
|
||||
find .. -path "*/META-INF/services/com.google.errorprone.bugpatterns.BugChecker" \
|
||||
| xargs grep -hoP '[^.]+$' \
|
||||
| paste -s -d ','
|
||||
)"
|
||||
|
||||
error_prone_validation_flags="${error_prone_shared_flags} -XepDisableAllChecks $(
|
||||
find .. -path "*/META-INF/services/com.google.errorprone.bugpatterns.BugChecker" \
|
||||
| xargs grep -hoP '[^.]+$' \
|
||||
| sed -r 's,(.*),-Xep:\1:WARN,' \
|
||||
| paste -s -d ' '
|
||||
)"
|
||||
|
||||
validation_log_file="$(mktemp)"
|
||||
trap 'rm -rf -- "${validation_log_file}"' INT TERM HUP EXIT
|
||||
|
||||
echo "Error Prone Support version: ${error_prone_support_version}"
|
||||
echo "Error Prone patch flags: ${error_prone_patch_flags}"
|
||||
echo "Error Prone validation flags: ${error_prone_validation_flags}"
|
||||
|
||||
pushd "${project}"
|
||||
|
||||
git checkout -f "${revision}"
|
||||
git apply < "../${project}-${revision}-init.patch"
|
||||
git commit -m 'dependency: Introduce Error Prone Support' .
|
||||
|
||||
mvn com.spotify.fmt:fmt-maven-plugin:2.19:format \
|
||||
-DadditionalSourceDirectories='${project.basedir}${file.separator}src${file.separator}it${file.separator}java'
|
||||
git commit -m 'minor: Reformat using Google Java Format' .
|
||||
|
||||
function apply_patch() {
|
||||
local current_diff="${1}"
|
||||
|
||||
mvn clean package com.spotify.fmt:fmt-maven-plugin:2.19:format \
|
||||
-DadditionalSourceDirectories='${project.basedir}${file.separator}src${file.separator}it${file.separator}java' \
|
||||
-Perror-prone-compile,error-prone-test-compile \
|
||||
-Derror-prone.flags="${error_prone_patch_flags}" \
|
||||
-Derror-prone-support.version="${error_prone_support_version}" \
|
||||
-DskipTests
|
||||
|
||||
local new_diff="$(git diff | shasum --algorithm 256)"
|
||||
|
||||
if [ "${current_diff}" != "${new_diff}" ]; then
|
||||
apply_patch "${new_diff}"
|
||||
fi
|
||||
}
|
||||
|
||||
apply_patch "$(git diff | shasum --algorithm 256)"
|
||||
|
||||
baseline_patch="../${project}-${revision}-expected-changes.patch"
|
||||
if [ -n "${do_sync}" ]; then
|
||||
echo 'Saving changes...'
|
||||
git diff > "${baseline_patch}"
|
||||
else
|
||||
echo 'Inspecting changes...'
|
||||
if ! diff -u "${baseline_patch}" <(git diff); then
|
||||
echo 'There are unexpected changes.'
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Validate the results.
|
||||
#
|
||||
# - The `metadataFilesGenerationAllFiles` test is skipped because is makes line
|
||||
# number assertions that will fail when the code is formatted or patched.
|
||||
# - The `allCheckSectionJavaDocs` test is skipped because is validates that
|
||||
# Javadoc has certain closing tags that are removed by Google Java Format.
|
||||
# XXX: Figure out why the `validateCliDocSections` test fails.
|
||||
echo "Validation file: ${validation_log_file}"
|
||||
mvn clean package \
|
||||
-Perror-prone-compile,error-prone-test-compile \
|
||||
-Derror-prone.flags="${error_prone_validation_flags}" \
|
||||
-Derror-prone-support.version="${error_prone_support_version}" \
|
||||
-Dmaven.compiler.showWarnings \
|
||||
| tee "${validation_log_file}"
|
||||
echo "Finished validation run!"
|
||||
|
||||
baseline_warnings="../${project}-${revision}-expected-warnings.txt"
|
||||
# note: added '*' in the final grep, required in order to get matches in GNU grep 3.11
|
||||
generated_warnings="$(grep -oP "(?<=^\\Q[WARNING] ${PWD}/\\E).*" "${validation_log_file}" | grep -P '\]*\[')"
|
||||
if [ -n "${do_sync}" ]; then
|
||||
echo 'Saving emitted warnings...'
|
||||
echo "${generated_warnings}" > "${baseline_warnings}"
|
||||
else
|
||||
echo 'Inspecting emitted warnings...'
|
||||
if ! diff -u "${baseline_warnings}" <(echo "${generated_warnings}"); then
|
||||
echo 'Diagnostics output changed.'
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
Reference in New Issue
Block a user