Stephan Schroevers
8aec87b40e
[maven-release-plugin] prepare release v0.16.1
2024-03-15 13:04:44 +01:00
Stephan Schroevers
23ceb4aa6b
[maven-release-plugin] prepare for next development iteration
2024-03-12 08:24:08 +01:00
Stephan Schroevers
5cca9d23da
[maven-release-plugin] prepare release v0.16.0
2024-03-12 08:24:08 +01:00
Rick Ossendrijver
110ac01d10
Exempt picocli.CommandLine.Option#names arguments from reordering ( #1056 )
2024-03-04 11:49:24 +01:00
Dima Legeza
479ded388a
Introduce EmptyMonoZip check ( #733 )
2024-03-04 08:16:02 +01:00
Dirk van Bokkem
ded0a48258
Introduce FluxFromIterable Refaster rule ( #1047 )
2024-02-22 09:17:14 +01:00
Giovanni Zotta
8855ba33a0
Extend CollectionIsEmpty Refaster rule ( #1027 )
2024-02-15 08:42:15 +01:00
Stephan Schroevers
c2365c01c3
Introduce InputStream{Read,Skip}NBytes Refaster rules ( #993 )
2024-02-13 09:47:18 +01:00
Stephan Schroevers
433b8b90c0
Require JDK 17 rather than JDK 11 ( #603 )
...
By raising this baseline the project can now use Java 17 language features such
as text blocks, switch expressions and `instanceof` pattern matching. The code
has been updated to make use of these constructs.
Note that the project can still be used by builds that target an older version
of Java, as long as those builds are executed using JDK 17+.
2024-02-11 16:57:13 +01:00
Stephan Schroevers
1f50772433
[maven-release-plugin] prepare for next development iteration
2024-02-11 14:31:59 +01:00
Stephan Schroevers
382b79989c
[maven-release-plugin] prepare release v0.15.0
2024-02-11 14:31:59 +01:00
Stephan Schroevers
1cc792c615
Introduce ExhaustiveRefasterTypeMigration check ( #770 )
...
The new `@TypeMigration` annotation can be placed on Refaster rule
collections to indicate that they migrate most or all public methods of
an indicated type. The new check validates the claim made by the
annotation.
2024-02-11 12:42:39 +01:00
Benura Abeywardena
b5ace6e044
Introduce NewStringFromCharArray{,SubSequence} Refaster rules ( #1012 )
...
Resolves #1001 .
2024-02-11 12:10:10 +01:00
Giovanni Zotta
1f71ccccf7
Extend StreamIsEmpty Refaster rule ( #1025 )
2024-02-11 12:01:33 +01:00
Rick Ossendrijver
9a2a1915eb
Introduce error-prone-guidelines module ( #1002 )
...
And move all applicable checks to this new module.
2024-02-10 12:06:22 +01:00
Rick Ossendrijver
6195ede1f5
Introduce error-prone-experimental module ( #1003 )
...
And move the known-incomplete `MethodReferenceUsage` check to it.
2024-02-10 11:06:16 +01:00
Rick Ossendrijver
c771d5f6b9
Introduce error-prone-utils module ( #1000 )
...
By extracting the `tech.picnic.errorprone.bugpatterns.util` package into a new
Maven module (and renaming the package to `tech.picnic.errorprone.utils`), the
utility classes it contains will also become usable by other Maven modules.
2024-02-09 16:09:06 +01:00
Rick Ossendrijver
f66e513042
Update {,Non}StaticImport checks ( #992 )
...
Summary of changes:
- Disallow static import of `Mono` and `Flux` members.
- Allow static import of `empty` methods.
- Disallow static import of `Optional#empty`.
2024-02-09 13:03:56 +01:00
Vincent Koeman
07fe6df3af
Extend TimeRules Refaster rule collection ( #979 )
...
By introducing `SomeDateType{Plus,Minus}SomeUnit` Refaster rules, that suggest
e.g. `LocalDate#plusDays(long)` over more contrived alternatives.
2024-01-31 08:52:53 +01:00
Maxence Labusquiere
32d5c114c1
Have RequestMappingAnnotation recognize @CurrentSecurityContext parameters ( #1006 )
2024-01-30 14:54:44 +01:00
Stephan Schroevers
5f80fb5370
Have ErrorProneRuntimeClasspath ignore non-public types ( #972 )
2024-01-29 10:57:45 +01:00
Rick Ossendrijver
a926e5534c
Allow static imports of ZERO and ONE identifiers ( #996 )
2024-01-28 19:32:15 +01:00
Stephan Schroevers
e65e2ce730
Prevent ExplicitEnumOrdering from throwing an NPE ( #998 )
2024-01-28 13:25:04 +01:00
Stephan Schroevers
0aa612073f
Introduce additional Reactor Refaster rules ( #969 )
...
In various contexts, suggest more efficient and/or less verbose
constructs.
2024-01-21 13:36:06 +01:00
Stephan Schroevers
51317fbace
Introduce {Max,Min}ByNaturalOrder Refaster rules ( #970 )
2024-01-16 12:03:28 +01:00
Stephan Schroevers
6222bcb0d4
Introduce additional Multimap Refaster rules ( #971 )
2024-01-14 19:28:54 +01:00
Stephan Schroevers
641bb5c566
Introduce InputStreamRules Refaster rule collection ( #963 )
2024-01-14 19:21:42 +01:00
Stephan Schroevers
09317abb18
Fix the mutation test setup ( #976 )
...
This largely reverts commit dff67fecbc ,
avoiding the issue described in pitest/pitest-junit5-plugin#105 .
2024-01-14 19:04:57 +01:00
Stephan Schroevers
dff67fecbc
Drop unnecessary dependency declarations ( #973 )
2024-01-13 20:53:00 +01:00
Stephan Schroevers
b8eabff9bc
Run org.kordamp.maven:pomchecker-maven-plugin:1.10.0:check-maven-central ( #491 )
...
This new Maven goal validates that the `pom.xml` files meet the criteria
for being deployed to Maven Central.
2024-01-13 17:34:26 +01:00
Stephan Schroevers
14506ed392
Introduce RefasterMethodParameterOrder check ( #775 )
...
While there, simplify some `EqualityRules` Refaster rules, as a suggested
parameter order change highlighted that they could be collapsed.
2024-01-13 16:13:00 +01:00
Stephan Schroevers
f35d62061d
Work around IntelliJ IDEA bug IDEA-342187 ( #958 )
...
This reverts some of the changes in
3578a8cbec .
See https://youtrack.jetbrains.com/issue/IDEA-342187
2024-01-13 15:06:27 +01:00
Phil Werli
71de432645
Extend OptionalIdentity Refaster rule ( #951 )
...
By flagging expressions of the form `optional.or(() -> Optional.empty())` and
`optional.or(Optional::empty)`.
2024-01-08 09:08:20 +01:00
Tim te Beek
a2f44f82f2
Derive OpenRewrite recipes from a subset of Refaster rules ( #925 )
...
Using OpenRewrite's `rewrite-templating` annotation processor, Refaster rules
are now converted into matching recipes and bundled as part of the
`error-prone-contrib` artifact. Note that not all rules are supported yet.
2024-01-05 21:59:22 +01:00
Stephan Schroevers
e1be5d23e9
Prevent likely static import class with FailWithMessage{,AndThrowable} Refaster rules ( #939 )
...
This is a workaround for google/error-prone#3584 . While there, drop an
unused method from `JUnitToAssertJRules`.
2024-01-02 11:04:38 +01:00
Picnic-Bot
967a446909
Upgrade Error Prone 2.23.0 -> 2.24.0 ( #935 )
...
See:
- https://github.com/google/error-prone/releases/tag/v2.24.0
- https://github.com/google/error-prone/compare/v2.23.0...v2.24.0
- https://github.com/PicnicSupermarket/error-prone/compare/v2.23.0-picnic-1...v2.24.0-picnic-1
2023-12-23 10:17:42 +01:00
Stephan Schroevers
d569156a6b
Introduce ErrorProneRuntimeClasspath check ( #882 )
...
Prefer "type-safe" type references were possible, but use string
literals if the references type may not be available at runtime.
2023-12-20 22:14:22 +01:00
Rick Ossendrijver
cc36aa993c
Disallow static import of com.google.errorprone.{VisitorState,util.ASTHelpers} members ( #922 )
2023-12-18 18:00:15 +01:00
Stephan Schroevers
a0b1f7091e
Introduce UnqualifiedSuggestedFixImport check ( #880 )
...
Usage of `SuggestedFix.Builder#add{,Static}Import` does not always yield
valid code, so this check suggests alternatives instead.
2023-12-18 12:51:28 +01:00
Stephan Schroevers
626246bcc0
Introduce CanonicalClassNameUsage check ( #881 )
...
Error Prone checks deal with source code and type matchers, both of
which generally involve canonical type names, rather than the strings
produced by `Class#getName()`. This distinction is particularly relevant
when dealing with nested types.
2023-12-18 09:19:13 +01:00
Austin Richardson
7c2078b771
Require static importing of some com.fasterxml.jackson.annotation enums ( #910 )
...
Types to be imported statically:
- `com.fasterxml.jackson.annotation.JsonCreator.Mode`
- `com.fasterxml.jackson.annotation.JsonFormat.Shape`
- `com.fasterxml.jackson.annotation.JsonInclude.Include`
- `com.fasterxml.jackson.annotation.JsonProperty.Access`
2023-12-18 07:17:00 +01:00
Stephan Schroevers
5618de49f4
Introduce ConstantsFormat Refaster rule ( #883 )
2023-11-27 13:12:17 +01:00
Rick Ossendrijver
4ce9f92489
Disallow static import of BugCheckerRefasctoringTestHelper.TestMode members ( #862 )
2023-10-30 10:46:50 +01:00
Cernat Catalin Stefan
a435b657ae
Introduce NonStaticImport check ( #450 )
...
This check complements the existing `StaticImport` check. We ensure that the
two checks do not suggest mutually incompatible approaches to static imports.
2023-10-26 11:00:48 +02:00
Rick Ossendrijver
01b30d767b
Introduce BugPatternTestExtractor for documentation generation ( #494 )
...
This new `Extractor` implementation collects identification and
replacement source code from `BugChecker` unit tests.
While there:
- Refactor the existing `Extractor` setup such that instances are
service-loaded and need to implement only a single method, thereby
avoiding the need to align logic between multiple source code
locations.
- Extend the validation performed by the `Compilation` test helper
class.
- Extend the `ErrorProneTestHelperSourceFormat` check to support source
code passed to the `Compilation` test helper class.
2023-10-24 13:57:37 +02:00
Stephan Schroevers
c2426d3a8d
Drop obsolete Maven configuration ( #851 )
2023-10-23 16:52:17 +02:00
Stephan Schroevers
8130ddf59c
Introduce IsIdentityOperation matcher for use by Refaster templates ( #749 )
2023-10-23 14:52:16 +02:00
Vincent Koeman
c3b950f114
Introduce JUnitNullaryParameterizedTestDeclaration check ( #817 )
...
While there, slightly simplify the `AutowiredConstructor` check.
2023-10-23 09:22:51 +02:00
Stephan Schroevers
fa026de336
Introduce IsEmpty matcher for use by Refaster templates ( #744 )
...
While there, generalize a number of Refaster rules using this new matcher.
2023-10-23 09:07:47 +02:00
Picnic-Bot
2a5dd7d56d
Upgrade Error Prone 2.22.0 -> 2.23.0 ( #847 )
...
See:
- https://github.com/google/error-prone/releases/tag/v2.23.0
- https://github.com/google/error-prone/compare/v2.22.0...v2.23.0
- https://github.com/PicnicSupermarket/error-prone/compare/v2.22.0-picnic-1...v2.23.0-picnic-1
2023-10-20 09:13:05 +02:00