excavator is a bot for automating changes across repositories.
Changes produced by the roomba/latest-baseline-oss check.
Release Notes
3.0.0
Type
Description
Link
Break
baseline-circleci no longer applies the (deprecated) configuration resolver plugin which provided the ./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.
The deprecated 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).
Replace the checkstyle UnnecessaryParentheses check with error-prone. The existing upstream UnnecessaryParentheses check covers most cases, a new UnnecessaryLambdaArgumentParentheses check covers the rest.
./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.
For repos that use snapshot-style testing, ./gradlew test -Drecreate=true will ensure the "recreate" system property is passed through to Java correctly.
checkClassUniqueness should now behave consistently when asked to analyze configurations that are builtBy other tasks (e.g. gradle-conjure, gradle-atlas)
A new com.palantir.baseline-fix-gradle-java plugin fixes up the deprecated configurations of java source sets so they cannot be resolved or depended on.
Fix checkUnusedDependencies regression introduced in 3.7.0 where it was failing when finding a dependency on another project that applies java-library.
Bring back the ignore(String, String) method on the checkUnusedDependencies and checkImplicitDependencies tasks. This now ignores the coordinate for all source sets.
The threshold for automatic on demand imports (.* imports) in IntelliJ and Eclipse formatter configurations has been increased from 99 to 999. Ideally on demands imports would be disabled completely as they are not allowed in the baseline Checkstyle configuration. Given that's not possible, the threshold is being icreased as a workaround.
Fix task dependencies onto other subprojects for com.palantir.baseline-exact-dependencies tasks (checkUnusedDependencies, checkImplicitDependencies), so they work with gradle 6.4.
Add error-prone check that forbids extending java.lang.Error (reports ERROR). Provides a fix to replace extends Error with extends RuntimeException for clearer contract to the consumers.
Running ./gradlew --write-locks should be faster now, as it doesn't update your baseline-class-uniqueness.lock file implicitly anymore. To update this, you need to run ./gradlew checkClassUniqueness --write-locks.
Adds the proper configuration files upon IntelliJ import of a gradle project for checkstyle and copyright.
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
Add the 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.
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.
JavaCompile tasks should now get more build cache hits irrespective of the location of your repo on disk, as baseline-errorprone no longer injects an absolute path into errorproneOptions.excludedPaths.
baseline-reproducibility no longer requires people to set sourceCompatibility if the publishing plugin is applied but nothing is published. (NOTE this requires Gradle 6.7+)
A new suggested error-prone rule AutoCloseableMustBeClosed annotates methods and constructors that return an AutoCloseable type as @MustBeClosed to allow for MustBeClosedChecker to perform analysis that resources are appropriately closed.
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.
Fix the formatting of 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.
Automated release, no documented user facing changes
4.9.0
Type
Description
Link
Improvement
Add a StrictUnusedVariable exception for SafeLogger matching the existing exception for slf4j. Update CatchBlockLogException to be SafeLogger aware as well.
error-prone LoggerInterpolationConsumesThrowable: Flag as an ERROR when logging statements fail to produce a stack trace due to excessive slf4j-style interpolation placeholders.
Increase the speed of the 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 substring class. In rare cases, this may require running ./gradlew checkClassUniqueness --write-locks to update the files.
Excavator: Upgrades Baseline to the latest version
###### _excavator_ is a bot for automating changes across repositories.
Changes produced by the roomba/latest-baseline-oss check.
# Release Notes
## 3.0.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Break | baseline-circleci no longer applies the (deprecated) configuration resolver plugin which provided the `./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. | https://github.com/palantir/gradle-baseline/pull/1184 |
| Break | The deprecated `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). | https://github.com/palantir/gradle-baseline/pull/1169 |
## 3.1.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Replace the checkstyle UnnecessaryParentheses check with error-prone. The existing upstream UnnecessaryParentheses check covers most cases, a new UnnecessaryLambdaArgumentParentheses check covers the rest. | https://github.com/palantir/gradle-baseline/pull/1186 |
## 3.1.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Fix `UnnecessaryLambdaArgumentParentheses` handling explicitly typed primitive lambda args | https://github.com/palantir/gradle-baseline/pull/1192 |
## 3.2.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Add an ErrorProne check for raw types | https://github.com/palantir/gradle-baseline/pull/1197 |
## 3.2.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Checkstyle's `ParenPad` rule is turned off when using palantir-java-format, to avoid disagreements that can't be fixed by the user. | https://github.com/palantir/gradle-baseline/pull/1205 |
## 3.2.2
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Turn off UnnecessaryLambda in tests where it doesn't provide value because there is a ubiquitous use case that is painful to fix. | https://github.com/palantir/gradle-baseline/pull/1210 |
## 3.3.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | `./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. | https://github.com/palantir/gradle-baseline/pull/1213 |
## 3.4.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Enforcing copyright based on the first file (lexicographically) found in `.baseline/copyright`. | https://github.com/palantir/gradle-baseline/pull/1217 |
| Improvement | For repos that use snapshot-style testing, `./gradlew test -Drecreate=true` will ensure the `"recreate"` system property is passed through to Java correctly. | https://github.com/palantir/gradle-baseline/pull/1220 |
## 3.4.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Auto-fixing license headers will attempt to preserve the existing year of creation. | https://github.com/palantir/gradle-baseline/pull/1227 |
## 3.4.2
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Copyright header enforcement now includes any leading and trailing whitespace on lines | https://github.com/palantir/gradle-baseline/pull/1228 |
## 3.4.3
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | checkClassUniqueness should now behave consistently when asked to analyze configurations that are `builtBy` other tasks (e.g. gradle-conjure, gradle-atlas) | https://github.com/palantir/gradle-baseline/pull/1250 |
## 3.5.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | A new `com.palantir.baseline-fix-gradle-java` plugin fixes up the deprecated configurations of java source sets so they cannot be resolved or depended on. | https://github.com/palantir/gradle-baseline/pull/1254 |
## 3.5.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Fix regression from 3.5.0 with baseline-exact-dependencies. | https://github.com/palantir/gradle-baseline/pull/1260 |
## 3.6.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Migrate VisibleForTesting validation from checkstyle to errorprone | https://github.com/palantir/gradle-baseline/pull/1253 |
## 3.7.0
**This release has been aborted because of a bug, don't use**
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | BaselineExactDependencies applies to all source sets | https://github.com/palantir/gradle-baseline/pull/1262 |
## 3.7.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Fix `checkUnusedDependencies` regression introduced in 3.7.0 where it was failing when finding a dependency on another project that applies `java-library`. | https://github.com/palantir/gradle-baseline/pull/1267 |
## 3.7.2
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Bring back the `ignore(String, String)` method on the `checkUnusedDependencies` and `checkImplicitDependencies` tasks. This now ignores the coordinate for all source sets. | https://github.com/palantir/gradle-baseline/pull/1273 |
## 3.7.3
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Fix regression in 3.5.0 where people's idea{} configuration code would now crash, by not applying `com.palantir.baseline-fix-gradle-java` by default. | https://github.com/palantir/gradle-baseline/pull/1274 |
| Fix | Fix baseline 3.7.0-3.7.2 regression in baseline-exact-dependencies causing ConcurrentModificationException. | https://github.com/palantir/gradle-baseline/pull/1275 |
## 3.7.4
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Disable `LeftCurly` CheckStyle rule when Palantir-Java-Format is applied | https://github.com/palantir/gradle-baseline/pull/1278 |
## 3.7.5
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | The `checkClassUniqueness` task will no longer spuriously fail due to inconsistent ordering in the `baseline-class-uniqueness.lock` file. | https://github.com/palantir/gradle-baseline/pull/1283 |
## 3.8.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Disable `CatchSpecificity` errorprone check by default | https://github.com/palantir/gradle-baseline/pull/1292 |
## 3.9.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | RedundantModifier check validates and fixes final parameters in abstract methods | https://github.com/palantir/gradle-baseline/pull/1303 |
## 3.10.0
_No documented user facing changes_
## 3.11.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | The threshold for automatic on demand imports (.* imports) in IntelliJ and Eclipse formatter configurations has been increased from 99 to 999. Ideally on demands imports would be disabled completely as they are not allowed in the baseline Checkstyle configuration. Given that's not possible, the threshold is being icreased as a workaround. | https://github.com/palantir/gradle-baseline/pull/1323 |
| Improvement | New OptionalFlatmapOfNullable check with automatic fix. | https://github.com/palantir/gradle-baseline/pull/1328 |
## 3.12.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Baseline no longer provides a `SwitchStatementDefaultCase` error-prone check. | https://github.com/palantir/gradle-baseline/pull/1309 |
## 3.12.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Fix task dependencies onto other subprojects for `com.palantir.baseline-exact-dependencies` tasks (`checkUnusedDependencies`, `checkImplicitDependencies`), so they work with gradle 6.4. | https://github.com/palantir/gradle-baseline/pull/1338 |
## 3.13.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Intellij is now configured to import inner classes. | https://github.com/palantir/gradle-baseline/pull/1341 |
## 3.14.0
_Automated release, no documented user facing changes_
## 3.14.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Classes in common shaded packages are no longer for autocompletion/auto-import recommended by IntelliJ. | https://github.com/palantir/gradle-baseline/pull/1350 |
## 3.15.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | `StrictUnusedVariable` checks for unused lambda parameters | https://github.com/palantir/gradle-baseline/pull/1355 |
## 3.15.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Correctly handle converting lambda parameters from unused (`_param`) to used (param`), fixing a regression from 5.18.0. | https://github.com/palantir/gradle-baseline/pull/1358 |
## 3.16.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Rewrite single parameter lambdas that only invoke an zero param instance method to a method reference | https://github.com/palantir/gradle-baseline/pull/1359 |
## 3.17.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Feature | Forbid implicit toString of Gradle Providers. | https://github.com/palantir/gradle-baseline/pull/1322 |
## 3.18.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | `checkUnusedDependencies` works with JDK14 | https://github.com/palantir/gradle-baseline/pull/1367 |
## 3.19.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Convert multi param lambdas and local method invokations to method references | https://github.com/palantir/gradle-baseline/pull/1365 |
| Improvement | Upgarde error-prone to 2.4.0 to support latest jdks | https://github.com/palantir/gradle-baseline/pull/1370 |
| Improvement | Upgrade gradle-errorprone | https://github.com/palantir/gradle-baseline/pull/1371 |
## 3.20.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | The `baseline-error-prone` plugin no longer applies `SUGGESTION` checks by default. | https://github.com/palantir/gradle-baseline/pull/1380 |
## 3.21.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Add an explicit dependency on `org.ow2.asm:asm` to ensure consumers can use JDK14 source compat | https://github.com/palantir/gradle-baseline/pull/1374 |
## 3.22.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Add error-prone check that forbids extending java.lang.Error (reports ERROR). Provides a fix to replace `extends Error` with `extends RuntimeException` for clearer contract to the consumers. | https://github.com/palantir/gradle-baseline/pull/1379 |
## 3.23.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | The `PreferCollectionConstructors` error-prone check is now enabled by default. | https://github.com/palantir/gradle-baseline/pull/1386 |
## 3.24.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Running `./gradlew --write-locks` should be faster now, as it doesn't update your `baseline-class-uniqueness.lock` file implicitly anymore. To update this, you need to run `./gradlew checkClassUniqueness --write-locks`. | https://github.com/palantir/gradle-baseline/pull/1389 |
| Improvement | Add errorprone check to avoid accidentally undoing immutables Style meta-annotations. | https://github.com/palantir/gradle-baseline/pull/1396 |
## 3.25.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Upgrade checkstyle to 8.33 | https://github.com/palantir/gradle-baseline/pull/1404 |
## 3.25.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Fix checkstyle config to conform to breaks made between 8.13 and 8.33 | https://github.com/palantir/gradle-baseline/pull/1409 |
## 3.26.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | StrictUnusedVariable handles Java 14 records | https://github.com/palantir/gradle-baseline/pull/1412 |
## 3.27.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | When using Eclipse's built-in formatter, method declarations are now wrapped on parameters, not on modifiers and return type. | https://github.com/palantir/gradle-baseline/pull/1416 |
## 3.28.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Adds the proper configuration files upon IntelliJ import of a gradle project for checkstyle and copyright.
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 | https://github.com/palantir/gradle-baseline/pull/1411 |
## 3.29.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | The `Slf4jLogsafeArgs` ErrorProne rule now allows object arrays be passed as vararg argument to logging methods. | https://github.com/palantir/gradle-baseline/pull/1394 |
| Improvement | Adds `OptionalOrElseGetValue` error prone rule which recommends using `Optional.orElse(value)` over `Optional.orElseGet(() -> value)`. | https://github.com/palantir/gradle-baseline/pull/1401 |
## 3.30.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Check unused dependencies task can be up to date | https://github.com/palantir/gradle-baseline/pull/1426 |
## 3.31.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | check junit dependencies task can be skipped | https://github.com/palantir/gradle-baseline/pull/1427 |
## 3.32.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Disable `UnnecessaryParentheses` on Java 14 source to avoid false positives | https://github.com/palantir/gradle-baseline/pull/1413 |
## 3.32.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Avoid rewriting lambdas into ambiguous references | https://github.com/palantir/gradle-baseline/pull/1432 |
## 3.33.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Disable `FallThrough` on Java 14 source to avoid false positives | https://github.com/palantir/gradle-baseline/pull/1442 |
## 3.34.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Feature | Add `TooManyArguments` errorprone rule which prevents interfaces from having more than 10 arguments | https://github.com/palantir/gradle-baseline/pull/1447 |
## 3.35.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Implement PreferStaticLoggers error-prone check | https://github.com/palantir/gradle-baseline/pull/1446 |
| Improvement | Fix typo in TooManyArguments check | https://github.com/palantir/gradle-baseline/pull/1449 |
| Fix | When `checkClassUniqueness` fails, it will show the difference between the actual and expected lock file. | https://github.com/palantir/gradle-baseline/pull/1452 |
## 3.36.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Make TODO checkstyle rule case insensitive to catch lowercase TODO comments | https://github.com/palantir/gradle-baseline/pull/1456 |
| Feature | add LogsafeArgName errorprone rule which allows users to specify a list of argument names that must always be tagged as unsafe. | https://github.com/palantir/gradle-baseline/pull/1459 |
## 3.36.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | The `LogsafeArgName` now ignores arg names that are not literals. | https://github.com/palantir/gradle-baseline/pull/1465 |
## 3.36.2
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | `baseline-exact-dependencies` ensures `compileCopy` configuration it creates is not resolvable, so it can't be resolved accidentally. | https://github.com/palantir/gradle-baseline/pull/1469 |
## 3.37.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Error-prone DnsLookup check to prevent unintentional resolution | https://github.com/palantir/gradle-baseline/pull/1472 |
## 3.37.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Fix `com.palantir.baseline-exact-dependencies` to work with GCV 1.26.0+. | https://github.com/palantir/gradle-baseline/pull/1487 |
## 3.38.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | ImplicitPublicBuilderConstructor error prone rule | https://github.com/palantir/gradle-baseline/pull/1492 |
## 3.39.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | checkstyle 8.33 -> 8.36.1, which enables support for new language features like `records`. | https://github.com/palantir/gradle-baseline/pull/1496 |
## 3.39.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Fix InvocationHandlerDelegation false positive | https://github.com/palantir/gradle-baseline/pull/1499 |
## 3.40.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Add an Errorprone rule to check that all fields in Immutables builders have been initialized | https://github.com/palantir/gradle-baseline/pull/1504 |
## 3.40.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Fix ImmutablesBuilderMissingInitialization in java15 | https://github.com/palantir/gradle-baseline/pull/1507 |
## 3.41.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | error-prone UnnecessarilyQualified | https://github.com/palantir/gradle-baseline/pull/1510 |
## 3.42.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Disable intellij's missing slf4j placeholders inspection by default. | https://github.com/palantir/gradle-baseline/pull/1513 |
## 3.43.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Error-prone's `BoxedPrimitiveEquality` and `ReferenceEquality` checks will now fail the build, as we consider them errors not just warnings. | https://github.com/palantir/gradle-baseline/pull/1514 |
## 3.43.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Fix null pointer exception when checking immutables builders that are returned from abstract methods | https://github.com/palantir/gradle-baseline/pull/1519 |
## 3.44.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Implement DeprecatedGuavaObjects error-prone migration | https://github.com/palantir/gradle-baseline/pull/1521 |
| Improvement | Implement error-prone ObjectsHashCodeUnnecessaryVarargs migration | https://github.com/palantir/gradle-baseline/pull/1522 |
## 3.45.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Automatically fix occurrences of ObjectsHashCodePrimitive | https://github.com/palantir/gradle-baseline/pull/1523 |
## 3.45.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Always set target version for Scala compiler to JVM 8. | https://github.com/palantir/gradle-baseline/pull/1524 |
## 3.45.2
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Use old version-string scheme for Scala compiler target (`jvm-1.8` instead of `jvm-8`). | https://github.com/palantir/gradle-baseline/pull/1528 |
## 3.45.3
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Fix baseline-idea inspection configuration | https://github.com/palantir/gradle-baseline/pull/1530 |
## 3.46.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Idea highlights calls to incubating conjure endpoints | https://github.com/palantir/gradle-baseline/pull/1529 |
## 3.47.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Feature | Adds a `JavaTimeSystemDefaultTimeZone` error-prone check to prevent uses of the system default time zone. | https://github.com/palantir/gradle-baseline/pull/1531 |
## 3.48.0
_Automated release, no documented user facing changes_
## 3.49.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Update spotless to 5.7.0 | https://github.com/palantir/gradle-baseline/pull/1534 |
## 3.50.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Disable --release flag when --add-exports is used | https://github.com/palantir/gradle-baseline/pull/1542 |
## 3.51.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | checkstyle 8.36 -> 8.37, to benefit from some bugfixes to do with new java language features (e.g. records) | https://github.com/palantir/gradle-baseline/pull/1546 |
## 3.52.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Feature | Add the `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. | https://github.com/palantir/gradle-baseline/pull/1549 |
## 3.52.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Fix regression in ./gradlew idea introduced in baseline 3.51.0 | https://github.com/palantir/gradle-baseline/pull/1551 |
## 3.53.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Add `IncubatingMethod` errorprone check, which prevents usage of conjure incubating APIs unless explicitly annotated. | https://github.com/palantir/gradle-baseline/pull/1554 |
## 3.53.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Improve the DangerousJsonTypeInfoUsage check | https://github.com/palantir/gradle-baseline/pull/1557 |
## 3.54.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | The `baseline-class-unqiueness` plugin is now applied by default. | https://github.com/palantir/gradle-baseline/pull/1553 |
## 3.55.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Feature | `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. | https://github.com/palantir/gradle-baseline/pull/1561 |
## 3.56.0
_Re-release after 3.55.0 failed to publish_
## 3.57.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Add error-prone CompileTimeConstantViolatesLiskovSubstitution check to require consistent application of the `@CompileTimeConstant` annotation. | https://github.com/palantir/gradle-baseline/pull/1559 |
## 3.57.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | JavaCompile tasks should now get more build cache hits irrespective of the location of your repo on disk, as `baseline-errorprone` no longer injects an absolute path into `errorproneOptions.excludedPaths`. | https://github.com/palantir/gradle-baseline/pull/1568 |
## 3.58.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Exclude generated sources from error-prone | https://github.com/palantir/gradle-baseline/pull/1571 |
| Feature | baseline-reproducibility validates that sourceCompatibility is set explicitly | https://github.com/palantir/gradle-baseline/pull/1574 |
## 3.58.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Print more test logging output to avoid builds with long running tests getting terminated by circle ("context deadline exceeded"). | https://github.com/palantir/gradle-baseline/pull/1576 |
## 3.58.2
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | `baseline-reproducibility` no longer requires people to set `sourceCompatibility` if the publishing plugin is applied but nothing is published. (NOTE this requires Gradle 6.7+) | https://github.com/palantir/gradle-baseline/pull/1577 |
## 3.59.0
_Automated release, no documented user facing changes_
## 3.59.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Eclipse formatting rules now match the spotless format for line wrapped asserts. | https://github.com/palantir/gradle-baseline/pull/1582 |
## 3.60.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | checkExplicitSourceCompatabilityTask ignores projects without java source | https://github.com/palantir/gradle-baseline/pull/1584 |
## 3.61.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | The `checkImplicitDependencies` suggestion message now includes the `implementation` configuration name. | https://github.com/palantir/gradle-baseline/pull/1591 |
## 3.62.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Implement error-prone ClassInitializationDeadlock check | https://github.com/palantir/gradle-baseline/pull/1598 |
## 3.63.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Feature | Baseline now provides a `com.palantir.baseline-encoding` plugin to force UTF-8 in compilation tasks. | https://github.com/palantir/gradle-baseline/pull/1600 |
## 3.63.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Disable `WhitespaceAround` Checkstyle rule when palantir-java-format is applied. | https://github.com/palantir/gradle-baseline/pull/1603 |
## 3.63.2
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Let StrictUnusedVariable ignore record fields | https://github.com/palantir/gradle-baseline/pull/1602 |
## 3.63.3
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Baseline correctly preserves the DOCTYPE when generating checkstyle.xml. | https://github.com/palantir/gradle-baseline/pull/1606 |
## 3.64.0
_Automated release, no documented user facing changes_
## 3.65.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Automatically fix the new `ZoneIdOfZ` check | https://github.com/palantir/gradle-baseline/pull/1621 |
## 3.66.0
_Automated release, no documented user facing changes_
## 3.67.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Disable inner import on classes that cause ErrorProne to fail | https://github.com/palantir/gradle-baseline/pull/1617 |
| Fix | Fix error message to reflect correct static constant | https://github.com/palantir/gradle-baseline/pull/1630 |
## 3.68.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Feature | Add consistent logging errorprone rule | https://github.com/palantir/gradle-baseline/pull/1644 |
## 3.68.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Fix false positive ClassInitializationDeadlock on `.class` access | https://github.com/palantir/gradle-baseline/pull/1654 |
## 3.69.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Improve the StrictUnusedVariable failure message | https://github.com/palantir/gradle-baseline/pull/1656 |
## 3.70.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Internal `ImmutablesStyle` annotations are now excluded from Intellij auto-imports and completion. | https://github.com/palantir/gradle-baseline/pull/1668 |
## 3.71.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | A new error-prone rule `PreferImmutableStreamExCollections` converts the StreamEx `toMap()` -> `toImmutableMap()`, `toImmutableList()` and `toImmutableSet()` | https://github.com/palantir/gradle-baseline/pull/1670 |
## 3.72.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | A new suggested error-prone rule `AutoCloseableMustBeClosed` annotates methods and constructors that return an `AutoCloseable` type as `@MustBeClosed` to allow for `MustBeClosedChecker` to perform analysis that resources are appropriately closed.
See https://errorprone.info/bugpattern/MustBeClosedChecker | https://github.com/palantir/gradle-baseline/pull/1673 |
## 3.73.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Disable AutoCloseableMustBeClosed by default
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. | https://github.com/palantir/gradle-baseline/pull/1677 |
## 3.73.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | PreferImmutableStreamExCollections is disabled by default | https://github.com/palantir/gradle-baseline/pull/1681 |
## 3.74.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | AutoCloseableMustBeClosed doesn't match method overrides | https://github.com/palantir/gradle-baseline/pull/1685 |
## 3.75.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Baseline applies the `-parameters` javac option for method parameter metadata | https://github.com/palantir/gradle-baseline/pull/1690 |
## 3.75.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Fix IncubatingMethod check
The check was non-functional; the test did not catch this since it was using the wrong `@Test` annotation. Fixed both issues. | https://github.com/palantir/gradle-baseline/pull/1698 |
## 3.76.0
_Automated release, no documented user facing changes_
## 3.77.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | DangerousIdentityKey identifies key types which do not override equals or hashCode thus rely on reference comparison. | https://github.com/palantir/gradle-baseline/pull/1731 |
## 3.78.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | `DangerousIdentityKey` validates additional hash-based collections | https://github.com/palantir/gradle-baseline/pull/1735 |
## 3.79.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Feature | Add ConsistentInterfaceImplementation errorprone rule | https://github.com/palantir/gradle-baseline/pull/1712 |
## 3.80.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Upgrade gradle-errorprone-plugin to 2.0.1 | https://github.com/palantir/gradle-baseline/pull/1742 |
## 3.81.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Feature | Adds the `baseline-immutables` plugin to enable incremental compilation for Immutables. | https://github.com/palantir/gradle-baseline/pull/1750 |
## 3.81.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Build compiler args for `com.palantir.baseline-immutables` plugin lazily to avoid `afterEvaluate` ordering issues. | https://github.com/palantir/gradle-baseline/pull/1752 |
## 3.82.0
_Automated release, no documented user facing changes_
## 3.83.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Error prone check to ensure that Gradle `CommandLineArgumentProvider`s are not written as lambdas, which causes them not to be cached. | https://github.com/palantir/gradle-baseline/pull/1757 |
## 3.84.0
_Automated release, no documented user facing changes_
## 3.85.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Replace our `BracesRequired` check+fix with upstream `MissingBraces` added in [v2.7.0](https://github.com/google/error-prone/releases/tag/v2.7.0) | https://github.com/palantir/gradle-baseline/pull/1766 |
## 3.86.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Allow other plugins to register tasks to produce junit reports | https://github.com/palantir/gradle-baseline/pull/1764 |
## 3.87.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Feature/avoid hashmapint | https://github.com/palantir/gradle-baseline/pull/1773 |
## 3.88.0
_Automated release, no documented user facing changes_
## 3.88.1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Correctly expose junit-reports plugin | https://github.com/palantir/gradle-baseline/pull/1778 |
## 3.89.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Update `ImmutablesStyleCollision` check to require meta-annotations with source retention. | https://github.com/palantir/gradle-baseline/pull/1727 |
## 3.90.0
_Automated release, no documented user facing changes_
## 3.91.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Ban the var keyword via error-prone `VarUsage` | https://github.com/palantir/gradle-baseline/pull/1788 |
## 3.92.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Fix VarUsage false positives in lambdas | https://github.com/palantir/gradle-baseline/pull/1789 |
## 3.93.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Implement ProxyNonConstantType | https://github.com/palantir/gradle-baseline/pull/1799 |
## 3.94.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Introduce `BadAssert` to ban `assert` statements in favor of better alternatives. | https://github.com/palantir/gradle-baseline/pull/1810 |
## 3.95.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Increase default test heap from 512m to 2g unless otherwise specified | https://github.com/palantir/gradle-baseline/pull/1813 |
## 3.96.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Upgrade ProxyNonConstantType to WARNING (from suggestion) | https://github.com/palantir/gradle-baseline/pull/1816 |
## 3.97.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Enable ConsistentOverrides by default | https://github.com/palantir/gradle-baseline/pull/1820 |
## 3.98.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | ProxyNonConstantType documents describe suppression cases and steps | https://github.com/palantir/gradle-baseline/pull/1827 |
## 3.99.0-rc1
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Add Gradle 7 support | https://github.com/palantir/gradle-baseline/pull/1824 |
## 4.0.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Break | Add Gradle 7 support. Increase minimum required Gradle version to 6.7. | https://github.com/palantir/gradle-baseline/pull/1824 |
## 4.1.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Replace deprecated Report.enabled property | https://github.com/palantir/gradle-baseline/pull/1839 |
## 4.2.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Support the new SafeLogger API | https://github.com/palantir/gradle-baseline/pull/1834 |
| Improvement | Fix the formatting of `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. | https://github.com/palantir/gradle-baseline/pull/1838 |
## 4.3.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Allow `PreferSafeLogger` to migrate logger uses which include level-checks | https://github.com/palantir/gradle-baseline/pull/1842 |
## 4.4.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Fix NPE from StrictUnusedVarible check for unused lambda parameters in static initializers. | https://github.com/palantir/gradle-baseline/pull/1843 |
## 4.5.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Implement automatic fixes for `ImmutablesStyle` | https://github.com/palantir/gradle-baseline/pull/1846 |
## 4.6.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Suppress existing `ProxyNonConstantType` failures to ease rollout | https://github.com/palantir/gradle-baseline/pull/1850 |
## 4.7.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Fix PreferSafeLogger edge case that produced suggested fixes that didn't compile without human interaction. | https://github.com/palantir/gradle-baseline/pull/1851 |
## 4.8.0
_Automated release, no documented user facing changes_
## 4.9.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Add a `StrictUnusedVariable` exception for `SafeLogger` matching the existing exception for slf4j. Update CatchBlockLogException to be SafeLogger aware as well. | https://github.com/palantir/gradle-baseline/pull/1853 |
## 4.10.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Recommend the Witchcraft logging plugin when the sls-packaging distribution plugin is detected | https://github.com/palantir/gradle-baseline/pull/1863 |
## 4.11.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | PreferSafeLogger produces suggestions which compile with >10 args | https://github.com/palantir/gradle-baseline/pull/1866 |
## 4.12.0
_Automated release, no documented user facing changes_
## 4.13.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | witchcraft-logging functionality has been migrated to https://github.com/palantir/witchcraft-java-logging#gradle-plugin | https://github.com/palantir/gradle-baseline/pull/1870 |
## 4.14.0
_Automated release, no documented user facing changes_
## 4.15.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Automatically fix upstream `LoopOverCharArray` | https://github.com/palantir/gradle-baseline/pull/1873 |
## 4.16.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | JavaDoc uses UTF-8 encoding by default | https://github.com/palantir/gradle-baseline/pull/1879 |
## 4.17.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Enforce `PreferSafeLogger` at `WARNING` level matching `Slf4jLogsafeArgs` and `PreferSafeLoggingPreconditions`. This doesn't apply to gradle plugins. | https://github.com/palantir/gradle-baseline/pull/1876 |
## 4.18.0
_No documented user facing changes_
## 4.19.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Re-add null check for exclude rule | https://github.com/palantir/gradle-baseline/pull/1883 |
## 4.20.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Fix | Fix missing setProperty error when using Gradle 6 | https://github.com/palantir/gradle-baseline/pull/1884 |
## 4.21.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | error-prone LoggerInterpolationConsumesThrowable: Flag as an ERROR when logging statements fail to produce a stack trace due to excessive slf4j-style interpolation placeholders. | https://github.com/palantir/gradle-baseline/pull/1886 |
## 4.22.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Java compilation warnings and errors are no longer limited to the first 100 | https://github.com/palantir/gradle-baseline/pull/1890 |
## 4.23.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | allow trailing comma in annotation arrays | https://github.com/palantir/gradle-baseline/pull/1904 |
## 4.24.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Improvement | Increase the speed of the `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 substring `class`. In rare cases, this may require running `./gradlew checkClassUniqueness --write-locks` to update the files. | https://github.com/palantir/gradle-baseline/pull/1837 |
## 4.25.0
| Type | Description | Link |
| ---- | ----------- | ---- |
| Feature | Scalastyle is not maintained anymore and config we had wasn't that useful anyway. | https://github.com/palantir/gradle-baseline/pull/1912 |
To enable or disable this check, please contact the maintainers of Excavator.
**Check the box to generate changelog(s)**
- [ ] Generate changelog entry
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
To enable or disable this check, please contact the maintainers of Excavator.