Have you provided the Pope with a list of the bugs that have been fixed since the 2.1 shade plug-in?

Do they understand the great risk and horrible problems to which they are exposing your organization by using a plug-in and an old Maven with known bugs?

Good luck.
It is hard enough to fight the bugs that one creates without a corporate structure making progress more difficult.

Ron


On 06/12/2013 6:44 PM, John Dix wrote:
Sorry, I meant we do not have Shade 2.1 plugin. 2.0 is in our repository.

-----Original Message-----
From: John Dix
Sent: Friday, December 06, 2013 3:25 PM
To: Maven Users List; [email protected]
Subject: RE: Version resolution question (was: plugin version ranges errors 
with Maven 3.1.1)

Unfortunately I don't believe that solves the problem. We actually do not have 
the Shade plugin in our repositories and so I manually place it into our .m2 
repository into the right place. The reason this is happening because our 
organization is big and adding anything to our repository takes a papal bull 
and a month of testing. I am trying to build an argument for our architects to 
upgrade to Maven 3.1.1 which solves several bugs we're running into.

That is why I am doing all of this.

Now, I want to force it to look in .m2 before going anywhere else. I thought if 
I used the -o flag to tell I to work offline it would do this, however it isn't.

Is there a way to force it to look in the .m2 for what it needs rather than 
having to go to mavencentral?

-----Original Message-----
From: Ron Wheeler [mailto:[email protected]]
Sent: Friday, December 06, 2013 3:15 PM
To: [email protected]
Subject: Re: Version resolution question (was: plugin version ranges errors 
with Maven 3.1.1)

   <mirrors>
      <mirror>
        <id>nexus</id>
        <mirrorOf>*</mirrorOf>
<url>http://repo.....com:8081/nexus/content/groups/public</url>
      </mirror>
    </mirrors>

This might help

Ron

On 06/12/2013 6:06 PM, John Dix wrote:
Thanks Curtis and everyone.

I have a follow up question around the same thing build.

The command line I am using: maven clean install

Our 3.1.1 maven build is having issues finding the plugins in our .m2 directory 
unless I specify on the command line -Pmavencentral which is defined in our 
.m2/settings.xml as such:

    <profile>
      <id>mavencentral</id>
        <repositories>
          <repository>
            <id>mcentral</id>
            
<url>http://sd-repo-2.eng.qpass.net:8081/nexus/content/repositories/central</url>
            <releases>
              <enabled>true</enabled>
            </releases>
            <snapshots>
              <enabled>false</enabled>
            </snapshots>
          </repository>
        </repositories>
        <pluginRepositories>
          <pluginRepository>
            <id>mcentral</id>
            
<url>http://sd-repo-2.eng.qpass.net:8081/nexus/content/repositories/central</url>
            <releases>
               <enabled>true</enabled>
            </releases>
            <snapshots>
               <enabled>false</enabled>
            </snapshots>
          </pluginRepository>
        </pluginRepositories>
      </profile>

Which is our proxy to the public internet mavencentral server.

I have tried using the -o and -U switches at the command line when executing 
without the -Pmavencentral and I receive the following:

[ERROR] Plugin org.apache.maven.plugins:maven-shade-plugin:2.1 or one
of its dependencies could not be resolved: Cannot access
qpass-nexus-hosted-releases
(http://pd-repo2.eng.qpass.net:8081/nexus/content/repositories/release
s) in offline mode and the artifact
org.apache.maven.plugins:maven-shade-plugin:jar:2.1 has not been
downloaded from it before. -> [Help 1]

I want it to look only in the .m2 repository. Is there another -D setting I 
need to speciy? Is there some place I should be looking to see for conflicting 
settings?

-----Original Message-----
From: [email protected] [mailto:[email protected]] On
Behalf Of Curtis Rueden
Sent: Friday, December 06, 2013 2:34 PM
To: Maven Users List
Subject: Re: plugin version ranges errors with Maven 3.1.1

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 <[email protected]> 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:[email protected]]
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

---------------------------------------------------------------------



--
Ron Wheeler
President
Artifact Software Inc
email: [email protected]
skype: ronaldmwheeler
phone: 866-970-2435, ext 102


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to