accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christopher Tubbs (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ACCUMULO-3641) Mark slf4j implementation dependencies "optional"
Date Thu, 19 Mar 2015 15:34:38 GMT

    [ https://issues.apache.org/jira/browse/ACCUMULO-3641?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14369549#comment-14369549
] 

Christopher Tubbs commented on ACCUMULO-3641:
---------------------------------------------

Making it optional is the way we require them to do this. If it wasn't optional, it would
be included automatically (and possibly conflict with any they might have defined, or brought
in by some other of their dependencies). If it's not optional, then we force them to exclude
it if it's not what they want. If it's optional, we force them to declare it (if it's not
already available explicitly, or transitively from another dependency).

Either way, they're going to have to put some thought into logging, but I think excluding
the implementation by default is (generally) a more friendly route.

> Mark slf4j implementation dependencies "optional"
> -------------------------------------------------
>
>                 Key: ACCUMULO-3641
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-3641
>             Project: Accumulo
>          Issue Type: Sub-task
>          Components: build
>            Reporter: Christopher Tubbs
>             Fix For: 1.7.0
>
>
> After ACCUMULO-1242 is complete, we should not have any more direct usage of log4j or
any other particular slf4j implementation. As such, we should mark log4j (and any other slf4j
implementations) as optional in the dependencies section of the POM.
> ["Optional" dependencies in Maven|http://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html]
are not automatically inherited transitively when other projects depend on ours. This is important,
because if somebody writes a client application which depends on Accumulo code, we should
not be forcing that application into a particular logging implementation. Marking it optional
is preferable to forcing them to exclude the transitive dependencies in order to provide their
own. It will also prevent conflicts when they have dependencies on other projects, which require
a particular conflicting implementation of slf4j.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message