Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Remove the deprecated DoclingServeApiBuilderFactory SPI and related types

未关闭
#697 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
45/100
Issue 类型
重构
描述清晰度
描述清楚
活跃度
活跃
技术栈
java

调研方向

The work is in the docling-serve-api and docling-serve-client modules. Start by reviewing the deprecation in issue #696 and the serve-api-provider-migration.md guide. The checklist names specific files to delete (e.g., DoclingServeApiBuilderFactory, LegacyProviderAdapter) and tests to update. 'Done' means all deprecated types are removed, tests pass, and documentation is updated.

由索引模型根据 Issue 内容生成。

描述

area:docling-serve module:docling-serve-api module:docling-serve-client

#696 replaced the DoclingServeApiBuilderFactory SPI with DoclingServeApiProvider and deprecated the old types for removal in 0.7.0, keeping a fallback so existing implementations keep working. This issue tracks removing them.

Before removing

  • At least one minor release has shipped with the deprecation, so no earlier than 0.8.0.
  • Known third-party implementations, such as the Quarkus integration, have moved to DoclingServeApiProvider.

docling-serve-api

  • Delete ai.docling.serve.api.spi.DoclingServeApiBuilderFactory, and its uses clause in module-info.java.
  • Delete DoclingServeApi.DoclingApiBuilder and DoclingServeApi.toBuilder().
  • Delete LegacyProviderAdapter and LegacyProviderAdapterTests.
  • DoclingServeApiProviders: remove the legacy fallback, the warning logged when both SPIs are present, and the "(or of the deprecated …)" part of the no-provider message. Update DoclingServeApiProvidersTests and DoclingServeApiTests.
  • Update the Javadoc of DoclingServeApi.builder(), which describes the fallback.
  • TestApis.StubDoclingServeApi: remove its toBuilder() override.

docling-serve-client

  • Delete DoclingServeClientBuilderFactory and DoclingServeClientBuilderFactoryTests. The Jackson detection lives in DoclingServeClient.builder().
  • DoclingServeClientBuilder: drop implements DoclingApiBuilder<C, B> and the @Override annotations of its setters. The setters themselves stay.
  • Keep DoclingServeJackson2Client.toBuilder() and DoclingServeJackson3Client.toBuilder(), which return the concrete builder and aren't deprecated, but drop their @Override.
  • Tests calling DoclingServeApi.toBuilder() (DoclingServeJackson2ClientTests, DoclingServeJackson3ClientTests, AbstractDoclingServeClientAsyncExecutorTests, which show [removal] warnings today) should use config().toBuilder() or the concrete client type.
  • AbstractDoclingServeClientConfigTests.toBuilderKeepsEverySetting and toBuilderKeepsFollowingRedirects call toBuilder() on a DoclingServeClient, which resolves to the deprecated DoclingServeApi.toBuilder() (warnings suppressed). They test the copy constructor, so they must call toBuilder() on the concrete client type, not config().toBuilder().

Both modules

  • Remove every @SuppressWarnings("removal") that only existed for these types, in main and test code.

Docs

  • serve-api-provider-migration.md: remove the Compatibility section on the fallback, or retire the page if it's no longer useful.
  • serve-api.md: remove the "Migrating from DoclingServeApiBuilderFactory" subsection.
  • CLAUDE.md: remove the mention of the fallback.
  • whats-new.md: add a "Breaking" entry for the removal.
主要语言
Java
星标
136
派生
26
平均合并
12 小时 20 分钟
30 天内合并 PR
49

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

docling-project/docling-java 的其他 Issue

查看 docling-project/docling-java 的全部 Issue

相似的 Issue

更多 Java Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。