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

Tobias Oberlies updated MNG-5638:
---------------------------------

    Description: 
Steps to reproduce the problem:
# Use the following settings.xml (replacing the URLs with valid URLs in your 
environment):
{noformat}
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0";
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
   xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 
http://maven.apache.org/xsd/settings-1.0.0.xsd";>

   <mirrors>
      <mirror>
         <id>mirror1</id>
         <url>http://nexus:8081/nexus/content/repositories/releases/</url>
         <mirrorOf>
            external:*, !snapshots.repo
         </mirrorOf>
      </mirror>
   </mirrors>

   <profiles>
      <profile>
         <id>use-snapshots-repo</id>
         <pluginRepositories>
            <pluginRepository>
               <id>snapshots.repo</id>
               
<url>http://nexus:8081/nexus/content/repositories/snapshots/</url>
            </pluginRepository>
         </pluginRepositories>
         <repositories>
            <repository>
               <id>snapshots.repo</id>
               
<url>http://nexus:8081/nexus/content/repositories/snapshots/</url>
            </repository>
         </repositories>
      </profile>
   </profiles>

   <activeProfiles>
      <activeProfile>use-snapshots-repo</activeProfile>
   </activeProfiles>

</settings>
{noformat}
# Set up a project which uses an artifact from {{snapshots.repo}} which is not 
available in the local Maven repository
# Build the project: The build fails because Maven only tries to download from 
the releases repository.

Expected behaviour: Maven should have used the snapshots repo.

The root cause of the problem is that whitespaces around the separators in the 
{{mirrorOf}} configuration are not trimmed. When changing the configuration to
{noformat}
         <mirrorOf>
            external:*,!snapshots.repo
         </mirrorOf>
{noformat}
the snapshots repository is used and the build passes.

  was:
Steps to reproduce the problem:
1. Use the following settings.xml (replacing the URLs with valid URLs in your 
environment):
{noformat}
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 
http://maven.apache.org/xsd/settings-1.0.0.xsd";>

        <mirrors>
                <mirror>
                        <id>mirror1</id>
                        
<url>http://nexus:8081/nexus/content/repositories/releases/</url>
                        <mirrorOf>
                                external:*, !snapshots.repo
                        </mirrorOf>
                </mirror>
        </mirrors>

        <profiles>
                <profile>
                        <id>use-snapshots-repo</id>
                        <pluginRepositories>
                                <pluginRepository>
                                        <id>snapshots.repo</id>
                                        
<url>http://nexus:8081/nexus/content/repositories/snapshots/</url>
                                </pluginRepository>
                        </pluginRepositories>
                        <repositories>
                                <repository>
                                        <id>snapshots.repo</id>
                                        
<url>http://nexus:8081/nexus/content/repositories/snapshots/</url>
                                </repository>
                        </repositories>
                </profile>
        </profiles>

        <activeProfiles>
                <activeProfile>use-snapshots-repo</activeProfile>
        </activeProfiles>

</settings>
{noformat}
2. Set up a project which uses an artifact from {{snapshots.repo}} which is not 
available in the local Maven repository
3. Build the project: The build fails because Maven only tries to download from 
the releases repository.

Expected behaviour: Maven should have used the snapshots repo.

The root cause of the problem is that whitespaces around the separators in the 
{{mirrorOf}} configuration are not trimmed. When changing the configuration to
{noformat}
                        <mirrorOf>
                                external:*,!snapshots.repo
                        </mirrorOf>
{noformat}
the snapshots repository is used and the build passes.


> Whitespaces matter in <mirrorOf> configuration
> ----------------------------------------------
>
>                 Key: MNG-5638
>                 URL: https://jira.codehaus.org/browse/MNG-5638
>             Project: Maven 2 & 3
>          Issue Type: Bug
>    Affects Versions: 3.2.1
>            Reporter: Tobias Oberlies
>
> Steps to reproduce the problem:
> # Use the following settings.xml (replacing the URLs with valid URLs in your 
> environment):
> {noformat}
> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0";
>    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 
> http://maven.apache.org/xsd/settings-1.0.0.xsd";>
>    <mirrors>
>       <mirror>
>          <id>mirror1</id>
>          <url>http://nexus:8081/nexus/content/repositories/releases/</url>
>          <mirrorOf>
>             external:*, !snapshots.repo
>          </mirrorOf>
>       </mirror>
>    </mirrors>
>    <profiles>
>       <profile>
>          <id>use-snapshots-repo</id>
>          <pluginRepositories>
>             <pluginRepository>
>                <id>snapshots.repo</id>
>                
> <url>http://nexus:8081/nexus/content/repositories/snapshots/</url>
>             </pluginRepository>
>          </pluginRepositories>
>          <repositories>
>             <repository>
>                <id>snapshots.repo</id>
>                
> <url>http://nexus:8081/nexus/content/repositories/snapshots/</url>
>             </repository>
>          </repositories>
>       </profile>
>    </profiles>
>    <activeProfiles>
>       <activeProfile>use-snapshots-repo</activeProfile>
>    </activeProfiles>
> </settings>
> {noformat}
> # Set up a project which uses an artifact from {{snapshots.repo}} which is 
> not available in the local Maven repository
> # Build the project: The build fails because Maven only tries to download 
> from the releases repository.
> Expected behaviour: Maven should have used the snapshots repo.
> The root cause of the problem is that whitespaces around the separators in 
> the {{mirrorOf}} configuration are not trimmed. When changing the 
> configuration to
> {noformat}
>          <mirrorOf>
>             external:*,!snapshots.repo
>          </mirrorOf>
> {noformat}
> the snapshots repository is used and the build passes.



--
This message was sent by Atlassian JIRA
(v6.1.6#6162)

Reply via email to