dion        2003/08/03 18:11:14

  Modified:    src/java/org/apache/maven/plugin JellyPlugin.java
                        PluginManager.java
               src/java/org/apache/maven/verifier DependencyVerifier.java
               src/java/org/apache/maven Maven.java
                        ArtifactListBuilder.java
               src/java/org/apache/maven/project Project.java
  Log:
  More reworking to include JellyPlugin
  
  Revision  Changes    Path
  1.2       +61 -5     maven/src/java/org/apache/maven/plugin/JellyPlugin.java
  
  Index: JellyPlugin.java
  ===================================================================
  RCS file: /home/cvs/maven/src/java/org/apache/maven/plugin/JellyPlugin.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- JellyPlugin.java  1 Aug 2003 07:39:24 -0000       1.1
  +++ JellyPlugin.java  4 Aug 2003 01:11:13 -0000       1.2
  @@ -30,8 +30,7 @@
    *    derived from this software without prior written permission. For
    *    written permission, please contact [EMAIL PROTECTED]
    *
  - * 5. Products derived from this software may not be called "Apache",
  - *    "Apache Maven", nor may "Apache" appear in their name, without
  + * 5. Products derived from this software may not be called "Apache", *    "Apache 
Maven", nor may "Apache" appear in their name, without
    *    prior written permission of the Apache Software Foundation.
    *
    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  @@ -61,9 +60,11 @@
   import java.net.MalformedURLException;
   
   import org.apache.commons.jelly.Script;
  +import org.apache.maven.MavenException;
   import org.apache.maven.jelly.JellyUtils;
   import org.apache.maven.jelly.MavenJellyContext;
   import org.apache.maven.project.Project;
  +import org.apache.maven.util.Expand;
   import org.apache.maven.verifier.ChecksumVerificationException;
   import org.apache.maven.verifier.RepoConfigException;
   import org.apache.maven.verifier.UnsatisfiedDependencyException;
  @@ -81,7 +82,13 @@
   
       /** the id of the plugin */
       private String id;
  +
  +    /** the jar file the plugin was extracted from */
  +    private File jarFile;
       
  +    /** the directory to unpack the plugin into */
  +    private File unpackDirectory;
  +        
       /** the directory the plugin is installed into */
       private File directory;
   
  @@ -134,6 +141,10 @@
        */
       public File getDirectory()
       {
  +        if (directory == null && unpackDirectory != null)
  +        {
  +            directory = new File(unpackDirectory, id);
  +        }
           return directory;
       }
   
  @@ -159,7 +170,7 @@
       public File getScriptFile()
       {
           if (scriptFile == null) {
  -            scriptFile = new File( directory, "plugin.jelly");
  +            scriptFile = new File( getDirectory(), "plugin.jelly");
           }
           return scriptFile;
       }
  @@ -170,7 +181,7 @@
       public File getDescriptor()
       {
           if (descriptor == null) {
  -            descriptor = new File( directory, "project.xml");
  +            descriptor = new File( getDirectory(), "project.xml");
           }
           return descriptor;
       }
  @@ -182,7 +193,7 @@
       {
           if (processedMarker == null)
           {
  -            processedMarker = new File(directory, ".processed");
  +            processedMarker = new File(getDirectory(), ".processed");
           }
           return processedMarker;
       }
  @@ -272,5 +283,50 @@
               compiledScript = JellyUtils.compileScript( getScriptFile(), context );
           }
           return compiledScript;
  +    }
  +    /**
  +     * @param file the jar file containing the plugin
  +     */
  +    public void setJarFile(File file)
  +    {
  +        jarFile = file;
  +    }
  +
  +    /**
  +     * @param file the directory to unpack the plugin into
  +     */
  +    public void setUnpackDirectory(File file)
  +    {
  +        unpackDirectory = file;
  +    }
  +
  +    /**
  +     */
  +    public void unpack() throws MavenException
  +    {
  +        File unzipDir = getDirectory();
  +        
  +        // if there's no directory, or the jar is newer, expand the jar
  +        if ( !unzipDir.exists() 
  +            || jarFile.lastModified() > unzipDir.lastModified() )
  +        {
  +            File processed = getProcessedMarker();
  +            if ( processed.exists() )
  +            {
  +                processed.delete();
  +            }
  +        
  +            try
  +            {
  +                Expand unzipper = new Expand();
  +                unzipper.setSrc( jarFile );
  +                unzipper.setDest( unzipDir );
  +                unzipper.execute();
  +            }
  +            catch ( IOException e )
  +            {
  +                throw new MavenException( "Unable to extract plugin: " + jarFile, e 
);
  +            }
  +        }
       }
   }
  
  
  
  1.59      +139 -138  maven/src/java/org/apache/maven/plugin/PluginManager.java
  
  Index: PluginManager.java
  ===================================================================
  RCS file: /home/cvs/maven/src/java/org/apache/maven/plugin/PluginManager.java,v
  retrieving revision 1.58
  retrieving revision 1.59
  diff -u -r1.58 -r1.59
  --- PluginManager.java        1 Aug 2003 07:39:24 -0000       1.58
  +++ PluginManager.java        4 Aug 2003 01:11:13 -0000       1.59
  @@ -82,7 +82,6 @@
   import org.apache.maven.project.Project;
   import org.apache.maven.repository.Artifact;
   import org.apache.maven.util.Expand;
  -import org.apache.plexus.util.FileUtils;
   import org.apache.tools.ant.types.Path;
   
   import java.io.File;
  @@ -120,8 +119,6 @@
   {
       /** Logger */
       private static final Log log = LogFactory.getLog( PluginManager.class );
  -    /** Plug-in main script name. */
  -    public static final String PLUGIN_SCRIPT_NAME = "plugin.jelly";
       /** */
       public static final String PLUGIN_MANAGER = "maven.pluginManager";
       /** */
  @@ -153,6 +150,9 @@
       
       /** map of loaded plugins by id */
       private Map loadedPlugins;
  +    
  +    /** map of plugins by id */
  +    private Map plugins;
   
       /** rootClassLoader classloader. */
       private ForeheadClassLoader rootClassLoader;
  @@ -178,6 +178,7 @@
   
           jellyScriptHousings = new HashMap();
           loadedPlugins = new HashMap();
  +        plugins = new HashMap();
   
           mapper = new GoalToJellyScriptHousingMapper();
   
  @@ -203,95 +204,63 @@
       }
   
       /**
  -     * @todo Why is this method public?
  -     * @return
  -     */
  -    public GoalToJellyScriptHousingMapper getMapper()
  -    {
  -        return mapper;
  -    }
  -
  -    // ----------------------------------------------------------------------
  -    // P U B L I C  A P I
  -    // ----------------------------------------------------------------------
  -
  -    /**
  -     *  Initialize all plugins.
  -     *
  -     *  @throws Exception If an error occurs while initializing any plugin.
  -     * @todo why is this method public/
  +     * Expand the plugin jars if needed
  +     * @throws MavenException
        */
  -    public void initialize()
  -        throws Exception
  +    private void expandPlugins() throws MavenException
       {
  -        if ( initialized )
  -        {
  -            return;
  -        }
  -
  -        setPluginsDir( new File( getMaven().getProperty( MavenConstants.MAVEN_HOME 
), "plugins" ) );
  -        setUnpackedPluginsDir( new File( maven.getProperty( 
MavenConstants.MAVEN_UNPACKED_PLUGINS_DIR ) ) );
  -
           File[] files = getPluginsDir().listFiles();
  -
  +        
           // First we expand any JARs that contain plugins to the unpack directory.
           // This will be a different directory than the plugin jars if
           // MAVEN_HOME_LOCAL / maven.home.local was set to a different directory
           // than MAVEN_HOME / maven.home.
  +        Expand unzipper = new Expand();
           for ( int i = 0; i < files.length; ++i )
           {
  -            // Only unpack the JAR if it hasn't been already, or is newer
  -            // than the plugin directory
  -            if ( files[i].getName().endsWith( ".jar" ) )
  -            {
  -                String directory = files[i].getName();
  -                directory = directory.substring( 0, directory.indexOf( ".jar" ) );
  -                File unzipDir = new File( getUnpackedPluginsDir(), directory );
  -
  -                // if there's no directory, or the jar is newer, expand the jar
  -                if ( unzipDir.exists() == false
  -                    || files[i].lastModified() > unzipDir.lastModified() )
  -                {
  -                    File processed = getPluginProcessedMarker( unzipDir.getName() );
  -                    if ( processed.exists() )
  -                    {
  -                        processed.delete();
  -                    }
  -
  -                    try
  -                    {
  -                        Expand unzipper = new Expand();
  -                        unzipper.setSrc( files[i] );
  -                        unzipper.setDest( unzipDir );
  -                        unzipper.execute();
  -                    }
  -                    catch ( IOException e )
  -                    {
  -                        throw new MavenException( "Unable to extract plugin: " + 
files[i], e );
  -                    }
  -                }
  -            }
  +            processPluginFile(unzipper, files[i]);
           }
  +    }
   
  -        // We need to get the directory listing again so that we
  -        // can process plugins that were just unpacked by the
  -        // above process. This time we're looking at the unpacked plugins.
  -        files = getUnpackedPluginsDir().listFiles();
  +    /**
  +     * Load all plugins in the unpacked plugins dir 
  +     * @throws Exception
  +     */
  +    private void loadPlugins() throws Exception
  +    {
  +        File[] files = getUnpackedPluginsDir().listFiles();
   
           // Process each of the directorties.
  -
           for ( int i = 0; i < files.length; ++i )
           {
               if ( files[i].isDirectory() )
               {
  -                String directory = files[i].getName();
  -                loadPlugin( directory );
  +                String pluginId = files[i].getName();
  +                if ( !isLoaded( pluginId ) )
  +                {
  +                    loadPlugin( pluginId );
  +                }
               }
           }
  +    }
   
  -        initialized = true;
  -
  -        log.info( "Finished initializing Plugins!" );
  +    private void processPluginFile(Expand unzipper, File pluginFile)
  +        throws MavenException
  +    {
  +        // Only unpack the JAR if it hasn't been already, or is newer
  +        // than the plugin directory
  +        if ( pluginFile.getName().endsWith( ".jar" ) )
  +        {
  +            // this is where JellyPlugins should be determined and created
  +            JellyPlugin plugin = new JellyPlugin();
  +            plugin.setJarFile( pluginFile );
  +            String directory = pluginFile.getName();
  +            directory = directory.substring( 0, directory.indexOf( ".jar" ) );
  +            plugin.setId( directory );
  +            plugin.setUnpackDirectory( getUnpackedPluginsDir() );
  +            plugin.unpack();
  +            plugins.put(plugin.getId(), plugin);
  +        }
       }
   
       /**
  @@ -305,42 +274,78 @@
           throws Exception
       {
           System.err.println( "Loading plugin '" + name + "'" );
  -        if ( isLoaded( name ) )
  +        JellyPlugin plugin = (JellyPlugin)plugins.get(name);
  +        if (plugin == null)
           {
  -            return;
  +            plugin = new JellyPlugin();
  +            plugin.setId(name);
           }
  -        JellyPlugin plugin = new JellyPlugin();
  -        plugin.setId(name);
  -        // FIXME Plugin should construct this...
  -        plugin.setDirectory( getUnpackedPluginDir( plugin.getId() ) );
  -        Project pluginProject = getMaven().getProject( plugin.getDescriptor() , 
false );
  +        
  +        plugin.setUnpackDirectory( getUnpackedPluginsDir() );
           plugin.setParentClassLoader( mavenRootClassLoader );
  +        Project pluginProject = getMaven().getProject( plugin.getDescriptor() , 
false );
           plugin.setProject( pluginProject );
  -
           plugin.processDependencies();
   
  -        if ( !plugin.hasScript() )
  +        if ( plugin.hasScript() )
           {
  -            return;
  +            JellyScriptHousing jellyScriptHousing = null;
  +            try
  +            {
  +                // Create the PluginHousing
  +                jellyScriptHousing = createJellyScriptHousing( plugin );
  +            }
  +            catch ( Exception e )
  +            {
  +                System.err.println( "Error loading plugin '" + name + "'" );
  +                throw e;
  +            }
  +    
  +            // Store the plugin housing for future use.
  +            jellyScriptHousings.put( name, jellyScriptHousing );
  +            mapper.parse( new FileReader( plugin.getScriptFile() ), 
jellyScriptHousing );
           }
  +        loadedPlugins.put(plugin.getId(), plugin);
   
  -        JellyScriptHousing jellyScriptHousing = null;
  -        try
  -        {
  -            // Create the PluginHousing
  -            jellyScriptHousing = createJellyScriptHousing( plugin );
  -        }
  -        catch ( Exception e )
  +    }
  +
  +    /**
  +     * @todo Why is this method public?
  +     * @return
  +     */
  +    public GoalToJellyScriptHousingMapper getMapper()
  +    {
  +        return mapper;
  +    }
  +
  +    // ----------------------------------------------------------------------
  +    // P U B L I C  A P I
  +    // ----------------------------------------------------------------------
  +
  +    /**
  +     *  Initialize all plugins.
  +     *
  +     *  @throws Exception If an error occurs while initializing any plugin.
  +     * @todo why is this method public?
  +     */
  +    public void initialize()
  +        throws Exception
  +    {
  +        if ( initialized )
           {
  -            System.err.println( "Error loading plugin '" + name + "'" );
  -            throw e;
  +            return;
           }
   
  -        // Store the plugin housing for future use.
  -        jellyScriptHousings.put( name, jellyScriptHousing );
  -        loadedPlugins.put(plugin.getId(), plugin);
  +        setPluginsDir( new File( getMaven().getProperty( MavenConstants.MAVEN_HOME 
), "plugins" ) );
  +        setUnpackedPluginsDir( new File( maven.getProperty( 
MavenConstants.MAVEN_UNPACKED_PLUGINS_DIR ) ) );
  +
  +        expandPlugins();
  +
  +        loadPlugins();
  +
  +        initialized = true;
   
  -        mapper.parse( new FileReader( plugin.getScriptFile() ), jellyScriptHousing 
);
  +        log.info( "Finished initializing Plugins!" );
       }
   
       /**
  @@ -353,37 +358,21 @@
       public void attainGoals( Project project, List goals )
           throws GoalException, Exception
       {
  -        File sourceDirectory = new File( project.getBuild().getSourceDirectory() );
  -        if ( sourceDirectory.exists() )
  -        {
  -            project.setProjectProperty( "sourcesPresent", "true" );
  -            project.addCompileSourceRoot( project.getBuild().getSourceDirectory() );
  -        }
  -
  -        File unitTestSourceDirectory = new File( 
project.getBuild().getUnitTestSourceDirectory() );
  -        if ( unitTestSourceDirectory.exists() )
  -        {
  -            project.setProjectProperty( "unitTestSourcesPresent", "true" );
  -            project.addTestCompileSourceRoot( 
project.getBuild().getUnitTestSourceDirectory() );
  -        }
  -
           MavenJellyContext baseContext = createBaseContext( project );
   
           // Before attempting to attain the goals verify the project
           // if desired.
  +        // FIXME: From attainGoals angle, how does it know the project needs to
  +        //        to be verified, or that the project object has
           project.verifyDependencies();
   
           // Set up the ant project.
  -        build( project, baseContext );
  -        Path p = new Path( baseContext.getAntProject() );
  +        GrantProject antProject = buildAntProject( project, baseContext );
  +        Path p = new Path( antProject );
           p.setPath( project.getDependencyClasspath() );
  -        baseContext.getAntProject().addReference( 
MavenConstants.DEPENDENCY_CLASSPATH, p );
  +        antProject.addReference( MavenConstants.DEPENDENCY_CLASSPATH, p );
   
  -        // Create the Jelly session
  -        Session session = new JellySession( getJellyOutputSink() );
  -        session.setAttribute( XML_OUTPUT, getJellyOutputSink() );
  -        session.setAttribute( PLUGIN_MANAGER, this );
  -        session.setAttribute( BASE_CONTEXT, baseContext );
  +        Session session = getJellySession(baseContext);
   
           // add the global session to the pluginContext so that it can be used by 
tags
           baseContext.setVariable( GLOBAL_SESSION_KEY, session );
  @@ -402,7 +391,7 @@
           //
           // We run the Jelly scripts in the following order:
           //
  -        // 1) driver.jelly
  +        // 1) driver.jelly - doesn't exist anymore
           // 2) project's maven.xml
           // 3) parent's maven.xml (if it exists)
           // 4) plugin.jelly
  @@ -416,11 +405,11 @@
           // 
-------------------------------------------------------------------------------------------------------------
   
           // driver.jelly
  -        InputStream driver = 
PluginManager.class.getClassLoader().getResourceAsStream( "driver.jelly" );
  -        JellyScriptHousing driverHousing = createJellyScriptHousing( project, null, 
driver );
  -        driverHousing.setSource( "driver.jelly" );
  +        //InputStream driver = 
PluginManager.class.getClassLoader().getResourceAsStream( "driver.jelly" );
  +        //JellyScriptHousing driverHousing = createJellyScriptHousing( project, 
null, driver );
  +        //driverHousing.setSource( "driver.jelly" );
           //mapper.parse( new InputStreamReader( driver ), driverHousing );
  -        runJellyScriptHousing( driverHousing, baseContext );
  +        //runJellyScriptHousing( driverHousing, baseContext );
   
           // Project's Jelly script
           if ( project.getFile() != null )
  @@ -492,6 +481,23 @@
           }
       }
   
  +    /**
  +     * Get the Werkz Session
  +     * FIXME: Describe what it's for?
  +     * @param baseContext the maven context the session should use
  +     * @return A Werkz Session
  +     * @throws Exception FIXME For anything
  +     */
  +    private Session getJellySession(MavenJellyContext baseContext) throws Exception
  +    {
  +        // Create the Jelly session
  +        Session session = new JellySession( getJellyOutputSink() );
  +        session.setAttribute( XML_OUTPUT, getJellyOutputSink() );
  +        session.setAttribute( PLUGIN_MANAGER, this );
  +        session.setAttribute( BASE_CONTEXT, baseContext );
  +        return session;
  +    }
  +
       private void runJellyScriptHousing( JellyScriptHousing jellyScriptHousing, 
MavenJellyContext context )
           throws Exception
       {
  @@ -578,7 +584,7 @@
           return baseContext;
       }
   
  -
  +    /** XML output goes to System.out*/
       private XMLOutput output;
   
       private XMLOutput getJellyOutputSink()
  @@ -596,7 +602,15 @@
           return output;
       }
   
  -    public GrantProject build( Project project, MavenJellyContext context )
  +    /**
  +     * FIXME: Not sure why building an Ant project is the plugin manager's 
responisbility
  +     * 
  +     * @param project a maven project
  +     * @param context a maven context
  +     * @return an Ant project
  +     * @throws Exception When any error occurs. FIXME this is bad.
  +     */
  +    public GrantProject buildAntProject( Project project, MavenJellyContext context 
)
           throws Exception
       {
           // Create the build listener.
  @@ -844,19 +858,6 @@
       File getUnpackedPluginDir( String pluginName )
       {
           return new File( getUnpackedPluginsDir(), pluginName );
  -    }
  -
  -    /**
  -     *  Retrieve the plugin's entry-point jelly script.
  -     *
  -     *  @param pluginName The name of the plugin.
  -     *
  -     *  @return The entry-point script for the plugin, or <code>null</code> if
  -     *          no such plugin.
  -     */
  -    File getPluginScript( String pluginName )
  -    {
  -        return new File( getUnpackedPluginDir( pluginName ), PLUGIN_SCRIPT_NAME );
       }
   
       /**
  
  
  
  1.28      +2 -2      maven/src/java/org/apache/maven/verifier/DependencyVerifier.java
  
  Index: DependencyVerifier.java
  ===================================================================
  RCS file: 
/home/cvs/maven/src/java/org/apache/maven/verifier/DependencyVerifier.java,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- DependencyVerifier.java   28 Jul 2003 05:11:29 -0000      1.27
  +++ DependencyVerifier.java   4 Aug 2003 01:11:13 -0000       1.28
  @@ -185,7 +185,7 @@
                   {
                       failedDependencies.add( artifact );
                   }
  -                else if ( online == false && artifact.isSnapshot() )
  +                else if ( !online && artifact.isSnapshot() )
                   {
                       System.out.println( getMessage( "offline.snapshot.warning", 
artifact.getName() ) );
                   }
  
  
  
  1.16      +34 -2     maven/src/java/org/apache/maven/Maven.java
  
  Index: Maven.java
  ===================================================================
  RCS file: /home/cvs/maven/src/java/org/apache/maven/Maven.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- Maven.java        29 Jul 2003 00:12:52 -0000      1.15
  +++ Maven.java        4 Aug 2003 01:11:13 -0000       1.16
  @@ -249,10 +249,40 @@
                                                               project.getName() ) );
               }
           }
  +        Project mavenProject = mavenUtils.getProject(project, this);
  +        setPomProperties( mavenProject );
  +        getPluginManager().attainGoals( mavenProject, goalNames );
  +    }
  +
  +    /**
  +     * Set any properties necessary based on the pom for convenience
  +     */
  +    private void setPomProperties(Project project)
  +    {
  +        File sourceDirectory = new File( project.getBuild().getSourceDirectory() );
  +        if ( sourceDirectory.exists() )
  +        {
  +            project.setProjectProperty( "sourcesPresent", "true" );
  +            project.addCompileSourceRoot( project.getBuild().getSourceDirectory() );
  +        }
  +
  +        File unitTestSourceDirectory = new File( 
project.getBuild().getUnitTestSourceDirectory() );
  +        if ( unitTestSourceDirectory.exists() )
  +        {
  +            project.setProjectProperty( "unitTestSourcesPresent", "true" );
  +            project.addTestCompileSourceRoot( 
project.getBuild().getUnitTestSourceDirectory() );
  +        }
   
  -        getPluginManager().attainGoals( mavenUtils.getProject( project, this ), 
goalNames );
       }
  +    
   
  +    /**
  +     *
  +     * @param project
  +     * @param goalNamesList
  +     * @throws GoalException
  +     * @throws Exception
  +     */
       public void attainGoals( File project, String goalNamesList )
           throws GoalException, Exception
       {
  @@ -262,6 +292,7 @@
       public void attainGoals( Project project, String goalNamesList )
           throws GoalException, Exception
       {
  +        setPomProperties( project );
           getPluginManager().attainGoals( project, list( goalNamesList ) );
       }
   
  @@ -283,6 +314,7 @@
       public void attainGoals( Project project, List goalNames )
           throws GoalException, Exception
       {
  +        setPomProperties( project );
           getPluginManager().attainGoals( project, goalNames );
       }
   
  
  
  
  1.13      +1 -2      maven/src/java/org/apache/maven/ArtifactListBuilder.java
  
  Index: ArtifactListBuilder.java
  ===================================================================
  RCS file: /home/cvs/maven/src/java/org/apache/maven/ArtifactListBuilder.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- ArtifactListBuilder.java  29 Jul 2003 00:09:08 -0000      1.12
  +++ ArtifactListBuilder.java  4 Aug 2003 01:11:13 -0000       1.13
  @@ -120,7 +120,6 @@
               {
                   artifact.setPath( project.getMavenRepoLocal() + 
artifact.generatePath() );
               }
  -
               projectArtifacts.add( artifact );
           }
   
  
  
  
  1.86      +33 -3     maven/src/java/org/apache/maven/project/Project.java
  
  Index: Project.java
  ===================================================================
  RCS file: /home/cvs/maven/src/java/org/apache/maven/project/Project.java,v
  retrieving revision 1.85
  retrieving revision 1.86
  diff -u -r1.85 -r1.86
  --- Project.java      29 Jul 2003 00:08:32 -0000      1.85
  +++ Project.java      4 Aug 2003 01:11:13 -0000       1.86
  @@ -1230,7 +1230,7 @@
           }
   
           buildArtifactList();
  -        buildDependencyClasspath();
  +        getDependencyClasspath();
           setDependencyVerifier( new DependencyVerifier( this ) );
           getDependencyVerifier().setIgnoreErrors( false );
   
  @@ -1294,10 +1294,41 @@
        */
       public String getDependencyClasspath()
       {
  +        if (dependencyClasspath == null)
  +        {
  +            StringBuffer classpath = new StringBuffer();
  +
  +            for ( Iterator i = getArtifacts().iterator(); i.hasNext(); )
  +            {
  +                Artifact artifact = (Artifact) i.next();
  +                Dependency d = artifact.getDependency();
  +
  +                // Only add appropriate dependencies to the classpath
  +                if ( isClasspathDependency(d) )
  +                {
  +                    classpath.append( artifact.getPath() ).append( PS );
  +                }
  +                setDependencyPath( d.getId(), artifact.getPath() );
  +            }
  +
  +            dependencyClasspath = classpath.toString();
  +
  +        }
           return dependencyClasspath;
       }
   
       /**
  +     * Currently this is just jars.
  +     * 
  +     * @param d
  +     * @return true if the given dependency belongs on the classpath
  +     */
  +    private boolean isClasspathDependency(Dependency d)
  +    {
  +        return d.getType().equals( "jar" );
  +    }
  +
  +    /**
        * Build the dependency classpath.
        *
        * @throws Exception If an error occurs while building the dependency classpath.
  @@ -1319,7 +1350,6 @@
               }
   
               classpath.append( artifact.getPath() ).append( PS );
  -            setDependencyPath( d.getId(), artifact.getPath() );
           }
   
           setDependencyClasspath( classpath.toString() );
  
  
  

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

Reply via email to