Ralph,
For these who wants a "big” log4j you might provide aggregate JAR just like 
astyanax does. I think it’s much easier going this direction than other way 
around. Fine grained dependencies are proof of good library design. In slf4j 
epoch developers do not depend on any log4j code except test scope where mostly 
used is FileAppender. During deployment time it doesn’t make big difference too 
because only one place which would be affected is assembly. I can also imagine 
that some people could still love spring log4j stuff and will not need direct 
log4j support for it.

I can understand that disruptor might be mandatory to provide asynchronous 
behaviour but why JMX and Jackson could not be separated?

Best regards,
Łukasz Dywicki
--
l...@code-house.org
Twitter: ldywicki
Blog: http://dywicki.pl
Code-House - http://code-house.org

Wiadomość napisana przez Ralph Goers <ralph.go...@dslextreme.com> w dniu 12 kwi 
2014, o godz. 06:26:

> There is a balance that needs to be struck here.  We don’t want to add 
> support for OSGi at the cost of forcing non-OSGi users to have to include a 
> bunch of Log4j dependencies.  That said, I suggest the other day that we 
> might want to split some things that a majority of our users will rarely use 
> into other modules, possible in a companion project to the Log4j kernel.
> 
> We actually have a few dependencies, such as Jackson, the disruptor, and JMX 
> that are optional but really can’t be separated from the core.
> 
> That said, an analysis of what could be separated is warranted.
> 
> Ralph
> 
> On Apr 11, 2014, at 3:40 PM, Łukasz Dywicki <l...@code-house.org> wrote:
> 
>> Hey all,
>> Apachecon has been ended so I am following the promise I did - I’ve taken a 
>> look on the log4j build to check what’s going on with OSGi stuff. Currently 
>> OSGi bundles are split from main log4j-core which I think leads to 
>> maintanance trouble also number of dependencies of log4j-core seems to be 
>> very high. If we could split the log4j-core into smaller modules (mongodb, 
>> jms, jmx, web) then there will be no need to keep log4j-osgi and it’s 
>> submodules.
>> According to maven guides [1] "Optional dependencies are used when it's not 
>> really possible (for whatever reason) to split a project up into 
>> sub-modules”, I think it will also make library design much more clear and 
>> will avoid making unecessary inner code deps. Seems that big, aggregate 
>> modules, are always grow to size which require major work to split them to 
>> make both: maintanance and community involvement possible. 
>> 
>> [1] 
>> https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html
>> 
>> Cheers,
>> Łukasz Dywicki
>> --
>> l...@code-house.org
>> Twitter: ldywicki
>> Blog: http://dywicki.pl
>> Code-House - http://code-house.org
>> 
> 

Reply via email to