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

James Nord updated MNG-7733:
----------------------------
    Description: 
I have a settings file in my home directory (~/.m2/settings.xml) that works 
fine with maven 3.x

containing

{code}
  <mirrors>
    <mirror>
      <id>myco-internal</id>
      <mirrorOf>external:*</mirrorOf>
      <url>https://nexus-cache.mycorp.com/content/groups/staged</url>
    </mirror>
  </mirrors>
{code}

with maven 4.0.0-alpha4 when building a project it will fail in dependency 
resolution due to the `maven-default-http-blocker` mirror.


{noformat}
unable to create flattened dependencies: caught exception when flattening 
dependencies: Failed to read artifact descriptor for 
javax.servlet:javax.servlet-api::3.1.0: Could not transfer artifact 
net.java:jvnet-parent:pom:3 from/to maven-default-http-blocker 
(http://0.0.0.0/): Blocked mirror for repositories: [glassfish-repository 
(http://download.java.net/maven/glassfish, default, releases+snapshots)] -
{noformat}


However I expect that my user settings should override global settings.

as `external:*` used in my local settings should also match anything that is 
matched by `external:http:*` in the global settings I would not expect that the 
global settings mirror would be used.

However this is infact the case.

if I use --global-settings to specify my local settings file then the builds 
work

Additionally changing my mirror defintion to be 
{{<mirrorOf>external:*,external:http:*</mirrorOf>}} still does not work

  was:
I have a settings file in my home directory (~/.m2/settings.xml) that works 
fine with maven 3.x

containing

{code}
  <mirrors>
    <mirror>
      <id>cloudbees-internal</id>
      <mirrorOf>external:*</mirrorOf>
      <url>https://nexus-cache.mycorp.com/content/groups/staged</url>
    </mirror>
  </mirrors>
{code}

with maven 4.0.0-alpha4 when building a project it will fail in dependency 
resolution due to the `maven-default-http-blocker` mirror.


{noformat}
unable to create flattened dependencies: caught exception when flattening 
dependencies: Failed to read artifact descriptor for 
javax.servlet:javax.servlet-api::3.1.0: Could not transfer artifact 
net.java:jvnet-parent:pom:3 from/to maven-default-http-blocker 
(http://0.0.0.0/): Blocked mirror for repositories: [glassfish-repository 
(http://download.java.net/maven/glassfish, default, releases+snapshots)] -
{noformat}


However I expect that my user settings should override global settings.

as `external:*` used in my local settings should also match anything that is 
matched by `external:http:*` in the global settings I would not expect that the 
global settings mirror would be used.

However this is infact the case.

if I use --global-settings to specify my local settings file then the builds 
work


> maven4 user settings mirrorOf-external:* does not override global settings 
> external:http:* 
> -------------------------------------------------------------------------------------------
>
>                 Key: MNG-7733
>                 URL: https://issues.apache.org/jira/browse/MNG-7733
>             Project: Maven
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 4.0.0-alpha-4
>            Reporter: James Nord
>            Priority: Major
>
> I have a settings file in my home directory (~/.m2/settings.xml) that works 
> fine with maven 3.x
> containing
> {code}
>   <mirrors>
>     <mirror>
>       <id>myco-internal</id>
>       <mirrorOf>external:*</mirrorOf>
>       <url>https://nexus-cache.mycorp.com/content/groups/staged</url>
>     </mirror>
>   </mirrors>
> {code}
> with maven 4.0.0-alpha4 when building a project it will fail in dependency 
> resolution due to the `maven-default-http-blocker` mirror.
> {noformat}
> unable to create flattened dependencies: caught exception when flattening 
> dependencies: Failed to read artifact descriptor for 
> javax.servlet:javax.servlet-api::3.1.0: Could not transfer artifact 
> net.java:jvnet-parent:pom:3 from/to maven-default-http-blocker 
> (http://0.0.0.0/): Blocked mirror for repositories: [glassfish-repository 
> (http://download.java.net/maven/glassfish, default, releases+snapshots)] -
> {noformat}
> However I expect that my user settings should override global settings.
> as `external:*` used in my local settings should also match anything that is 
> matched by `external:http:*` in the global settings I would not expect that 
> the global settings mirror would be used.
> However this is infact the case.
> if I use --global-settings to specify my local settings file then the builds 
> work
> Additionally changing my mirror defintion to be 
> {{<mirrorOf>external:*,external:http:*</mirrorOf>}} still does not work



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to