Skip to content

Rework how configuration doc generation works #35439

Closed

Description

The config doc generation is a problem for the Gradle build cache: we are generating files that are outside of the module boundaries and these files are shared across several modules.

Thus when the maven-compiler-plugin output is cached, it's actually impossible to include these files in the cache: when restored from the cache, the files are missing and we end up with an error in the doc generation because these files are missing.

We should entirely rework how these files are generated and consumed:

  • the files should be built into the current module in isolation of the other modules
  • they should then be collected, and merged when we are building the documentation

Also, it might be a good opportunity to actually merge the properties between the runtime and deployment module and include a metadata file containing the doc into the jar together with the other extension metadata.
Apparently, Spring and Camel are using a XML format for that.
This part is a bit orthogonal to the original goal but probably something we should have in mind when designing this stuff.

Also I think, we should separate the doc generation from the extension plugin and also exposes it in a Maven plugin that could be used by applications, and not only extensions.
See #19020 .

/cc @maxandersen

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

Metadata

Assignees

Type

No type

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions