maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Anton Tanasenko <atg.sleepl...@gmail.com>
Subject Re: Force install of dependent modules before package
Date Wed, 08 Apr 2015 19:18:37 GMT
I meant "(containing other modules)" of course.

2015-04-08 22:17 GMT+03:00 Anton Tanasenko <atg.sleepless@gmail.com>:

> Shade plugin should pick up reactor dependencies just fine, as long as the
> shading module (3 in your case) references the root project (containing
> other dependencies) correctly in the parent section.
>
>
> 2015-04-08 21:14 GMT+03:00 Eric Kolotyluk <eric.kolotyluk@gmail.com>:
>
>> 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
>>
>>
>
>
> --
> Regards,
> Anton.
>



-- 
Regards,
Anton.

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