Skip to content

Add Spring AI: its generated component descriptor carries only version and prerelease #75

Description

@amondnet

Part of #73.

Spring AI has the smallest generated component of any candidate measured, and the audience that benefits most from version-pinned docs.

What upstream generates

spring-ai-docs/src/main/antora/resources/antora-resources/antora.yml, in full:

version: ${antora-component.version}
prerelease: ${antora-component.prerelease}

That is the entire template. The committed spring-ai-docs/src/main/antora/antora.yml declares name, version, title, nav and the collector — and no asciidoc.attributes block at all. Synthesis reduces to writing a descriptor with the version in it.

Attribute references in the pages

23 distinct {...} references across the corpus, of which exactly one — {spring-ai-version}, used once — is a build attribute. The rest ({format}, {subject}, {context}, {voice}, ...) are prompt-template placeholders inside code samples, not AsciiDoc attributes.

Macro load at v1.0.0: configprop: 0, include-code:: 0, include:: 1, javadoc: 1. 109 pages, a single ROOT module.

Why it is worth doing despite being small

This is the case the product exists for. Spring AI's API moves fast enough that a model's training data is reliably stale, and product.md names LLM tooling as the primary consumer. 109 pages of correct, version-pinned API surface is worth more per byte here than anywhere else in the ecosystem.

Open question to settle first

Tags run v1.0.0 through v2.0.1. The layout was probed at v1.0.0 only — whether 2.x moved the component, changed the collector, or altered the module structure is unverified. Probe spring-ai-docs/src/main/antora/antora.yml at v2.0.0 before choosing minimumVersion; a difference means two eras, as Boot has.

Work

  • probe the 2.x layout and decide the era structure
  • add the ai entry to PROJECTS
  • extend tests/unit/upstream-sources.test.ts
  • convert one version end to end under --strict
  • add Spring AI to NOTICE — it is not currently listed, unlike Framework/Security/Data/Cloud
  • update the README support table

Depends on the synthesized-assembly refactor in the Framework issue: Spring AI has no BOM script, no static attributes file and no metadata jars either, so it needs the same relaxed SynthesisSources.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions