OpenRewrite を使用して検索 API 移行を特定する
Jira の Lucene 固有の API をインデックス非依存の検索 API に置き換える作業の一環として、非推奨の API に @com.atlassian.jira.search.annotations.DeprecatedBySearchApi の注釈が付けられました。
アプリでのこれらの非推奨 API の使用を特定しやすくする目的で、OpenRewrite レシピが開発され、OpenRewrite 検索 API レシピで提供されています。
これらのレシピは実験的な社内ツールとして開発されました。これらのツールは、アトラシアン社内での十分な成果の確認を経て、パートナーへのサービスとしてリリースされました。
発生する可能性のある問題に対しては最善に対処するよう予定されていますが、これらのレシピには公式のサポート ステータスがありません。
用途
パッケージ com.atlassian.jira.openrewrite:search-api-recipes:1.0.0 にはレシピ com.atlassian.jira.search.FindDeprecatedSearchUses が含まれています。これは、OpenRewrite のドキュメントによると、複数の方法で実行できます。
最初に、pom.xml ファイルがあるディレクトリからこれを実行します。
mvn org.openrewrite.maven:rewrite-maven-plugin:run \
-Drewrite.recipeArtifactCoordinates=com.atlassian.jira.openrewrite:search-api-recipes:1.0.0 \
-Drewrite.activeRecipes=com.atlassian.jira.search.FindDeprecatedSearchUses \
-Drewrite.exportDatatables=true
mvn install を実行することをお勧めします。これにより、依存関係が正しく取り込まれますが、場合によっては問題が発生することもあります。
出力
@DeprecatedBySearchApi でマークされた Jira のメソッド、クラス、またはフィールドの使用が特定され、ソースに注釈としてマーカー /*~~>*/ が付けられます。次に例を示します。
/*~~>*/com.atlassian.jira.issue.index.IssueIndexManager issueIndexManager;
exportDatatables フラグを設定すると、これらの使用に関する詳細が target/rewrite/datatables ディレクトリの CSV ファイルに書き込まれます。
com.atlassian.jira.search.table.FieldUses.csv:@DeprecatedBySearchApiでマークされたフィールドの使用org.openrewrite.java.table.MethodCalls.csv:@DeprecatedBySearchApiでマークされたメソッドの使用org.openrewrite.java.table.TypeUses.csv:@DeprecatedBySearchApiでマークされたタイプの使用
トラブルシューティング
一般的な問題とトラブルシューティング ガイドについては、OpenRewrite FAQ を参照してください。