dion        2003/01/16 16:10:27

  Modified:    src/java/org/apache/maven/project Project.java
               src/java/org/apache/maven/plugin PluginManager.java
  Log:
  Allowing project dependencies with <properties><classloader> to be processed whether
  they are a plugin, or the 'current' project.
  
  Revision  Changes    Path
  1.71      +34 -1     
jakarta-turbine-maven/src/java/org/apache/maven/project/Project.java
  
  Index: Project.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-maven/src/java/org/apache/maven/project/Project.java,v
  retrieving revision 1.70
  retrieving revision 1.71
  diff -u -r1.70 -r1.71
  --- Project.java      14 Jan 2003 18:32:28 -0000      1.70
  +++ Project.java      17 Jan 2003 00:10:26 -0000      1.71
  @@ -61,6 +61,7 @@
   import org.apache.maven.DependencyClasspathBuilder;
   import org.apache.maven.ArtifactListBuilder;
   import org.apache.maven.AntProjectBuilder;
  +import org.apache.maven.repository.Artifact;
   import org.apache.maven.verifier.RepoConfigException;
   import org.apache.maven.verifier.UnsatisfiedDependencyException;
   import org.apache.maven.verifier.DependencyVerifier;
  @@ -72,9 +73,12 @@
   import org.dom4j.Document;
   import org.dom4j.io.SAXReader;
   
  +import com.werken.forehead.Forehead;
  +
   import java.io.File;
   import java.io.InputStreamReader;
   import java.io.InputStream;
  +import java.net.MalformedURLException;
   import java.util.ArrayList;
   import java.util.HashMap;
   import java.util.Iterator;
  @@ -1290,6 +1294,35 @@
           }
       }
   
  +    /**
  +     * process the dependencies for this project
  +     */
  +    public void processDependencies() throws MalformedURLException
  +    {
  +        for ( Iterator i = getArtifacts().iterator(); i.hasNext(); )
  +        {
  +            Artifact artifact = (Artifact) i.next();
  +            Dependency dependency = artifact.getDependency();
  +            String classloader = dependency.getProperty( "classloader" );
  +
  +            // Only add compile type dependencies to classloader
  +            if ( classloader != null && dependency.getType().equals( "jar" ) )
  +            {
  +                // We have the jar and the classloader to push it into so
  +                // lets do it!
  +                if ( artifact.exists() )
  +                {
  +                    // Make sure the stated classloader actually exists.
  +                    if ( Forehead.getInstance().getClassLoader( classloader ) != 
null )
  +                    {
  +                        Forehead.getInstance().getClassLoader( classloader 
).addURL( artifact.getFile().toURL() );
  +                    }
  +                }
  +            }
  +        }
  +
  +    }
  +    
       /**
        * Set the dependency verifier.
        *
  
  
  
  1.35      +4 -24     
jakarta-turbine-maven/src/java/org/apache/maven/plugin/PluginManager.java
  
  Index: PluginManager.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-maven/src/java/org/apache/maven/plugin/PluginManager.java,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- PluginManager.java        14 Jan 2003 16:03:01 -0000      1.34
  +++ PluginManager.java        17 Jan 2003 00:10:26 -0000      1.35
  @@ -71,9 +71,7 @@
   import org.apache.maven.UnknownGoalException;
   import org.apache.maven.jelly.JellyUtils;
   import org.apache.maven.jelly.MavenJellyContext;
  -import org.apache.maven.project.Dependency;
   import org.apache.maven.project.Project;
  -import org.apache.maven.repository.Artifact;
   import org.apache.maven.util.Expand;
   
   import java.io.File;
  @@ -325,6 +323,8 @@
           // Before attempting to attain the goals verify the project
           // if desired.
           project.verifyDependencies();
  +        // process the dependencies and integrate classpath properties etc
  +        project.processDependencies();
   
           // If this project has a parent then we will load it's maven.xml
           // file into this project so any goals the parent specifies in
  @@ -650,27 +650,7 @@
               FileUtils.fileWrite( getPluginProcessedMarker( name ).getPath(), 
"plugin has been processed.");
           }
   
  -        for ( Iterator i = pluginProject.getArtifacts().iterator(); i.hasNext(); )
  -        {
  -            Artifact artifact = (Artifact) i.next();
  -            Dependency dependency = artifact.getDependency();
  -            String classloader = dependency.getProperty( "classloader" );
  -
  -            // Only add compile type dependencies to classloader
  -            if ( classloader != null && dependency.getType().equals( "jar" ) )
  -            {
  -                // We have the jar and the classloader to push it into so
  -                // lets do it!
  -                if ( artifact.exists() )
  -                {
  -                    // Make sure the stated classloader actually exists.
  -                    if ( Forehead.getInstance().getClassLoader( classloader ) != 
null )
  -                    {
  -                        Forehead.getInstance().getClassLoader( classloader 
).addURL( artifact.getFile().toURL() );
  -                    }
  -                }
  -            }
  -        }
  +        pluginProject.processDependencies();
   
           // We need to create a separate context for the plugin.jelly script to run 
against
           // because we need our values of "plugin" and "plugin.dir" to have distinct 
values.
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to