docling-project / docling-project/docling-java

Consider introducing OpenRewrite recipes for Docling Java

オープン
#184 コメント 5 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Java
スター
134
フォーク
26
平均マージ
1日 1時間
マージ済み PR(30日)
47

説明

Even though the project is not GA yet, it would be nice to provide OpenRewrite recipes to automate refactoring when updating to newer versions, taking care of breaking changes without any manual intervention.

For example, we changed some packages in version 0.2 and 0.3.

For now, I publish OpenRewrite recipes as part of my [Arconia Migrations](https://github.com/arconia-io/arconia-migrations) project, which is a catalog of open-source recipes for JUnit, Testcontainers, Spring, Arconia, and other Java-related libraries.

- [io.arconia.rewrite.docling.UpgradeDocling_0_2](https://github.com/arconia-io/arconia-migrations/blob/main/rewrite-docling/src/main/resources/META-INF/rewrite/docling/docling-0-2.yml)
- [io.arconia.rewrite.docling.UpgradeDocling_0_3](https://github.com/arconia-io/arconia-migrations/blob/main/rewrite-docling/src/main/resources/META-INF/rewrite/docling/docling-0-3.yml).

They can be run from the `rewrite-docling` module (fully dedicated to Docling) using any of the OpenRewrite approaches, including the Maven plugin:

```shell
./mvnw -U org.openrewrite.maven:rewrite-maven-plugin:run \
-Drewrite.recipeArtifactCoordinates=io.arconia.migrations:rewrite-docling:LATEST \
-Drewrite.activeRecipes=io.arconia.rewrite.docling.UpgradeDocling_0_3
```

I'd be happy to contribute those recipes upstream, if we decide to adopt OpenRewrite. If we do, my suggestion would be to keep the recipes separate from the main packages, and with a separate release lifecycle. It's likely we need to make changes to recipes outside the main release lifecycle. Also, some recipes need the new version already published in order to be tested, so we can't keep the recipes in the same place. If not, I'd be happy to continue maintaining them in my project :)

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

Issue にリンクされている UpgradeDocling_0_2 と UpgradeDocling_0_3 のレシピファイルを確認し、その後 rewrite-docling モジュールとその Maven 実行例を調査します。Docling Java がこれらのレシピを採用すべきか、どこに配置すべきか、またそのリリースライフサイクルがどのようになるかを明確にします。そのスコープと受け入れ基準について合意し、実装されれば作業完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
build-system, tooling
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。