maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Curtis Rueden <ctrue...@wisc.edu>
Subject Re: plugin version ranges errors with Maven 3.1.1
Date Fri, 06 Dec 2013 22:34:26 GMT
Hi John,

You might be able to use profiles to define a different version of
maven-shade-plugin depending on the version of Maven being used. However,
some caveats:

1) There is no explicit profile activation for Maven version. The hack
people use is to activate based on the existence of a property known only
to e.g. Maven 3.x. I am not sure what a good property would be for Maven
3.1 specifically (i.e., not known to 3.0.x), but one probably exists.

2) When it comes to profiles, as Stephen Connolly likes to say: "that way
madness lies." This hack will get your build done for you, but it is a
hack, and you should never forget that it is a hack. Or to put another way:
it's technical debt. When the debt must be paid is unclear, but e.g. if the
maven-shade-plugin produces a different binary result depending on which
version you use, then you may run into apparently bizarre problems with
users who built using Maven 3.1.1 rather than an older version, or vice
versa, and it may take you some time to diagnose *why* it's happening
(surprise: it's because a different version of maven-shade-plugin got
selected!), and so on.

Such problems are why the other posters in this thread are encouraging you
to just choose a version of maven-shade-plugin that works for you. You
*can* put into your POM that it requires a certain minimum Maven version
[1], and Maven will (IIRC) just fail fast if the version is too old. That
is a lot less mysterious than some subtle inconsistency in shaded artifact
build results. And you'll get truly repeatable builds which are one of the
fabulous benefits of a well-structured build system.

Regards,
Curtis

[1] http://maven.apache.org/pom.html#Prerequisites


On Fri, Dec 6, 2013 at 4:20 PM, John Dix <John.Dix@amdocs.com> wrote:

> We are getting build failures when using 3.1.1 and the 2.0 shade plugin.
> It seems to be a documented issue:
>
> https://issues.apache.org/jira/browse/STANBOL-1212
>
> So I wanted to be able to have the same parent pom for our builds that
> still require 3.0.5 which currently sets it to 2.0 and does not run into
> this error.
>
> -----Original Message-----
> From: Wayne Fay [mailto:waynefay@gmail.com]
> Sent: Friday, December 06, 2013 12:51 PM
> To: Maven Users List
> Subject: Re: plugin version ranges errors with Maven 3.1.1
>
> > Agreed however I need to support two builds in our environment one
> > that uses Maven 3.0.5 and one that does 3.1.1 without having to change
> the file every time.
>
> Sorry for asking the obvious question, but what prevents you from
> specifying version [2.0] or whatever and using that with both 3.0.5 and
> 3.1.1? Is there some incompatibility I am unaware of presently?
>
> Wayne
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>
> This message and the information contained herein is proprietary and
> confidential and subject to the Amdocs policy statement,
> you may review at http://www.amdocs.com/email_disclaimer.asp
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message