Improving Documentation for Java Modules in Maven 4 #155
ascheman
started this conversation in
Design and Architecture Discussions
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
TL;DR
We lack centralized documentation about Java Modules support in Maven, particularly for Maven 4's new API architecture. This discussion aims to coordinate a documentation effort to address this gap. See Personal Proposal by Gerd Aschemann at the end for a concrete starting point.
Problem Statement
Currently, there is insufficient centralized documentation covering:
maven-api-*) and how it relates to Java ModulesThis makes it difficult for Maven team members to:
Proposed Documentation Scope
The documentation effort could cover:
Out of Scope
This initial documentation effort focuses on internal knowledge for the Maven team. The following topics are explicitly out of scope for now but may be addressed in follow-up efforts:
These topics are important but require the foundational internal documentation to be in place first.
Questions for Discussion
Where should this documentation live and how should it be published?
A docs-as-code approach enables developer workflows like versioning, pull requests, and review processes. Each option has different trade-offs for writing and publishing:
Maven website (maven.apache.org)
Confluence
In-repository documentation (e.g., in
maven-core)Dedicated documentation repository
Combination - TBD
What format/structure works best?
The documentation could evolve through different forms:
These are not mutually exclusive—single-topic articles can feed into conceptual docs, which in turn inform the reference documentation.
What knowledge should be captured first?
What document format should we use?
AsciiDoc offers more capabilities for structured technical documentation but has a steeper learning curve. Markdown is more accessible but may limit advanced formatting options.
Existing Resources
Confluence (ASF)
GeoMatys Wiki
Java Modules Examples
Related Pull Requests (recent)
Maven Core:
Maven Compiler Plugin:
Maven JAR Plugin:
jartool (draft, multi-module support)To Be Investigated
Next Steps
Personal Proposal by Gerd Aschemann
I propose to use the existing Java 9 Jigsaw Examples repository as the foundation for this documentation effort:
Reasons:
Current drawback:
I could even propose a small example how the documentation could look like using AsciiDoc with included code snippets from the examples in this repository.
Whatever approach is chosen, we can migrate the documentation later to other platforms (Maven website, Confluence, ...) as needed.
This discussion was initiated to coordinate community input before starting the documentation work.
Beta Was this translation helpful? Give feedback.
All reactions