brett       2005/04/04 22:28:27

  Modified:    maven-mboot2/src/main/java/model ModelReader.java
  Log:
  better dep handling in mboot
  
  Revision  Changes    Path
  1.6       +25 -6     
maven-components/maven-mboot2/src/main/java/model/ModelReader.java
  
  Index: ModelReader.java
  ===================================================================
  RCS file: 
/home/cvs/maven-components/maven-mboot2/src/main/java/model/ModelReader.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ModelReader.java  4 Apr 2005 14:35:06 -0000       1.5
  +++ ModelReader.java  5 Apr 2005 05:28:26 -0000       1.6
  @@ -92,6 +92,8 @@
   
       private Map transitiveDependencies = new HashMap();
   
  +    private boolean insideDependencyManagement = false;
  +
       public ModelReader( ArtifactDownloader downloader, boolean 
resolveTransitiveDependencies )
       {
           this.downloader = downloader;
  @@ -132,9 +134,16 @@
           }
           else if ( rawName.equals( "dependency" ) )
           {
  -            currentDependency = new Dependency();
  +            if ( !insideDependencyManagement )
  +            {
  +                currentDependency = new Dependency();
   
  -            insideDependency = true;
  +                insideDependency = true;
  +            }
  +        }
  +        else if ( rawName.equals( "dependencyManagement" ) )
  +        {
  +            insideDependencyManagement = true;
           }
           else if ( rawName.equals( "resource" ) )
           {
  @@ -195,7 +204,7 @@
               // actually, these should be transtive (see MNG-77) - but some 
projects have circular deps that way (marmalade, and currently m2)
               ModelReader p = retrievePom( parentGroupId, parentArtifactId, 
parentVersion, false );
   
  -            addDependencies( p.getDependencies(), parentDependencies );
  +            addDependencies( p.getDependencies(), parentDependencies, null );
   
               resources.addAll( p.getResources() );
   
  @@ -212,11 +221,15 @@
                       ModelReader p = retrievePom( 
currentDependency.getGroupId(), currentDependency.getArtifactId(),
                                                    
currentDependency.getVersion(), resolveTransitiveDependencies );
   
  -                    addDependencies( p.getDependencies(), 
transitiveDependencies );
  +                    addDependencies( p.getDependencies(), 
transitiveDependencies, currentDependency.getScope() );
                   }
               }
               dependencies.put( currentDependency.getConflictId(), 
currentDependency );
           }
  +        else if ( rawName.equals( "dependencyManagement" ) )
  +        {
  +            insideDependencyManagement = false;
  +        }
           else if ( rawName.equals( "resource" ) )
           {
               resources.add( currentResource );
  @@ -332,12 +345,18 @@
           depth--;
       }
   
  -    private void addDependencies( Collection dependencies, Map target )
  +    private void addDependencies( Collection dependencies, Map target, 
String inheritedScope )
       {
           for ( Iterator i = dependencies.iterator(); i.hasNext(); )
           {
               Dependency d = (Dependency) i.next();
   
  +            // Do we care about runtime here?
  +            if ( "test".equals( inheritedScope ) )
  +            {
  +                d.setScope( "test" );
  +            }
  +
               if ( !hasDependency( d, target ) )
               {
                   target.put( d.getConflictId(), d );
  
  
  

Reply via email to