You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Hervé BOUTEMY <he...@free.fr> on 2015/08/17 07:57:32 UTC

Re: maven git commit: MNG-5871 refactoring: put url extrapolation algorithm in inheritance model merger

I just checked this commit through core ITs and everything went well

Any objection if I merge it to master now, before the Maven 3.3.7 release?

Regards,

Hervé

Le jeudi 13 août 2015 00:38:43 hboutemy@apache.org a écrit :
> Repository: maven
> Updated Branches:
>   refs/heads/MNG-5871 [created] 48ae9fd4a
> 
> 
> MNG-5871 refactoring: put url extrapolation algorithm in inheritance
> model merger
> 
> Project: http://git-wip-us.apache.org/repos/asf/maven/repo
> Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/48ae9fd4
> Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/48ae9fd4
> Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/48ae9fd4
> 
> Branch: refs/heads/MNG-5871
> Commit: 48ae9fd4af5be45c50aa6164dba96d254e902564
> Parents: 7f21ebe
> Author: Hervé Boutemy <hb...@apache.org>
> Authored: Thu Aug 13 02:36:59 2015 +0200
> Committer: Hervé Boutemy <hb...@apache.org>
> Committed: Thu Aug 13 02:36:59 2015 +0200
> 
> ----------------------------------------------------------------------
>  .../DefaultInheritanceAssembler.java            | 54 +++++++++++++++++
>  .../maven/model/merge/MavenModelMerger.java     | 63 +++-----------------
>  2 files changed, 62 insertions(+), 55 deletions(-)
> ----------------------------------------------------------------------
> 
> 
> http://git-wip-us.apache.org/repos/asf/maven/blob/48ae9fd4/maven-model-build
> er/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemb
> ler.java
> ---------------------------------------------------------------------- diff
> --git
> a/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/Defa
> ultInheritanceAssembler.java
> b/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/Defa
> ultInheritanceAssembler.java index 3b812ea..48fdad5 100644
> ---
> a/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/Defa
> ultInheritanceAssembler.java +++
> b/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/Defa
> ultInheritanceAssembler.java @@ -131,6 +131,60 @@ public class
> DefaultInheritanceAssembler
>      {
> 
>          @Override
> +        protected String extrapolateChildUrl( String parentUrl, Map<Object,
> Object> context ) +        {
> +            Object artifactId = context.get( ARTIFACT_ID );
> +            Object childPathAdjustment = context.get( CHILD_PATH_ADJUSTMENT
> ); +
> +            if ( artifactId != null && childPathAdjustment != null )
> +            {
> +                // append childPathAdjustment and artifactId to parent url
> +                return appendPath( parentUrl, artifactId.toString(),
> childPathAdjustment.toString() ); +            }
> +            else
> +            {
> +                return parentUrl;
> +            }
> +        }
> +
> +        private String appendPath( String parentUrl, String childPath,
> String pathAdjustment ) +        {
> +            String url = parentUrl;
> +            url = concatPath( url, pathAdjustment );
> +            url = concatPath( url, childPath );
> +            return url;
> +        }
> +
> +        private String concatPath( String base, String path )
> +        {
> +            String result = base;
> +
> +            if ( path != null && path.length() > 0 )
> +            {
> +                if ( ( result.endsWith( "/" ) && !path.startsWith( "/" ) )
> +                    || ( !result.endsWith( "/" ) && path.startsWith( "/" )
> ) ) +                {
> +                    result += path;
> +                }
> +                else if ( result.endsWith( "/" ) && path.startsWith( "/" )
> ) +                {
> +                    result += path.substring( 1 );
> +                }
> +                else
> +                {
> +                    result += '/';
> +                    result += path;
> +                }
> +                if ( base.endsWith( "/" ) && !result.endsWith( "/" ) )
> +                {
> +                    result += '/';
> +                }
> +            }
> +
> +            return result;
> +        }
> +
> +        @Override
>          protected void mergePluginContainer_Plugins( PluginContainer
> target, PluginContainer source, boolean sourceDominant, Map<Object, Object>
> context ) {
> 
> http://git-wip-us.apache.org/repos/asf/maven/blob/48ae9fd4/maven-model-build
> er/src/main/java/org/apache/maven/model/merge/MavenModelMerger.java
> ---------------------------------------------------------------------- diff
> --git
> a/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModel
> Merger.java
> b/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModel
> Merger.java index 66577cb..0007af5 100644
> ---
> a/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModel
> Merger.java +++
> b/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModel
> Merger.java @@ -65,7 +65,7 @@ public class MavenModelMerger
>      /**
>       * The context key for the artifact id of the target model.
>       */
> -    private static final String ARTIFACT_ID = "artifact-id";
> +    public static final String ARTIFACT_ID = "artifact-id";
> 
>      @Override
>      protected void mergeModel( Model target, Model source, boolean
> sourceDominant, Map<Object, Object> context ) @@ -102,7 +102,7 @@ public
> class MavenModelMerger
>              }
>              else if ( target.getUrl() == null )
>              {
> -                target.setUrl( appendPath( src, context ) );
> +                target.setUrl( extrapolateChildUrl( src, context ) );
>                  target.setLocation( "url", source.getLocation( "url" ) );
>              }
>          }
> @@ -466,7 +466,7 @@ public class MavenModelMerger
>              }
>              else if ( target.getUrl() == null )
>              {
> -                target.setUrl( appendPath( src, context ) );
> +                target.setUrl( extrapolateChildUrl( src, context ) );
>                  target.setLocation( "url", source.getLocation( "url" ) );
>              }
>          }
> @@ -485,7 +485,7 @@ public class MavenModelMerger
>              }
>              else if ( target.getUrl() == null )
>              {
> -                target.setUrl( appendPath( src, context ) );
> +                target.setUrl( extrapolateChildUrl( src, context ) );
>                  target.setLocation( "url", source.getLocation( "url" ) );
>              }
>          }
> @@ -504,7 +504,7 @@ public class MavenModelMerger
>              }
>              else if ( target.getConnection() == null )
>              {
> -                target.setConnection( appendPath( src, context ) );
> +                target.setConnection( extrapolateChildUrl( src, context )
> ); target.setLocation( "connection", source.getLocation( "connection" ) );
> }
>          }
> @@ -524,7 +524,7 @@ public class MavenModelMerger
>              }
>              else if ( target.getDeveloperConnection() == null )
>              {
> -                target.setDeveloperConnection( appendPath( src, context )
> ); +                target.setDeveloperConnection( extrapolateChildUrl(
> src, context ) ); target.setLocation( "developerConnection",
> source.getLocation( "developerConnection" ) ); }
>          }
> @@ -670,56 +670,9 @@ public class MavenModelMerger
>          return exclusion.getGroupId() + ':' + exclusion.getArtifactId();
>      }
> 
> -    private String appendPath( String parentPath, Map<Object, Object>
> context ) +    protected String extrapolateChildUrl( String parentUrl,
> Map<Object, Object> context ) {
> -        Object artifactId = context.get( ARTIFACT_ID );
> -        Object childPathAdjustment = context.get( CHILD_PATH_ADJUSTMENT );
> -
> -        if ( artifactId != null && childPathAdjustment != null )
> -        {
> -            return appendPath( parentPath, artifactId.toString(),
> childPathAdjustment.toString() ); -        }
> -        else
> -        {
> -            return parentPath;
> -        }
> -    }
> -
> -    private String appendPath( String parentPath, String childPath, String
> pathAdjustment ) -    {
> -        String path = parentPath;
> -        path = concatPath( path, pathAdjustment );
> -        path = concatPath( path, childPath );
> -        return path;
> -    }
> -
> -    private String concatPath( String base, String path )
> -    {
> -        String result = base;
> -
> -        if ( path != null && path.length() > 0 )
> -        {
> -            if ( ( result.endsWith( "/" ) && !path.startsWith( "/" ) )
> -                || ( !result.endsWith( "/" ) && path.startsWith( "/" ) ) )
> -            {
> -                result += path;
> -            }
> -            else if ( result.endsWith( "/" ) && path.startsWith( "/" ) )
> -            {
> -                result += path.substring( 1 );
> -            }
> -            else
> -            {
> -                result += '/';
> -                result += path;
> -            }
> -            if ( base.endsWith( "/" ) && !result.endsWith( "/" ) )
> -            {
> -                result += '/';
> -            }
> -        }
> -
> -        return result;
> +        return parentUrl;
>      }
> 
>  }


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: maven git commit: MNG-5871 refactoring: put url extrapolation algorithm in inheritance model merger

Posted by Hervé BOUTEMY <he...@free.fr>.
ok, done
thank you

Hervé

Le lundi 17 août 2015 08:44:54 Jason van Zyl a écrit :
> Go for it. Let me know when you’re happy and I’ll spin the release.
> 
> > On Aug 17, 2015, at 1:57 AM, Hervé BOUTEMY <he...@free.fr> wrote:
> > 
> > I just checked this commit through core ITs and everything went well
> > 
> > Any objection if I merge it to master now, before the Maven 3.3.7 release?
> > 
> > Regards,
> > 
> > Hervé
> > 
> > Le jeudi 13 août 2015 00:38:43 hboutemy@apache.org a écrit :
> >> Repository: maven
> >> 
> >> Updated Branches:
> >>  refs/heads/MNG-5871 [created] 48ae9fd4a
> >> 
> >> MNG-5871 refactoring: put url extrapolation algorithm in inheritance
> >> model merger
> >> 
> >> Project: http://git-wip-us.apache.org/repos/asf/maven/repo
> >> Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/48ae9fd4
> >> Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/48ae9fd4
> >> Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/48ae9fd4
> >> 
> >> Branch: refs/heads/MNG-5871
> >> Commit: 48ae9fd4af5be45c50aa6164dba96d254e902564
> >> Parents: 7f21ebe
> >> Author: Hervé Boutemy <hb...@apache.org>
> >> Authored: Thu Aug 13 02:36:59 2015 +0200
> >> Committer: Hervé Boutemy <hb...@apache.org>
> >> Committed: Thu Aug 13 02:36:59 2015 +0200
> >> 
> >> ----------------------------------------------------------------------
> >> .../DefaultInheritanceAssembler.java            | 54 +++++++++++++++++
> >> .../maven/model/merge/MavenModelMerger.java     | 63 +++-----------------
> >> 2 files changed, 62 insertions(+), 55 deletions(-)
> >> ----------------------------------------------------------------------
> >> 
> >> 
> >> http://git-wip-us.apache.org/repos/asf/maven/blob/48ae9fd4/maven-model-bu
> >> ild
> >> er/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAs
> >> semb ler.java
> >> ----------------------------------------------------------------------
> >> diff
> >> --git
> >> a/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/De
> >> fa
> >> ultInheritanceAssembler.java
> >> b/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/De
> >> fa
> >> ultInheritanceAssembler.java index 3b812ea..48fdad5 100644
> >> ---
> >> a/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/De
> >> fa
> >> ultInheritanceAssembler.java +++
> >> b/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/De
> >> fa
> >> ultInheritanceAssembler.java @@ -131,6 +131,60 @@ public class
> >> DefaultInheritanceAssembler
> >> 
> >>     {
> >>     
> >>         @Override
> >> 
> >> +        protected String extrapolateChildUrl( String parentUrl,
> >> Map<Object, Object> context ) +        {
> >> +            Object artifactId = context.get( ARTIFACT_ID );
> >> +            Object childPathAdjustment = context.get(
> >> CHILD_PATH_ADJUSTMENT ); +
> >> +            if ( artifactId != null && childPathAdjustment != null )
> >> +            {
> >> +                // append childPathAdjustment and artifactId to parent
> >> url
> >> +                return appendPath( parentUrl, artifactId.toString(),
> >> childPathAdjustment.toString() ); +            }
> >> +            else
> >> +            {
> >> +                return parentUrl;
> >> +            }
> >> +        }
> >> +
> >> +        private String appendPath( String parentUrl, String childPath,
> >> String pathAdjustment ) +        {
> >> +            String url = parentUrl;
> >> +            url = concatPath( url, pathAdjustment );
> >> +            url = concatPath( url, childPath );
> >> +            return url;
> >> +        }
> >> +
> >> +        private String concatPath( String base, String path )
> >> +        {
> >> +            String result = base;
> >> +
> >> +            if ( path != null && path.length() > 0 )
> >> +            {
> >> +                if ( ( result.endsWith( "/" ) && !path.startsWith( "/" )
> >> )
> >> +                    || ( !result.endsWith( "/" ) && path.startsWith( "/"
> >> )
> >> ) ) +                {
> >> +                    result += path;
> >> +                }
> >> +                else if ( result.endsWith( "/" ) && path.startsWith( "/"
> >> )
> >> ) +                {
> >> +                    result += path.substring( 1 );
> >> +                }
> >> +                else
> >> +                {
> >> +                    result += '/';
> >> +                    result += path;
> >> +                }
> >> +                if ( base.endsWith( "/" ) && !result.endsWith( "/" ) )
> >> +                {
> >> +                    result += '/';
> >> +                }
> >> +            }
> >> +
> >> +            return result;
> >> +        }
> >> +
> >> +        @Override
> >> 
> >>         protected void mergePluginContainer_Plugins( PluginContainer
> >> 
> >> target, PluginContainer source, boolean sourceDominant, Map<Object,
> >> Object>
> >> context ) {
> >> 
> >> http://git-wip-us.apache.org/repos/asf/maven/blob/48ae9fd4/maven-model-bu
> >> ild er/src/main/java/org/apache/maven/model/merge/MavenModelMerger.java
> >> ----------------------------------------------------------------------
> >> diff --git
> >> a/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenMod
> >> el
> >> Merger.java
> >> b/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenMod
> >> el
> >> Merger.java index 66577cb..0007af5 100644
> >> ---
> >> a/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenMod
> >> el
> >> Merger.java +++
> >> b/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenMod
> >> el
> >> Merger.java @@ -65,7 +65,7 @@ public class MavenModelMerger
> >> 
> >>     /**
> >>     
> >>      * The context key for the artifact id of the target model.
> >>      */
> >> 
> >> -    private static final String ARTIFACT_ID = "artifact-id";
> >> +    public static final String ARTIFACT_ID = "artifact-id";
> >> 
> >>     @Override
> >>     protected void mergeModel( Model target, Model source, boolean
> >> 
> >> sourceDominant, Map<Object, Object> context ) @@ -102,7 +102,7 @@ public
> >> class MavenModelMerger
> >> 
> >>             }
> >>             else if ( target.getUrl() == null )
> >>             {
> >> 
> >> -                target.setUrl( appendPath( src, context ) );
> >> +                target.setUrl( extrapolateChildUrl( src, context ) );
> >> 
> >>                 target.setLocation( "url", source.getLocation( "url" ) );
> >>             
> >>             }
> >>         
> >>         }
> >> 
> >> @@ -466,7 +466,7 @@ public class MavenModelMerger
> >> 
> >>             }
> >>             else if ( target.getUrl() == null )
> >>             {
> >> 
> >> -                target.setUrl( appendPath( src, context ) );
> >> +                target.setUrl( extrapolateChildUrl( src, context ) );
> >> 
> >>                 target.setLocation( "url", source.getLocation( "url" ) );
> >>             
> >>             }
> >>         
> >>         }
> >> 
> >> @@ -485,7 +485,7 @@ public class MavenModelMerger
> >> 
> >>             }
> >>             else if ( target.getUrl() == null )
> >>             {
> >> 
> >> -                target.setUrl( appendPath( src, context ) );
> >> +                target.setUrl( extrapolateChildUrl( src, context ) );
> >> 
> >>                 target.setLocation( "url", source.getLocation( "url" ) );
> >>             
> >>             }
> >>         
> >>         }
> >> 
> >> @@ -504,7 +504,7 @@ public class MavenModelMerger
> >> 
> >>             }
> >>             else if ( target.getConnection() == null )
> >>             {
> >> 
> >> -                target.setConnection( appendPath( src, context ) );
> >> +                target.setConnection( extrapolateChildUrl( src, context
> >> )
> >> ); target.setLocation( "connection", source.getLocation( "connection" )
> >> );
> >> }
> >> 
> >>         }
> >> 
> >> @@ -524,7 +524,7 @@ public class MavenModelMerger
> >> 
> >>             }
> >>             else if ( target.getDeveloperConnection() == null )
> >>             {
> >> 
> >> -                target.setDeveloperConnection( appendPath( src, context
> >> )
> >> ); +                target.setDeveloperConnection( extrapolateChildUrl(
> >> src, context ) ); target.setLocation( "developerConnection",
> >> source.getLocation( "developerConnection" ) ); }
> >> 
> >>         }
> >> 
> >> @@ -670,56 +670,9 @@ public class MavenModelMerger
> >> 
> >>         return exclusion.getGroupId() + ':' + exclusion.getArtifactId();
> >>     
> >>     }
> >> 
> >> -    private String appendPath( String parentPath, Map<Object, Object>
> >> context ) +    protected String extrapolateChildUrl( String parentUrl,
> >> Map<Object, Object> context ) {
> >> -        Object artifactId = context.get( ARTIFACT_ID );
> >> -        Object childPathAdjustment = context.get( CHILD_PATH_ADJUSTMENT
> >> );
> >> -
> >> -        if ( artifactId != null && childPathAdjustment != null )
> >> -        {
> >> -            return appendPath( parentPath, artifactId.toString(),
> >> childPathAdjustment.toString() ); -        }
> >> -        else
> >> -        {
> >> -            return parentPath;
> >> -        }
> >> -    }
> >> -
> >> -    private String appendPath( String parentPath, String childPath,
> >> String
> >> pathAdjustment ) -    {
> >> -        String path = parentPath;
> >> -        path = concatPath( path, pathAdjustment );
> >> -        path = concatPath( path, childPath );
> >> -        return path;
> >> -    }
> >> -
> >> -    private String concatPath( String base, String path )
> >> -    {
> >> -        String result = base;
> >> -
> >> -        if ( path != null && path.length() > 0 )
> >> -        {
> >> -            if ( ( result.endsWith( "/" ) && !path.startsWith( "/" ) )
> >> -                || ( !result.endsWith( "/" ) && path.startsWith( "/" ) )
> >> )
> >> -            {
> >> -                result += path;
> >> -            }
> >> -            else if ( result.endsWith( "/" ) && path.startsWith( "/" ) )
> >> -            {
> >> -                result += path.substring( 1 );
> >> -            }
> >> -            else
> >> -            {
> >> -                result += '/';
> >> -                result += path;
> >> -            }
> >> -            if ( base.endsWith( "/" ) && !result.endsWith( "/" ) )
> >> -            {
> >> -                result += '/';
> >> -            }
> >> -        }
> >> -
> >> -        return result;
> >> +        return parentUrl;
> >> 
> >>     }
> >> 
> >> }
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> > For additional commands, e-mail: dev-help@maven.apache.org
> 
> Thanks,
> 
> Jason
> 
> ----------------------------------------------------------
> Jason van Zyl
> Founder, Takari and Apache Maven
> http://twitter.com/jvanzyl
> http://twitter.com/takari_io
> ---------------------------------------------------------
> 
> I never make the mistake of arguing with people for whose opinions I have no
> respect.
> 
> -- Edward Gibbon
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: maven git commit: MNG-5871 refactoring: put url extrapolation algorithm in inheritance model merger

Posted by Jason van Zyl <ja...@takari.io>.
Go for it. Let me know when you’re happy and I’ll spin the release.

> On Aug 17, 2015, at 1:57 AM, Hervé BOUTEMY <he...@free.fr> wrote:
> 
> I just checked this commit through core ITs and everything went well
> 
> Any objection if I merge it to master now, before the Maven 3.3.7 release?
> 
> Regards,
> 
> Hervé
> 
> Le jeudi 13 août 2015 00:38:43 hboutemy@apache.org a écrit :
>> Repository: maven
>> Updated Branches:
>>  refs/heads/MNG-5871 [created] 48ae9fd4a
>> 
>> 
>> MNG-5871 refactoring: put url extrapolation algorithm in inheritance
>> model merger
>> 
>> Project: http://git-wip-us.apache.org/repos/asf/maven/repo
>> Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/48ae9fd4
>> Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/48ae9fd4
>> Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/48ae9fd4
>> 
>> Branch: refs/heads/MNG-5871
>> Commit: 48ae9fd4af5be45c50aa6164dba96d254e902564
>> Parents: 7f21ebe
>> Author: Hervé Boutemy <hb...@apache.org>
>> Authored: Thu Aug 13 02:36:59 2015 +0200
>> Committer: Hervé Boutemy <hb...@apache.org>
>> Committed: Thu Aug 13 02:36:59 2015 +0200
>> 
>> ----------------------------------------------------------------------
>> .../DefaultInheritanceAssembler.java            | 54 +++++++++++++++++
>> .../maven/model/merge/MavenModelMerger.java     | 63 +++-----------------
>> 2 files changed, 62 insertions(+), 55 deletions(-)
>> ----------------------------------------------------------------------
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/maven/blob/48ae9fd4/maven-model-build
>> er/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemb
>> ler.java
>> ---------------------------------------------------------------------- diff
>> --git
>> a/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/Defa
>> ultInheritanceAssembler.java
>> b/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/Defa
>> ultInheritanceAssembler.java index 3b812ea..48fdad5 100644
>> ---
>> a/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/Defa
>> ultInheritanceAssembler.java +++
>> b/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/Defa
>> ultInheritanceAssembler.java @@ -131,6 +131,60 @@ public class
>> DefaultInheritanceAssembler
>>     {
>> 
>>         @Override
>> +        protected String extrapolateChildUrl( String parentUrl, Map<Object,
>> Object> context ) +        {
>> +            Object artifactId = context.get( ARTIFACT_ID );
>> +            Object childPathAdjustment = context.get( CHILD_PATH_ADJUSTMENT
>> ); +
>> +            if ( artifactId != null && childPathAdjustment != null )
>> +            {
>> +                // append childPathAdjustment and artifactId to parent url
>> +                return appendPath( parentUrl, artifactId.toString(),
>> childPathAdjustment.toString() ); +            }
>> +            else
>> +            {
>> +                return parentUrl;
>> +            }
>> +        }
>> +
>> +        private String appendPath( String parentUrl, String childPath,
>> String pathAdjustment ) +        {
>> +            String url = parentUrl;
>> +            url = concatPath( url, pathAdjustment );
>> +            url = concatPath( url, childPath );
>> +            return url;
>> +        }
>> +
>> +        private String concatPath( String base, String path )
>> +        {
>> +            String result = base;
>> +
>> +            if ( path != null && path.length() > 0 )
>> +            {
>> +                if ( ( result.endsWith( "/" ) && !path.startsWith( "/" ) )
>> +                    || ( !result.endsWith( "/" ) && path.startsWith( "/" )
>> ) ) +                {
>> +                    result += path;
>> +                }
>> +                else if ( result.endsWith( "/" ) && path.startsWith( "/" )
>> ) +                {
>> +                    result += path.substring( 1 );
>> +                }
>> +                else
>> +                {
>> +                    result += '/';
>> +                    result += path;
>> +                }
>> +                if ( base.endsWith( "/" ) && !result.endsWith( "/" ) )
>> +                {
>> +                    result += '/';
>> +                }
>> +            }
>> +
>> +            return result;
>> +        }
>> +
>> +        @Override
>>         protected void mergePluginContainer_Plugins( PluginContainer
>> target, PluginContainer source, boolean sourceDominant, Map<Object, Object>
>> context ) {
>> 
>> http://git-wip-us.apache.org/repos/asf/maven/blob/48ae9fd4/maven-model-build
>> er/src/main/java/org/apache/maven/model/merge/MavenModelMerger.java
>> ---------------------------------------------------------------------- diff
>> --git
>> a/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModel
>> Merger.java
>> b/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModel
>> Merger.java index 66577cb..0007af5 100644
>> ---
>> a/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModel
>> Merger.java +++
>> b/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModel
>> Merger.java @@ -65,7 +65,7 @@ public class MavenModelMerger
>>     /**
>>      * The context key for the artifact id of the target model.
>>      */
>> -    private static final String ARTIFACT_ID = "artifact-id";
>> +    public static final String ARTIFACT_ID = "artifact-id";
>> 
>>     @Override
>>     protected void mergeModel( Model target, Model source, boolean
>> sourceDominant, Map<Object, Object> context ) @@ -102,7 +102,7 @@ public
>> class MavenModelMerger
>>             }
>>             else if ( target.getUrl() == null )
>>             {
>> -                target.setUrl( appendPath( src, context ) );
>> +                target.setUrl( extrapolateChildUrl( src, context ) );
>>                 target.setLocation( "url", source.getLocation( "url" ) );
>>             }
>>         }
>> @@ -466,7 +466,7 @@ public class MavenModelMerger
>>             }
>>             else if ( target.getUrl() == null )
>>             {
>> -                target.setUrl( appendPath( src, context ) );
>> +                target.setUrl( extrapolateChildUrl( src, context ) );
>>                 target.setLocation( "url", source.getLocation( "url" ) );
>>             }
>>         }
>> @@ -485,7 +485,7 @@ public class MavenModelMerger
>>             }
>>             else if ( target.getUrl() == null )
>>             {
>> -                target.setUrl( appendPath( src, context ) );
>> +                target.setUrl( extrapolateChildUrl( src, context ) );
>>                 target.setLocation( "url", source.getLocation( "url" ) );
>>             }
>>         }
>> @@ -504,7 +504,7 @@ public class MavenModelMerger
>>             }
>>             else if ( target.getConnection() == null )
>>             {
>> -                target.setConnection( appendPath( src, context ) );
>> +                target.setConnection( extrapolateChildUrl( src, context )
>> ); target.setLocation( "connection", source.getLocation( "connection" ) );
>> }
>>         }
>> @@ -524,7 +524,7 @@ public class MavenModelMerger
>>             }
>>             else if ( target.getDeveloperConnection() == null )
>>             {
>> -                target.setDeveloperConnection( appendPath( src, context )
>> ); +                target.setDeveloperConnection( extrapolateChildUrl(
>> src, context ) ); target.setLocation( "developerConnection",
>> source.getLocation( "developerConnection" ) ); }
>>         }
>> @@ -670,56 +670,9 @@ public class MavenModelMerger
>>         return exclusion.getGroupId() + ':' + exclusion.getArtifactId();
>>     }
>> 
>> -    private String appendPath( String parentPath, Map<Object, Object>
>> context ) +    protected String extrapolateChildUrl( String parentUrl,
>> Map<Object, Object> context ) {
>> -        Object artifactId = context.get( ARTIFACT_ID );
>> -        Object childPathAdjustment = context.get( CHILD_PATH_ADJUSTMENT );
>> -
>> -        if ( artifactId != null && childPathAdjustment != null )
>> -        {
>> -            return appendPath( parentPath, artifactId.toString(),
>> childPathAdjustment.toString() ); -        }
>> -        else
>> -        {
>> -            return parentPath;
>> -        }
>> -    }
>> -
>> -    private String appendPath( String parentPath, String childPath, String
>> pathAdjustment ) -    {
>> -        String path = parentPath;
>> -        path = concatPath( path, pathAdjustment );
>> -        path = concatPath( path, childPath );
>> -        return path;
>> -    }
>> -
>> -    private String concatPath( String base, String path )
>> -    {
>> -        String result = base;
>> -
>> -        if ( path != null && path.length() > 0 )
>> -        {
>> -            if ( ( result.endsWith( "/" ) && !path.startsWith( "/" ) )
>> -                || ( !result.endsWith( "/" ) && path.startsWith( "/" ) ) )
>> -            {
>> -                result += path;
>> -            }
>> -            else if ( result.endsWith( "/" ) && path.startsWith( "/" ) )
>> -            {
>> -                result += path.substring( 1 );
>> -            }
>> -            else
>> -            {
>> -                result += '/';
>> -                result += path;
>> -            }
>> -            if ( base.endsWith( "/" ) && !result.endsWith( "/" ) )
>> -            {
>> -                result += '/';
>> -            }
>> -        }
>> -
>> -        return result;
>> +        return parentUrl;
>>     }
>> 
>> }
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
> 

Thanks,

Jason

----------------------------------------------------------
Jason van Zyl
Founder, Takari and Apache Maven
http://twitter.com/jvanzyl
http://twitter.com/takari_io
---------------------------------------------------------

I never make the mistake of arguing with people for whose opinions I have no respect.

-- Edward Gibbon












---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org