NoGuava Recipe – Summary of the analysis on the Sirius-Desktop codebase
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
添付された minimal-app サンプル、特に GuavaConversionSamples_AllOK と GuavaConversionSamples から始め、各クラスの Javadoc を読んで、記載された検証手順を確認してください。文書化された Maven コマンドを NoGuava recipe に対して実行し、処理されたケースと残っているケースを比較してください。この issue では、具体的な変更や完了基準は定義されていません。
索引モデルが issue の本文から書いたものです。
説明
This ticket is not really a bug report, but rather a summary of the tests and fixes I’ve made regarding the NoGuava recipe, based on the Sirius-Desktop codebase.
I started this analysis about two weeks ago. At that time, the version of rewrite-migrate-java I used was v3.19.0. Running the migration resulted in around 437 compilation errors.
After several issues and PRs (thanks to @timtebeek), I now get down to around 179 compilation errors.
Most of these remaining errors come from cases that are not yet handled, including some that are difficult to support because doing so could impact performance (there’s no direct Java equivalent).
To make my analysis easier (and faster), I created a minimal example, minimal-app, containing all the test cases used in the NoGuava recipes, as well as the remaining unhandled cases - with the goal of getting as close as possible to 100% coverage on the Sirius-Desktop codebase. This minimal example may be useful to others as well, so I’m attaching it here: minimal-app.zip.
For the moment, I think I'll leave it at that.
What version of OpenRewrite are you using?
Initially I was using:
- Maven v3.9.5
- Rewrite Maven Plugin v6.21.1
- org.openrewrite.recipe:rewrite-migrate-java v3.19.0
And now, I am using:
- Maven v3.9.5
- Rewrite Maven Plugin v6.23.0
- org.openrewrite.recipe:rewrite-migrate-java v3.21.0
How are you running OpenRewrite?
I used the Maven command line to launch the recipe on the minimal-app sample :
mvn -U org.openrewrite.maven:rewrite-maven-plugin:6.23.0-SNAPSHOT:run \
-Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-migrate-java:3.21.0-SNAPSHOT \
-Drewrite.activeRecipes=org.openrewrite.java.migrate.guava.NoGuava \
-Drewrite.exportDatatables=true \
-Dmaven.repo.local=./.repositoryMaven
You may need to update the versions depending on the current SNAPSHOT version.
What is the smallest, simplest way to reproduce the problem?
This minimal example, minimal-app, includes two classes:
GuavaConversionSamples_AllOK: Contains all the handled cases and helps ensure there are no regressions overall.GuavaConversionSamples: Contains the same cases as above, plus all those still producing errors.
What did you expect to see?
The expected outcome and the verification steps to perform after the migration are detailed in the Javadoc of each class.
- 主要言語
- Java
- スター
- 156
- フォーク
- 129
- 平均マージ
- 14時間 30分
- マージ済み PR(30日)
- 43
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
openrewrite/rewrite-migrate-java のほかの issue
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 68/100
openrewrite/rewrite-migrate-java#1246 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 32/100
openrewrite/rewrite-migrate-java#1227 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
OptionalNotPresentToIsEmpty rewrites `!isPresent()` on a non-`java.util.Optional` type, producing uncompilable `isEmpty()`再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 70/100
openrewrite/rewrite-migrate-java#1146 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 50/100
openrewrite/rewrite-migrate-java#1119 · コメント 5 件 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
openrewrite/rewrite-migrate-java#1069 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
openrewrite/rewrite-migrate-java の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 60/100
メンテナーはふだん 1 日以内に返信
-
[BUG] S3 CORS responses omit Access-Control-Allow-Credentials for matched origins対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
floci-io/floci#5369 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
securityHeaders replaces a route's own Content-Security-Policy (0.9.9; weakens embedders' pages)オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
sqlcipher/sqlcipher-android#97 · コメント 1 件 ·
-
area-integrations
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信