This sounds pretty cool Volkan, if I didn't get anything I pretty much like it.
One question - you wrote:

"we all will enjoy automatically populated Log4j websites."

Does this mean we will see our website is updated automatically by CI so we can 
see in example /log4j/dev?
Or what else is "automatically updated"?



On Sun, Oct 22, 2023, at 22:20, Volkan Yazıcı wrote:
> Currently, we have the following folder structure in the
> `logging-log4j-site` repository for the Log4j project:
>
>    - `log4j-1.2.17` – the website generated by the last Log4j 1 release,
>    i.e, `1.2.17`
>    - `log4j-1.2` – symlinks to `log4j-1.2.17`
>    - `1.x` – symlinks to `log4j-1.2.17`
>    - ...
>    - `log4j-2.19.0` – the website generated by the `2.19.0` release
>    - `log4j-2.20.0` – the website generated by the `2.20.0` release
>    - `log4j-2.21.0` – the website generated by the `2.21.0` release
>    - `2.x` – symlinks to `log4j-2.21.0` (the latest Log4j 2 release)
>
> I propose keeping existing folders as is (hence, *no changes to the
> existing URLs!*) and applying following practices:
>
>    1. *Add a `latest` symlink* pointing to the latest stable version. Today
>    it will point to `2.x`, sometime in the future it will point to `3.x`.
>       - This will make following URLs possible:
>       https://logging.apache.org/log4j/latest
>       - This convention is practiced by several other projects, e.g.,
>       Spring Boot: https://docs.spring.io/spring-boot/docs/current
>    2. *Redirect root to `latest`*, i.e., `logging.apache.org/log4j` will
>    redirect to `logging.apache.org/log4j/latest`
>    3. *Don't create a new folder for every release, but override the `2.x`
>    folder.*
>       - This is okay, since we keep backward compatibility in minor+patch
>       releases and explicitly provide version for features that are added 
> later
>       on (e.g., "starting from 2.17.0 Log4j provides X...")
>       - We can set up CI jobs to periodically populate `1.x`, `2.x`, `3.x`,
>       `4.x`, etc. websites and avoid the need to generate the website once and
>       for all.
>       - We will stop polluting the folder structure.
>
> As a matter of fact, I already implemented this convention for some
> projects. All the following URLs work:
>
>    - `logging-parent`
>       - logging.apache.org/logging-parent
>       - logging.apache.org/logging-parent/latest
>       - logging.apache.org/logging-parent/10.x
>    - `logging-log4j-kotlin`
>       - logging.apache.org/log4j/kotlin
>       - logging.apache.org/log4j/kotlin/latest
>       - logging.apache.org/log4j/kotlin/1.x
>    - `logging-log4j-scala`
>       - logging.apache.org/log4j/scala
>       - logging.apache.org/log4j/scala/latest
>       - logging.apache.org/log4j/scala/13.x
>    - `logging-log4j-tools`
>       - logging.apache.org/log4j/tools
>       - logging.apache.org/log4j/tools/latest
>       - logging.apache.org/log4j/tools/0.x
>    - `logging-log4j-transform`
>       - logging.apache.org/log4j/transform
>       - logging.apache.org/log4j/transform/latest
>       - logging.apache.org/log4j/transform/0.x
>
> Unless there are objections, I will update the CI in this direction and we
> all will enjoy automatically populated Log4j websites.

Reply via email to