Skip to content

fix configuration page generation - #12657

Draft
hboutemy wants to merge 1 commit into
maven-4.0.xfrom
doc/fix-configuration-page
Draft

fix configuration page generation#12657
hboutemy wants to merge 1 commit into
maven-4.0.xfrom
doc/fix-configuration-page

Conversation

@hboutemy

@hboutemy hboutemy commented Aug 2, 2026

Copy link
Copy Markdown
Member

discovered while working on #12635 that lead to fixing #10961
it worked in RC5 https://maven.apache.org/ref/4.0.0-rc-5/maven-configuration.html
but is broken in RC6 https://maven.apache.org/ref/4.0.0-rc-6/maven-configuration.html

first PR adds necessary dependencies to have the generation step work
(notice: it requires mvn install before mvn site...)

sadly, the rendering done after has issues: multi-line documentation breaks markdown table
need more rework

@hboutemy hboutemy added this to the 4.0.0-rc-7 milestone Aug 2, 2026
@hboutemy hboutemy added bug Something isn't working documentation Improvements or additions to documentation labels Aug 2, 2026

@gnodet gnodet left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for tracking down the RC5→RC6 regression in the configuration page generation, @hboutemy.

The approach of adding maven-core and maven-compat as plugin dependencies in the root pom creates a reactor cycle, which is confirmed by CI:

  • The graph profile auto-activates on non-Windows systems (via <os><family>!windows</family></os>), so the plugin dependency on maven-core:${project.version} is always visible to the reactor.
  • This creates the cycle: maven-api-annotations → maven-api (parent) → maven (root) → maven-core → maven-api-annotations.
  • The cycle prevents all Maven commands from succeeding on a clean checkout — including the initial mvn install mentioned in the PR description.

I see you already noted "need more rework" — a possible direction could be moving the configuration page generation to a submodule that sits later in the reactor order (e.g., apache-maven), which can legitimately depend on maven-core without creating a cycle.

This review was generated by an AI agent and may contain inaccuracies. Please verify all suggestions before applying.

Claude Code on behalf of gnodet

Comment thread pom.xml
<version>${resolverVersion}</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adding maven-core with ${project.version} as a plugin dependency in the graph profile of the root pom introduces a reactor cycle (maven-api-annotations → maven-api → maven → maven-core → maven-api-annotations). Since the graph profile auto-activates on non-Windows, this breaks all Maven commands on a clean checkout.

Consider relocating the page generation step to a leaf module (e.g., apache-maven) that can depend on maven-core without creating a cycle.

@hboutemy

hboutemy commented Aug 2, 2026

Copy link
Copy Markdown
Member Author

in fact I'm surprised it worked in the past, but not any more now

in addition, looking at https://maven.apache.org/ref/4.0.0-rc-5/maven-configuration.html some parameters are for Maven 4.1.0 but we're still in Maven 4.0.0

@hboutemy
hboutemy marked this pull request as draft August 2, 2026 18:14
@hboutemy

hboutemy commented Aug 2, 2026

Copy link
Copy Markdown
Member Author

@slawekjaranowski I tried to move the code to impl/maven-cli
but I get

[INFO] --- exec:3.6.3:java (render-configuration-page) @ maven-cli ---
Processing sources from /Users/hboutemy/dev/maven/core/maven-4.0.x/impl/maven-cli
java.lang.IllegalStateException: No Java sources declaring configuration keys found under /Users/hboutemy/dev/maven/core/maven-4.0.x/impl/maven-cli
        at org.eclipse.aether.tools.CollectConfiguration.runDoclet(CollectConfiguration.java:168)

I don't really get all this: can you have a look at it, please?
this doc is super useful, we need it back for RC7

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

Labels

bug Something isn't working documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants