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

Tomo Suzuki updated MNG-6732:
-----------------------------
    Summary: DefaultArtifactDescriptorReader.loadPom to check IGNORE_MISSING 
policy upon ArtifactTransferException  (was: DefaultArtifactDescriptorReader to 
check IGNORE_MISSING policy upon ArtifactTransferException)

> DefaultArtifactDescriptorReader.loadPom to check IGNORE_MISSING policy upon 
> ArtifactTransferException
> -----------------------------------------------------------------------------------------------------
>
>                 Key: MNG-6732
>                 URL: https://issues.apache.org/jira/browse/MNG-6732
>             Project: Maven
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 3.6.1
>            Reporter: Tomo Suzuki
>            Priority: Major
>         Attachments: 62884438-89260580-bd04-11e9-8c4a-897d4b736dc7.png
>
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> h1. Problem
> Sometimes my Maven enforcer rule does not receive resolved artifact list 
> because of missing artifact even when the missing artifact does not appear in 
> the final dependency graph. 
> h1. Background
> Artifact xerces:xerces-impl:2.6.2 is not published in Maven Central.
> My enforcer rule can retrieve artifact list when applied to 
> [https://github.com/suztomo/spring-cloud-gcp/tree/v1.1.2-linkage-checker] 
> project even though it outputs "[WARNING] The POM for 
> xerces:xerces-impl:jar:2.6.2 is missing, no dependency information available".
> On the other hand, the enforcer rule fails to retrieve artifact list when 
> applied to 
> [grpc-java-by-example/chat-example/chat-vaadin-client|https://github.com/saturnism/grpc-java-by-example/tree/master/chat-example/chat-vaadin-client]
>  because of the missing xerces:xerces-impl:2.6.2.
>  
> [https://github.com/GoogleCloudPlatform/cloud-opensource-java/issues/834]
> h1. Diagnosis
> Currently DefaultArtifactDescriptorReader.loadPom method checks 
> "ArtifactDescriptorPolicy.IGNORE_MISSING" policy upon 
> ArtifactNotFoundException. This allows 
> DefaultProjectDependenciesResolver.resolve calls 
> repoSystem.resolveDependencies to obtain partially resolved artifact list 
> even when there is a missing artifact (such as xerces:xerces-impl:2.6.2)
> However, when there is a retired Maven repository is involved (such as 
> [http://repository.codehaus.org/] ), DefaultArtifactDescriptorReader.loadPom 
> method throws ArtifactDescriptorException without checking 
> "ArtifactDescriptorPolicy.IGNORE_MISSING" policy, and thus 
> DefaultProjectDependenciesResolver.resolve does not return partially resolved 
> artifact list.
>  
> Example project to demonstrate the diagnosis: 
> [https://github.com/suztomo/maven-missing-artifact] . Even though module-b 
> and module-c have the same dependency section, module-c fails to run Maven 
> because of repository section.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to