You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Stephane Nicoll <st...@gmail.com> on 2014/01/20 10:03:15 UTC

exclude on scope import

Hi,

Has anybody thought (or worked on) the ability to exclude dependencies from
the import of a pom for a given project.

Let's say that project S uses commons-logging and we use that project in
our project. We have something like

<dependency>
  <groupId>....</groupId>
  <artifactId>the-s-project</artifactId>
  <version>...</version>
  <type>pom</type>
  <scope>import<scope>
</dependency>

Now I'd like to exclude the "commons-logging" dependency from the whole
project so that I can use the slf4j binder instead.

Thoughts?

Thanks,
S.

Re: exclude on scope import

Posted by Baptiste Mathus <ml...@batmat.net>.
+1, we've been using this trick for some years now to be sure nobody could
send their logs basically to /dev/null without being noticed.
In the meantime, as we actually control the corp pom, we also both added
the exclusions everywhere we could + enabled a bannedDependencies on
commons-logging.

Granted, it kind of became a " (2) belt(s) and braces" solution, but this
works perfectly fine :-).

HTH


2014/1/20 Aldrin Leal <al...@leal.eng.br>

> (TL;DR: Use this repo and the versions on your dependencyMgmt:
> http://version99.qos.ch/)
>
> a hack, but works like a charm:
>
>
> http://day-to-day-stuff.blogspot.com.br/2007/10/announcement-version-99-does-not-exist.html
>
>
> --
> -- Aldrin Leal, <al...@leal.eng.br>
> Master your EC2-fu! Get the latest ekaterminal public beta
> http://www.ingenieux.com.br/products/ekaterminal/
>
>
> On Mon, Jan 20, 2014 at 6:12 AM, Stephen Connolly <
> stephen.alan.connolly@gmail.com> wrote:
>
> > The hack way I would use is to create an intermediate "wrapper" project
> and
> > then you can define exclusions on that wrapper at the pom level directly.
> >
> > Other than that you just have to wait for model version 5.0.0 when the
> > <provides> element that I want to introduce would allow either slf4j's
> > binder to advertise that it "provides" commons-logging, or you would be
> > able to state that in your <dependency> directly
> >
> >
> > On 20 January 2014 09:03, Stephane Nicoll <st...@gmail.com>
> > wrote:
> >
> > > Hi,
> > >
> > > Has anybody thought (or worked on) the ability to exclude dependencies
> > from
> > > the import of a pom for a given project.
> > >
> > > Let's say that project S uses commons-logging and we use that project
> in
> > > our project. We have something like
> > >
> > > <dependency>
> > >   <groupId>....</groupId>
> > >   <artifactId>the-s-project</artifactId>
> > >   <version>...</version>
> > >   <type>pom</type>
> > >   <scope>import<scope>
> > > </dependency>
> > >
> > > Now I'd like to exclude the "commons-logging" dependency from the whole
> > > project so that I can use the slf4j binder instead.
> > >
> > > Thoughts?
> > >
> > > Thanks,
> > > S.
> > >
> >
>
> --
> Baptiste <Batmat> MATHUS - http://batmat.net
> Sauvez un arbre,
> Mangez un castor ! nbsp;!
>

Re: exclude on scope import

Posted by Aldrin Leal <al...@leal.eng.br>.
(TL;DR: Use this repo and the versions on your dependencyMgmt:
http://version99.qos.ch/)

a hack, but works like a charm:

http://day-to-day-stuff.blogspot.com.br/2007/10/announcement-version-99-does-not-exist.html


--
-- Aldrin Leal, <al...@leal.eng.br>
Master your EC2-fu! Get the latest ekaterminal public beta
http://www.ingenieux.com.br/products/ekaterminal/


On Mon, Jan 20, 2014 at 6:12 AM, Stephen Connolly <
stephen.alan.connolly@gmail.com> wrote:

> The hack way I would use is to create an intermediate "wrapper" project and
> then you can define exclusions on that wrapper at the pom level directly.
>
> Other than that you just have to wait for model version 5.0.0 when the
> <provides> element that I want to introduce would allow either slf4j's
> binder to advertise that it "provides" commons-logging, or you would be
> able to state that in your <dependency> directly
>
>
> On 20 January 2014 09:03, Stephane Nicoll <st...@gmail.com>
> wrote:
>
> > Hi,
> >
> > Has anybody thought (or worked on) the ability to exclude dependencies
> from
> > the import of a pom for a given project.
> >
> > Let's say that project S uses commons-logging and we use that project in
> > our project. We have something like
> >
> > <dependency>
> >   <groupId>....</groupId>
> >   <artifactId>the-s-project</artifactId>
> >   <version>...</version>
> >   <type>pom</type>
> >   <scope>import<scope>
> > </dependency>
> >
> > Now I'd like to exclude the "commons-logging" dependency from the whole
> > project so that I can use the slf4j binder instead.
> >
> > Thoughts?
> >
> > Thanks,
> > S.
> >
>

Re: exclude on scope import

Posted by Stephen Connolly <st...@gmail.com>.
The hack way I would use is to create an intermediate "wrapper" project and
then you can define exclusions on that wrapper at the pom level directly.

Other than that you just have to wait for model version 5.0.0 when the
<provides> element that I want to introduce would allow either slf4j's
binder to advertise that it "provides" commons-logging, or you would be
able to state that in your <dependency> directly


On 20 January 2014 09:03, Stephane Nicoll <st...@gmail.com> wrote:

> Hi,
>
> Has anybody thought (or worked on) the ability to exclude dependencies from
> the import of a pom for a given project.
>
> Let's say that project S uses commons-logging and we use that project in
> our project. We have something like
>
> <dependency>
>   <groupId>....</groupId>
>   <artifactId>the-s-project</artifactId>
>   <version>...</version>
>   <type>pom</type>
>   <scope>import<scope>
> </dependency>
>
> Now I'd like to exclude the "commons-logging" dependency from the whole
> project so that I can use the slf4j binder instead.
>
> Thoughts?
>
> Thanks,
> S.
>