Module paths should be configurable
Although we want to encourage the use of a standard project structure, especially for greenfield projects, this may not always be possible, particularly if Antora is applied to an existing documentation project. Therefore, the path of each module should be configurable.
The module paths could be specified in antora.yml.
name: core
version: 1.5.6
modules:
- syntax
- cli
- api
- ext
NOTE: This behavior is roughly equivalent to multi-project builds in Maven and Gradle.
The modules
property could also be used to exclude certain modules.
modules:
- modules/*
- '!modules/extensions'
(What I'm not sure yet is whether this filter should apply during content aggregation or during content classification).
Implicitly, the value of the modules
property is the glob modules/*
.
We could take this one step further and allow the output path of the module to be specified.
modules:
syntax: syntax-reference
cli: cli
api: api
ext: extensions
My instinct is to say that users should not be customizing / messing with the output to this extent, but it might be important in a migration scenario.
A moduleless structure may be represented as:
modules:
ROOT: .
and a component with a ROOT module as well as other modules might be (though not recommend):
modules:
- ROOT: .
- modules/*