This repository has been archived by the owner on Oct 7, 2024. It is now read-only.
Excavator: Upgrades Baseline to the latest version #429
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 resolveConfigurations
task. 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-versions
plugin 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
UnnecessaryLambdaArgumentParentheses
handling explicitly typed primitive lambda args3.2.0
3.2.1
ParenPad
rule 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.disable
turns 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=true
will ensure the"recreate"
system property is passed through to Java correctly.3.4.1
3.4.2
3.4.3
builtBy
other tasks (e.g. gradle-conjure, gradle-atlas)3.5.0
com.palantir.baseline-fix-gradle-java
plugin 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
checkUnusedDependencies
regression 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 thecheckUnusedDependencies
andcheckImplicitDependencies
tasks. This now ignores the coordinate for all source sets.3.7.3
com.palantir.baseline-fix-gradle-java
by default.3.7.4
LeftCurly
CheckStyle rule when Palantir-Java-Format is applied3.7.5
checkClassUniqueness
task will no longer spuriously fail due to inconsistent ordering in thebaseline-class-uniqueness.lock
file.3.8.0
CatchSpecificity
errorprone check by default3.9.0
3.10.0
No documented user facing changes
3.11.0
3.12.0
SwitchStatementDefaultCase
error-prone check.3.12.1
com.palantir.baseline-exact-dependencies
tasks (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
StrictUnusedVariable
checks 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
checkUnusedDependencies
works with JDK143.19.0
3.20.0
baseline-error-prone
plugin no longer appliesSUGGESTION
checks by default.3.21.0
org.ow2.asm:asm
to ensure consumers can use JDK14 source compat3.22.0
extends Error
withextends RuntimeException
for clearer contract to the consumers.3.23.0
PreferCollectionConstructors
error-prone check is now enabled by default.3.24.0
./gradlew --write-locks
should be faster now, as it doesn't update yourbaseline-class-uniqueness.lock
file 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
Slf4jLogsafeArgs
ErrorProne rule now allows object arrays be passed as vararg argument to logging methods.OptionalOrElseGetValue
error prone rule which recommends usingOptional.orElse(value)
overOptional.orElseGet(() -> value)
.3.30.0
3.31.0
3.32.0
UnnecessaryParentheses
on Java 14 source to avoid false positives3.32.1
3.33.0
FallThrough
on Java 14 source to avoid false positives3.34.0
TooManyArguments
errorprone rule which prevents interfaces from having more than 10 arguments3.35.0
checkClassUniqueness
fails, it will show the difference between the actual and expected lock file.3.36.0
3.36.1
LogsafeArgName
now ignores arg names that are not literals.3.36.2
baseline-exact-dependencies
ensurescompileCopy
configuration it creates is not resolvable, so it can't be resolved accidentally.3.37.0
3.37.1
com.palantir.baseline-exact-dependencies
to 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
BoxedPrimitiveEquality
andReferenceEquality
checks 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.8
instead ofjvm-8
).3.45.3
3.46.0
3.47.0
JavaTimeSystemDefaultTimeZone
error-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
IncubatingMethod
errorprone check, which prevents usage of conjure incubating APIs unless explicitly annotated.3.53.1
3.54.0
baseline-class-unqiueness
plugin is now applied by default.3.55.0
com.palantir.baseline-format
now 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=true
to 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
@CompileTimeConstant
annotation.3.57.1
baseline-errorprone
no longer injects an absolute path intoerrorproneOptions.excludedPaths
.3.58.0
3.58.1
3.58.2
baseline-reproducibility
no longer requires people to setsourceCompatibility
if 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
checkImplicitDependencies
suggestion message now includes theimplementation
configuration name.3.62.0
3.63.0
com.palantir.baseline-encoding
plugin to force UTF-8 in compilation tasks.3.63.1
WhitespaceAround
Checkstyle 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
ZoneIdOfZ
check3.66.0
Automated release, no documented user facing changes
3.67.0
3.68.0
3.68.1
.class
access3.69.0
3.70.0
ImmutablesStyle
annotations are now excluded from Intellij auto-imports and completion.3.71.0
PreferImmutableStreamExCollections
converts the StreamExtoMap()
->toImmutableMap()
,toImmutableList()
andtoImmutableSet()
3.72.0
AutoCloseableMustBeClosed
annotates methods and constructors that return anAutoCloseable
type as@MustBeClosed
to allow forMustBeClosedChecker
to 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
AutoCloseableMustBeClosed
check as part of their baseline configuration and running./gradlew compileJava compileTestJava -PerrorProneApply=AutoCloseableMustBeClosed && ./gradlew format
to apply the automated fixes.3.73.1
3.74.0
3.75.0
-parameters
javac option for method parameter metadata3.75.1
The check was non-functional; the test did not catch this since it was using the wrong
@Test
annotation. Fixed both issues.3.76.0
Automated release, no documented user facing changes
3.77.0
3.78.0
DangerousIdentityKey
validates additional hash-based collections3.79.0
3.80.0
3.81.0
baseline-immutables
plugin to enable incremental compilation for Immutables.3.81.1
com.palantir.baseline-immutables
plugin lazily to avoidafterEvaluate
ordering issues.3.82.0
Automated release, no documented user facing changes
3.83.0
CommandLineArgumentProvider
s 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
BracesRequired
check+fix with upstreamMissingBraces
added 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
ImmutablesStyleCollision
check to require meta-annotations with source retention.3.90.0
Automated release, no documented user facing changes
3.91.0
VarUsage
3.92.0
3.93.0
3.94.0
BadAssert
to banassert
statements 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.lock
files when more than one configuration is listed. A newline was missing. This may require running./gradlew checkClassUniqueness --write-locks
to update the files.4.3.0
PreferSafeLogger
to migrate logger uses which include level-checks4.4.0
4.5.0
ImmutablesStyle
4.6.0
ProxyNonConstantType
failures to ease rollout4.7.0
4.8.0
Automated release, no documented user facing changes
4.9.0
StrictUnusedVariable
exception forSafeLogger
matching 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
LoopOverCharArray
4.16.0
4.17.0
PreferSafeLogger
atWARNING
level matchingSlf4jLogsafeArgs
andPreferSafeLoggingPreconditions
. 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
checkClassUniqueness
task, especially in large repos, by adding caching of jar information.Fix class names listed in the
baseline-class-uniqueness.lock
when the class or package name contains the substringclass
. In rare cases, this may require running./gradlew checkClassUniqueness --write-locks
to update the files.4.25.0
4.26.0
4.27.0
useJUnitPlatform()
on test tasks. Add extra verification to thecheckJUnitDependencies
task for nebula-test 10/Spock 2 tests.4.28.0
MalformedInputException
when 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-opens
in addition to--add-exports
4.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-versions
plugin requires gradle 7 and fails eagerly on older versions. Previously it would cause non-obvious failures later depending on task execution.hasNoArgs
on service exception asserts and loggable exception asserts.4.40.0
4.41.0
org.junit.jupiter.params.shadow
4.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
DangerousIdentityKey
now allowsClass
to 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
compileRefaster
task for improved performance when it is not needed.4.65.0
4.66.0
com.palantir.baseline-error-prone.disable=false
Gradle property.4.67.0
Automated release, no documented user facing changes
4.68.0
StrictUnusedVariable
no 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
IllegalSafeLoggingArgument
check4.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
SerializationUtils
matcher4.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
4.101.0
Collection<@Safe String>
4.102.0
com.palantir.baseline-circleci
plugin so that compilation failures are once again parsed as XML and can be surfaced at the top of CircleCI builds.4.103.0
4.104.0
4.105.0
4.106.0
4.107.0
Use non-deprecated isSuppressed methods
4.108.0
4.109.0
ImmutablesReferenceEquality
check that checks for comparison of Immutables values using reference equality.4.110.0
4.111.0
4.112.0
SafeLoggingPropagation
error-prone check propages log-safety annotations from getters and superclasses/superinterfaces to the type level4.113.0
4.114.0
4.115.0
4.116.0
Automated release, no documented user facing changes
4.117.0
SafeLoggingPropagation
check and automated fixes:1. Method return statements are analyzed to determine safety of unmarked methods
2. Types are annotated based on the safety of their
toString
method, which is a reasonable heuristic for value types that may be logged.4.118.0
4.119.0
4.120.0
4.121.0
4.122.0
NarrowCalculation
4.123.0
4.124.0
4.125.0
4.126.0
4.127.0
4.128.0
4.129.0
Automated release, no documented user facing changes
4.130.0
StackOverflowError
s do not occur4.131.0
4.132.0
4.133.0
4.134.0
4.135.0
4.136.0
LazilyConfiguredMapping
that was extracted out to gradle-utils.4.137.0
4.138.0
4.139.0
4.140.0
AvoidNewHashMapInt
to warn on uses ofnew HashSet(int)
.4.141.0
4.142.0
4.143.0
4.144.0
4.145.0
To enable or disable this check, please contact the maintainers of Excavator.