maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Eric Kolotyluk <eric.koloty...@gmail.com>
Subject Re: Force install of dependent modules before package
Date Wed, 08 Apr 2015 18:14:46 GMT
Adrien, while this would be what we might expect, it fails because the 
maven-shade-plugin pulls included artifacts from the local repo. 
Consequently, during the package phase, while packages have been built 
for all the modules in the right order, they have not been deposited in 
the local repo because the install phase comes after the the package 
phase. If the shade plugin were to take the artifacts from the target 
directories in modules 1 & 2, then all would be fine, but that is not 
what shade does.

Cheers, Eric

On 2015-04-08 10:50 AM, Adrien Rivard wrote:
> Hi,
>
> Running package in project A should run package in module1, then package in
> module 2, then package in module 3 (which will be build with freshly build
> module 1 and 2).
> If this is not working then something is wrong within your build (either
> dependencies, or modules declaration?).
>
> There is generaly no need to  run install in a correct maven build.
>
> I am not sure if this is the case, but if you declared the shaded part in
> the project A pom, this is the wrong place, it should be either in module 3
> or module 4.
>
>
> On Wed, Apr 8, 2015 at 7:36 PM, Eric Kolotyluk <eric.kolotyluk@gmail.com>
> wrote:
>
>> The problem I have now is that I have to manually do the following:
>>
>> project A/module 1> mvn install
>> project A/module 2> mvn install
>> project A> mvn package
>>
>> Because the maven-shade-plugin for module 3 needs the artifacts for
>> modules 1 & 2 to be installed in the local repo first. This totally sucks
>> because it is error prone, and Maven is supposed to be about automation.
>> Similarly, if I do something like
>>
>> project A/module 3> mvn package
>>
>> I want modules 2 & 3 to be installed first, if necessary, so that the
>> shade plugin will pick up the latest versions of these artifacts.
>>
>> The other approach I am considering is to run the maven-shade-plugin in
>> the deploy phase, to ensure that all dependencies have been installed
>> first, but I really don't want to have to do a deploy this often,
>> especially when I am testing. I wish there were a phase between install and
>> deploy that I could used to create my shaded assemblies. Is there some way
>> to ensure the shade plugin runs last in the install phase, after everything
>> else has been installed?
>>
>> Cheers, Eric
>>
>>
>> On 2015-04-08 9:47 AM, Curtis Rueden wrote:
>>
>>> Hi Eric,
>>>
>>>   project A> mvn package
>>>> such that modules 1 & 2 will automatically be installed before the
>>>> shade plugin runs for module 3?
>>>>
>>> My understanding is that you would need to run "mvn install" (not "mvn
>>> package") from the project A base directory, if you want 1 and 2 to be
>>> installed. But it should happen in the order you desire, no?
>>>
>>> -Curtis
>>>
>>> On Wed, Apr 8, 2015 at 11:23 AM, Anders Hammar <anders@hammar.net> wrote:
>>>
>>>   Not sure I follow. Isn't Project A a multi-module project? Then if you do
>>>> "mvn package", module 1 and 2 should build before 3 if you have declared
>>>> the dependencies correctly.
>>>>
>>>> /Anders
>>>>
>>>> On Wed, Apr 8, 2015 at 6:17 PM, Eric Kolotyluk <eric.kolotyluk@gmail.com
>>>> wrote:
>>>>
>>>>   I have
>>>>> Project A
>>>>> - module 1
>>>>> - module 2
>>>>> - module 3 (depends on 1 & 1)
>>>>> -- creates shaded artifact
>>>>>
>>>>> Is there a way that I can configure my poms to do
>>>>>
>>>>> project A> mvn package
>>>>>
>>>>> such that modules 1 & 2 will automatically be installed before the
shade
>>>>> plugin runs for module 3?
>>>>>
>>>>> Cheers, Eric
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>>>> For additional commands, e-mail: users-help@maven.apache.org
>>>>>
>>>>>
>>>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>> For additional commands, e-mail: users-help@maven.apache.org
>>
>>
>


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


Mime
View raw message