You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Mark Hobson <ma...@gmail.com> on 2008/07/15 12:32:58 UTC

Shade plugin's over-zealous exclusions

I've noticed that dependency reduced pom produced by the shade plugin
contains unnecessary exclusions.  Checking the code, in ShadeMojo:825
we have:

                //anything two levels deep that is not marked "included"
                //is stuff that was excluded by the original poms, make sure it
                //remains excluded
                if ( n3.getState() == DependencyNode.INCLUDED)

The comment sounds right to me which contradicts the code.  Anyone
disagree with negating the logic?

Since this is quite a major bug, can we push out a 1.1.1 release with
this fix?  The only work that's occurred on trunk since 1.1 is
MSHADE-35.

Mark

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


Re: Shade plugin's over-zealous exclusions

Posted by Mark Hobson <ma...@gmail.com>.
That seems better thanks.  We really need some unit tests for this
dependency reduced pom logic.  It looks like ShadeMojoTest doesn't
actually test ShadeMojo but duplicates DefaultShaderTest.

Do you want me to retrospectively raise an issue for this?

Cheers,

Mark

2008/7/18 Daniel Kulp <dk...@apache.org>:
>
> Can you try again with the code on trunk?   Just committed some more
> changes.
>
> Dan
>
>
>
> On Jul 18, 2008, at 6:45 AM, Mark Hobson wrote:
>
>> 2008/7/16 Daniel Kulp <dk...@apache.org>:
>>>
>>> I just verified with CXF that if I use maven 2.0.7, the reduced pom has
>>> many
>>> extra excludes.   I've gone ahead and added some code to the ShadeMojo to
>>> double check if it's an irrelevant exclude and not bother.   This isn't
>>> needed with 2.0.9, but it is with 2.0.7.   Can you checkout the code from
>>> svn and retry with that?
>>
>> I've just tried with the shade trunk and Maven 2.0.9 and I still get
>> too many excludes.  My project dependency tree is essentially:
>>
>> foo:project:jar:1.0
>> +- foo:dependency:jar:1.0:compile
>> |  +- foo:a:jar:1.0:compile
>> |  \- foo:b:jar:1.0:compile
>> \- foo:shademe:jar:1.0:compile
>>
>> I'm shading foo:shademe and get the following dependency-reduced-pom.xml:
>>
>> <project>
>>  <groupId>foo</groupId>
>>  <artifactId>project</artifactId>
>>  <version>1.0</version>
>>  ...
>>  <dependencies>
>>   <dependency>
>>     <groupId>foo</groupId>
>>     <artifactId>dependency</artifactId>
>>     <version>1.0</version>
>>     <scope>compile</scope>
>>     <exclusions>
>>       <exclusion>
>>         <groupId>foo</groupId>
>>         <artifactId>a</artifactId>
>>       </exclusion>
>>       <exclusion>
>>         <groupId>foo</groupId>
>>         <artifactId>b</artifactId>
>>       </exclusion>
>>     </exclusions>
>>   </dependency>
>>  </dependencies>
>> </project>
>>
>> I don't quite get what updateExcludesInDeps is attempting to do.
>> Surely the dependency reduced pom should just be the original with:
>>
>> 1) any direct dependencies on the shaded artifacts removed
>> 2) any transitive dependencies on the shaded artifacts excluded from
>> their direct dependency
>>
>> Unshaded artifacts, like foo:a and foo:b in the example above,
>> shouldn't even be considered should they?
>>
>> Cheers,
>>
>> Mark
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>> For additional commands, e-mail: dev-help@maven.apache.org
>>
>
> ---
> Daniel Kulp
> dkulp@apache.org
> http://www.dankulp.com/blog
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
>

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


Re: Shade plugin's over-zealous exclusions

Posted by Daniel Kulp <dk...@apache.org>.
Can you try again with the code on trunk?   Just committed some more  
changes.

Dan



On Jul 18, 2008, at 6:45 AM, Mark Hobson wrote:

> 2008/7/16 Daniel Kulp <dk...@apache.org>:
>> I just verified with CXF that if I use maven 2.0.7, the reduced pom  
>> has many
>> extra excludes.   I've gone ahead and added some code to the  
>> ShadeMojo to
>> double check if it's an irrelevant exclude and not bother.   This  
>> isn't
>> needed with 2.0.9, but it is with 2.0.7.   Can you checkout the  
>> code from
>> svn and retry with that?
>
> I've just tried with the shade trunk and Maven 2.0.9 and I still get
> too many excludes.  My project dependency tree is essentially:
>
> foo:project:jar:1.0
> +- foo:dependency:jar:1.0:compile
> |  +- foo:a:jar:1.0:compile
> |  \- foo:b:jar:1.0:compile
> \- foo:shademe:jar:1.0:compile
>
> I'm shading foo:shademe and get the following dependency-reduced- 
> pom.xml:
>
> <project>
>  <groupId>foo</groupId>
>  <artifactId>project</artifactId>
>  <version>1.0</version>
>  ...
>  <dependencies>
>    <dependency>
>      <groupId>foo</groupId>
>      <artifactId>dependency</artifactId>
>      <version>1.0</version>
>      <scope>compile</scope>
>      <exclusions>
>        <exclusion>
>          <groupId>foo</groupId>
>          <artifactId>a</artifactId>
>        </exclusion>
>        <exclusion>
>          <groupId>foo</groupId>
>          <artifactId>b</artifactId>
>        </exclusion>
>      </exclusions>
>    </dependency>
>  </dependencies>
> </project>
>
> I don't quite get what updateExcludesInDeps is attempting to do.
> Surely the dependency reduced pom should just be the original with:
>
> 1) any direct dependencies on the shaded artifacts removed
> 2) any transitive dependencies on the shaded artifacts excluded from
> their direct dependency
>
> Unshaded artifacts, like foo:a and foo:b in the example above,
> shouldn't even be considered should they?
>
> Cheers,
>
> Mark
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>

---
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog





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


Re: Shade plugin's over-zealous exclusions

Posted by Mark Hobson <ma...@gmail.com>.
2008/7/16 Daniel Kulp <dk...@apache.org>:
> I just verified with CXF that if I use maven 2.0.7, the reduced pom has many
> extra excludes.   I've gone ahead and added some code to the ShadeMojo to
> double check if it's an irrelevant exclude and not bother.   This isn't
> needed with 2.0.9, but it is with 2.0.7.   Can you checkout the code from
> svn and retry with that?

I've just tried with the shade trunk and Maven 2.0.9 and I still get
too many excludes.  My project dependency tree is essentially:

foo:project:jar:1.0
+- foo:dependency:jar:1.0:compile
|  +- foo:a:jar:1.0:compile
|  \- foo:b:jar:1.0:compile
\- foo:shademe:jar:1.0:compile

I'm shading foo:shademe and get the following dependency-reduced-pom.xml:

<project>
  <groupId>foo</groupId>
  <artifactId>project</artifactId>
  <version>1.0</version>
  ...
  <dependencies>
    <dependency>
      <groupId>foo</groupId>
      <artifactId>dependency</artifactId>
      <version>1.0</version>
      <scope>compile</scope>
      <exclusions>
        <exclusion>
          <groupId>foo</groupId>
          <artifactId>a</artifactId>
        </exclusion>
        <exclusion>
          <groupId>foo</groupId>
          <artifactId>b</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
  </dependencies>
</project>

I don't quite get what updateExcludesInDeps is attempting to do.
Surely the dependency reduced pom should just be the original with:

1) any direct dependencies on the shaded artifacts removed
2) any transitive dependencies on the shaded artifacts excluded from
their direct dependency

Unshaded artifacts, like foo:a and foo:b in the example above,
shouldn't even be considered should they?

Cheers,

Mark

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


Re: Shade plugin's over-zealous exclusions

Posted by Daniel Kulp <dk...@apache.org>.
I just verified with CXF that if I use maven 2.0.7, the reduced pom  
has many extra excludes.   I've gone ahead and added some code to the  
ShadeMojo to double check if it's an irrelevant exclude and not  
bother.   This isn't needed with 2.0.9, but it is with 2.0.7.   Can  
you checkout the code from svn and retry with that?

Dan


On Jul 16, 2008, at 11:19 AM, Daniel Kulp wrote:

>
> One more thought while you're playing around....   try different  
> versions of maven.   This is something that might be working  
> correctly with maven 2.0.9 (and probably 2.0.8) but may not be with  
> 2.0.7 and earlier due to all the fixes that were put in the  
> dependency tree resolution stuff.
>
> Dan
>
>
>
> On Jul 16, 2008, at 11:14 AM, Mark Hobson wrote:
>
>> I'll try to knock up a few test cases tomorrow to get to the bottom  
>> of this.
>>
>> Cheers,
>>
>> Mark
>>
>> 2008/7/16 Daniel Kulp <dk...@apache.org>:
>>>
>>> I just checked and if I reverse that logic, I get things like:
>>>
>>>  <dependency>
>>>    <groupId>org.springframework</groupId>
>>>    <artifactId>spring-core</artifactId>
>>>    <version>2.0.8</version>
>>>    <scope>compile</scope>
>>>    <exclusions>
>>>      <exclusion>
>>>        <artifactId>commons-logging</artifactId>
>>>        <groupId>commons-logging</groupId>
>>>      </exclusion>
>>>    </exclusions>
>>>  </dependency>
>>>  <dependency>
>>>    <groupId>commons-logging</groupId>
>>>    <artifactId>commons-logging</artifactId>
>>>    <version>1.1.1</version>
>>>    <scope>compile</scope>
>>>  </dependency>
>>>
>>> which makes absolutely no sense.   Why exclude it if it's included  
>>> as a
>>> dependency.
>>>
>>> Do you have a (perferrably open source) project/pom that shows a  
>>> problem
>>> with excluding too much?
>>>
>>> Dan
>>>
>>>
>>>
>>>
>>> On Jul 15, 2008, at 8:36 PM, Daniel Kulp wrote:
>>>
>>>>
>>>>
>>>> I think the comment is wrong.   If it's two levels deep and  
>>>> included, it
>>>> was
>>>> stuff that was originally excluded and needs to be re-excluded.    
>>>> I doubt
>>>> there is a test for it, but it was tested in the OpenEJB project  
>>>> and in
>>>> CXF.
>>>>
>>>> Dan
>>>>
>>>>
>>>>
>>>>
>>>> mihobson wrote:
>>>>>
>>>>> I've noticed that dependency reduced pom produced by the shade  
>>>>> plugin
>>>>> contains unnecessary exclusions.  Checking the code, in  
>>>>> ShadeMojo:825
>>>>> we have:
>>>>>
>>>>>             //anything two levels deep that is not marked  
>>>>> "included"
>>>>>             //is stuff that was excluded by the original poms,  
>>>>> make
>>>>> sure it
>>>>>             //remains excluded
>>>>>             if ( n3.getState() == DependencyNode.INCLUDED)
>>>>>
>>>>> The comment sounds right to me which contradicts the code.  Anyone
>>>>> disagree with negating the logic?
>>>>>
>>>>> Since this is quite a major bug, can we push out a 1.1.1 release  
>>>>> with
>>>>> this fix?  The only work that's occurred on trunk since 1.1 is
>>>>> MSHADE-35.
>>>>>
>>>>> Mark
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>>>>> For additional commands, e-mail: dev-help@maven.apache.org
>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/Shade-plugin%27s-over-zealous-exclusions-tp18462091p18477890.html
>>>> Sent from the Maven Developers mailing list archive at Nabble.com.
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>>>> For additional commands, e-mail: dev-help@maven.apache.org
>>>>
>>>
>>> ---
>>> Daniel Kulp
>>> dkulp@apache.org
>>> http://www.dankulp.com/blog
>>>
>>>
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>>> For additional commands, e-mail: dev-help@maven.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>> For additional commands, e-mail: dev-help@maven.apache.org
>>
>
> ---
> Daniel Kulp
> dkulp@apache.org
> http://www.dankulp.com/blog
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>

---
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog





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


Re: Shade plugin's over-zealous exclusions

Posted by Daniel Kulp <dk...@apache.org>.
One more thought while you're playing around....   try different  
versions of maven.   This is something that might be working correctly  
with maven 2.0.9 (and probably 2.0.8) but may not be with 2.0.7 and  
earlier due to all the fixes that were put in the dependency tree  
resolution stuff.

Dan



On Jul 16, 2008, at 11:14 AM, Mark Hobson wrote:

> I'll try to knock up a few test cases tomorrow to get to the bottom  
> of this.
>
> Cheers,
>
> Mark
>
> 2008/7/16 Daniel Kulp <dk...@apache.org>:
>>
>> I just checked and if I reverse that logic, I get things like:
>>
>>   <dependency>
>>     <groupId>org.springframework</groupId>
>>     <artifactId>spring-core</artifactId>
>>     <version>2.0.8</version>
>>     <scope>compile</scope>
>>     <exclusions>
>>       <exclusion>
>>         <artifactId>commons-logging</artifactId>
>>         <groupId>commons-logging</groupId>
>>       </exclusion>
>>     </exclusions>
>>   </dependency>
>>   <dependency>
>>     <groupId>commons-logging</groupId>
>>     <artifactId>commons-logging</artifactId>
>>     <version>1.1.1</version>
>>     <scope>compile</scope>
>>   </dependency>
>>
>> which makes absolutely no sense.   Why exclude it if it's included  
>> as a
>> dependency.
>>
>> Do you have a (perferrably open source) project/pom that shows a  
>> problem
>> with excluding too much?
>>
>> Dan
>>
>>
>>
>>
>> On Jul 15, 2008, at 8:36 PM, Daniel Kulp wrote:
>>
>>>
>>>
>>> I think the comment is wrong.   If it's two levels deep and  
>>> included, it
>>> was
>>> stuff that was originally excluded and needs to be re-excluded.    
>>> I doubt
>>> there is a test for it, but it was tested in the OpenEJB project  
>>> and in
>>> CXF.
>>>
>>> Dan
>>>
>>>
>>>
>>>
>>> mihobson wrote:
>>>>
>>>> I've noticed that dependency reduced pom produced by the shade  
>>>> plugin
>>>> contains unnecessary exclusions.  Checking the code, in ShadeMojo: 
>>>> 825
>>>> we have:
>>>>
>>>>              //anything two levels deep that is not marked  
>>>> "included"
>>>>              //is stuff that was excluded by the original poms,  
>>>> make
>>>> sure it
>>>>              //remains excluded
>>>>              if ( n3.getState() == DependencyNode.INCLUDED)
>>>>
>>>> The comment sounds right to me which contradicts the code.  Anyone
>>>> disagree with negating the logic?
>>>>
>>>> Since this is quite a major bug, can we push out a 1.1.1 release  
>>>> with
>>>> this fix?  The only work that's occurred on trunk since 1.1 is
>>>> MSHADE-35.
>>>>
>>>> Mark
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>>>> For additional commands, e-mail: dev-help@maven.apache.org
>>>>
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/Shade-plugin%27s-over-zealous-exclusions-tp18462091p18477890.html
>>> Sent from the Maven Developers mailing list archive at Nabble.com.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>>> For additional commands, e-mail: dev-help@maven.apache.org
>>>
>>
>> ---
>> Daniel Kulp
>> dkulp@apache.org
>> http://www.dankulp.com/blog
>>
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>> For additional commands, e-mail: dev-help@maven.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>

---
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog





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


Re: Shade plugin's over-zealous exclusions

Posted by Mark Hobson <ma...@gmail.com>.
I'll try to knock up a few test cases tomorrow to get to the bottom of this.

Cheers,

Mark

2008/7/16 Daniel Kulp <dk...@apache.org>:
>
> I just checked and if I reverse that logic, I get things like:
>
>    <dependency>
>      <groupId>org.springframework</groupId>
>      <artifactId>spring-core</artifactId>
>      <version>2.0.8</version>
>      <scope>compile</scope>
>      <exclusions>
>        <exclusion>
>          <artifactId>commons-logging</artifactId>
>          <groupId>commons-logging</groupId>
>        </exclusion>
>      </exclusions>
>    </dependency>
>    <dependency>
>      <groupId>commons-logging</groupId>
>      <artifactId>commons-logging</artifactId>
>      <version>1.1.1</version>
>      <scope>compile</scope>
>    </dependency>
>
> which makes absolutely no sense.   Why exclude it if it's included as a
> dependency.
>
> Do you have a (perferrably open source) project/pom that shows a problem
> with excluding too much?
>
> Dan
>
>
>
>
> On Jul 15, 2008, at 8:36 PM, Daniel Kulp wrote:
>
>>
>>
>> I think the comment is wrong.   If it's two levels deep and included, it
>> was
>> stuff that was originally excluded and needs to be re-excluded.   I doubt
>> there is a test for it, but it was tested in the OpenEJB project and in
>> CXF.
>>
>> Dan
>>
>>
>>
>>
>> mihobson wrote:
>>>
>>> I've noticed that dependency reduced pom produced by the shade plugin
>>> contains unnecessary exclusions.  Checking the code, in ShadeMojo:825
>>> we have:
>>>
>>>               //anything two levels deep that is not marked "included"
>>>               //is stuff that was excluded by the original poms, make
>>> sure it
>>>               //remains excluded
>>>               if ( n3.getState() == DependencyNode.INCLUDED)
>>>
>>> The comment sounds right to me which contradicts the code.  Anyone
>>> disagree with negating the logic?
>>>
>>> Since this is quite a major bug, can we push out a 1.1.1 release with
>>> this fix?  The only work that's occurred on trunk since 1.1 is
>>> MSHADE-35.
>>>
>>> Mark
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>>> For additional commands, e-mail: dev-help@maven.apache.org
>>>
>>>
>>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Shade-plugin%27s-over-zealous-exclusions-tp18462091p18477890.html
>> Sent from the Maven Developers mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>> For additional commands, e-mail: dev-help@maven.apache.org
>>
>
> ---
> Daniel Kulp
> dkulp@apache.org
> http://www.dankulp.com/blog
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
>

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


Re: Shade plugin's over-zealous exclusions

Posted by Daniel Kulp <dk...@apache.org>.
I just checked and if I reverse that logic, I get things like:

     <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>spring-core</artifactId>
       <version>2.0.8</version>
       <scope>compile</scope>
       <exclusions>
         <exclusion>
           <artifactId>commons-logging</artifactId>
           <groupId>commons-logging</groupId>
         </exclusion>
       </exclusions>
     </dependency>
     <dependency>
       <groupId>commons-logging</groupId>
       <artifactId>commons-logging</artifactId>
       <version>1.1.1</version>
       <scope>compile</scope>
     </dependency>

which makes absolutely no sense.   Why exclude it if it's included as  
a dependency.

Do you have a (perferrably open source) project/pom that shows a  
problem with excluding too much?

Dan




On Jul 15, 2008, at 8:36 PM, Daniel Kulp wrote:

>
>
> I think the comment is wrong.   If it's two levels deep and  
> included, it was
> stuff that was originally excluded and needs to be re-excluded.   I  
> doubt
> there is a test for it, but it was tested in the OpenEJB project and  
> in CXF.
>
> Dan
>
>
>
>
> mihobson wrote:
>>
>> I've noticed that dependency reduced pom produced by the shade plugin
>> contains unnecessary exclusions.  Checking the code, in ShadeMojo:825
>> we have:
>>
>>                //anything two levels deep that is not marked  
>> "included"
>>                //is stuff that was excluded by the original poms,  
>> make
>> sure it
>>                //remains excluded
>>                if ( n3.getState() == DependencyNode.INCLUDED)
>>
>> The comment sounds right to me which contradicts the code.  Anyone
>> disagree with negating the logic?
>>
>> Since this is quite a major bug, can we push out a 1.1.1 release with
>> this fix?  The only work that's occurred on trunk since 1.1 is
>> MSHADE-35.
>>
>> Mark
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>> For additional commands, e-mail: dev-help@maven.apache.org
>>
>>
>>
>
> -- 
> View this message in context: http://www.nabble.com/Shade-plugin%27s-over-zealous-exclusions-tp18462091p18477890.html
> Sent from the Maven Developers mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>

---
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog





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


Re: Shade plugin's over-zealous exclusions

Posted by Daniel Kulp <dk...@apache.org>.

I think the comment is wrong.   If it's two levels deep and included, it was
stuff that was originally excluded and needs to be re-excluded.   I doubt
there is a test for it, but it was tested in the OpenEJB project and in CXF.   

Dan




mihobson wrote:
> 
> I've noticed that dependency reduced pom produced by the shade plugin
> contains unnecessary exclusions.  Checking the code, in ShadeMojo:825
> we have:
> 
>                 //anything two levels deep that is not marked "included"
>                 //is stuff that was excluded by the original poms, make
> sure it
>                 //remains excluded
>                 if ( n3.getState() == DependencyNode.INCLUDED)
> 
> The comment sounds right to me which contradicts the code.  Anyone
> disagree with negating the logic?
> 
> Since this is quite a major bug, can we push out a 1.1.1 release with
> this fix?  The only work that's occurred on trunk since 1.1 is
> MSHADE-35.
> 
> Mark
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Shade-plugin%27s-over-zealous-exclusions-tp18462091p18477890.html
Sent from the Maven Developers mailing list archive at Nabble.com.


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


Re: Shade plugin's over-zealous exclusions

Posted by Brett Porter <br...@apache.org>.
On 15/07/2008, at 8:32 PM, Mark Hobson wrote:

> I've noticed that dependency reduced pom produced by the shade plugin
> contains unnecessary exclusions.  Checking the code, in ShadeMojo:825
> we have:
>
>                //anything two levels deep that is not marked  
> "included"
>                //is stuff that was excluded by the original poms,  
> make sure it
>                //remains excluded
>                if ( n3.getState() == DependencyNode.INCLUDED)
>
> The comment sounds right to me which contradicts the code.  Anyone
> disagree with negating the logic?

It sounds right to me, as long as there is some test to exercise it.

>
>
> Since this is quite a major bug, can we push out a 1.1.1 release with
> this fix?  The only work that's occurred on trunk since 1.1 is
> MSHADE-35.

I think it's worth getting a release out regardless, yes.

- Brett

--
Brett Porter
brett@apache.org
http://blogs.exist.com/bporter/


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