[ 
https://issues.apache.org/jira/browse/MNG-5935?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christian Schulte resolved MNG-5935.
------------------------------------
    Resolution: Fixed

> Optional true getting lost in managed dependencies when transitive
> ------------------------------------------------------------------
>
>                 Key: MNG-5935
>                 URL: https://issues.apache.org/jira/browse/MNG-5935
>             Project: Maven
>          Issue Type: Bug
>          Components: Dependencies
>    Affects Versions: 3.3.9
>         Environment: Apache Maven 3.3.9 
> (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T17:41:47+01:00)
> Maven home: C:\Temp\apache-maven-3.3.9
> Java version: 1.8.0_66, vendor: Oracle Corporation
> Java home: C:\Prog\Java\v8_66\jre
> Default locale: nl_NL, platform encoding: Cp1252
> OS name: "windows 7", version: "6.1", arch: "amd64", family: "dos"
>            Reporter: Marcel Schutte
>            Assignee: Christian Schulte
>             Fix For: 3.6.0-candidate
>
>         Attachments: buildoutput.txt, Parent.zip
>
>
> Run 'mvn package' on the project in the attached Parent.zip. Note that the 
> dependency Jar2 gets packaged in WEB-INF/lib and the other dependencies (Jar, 
> Jar1 and Jar3) do not.
> I think the inclusion of Jar2 is incorrect, because project 'Web' declares 
> its dependency on 'Jar' to be optional and Jar2 being a transitive dependency 
> of Jar should inherit this.
> If you look at the other Jarx dependencies, they have different combinations 
> of ways to become optional and have their versions managed. Only the case 
> when optionality is inherited and the dependency management for the version 
> is in another pom, yields incorrect results.
> Please note that I believe the maven-war-plugin is not the cause of this 
> behavior. I have built and used a modified version of maven-war-plugin which 
> as the first thing in its WarMojo.execute() lists the result of 
> getProject().getArtifacts() including the value of each Artifact's 
> isOptional() method. Already at this point only Jar2 has optional false.
> I am using maven-war-plugin in this bug report for the following reasons:
> * maven-war-plugin uses the optional flag of dependencies in deciding whether 
> to package it or not, making this behavior visible
> * I don't know of another way to visualize the value of the optional flag in 
> core maven (running with -X outputs the dependency tree in a section with 
> header 'Dependency collection stats', but this only shows the scope value)
> * maven-dependency-plugin:resolve also only shows scope and not optionality
> * obviously, maven-war-plugin is exactly what I intend to use and where I 
> found the bug



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to