maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tomo Suzuki (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (MNG-6732) DefaultArtifactDescriptorReader to check IGNORE_MISSING policy upon ArtifactTransferException
Date Mon, 12 Aug 2019 19:34:00 GMT

     [ 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 there have the same dependency section, module-c fails to
run Maven.

  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 finding: [https://github.com/suztomo/maven-missing-artifact] .
Even though module-b and module-c there 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 there have the same dependency section, module-c fails to
run Maven.



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

Mime
View raw message