rewrite-migrate-java
rewrite-maven-plugin
rewrite-migrate-java | rewrite-maven-plugin | |
---|---|---|
2 | 1 | |
84 | 113 | |
- | 3.5% | |
9.5 | 9.7 | |
5 days ago | about 8 hours ago | |
Java | Java | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rewrite-migrate-java
-
Java 20 / JDK 20: General Availability
There's an OpenRewrite module that can help automate the migration. I haven't tried it myself.
-
Detect uses of legacy Java or library APIs
Glad to see this, and appreciate all the work from the library author over the years. Lots of good information built in. I opened an issue on OpenRewrite to close the gap wherever recipes don't already exist to auto-remediate the things that this finds. https://github.com/openrewrite/rewrite-migrate-java/issues/39
rewrite-maven-plugin
-
Making a Go program 70% faster with a one character change
It would definitely be nice to have this generated from a deprecated like annotation!
The maven plug-in seems to use the recipes directly as dependencies: https://github.com/openrewrite/rewrite-maven-plugin
In our internal situation the parent Pom could already control this plug-in definition including versions of the recipes. At the very least the recipes could follow the same version as the artefact.
I thought I saw somewhere where the recipe was bundled with the artefact itself. That is very neat for simple usecase.
However, it suffers from the same flaw as the native-image configuration for GraalVM in artifacts. Sometimes the configuration/recipe needs to change. Eg because of new insights or because it is incompatible with new versions of GraalVM/open rewrite. So I suppose having an extra version dimension Could solve this. Then one can always depend on the latest version of the recipe for that artifact.
What are some alternatives?
artipie - Binary Artifact Management Tool
Modernizer - Detect uses of legacy Java APIs
picocli - Picocli is a modern framework for building powerful, user-friendly, GraalVM-enabled command line apps with ease. It supports colors, autocompletion, subcommands, and more. In 1 source file so apps can include as source & avoid adding a dependency. Written in Java, usable from Groovy, Kotlin, Scala, etc.
jbock - Reflectionless command line parser