maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ron Wheeler <rwhee...@artifact-software.com>
Subject Re: Version resolution question
Date Sat, 07 Dec 2013 00:31:41 GMT
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; rwheeler@artifact-software.com
> 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:rwheeler@artifact-software.com]
> Sent: Friday, December 06, 2013 3:15 PM
> To: users@maven.apache.org
> 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: ctrueden.wisc@gmail.com [mailto:ctrueden.wisc@gmail.com] 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 <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
>>>
>>> ---------------------------------------------------------------------
>>>


-- 
Ron Wheeler
President
Artifact Software Inc
email: rwheeler@artifact-software.com
skype: ronaldmwheeler
phone: 866-970-2435, ext 102


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Mime
View raw message