Hi David,
The ability to map src/main/docs to the Antora expected directory
structure, as you're proposing looks better to me. This would save us
from having to do those "regen" commits when we make a change to the
component documentation and commit without running the build in
`docs/`. Thank you for doing that :)

Perhaps for others that might be interested in this, let me step
through the process as I know it:

We have a set of annotation processors and Maven plugins that take the
Java source code and update parts of the Asciidoc files in the
`components/`, this is run at the build time of Camel. This process is
somewhat involved and it not only generates the update Asciidoc files
in `components/*/src/main/docs` but also updates the catalog files,
regenerates the Spring Boot starters and I'm probably missing
something.

In the `docs/` we have a Gulp project that's being run as the last
project in the Maven reactor using the frontend-maven-plugin that
copies the Asciidoc files from `components/*/src/main/docs` from
select places in the `core/` and regenerates the "components"
component ROOT module's `nav.adoc`. There's a similar process for
copying and updating the EIP documentation in the "user-manual"
component. Important bit in this step is adding the "page-source"
Asciidoc attribute which points to the source file.

We do all this copying because Antora disabled git symlink support[1]
and we could no longer use git symlinks but had to copy the files into
the Antora structure.

We also have the Antora documentation in two sub-projects: camel-k[2]
and camel-quarkus[3].

The website where the documentation is published is run from the
camel-website[4] git repository, where we have the forked default
Antora UI theme, the Hugo static site generation and Antora
documentation build.

zoran

[1] https://gitlab.com/antora/antora/issues/188
[2] https://github.com/apache/camel-k/tree/master/docs
[3] https://github.com/apache/camel-quarkus/tree/master/docs
[4] https://github.com/apache/camel-website/

On Tue, Nov 5, 2019 at 8:18 PM David Jencks <david.a.jen...@gmail.com> wrote:
>
> My understanding of the component doc generation process is that
>
> * Something partially generates the component .adoc files from javascript, in 
> the component maven project; these are checked into git somehow
> * gulp is configured to find and copy all these .adoc files to a central 
> location, and they are checked into git there.
> * something (gulp?) generates the component nav.adoc file
> * something runs Antora.
>
> There are a couple of Antora issues suggesting that non-standard source 
> layouts could be useful, and I’m wondering if collecting documentation out of 
> multiple maven projects might be one such case.  To see what was possible and 
> easy I wrote some code… #520 <https://gitlab.com/antora/antora/issues/520>
>
> As it is today, the “copy to a central location” step could be replaced by a 
> (presumably generated) components/antora.yml configuration like
>
> source_map
>   camel-activemq/src/main/docs: modules/components/pages
> … (one line for each component)
>
> Does having an Antora capability like this seem at all useful, or is the 
> current “copy and check in” approach better?  What’s there now is just what I 
> thought of first and was easy to implement, no doubt many improvements are 
> possible.
>
> Thanks for any comments,
> David Jencks



-- 
Zoran Regvart

Reply via email to