If it were possible, I do wish the async logger stuff could be in a separate 
maven module. In some ways it could be simpler by just having everything be 
async by default if the module is present. However, I suspect that being able 
to do this would require more time than any of us has.

Ralph

> On Jun 19, 2023, at 11:25 AM, Piotr P. Karwasz <piotr.karw...@gmail.com> 
> wrote:
> 
> Hi Gary,
> 
> On Mon, 19 Jun 2023 at 15:01, Gary Gregory <garydgreg...@gmail.com> wrote:
>> 
>> I like the idea of not having any optional dependencies by using Maven
>> modules.
> 
> I would also like to remove optional dependencies entirely from the
> published POM, but I think it is impossible with the current Maven
> plugins.
> 
> My proposal is less ambitious: we would still have
> `com.lmax:disruptor` as optional dependency of `log4j-core`, but we
> could also have a `log4j-starter-async` that depends (non-optionally)
> on `com.lmax:disruptor` and `log4j-core`. This way users don't have to
> manually manage the version of `com.lmax:disruptor`.
> 
> Removing optional dependencies entirely is possible in Gradle: e.g.
> `spring-boot` has a lot of optional dependencies (cf.
> build.gradle[1]), but they don't appear in the published POM (cf.
> MvnRepository[2]).
> 
> Piotr
> 
> [1] 
> https://github.com/spring-projects/spring-boot/blob/main/spring-boot-project/spring-boot/build.gradle
> [2] 
> https://mvnrepository.com/artifact/org.springframework.boot/spring-boot/3.1.0

Reply via email to