Excavator: Upgrades Baseline to the latest version #500
+43
−61
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
excavator is a bot for automating changes across repositories.
Changes produced by the roomba/latest-baseline-oss check.
Release Notes
3.0.0
./gradlew resolveConfigurationstask. We no longer run this on CI, but if you want to keep using it, feel free to depend on the plugin directly.com.palantir.baseline-versionsplugin has been deleted, as we recommended using gradle-consistent-versions instead. (Alternatively, you can still manually set up nebula.dependency-recommender).3.1.0
3.1.1
UnnecessaryLambdaArgumentParentheseshandling explicitly typed primitive lambda args3.2.0
3.2.1
ParenPadrule is turned off when using palantir-java-format, to avoid disagreements that can't be fixed by the user.3.2.2
3.3.0
./gradlew compileJava -Pcom.palantir.baseline-error-prone.disableturns off error-prone, to allow compilation on Java 13 which is not yet supported by error-prone.3.4.0
.baseline/copyright../gradlew test -Drecreate=truewill ensure the"recreate"system property is passed through to Java correctly.3.4.1
3.4.2
3.4.3
builtByother tasks (e.g. gradle-conjure, gradle-atlas)3.5.0
com.palantir.baseline-fix-gradle-javaplugin fixes up the deprecated configurations of java source sets so they cannot be resolved or depended on.3.5.1
3.6.0
3.7.0
This release has been aborted because of a bug, don't use
3.7.1
checkUnusedDependenciesregression introduced in 3.7.0 where it was failing when finding a dependency on another project that appliesjava-library.3.7.2
ignore(String, String)method on thecheckUnusedDependenciesandcheckImplicitDependenciestasks. This now ignores the coordinate for all source sets.3.7.3
com.palantir.baseline-fix-gradle-javaby default.3.7.4
LeftCurlyCheckStyle rule when Palantir-Java-Format is applied3.7.5
checkClassUniquenesstask will no longer spuriously fail due to inconsistent ordering in thebaseline-class-uniqueness.lockfile.3.8.0
CatchSpecificityerrorprone check by default3.9.0
3.10.0
No documented user facing changes
3.11.0
3.12.0
SwitchStatementDefaultCaseerror-prone check.3.12.1
com.palantir.baseline-exact-dependenciestasks (checkUnusedDependencies,checkImplicitDependencies), so they work with gradle 6.4.3.13.0
3.14.0
Automated release, no documented user facing changes
3.14.1
3.15.0
StrictUnusedVariablechecks for unused lambda parameters3.15.1
_param) to used (param`), fixing a regression from 5.18.0.3.16.0
3.17.0
3.18.0
checkUnusedDependenciesworks with JDK143.19.0
3.20.0
baseline-error-proneplugin no longer appliesSUGGESTIONchecks by default.3.21.0
org.ow2.asm:asmto ensure consumers can use JDK14 source compat3.22.0
extends Errorwithextends RuntimeExceptionfor clearer contract to the consumers.3.23.0
PreferCollectionConstructorserror-prone check is now enabled by default.3.24.0
./gradlew --write-locksshould be faster now, as it doesn't update yourbaseline-class-uniqueness.lockfile implicitly anymore. To update this, you need to run./gradlew checkClassUniqueness --write-locks.3.25.0
3.25.1
3.26.0
3.27.0
3.28.0
This generates the following additional files:
- .idea/copyright/profiles_settings.xml
- an xml file under .idea/copyright/ per copyright file under .baseline/copyright
- .idea/checkstyle-idea.xml (and adds Checkstyle-IDEA to the external dependencies) if baseline-checkstyle is applied
- Either .idea/codeStyleSettings.xml or a .idea/codeStyles/ folder with the contents being copied from .baseline/idea
- If .baseline/idea/codeStyles is present, it will copy its contents, otherwise, it will fall back to .baseline/idea/intellij-java-palantir-style.xml as currently
- The fallback is using a legacy IntelliJ format and requires closing and reopening the project to be taken into account
3.29.0
Slf4jLogsafeArgsErrorProne rule now allows object arrays be passed as vararg argument to logging methods.OptionalOrElseGetValueerror prone rule which recommends usingOptional.orElse(value)overOptional.orElseGet(() -> value).3.30.0
3.31.0
3.32.0
UnnecessaryParentheseson Java 14 source to avoid false positives3.32.1
3.33.0
FallThroughon Java 14 source to avoid false positives3.34.0
TooManyArgumentserrorprone rule which prevents interfaces from having more than 10 arguments3.35.0
checkClassUniquenessfails, it will show the difference between the actual and expected lock file.3.36.0
3.36.1
LogsafeArgNamenow ignores arg names that are not literals.3.36.2
baseline-exact-dependenciesensurescompileCopyconfiguration it creates is not resolvable, so it can't be resolved accidentally.3.37.0
3.37.1
com.palantir.baseline-exact-dependenciesto work with GCV 1.26.0+.3.38.0
3.39.0
records.3.39.1
3.40.0
3.40.1
3.41.0
3.42.0
3.43.0
BoxedPrimitiveEqualityandReferenceEqualitychecks will now fail the build, as we consider them errors not just warnings.3.43.1
3.44.0
3.45.0
3.45.1
3.45.2
jvm-1.8instead ofjvm-8).3.45.3
3.46.0
3.47.0
JavaTimeSystemDefaultTimeZoneerror-prone check to prevent uses of the system default time zone.3.48.0
Automated release, no documented user facing changes
3.49.0
3.50.0
3.51.0
3.52.0
apply plugin: 'com.palantir.baseline-enable-preview-flag'to your subprojects block to enable the usage of unreleased java features (e.g. records, switch expressions, var keyword etc).Note, this plugin is a no-op on any project where you have a low sourceCompatibility.
3.52.1
3.53.0
IncubatingMethoderrorprone check, which prevents usage of conjure incubating APIs unless explicitly annotated.3.53.1
3.54.0
baseline-class-unqiuenessplugin is now applied by default.3.55.0
com.palantir.baseline-formatnow understands how to format build.gradle files. This is opt-in by default, so you need to run./gradlew format -Pcom.palantir.baseline-format.gradle-files=trueto try it, or add this property to your gradle.properties if you want to lock it in.3.56.0
Re-release after 3.55.0 failed to publish
3.57.0
@CompileTimeConstantannotation.3.57.1
baseline-errorproneno longer injects an absolute path intoerrorproneOptions.excludedPaths.3.58.0
3.58.1
3.58.2
baseline-reproducibilityno longer requires people to setsourceCompatibilityif the publishing plugin is applied but nothing is published. (NOTE this requires Gradle 6.7+)3.59.0
Automated release, no documented user facing changes
3.59.1
3.60.0
3.61.0
checkImplicitDependenciessuggestion message now includes theimplementationconfiguration name.3.62.0
3.63.0
com.palantir.baseline-encodingplugin to force UTF-8 in compilation tasks.3.63.1
WhitespaceAroundCheckstyle rule when palantir-java-format is applied.3.63.2
3.63.3
3.64.0
Automated release, no documented user facing changes
3.65.0
ZoneIdOfZcheck3.66.0
Automated release, no documented user facing changes
3.67.0
3.68.0
3.68.1
.classaccess3.69.0
3.70.0
ImmutablesStyleannotations are now excluded from Intellij auto-imports and completion.3.71.0
PreferImmutableStreamExCollectionsconverts the StreamExtoMap()->toImmutableMap(),toImmutableList()andtoImmutableSet()3.72.0
AutoCloseableMustBeClosedannotates methods and constructors that return anAutoCloseabletype as@MustBeClosedto allow forMustBeClosedCheckerto perform analysis that resources are appropriately closed.See https://errorprone.info/bugpattern/MustBeClosedChecker
3.73.0
Projects can choose to manually opt-in by enabling the
AutoCloseableMustBeClosedcheck as part of their baseline configuration and running./gradlew compileJava compileTestJava -PerrorProneApply=AutoCloseableMustBeClosed && ./gradlew formatto apply the automated fixes.3.73.1
3.74.0
3.75.0
-parametersjavac option for method parameter metadata3.75.1
The check was non-functional; the test did not catch this since it was using the wrong
@Testannotation. Fixed both issues.3.76.0
Automated release, no documented user facing changes
3.77.0
3.78.0
DangerousIdentityKeyvalidates additional hash-based collections3.79.0
3.80.0
3.81.0
baseline-immutablesplugin to enable incremental compilation for Immutables.3.81.1
com.palantir.baseline-immutablesplugin lazily to avoidafterEvaluateordering issues.3.82.0
Automated release, no documented user facing changes
3.83.0
CommandLineArgumentProviders are not written as lambdas, which causes them not to be cached.3.84.0
Automated release, no documented user facing changes
3.85.0
BracesRequiredcheck+fix with upstreamMissingBracesadded in v2.7.03.86.0
3.87.0
3.88.0
Automated release, no documented user facing changes
3.88.1
3.89.0
ImmutablesStyleCollisioncheck to require meta-annotations with source retention.3.90.0
Automated release, no documented user facing changes
3.91.0
VarUsage3.92.0
3.93.0
3.94.0
BadAssertto banassertstatements in favor of better alternatives.3.95.0
3.96.0
3.97.0
3.98.0
3.99.0-rc1
4.0.0
4.1.0
4.2.0
baseline-class-uniqueness.lockfiles when more than one configuration is listed. A newline was missing. This may require running./gradlew checkClassUniqueness --write-locksto update the files.4.3.0
PreferSafeLoggerto migrate logger uses which include level-checks4.4.0
4.5.0
ImmutablesStyle4.6.0
ProxyNonConstantTypefailures to ease rollout4.7.0
4.8.0
Automated release, no documented user facing changes
4.9.0
StrictUnusedVariableexception forSafeLoggermatching the existing exception for slf4j. Update CatchBlockLogException to be SafeLogger aware as well.4.10.0
4.11.0
4.12.0
Automated release, no documented user facing changes
4.13.0
4.14.0
Automated release, no documented user facing changes
4.15.0
LoopOverCharArray4.16.0
4.17.0
PreferSafeLoggeratWARNINGlevel matchingSlf4jLogsafeArgsandPreferSafeLoggingPreconditions. This doesn't apply to gradle plugins.4.18.0
No documented user facing changes
4.19.0
4.20.0
4.21.0
4.22.0
4.23.0
4.24.0
checkClassUniquenesstask, especially in large repos, by adding caching of jar information.Fix class names listed in the
baseline-class-uniqueness.lockwhen the class or package name contains the substringclass. In rare cases, this may require running./gradlew checkClassUniqueness --write-locksto update the files.4.25.0
4.26.0
4.27.0
useJUnitPlatform()on test tasks. Add extra verification to thecheckJUnitDependenciestask for nebula-test 10/Spock 2 tests.4.28.0
MalformedInputExceptionwhen checking non-utf8 files for correct junit dependencies.4.29.0
4.30.0
Automated release, no documented user facing changes
4.31.0-rc1
4.31.0
4.32.0
4.33.0
4.34.0
4.35.0
--add-opensin addition to--add-exports4.36.0
4.37.0
RateLimiter.create(rate, Duration.ZERO)which do not rate limit at all. See guava#27304.38.0
4.39.0
com.palantir.baseline-java-versionsplugin requires gradle 7 and fails eagerly on older versions. Previously it would cause non-obvious failures later depending on task execution.hasNoArgson service exception asserts and loggable exception asserts.4.40.0
4.41.0
org.junit.jupiter.params.shadow4.42.0
4.43.0
4.44.0
4.45.0
Automated release, no documented user facing changes
4.46.0
Automated release, no documented user facing changes
4.47.0
4.48.0
4.49.0
4.50.0
4.51.0
4.52.0
4.53.0
No documented user facing changes
4.54.0
void write(int), theyshould also override
void write(byte[], int, int), otherwise theperformance of the stream is likely to be slow.
See https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/FilterOutputStream.html#write(byte%5B%5D,int,int)
> Subclasses of FilterOutputStream should provide a more efficient implementation of this method.
Similar in concept to https://errorprone.info/bugpattern/InputStreamSlowMultibyteRead
4.55.0
inefficient FilterOuputStream implementations.
Subclasses of FilterOutputStream should provide a more efficient
implementation of
write(byte[], int, int)to avoid slow writes.4.56.0
Concrete BugChecker implementations should be annotated
@AutoService(BugChecker.class)for auto registration with error-prone.4.57.0
Avoid warning FilterOutputStreamSlowMultibyteWrite when intermediate
type overrides both single and multibyte write methods.
4.58.0
DangerousIdentityKeynow allowsClassto be used as a map or set key.4.59.0
No documented user facing changes
4.60.0
Automated release, no documented user facing changes
4.61.0
Automated release, no documented user facing changes
4.62.0
Automated release, no documented user facing changes
4.63.0
4.64.0
compileRefastertask for improved performance when it is not needed.4.65.0
4.66.0
com.palantir.baseline-error-prone.disable=falseGradle property.4.67.0
Automated release, no documented user facing changes
4.68.0
StrictUnusedVariableno longer flags parameters of default methods.4.69.0
4.70.0
Automated release, no documented user facing changes
4.71.0
Automated release, no documented user facing changes
4.72.0
Automated release, no documented user facing changes
4.73.0
4.74.0
No documented user facing changes
4.75.0
4.76.0
4.77.0
4.78.0
IllegalSafeLoggingArgumentcheck4.79.0
4.80.0
4.81.0
4.82.0
Automated release, no documented user facing changes
4.83.0
4.84.0
4.85.0
4.86.0
4.87.0
4.88.0
4.89.0
4.90.0
4.91.0
SerializationUtilsmatcher4.92.0
4.93.0
4.94.0
4.95.0
4.96.0
4.97.0
4.98.0
4.99.0
4.100.0
To enable or disable this check, please contact the maintainers of Excavator.