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

Tomo Suzuki updated MNG-6732:
-----------------------------
    Description: 
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.

  was:
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.


> DefaultArtifactDescriptorReader 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
>
>
> 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