Should this be in Commons Configuration?

Gary

On Sat, Apr 2, 2022, 15:33 Matt Sicker <boa...@gmail.com> wrote:

> Hi all, I’ve got a proposal for a new Commons component that I’d like to
> get feedback on. Essentially, I’d like to propose the creation of a Commons
> Plugins component inspired by the plugin system developed for Log4j 3.x
> [0]. This library would be a lightweight dependency injection and
> configuration library where developers create pluggable classes that can be
> referenced through plugin names via the configuration file (or
> configuration source in general). In contrast with more typical dependency
> injection frameworks like Spring and Guice, this library is for
> applications where pluggable implementations of things is desired.
> Developing a plugin system on top of DI frameworks is not a very
> standardized domain, and each project ends up reinventing this from scratch
> over time.
>
> Some existing material on how the Log4j plugin and configuration system
> works that I’d adapt from to form the basis for this component include:
> -
> https://github.com/apache/logging-log4j2/blob/master/src/site/asciidoc/manual/dependencyinjection.adoc
> <
> https://github.com/apache/logging-log4j2/blob/master/src/site/asciidoc/manual/dependencyinjection.adoc
> >
> -
> https://github.com/apache/logging-log4j2/blob/master/src/site/asciidoc/manual/plugins.adoc
> <
> https://github.com/apache/logging-log4j2/blob/master/src/site/asciidoc/manual/plugins.adoc
> >
>
> The general goal of this library is to make it so that applications can
> provide better configuration DSLs for their plugin components. As both a
> developer and user, I absolutely despise configuring complex applications
> with properties files, and YAML variants of properties aren’t that much
> better. If there was a common plugin library we could reuse, then perhaps
> more applications would support a better configuration system. This could
> also provide a nice place for tooling integration similar to how JUnit is
> supported by IDEs and other tools.
>
> What do you think? Should this start in the Sandbox? Is anyone interested
> in working on or using this?
>
> [0]: https://github.com/apache/logging-log4j2/tree/master/log4j-plugins <
> https://github.com/apache/logging-log4j2/tree/master/log4j-plugins>
>
> —
> Matt Sicker
>
>

Reply via email to