-1 on merging multiple websites to a single repository.

I think documentation should reside in the same repository where sources
are. I already implemented this for *almost* every repository:

logging-parent
logging-log4j-tools
logging-log4j-transform
logging-log4j-kotlin
logging-log4j-scala
logging-log4j-jakarta

There is only one left to migrate to this scheme: `logging-log4j2`, which I
intend to do on February 9 during STF MS12. `logging-site`, `cyclonedx`,
`activity-monitor` are exceptions, since they are only websites, not source
code repositories. Hence, your statement of *"the way our website is
created from multiple repos and branches is somehow incoherent"* is untrue.

Using *"site next to sources"* scheme, when one checks out a repository, it
is crystal clear what goes where:

- the `asf-site` branch for `logging.apache.org`
- the `asf-staging` branch for `logging.staged.apache.org`
- the rest of the branches for the source code

This scheme would enable many benefits:

   1. Contributors, maintainers, users, etc. can easily locate the site and
   submit changes with zero a priori knowledge. Cloned the sources? Ready to
   go.
   2. Since all Maven-based projects would be sharing the same site scheme,
   we can automate the website publication in the CI-based release process.

Those who are concerned about folder structure deviation between
`afs-{site,staging}` branches and the rest, all you need is a Git worktree:

$ git clone g...@github.com:
apache/logging-log4j-tools.git logging-log4j-tools~main
$ cd logging-log4j-tools~main
$ git checkout -B asf-site origin/asf-site
$ git checkout -B asf-staging origin/asf-staging
$ git worktree add ../logging-log4j-tools~site asf-site

On Mon, Jan 15, 2024 at 9:34 AM Piotr P. Karwasz <piotr.karw...@gmail.com>
wrote:

> Hi,
>
> As we discussed yesterday the way our website is created from multiple
> repos and branches is somehow incoherent: some parts of the website
> have separate repos, other parts have a branch in a code repo, other
> parts have a branch in a website repo.
>
> For example:
>
> * the `/log4j/jakarta` directory is published from the `asf-site`
> branch of the `logging-log4j-jakarta` repo (which also contains the
> code of Log4j Jakarta),
>  * the `/cyclonedx` directory is published from the `cyclonedx` branch
> of the `logging-site` repo,
>  * the `/log4j` directory is published from the `asf-site` branch of
> the `logging-log4j-site` repo (dedicated site repo).
>
> This is getting confusing and we need some kind of list to find the
> repo/branch combination responsible for each part of the site.
>
> I think we should bring some order to it. Since not all the parts of
> the website are connected to a code repo, my personal preference would
> be to have everything in `logging-site`, with branches named like:
>
> asf-site
> cyclonedx/asf-site
> log4j/asf-site
> log4j/2.x/asf-site
> log4j/jakarta/asf-site
>
> Putting an `asf-site` (or another suffix) is a Git requirement since
> Git does not allow us to have both `asf-site` and `asf-site/log4j`
> branches.
>
> Anyway, any other convention is good for me, as long as the rules to
> find the correct branch are not too convoluted.
>
> Piotr
>

Reply via email to