dion 2003/08/13 22:59:48
Modified: src/java/org/apache/maven/project Tag: MAVEN_RC1_STABLE
Project.java
Log:
Add plugin installation to dependency processing
Revision Changes Path
No revision
No revision
1.83.2.3 +17 -17 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.83.2.2
retrieving revision 1.83.2.3
diff -u -r1.83.2.2 -r1.83.2.3
--- Project.java 11 Aug 2003 06:21:33 -0000 1.83.2.2
+++ Project.java 14 Aug 2003 05:59:48 -0000 1.83.2.3
@@ -61,6 +61,7 @@
import org.apache.maven.DependencyClasspathBuilder;
import org.apache.maven.ArtifactListBuilder;
import org.apache.maven.AntProjectBuilder;
+import org.apache.maven.plugin.PluginManager;
import org.apache.maven.repository.Artifact;
import org.apache.maven.verifier.RepoConfigException;
import org.apache.maven.verifier.UnsatisfiedDependencyException;
@@ -1424,17 +1425,6 @@
}
/**
- * Jars and ejbs.
- *
- * @param d
- * @return true if the given dependency belongs on the classpath
- */
- private boolean isClasspathDependency(Dependency d)
- {
- return d.getType().equals( "jar" ) || d.getType().equals( "ejb" );
- }
-
- /**
* Build the dependency classpath.
*
* @throws Exception If an error occurs while building the dependency classpath.
@@ -1589,7 +1579,7 @@
* @param cl The classloader to add dependencies
* @throws MalformedURLException
*/
- public void processDependencies() throws MalformedURLException
+ public void processDependencies() throws MalformedURLException, Exception
{
if (getArtifacts() == null)
{
@@ -1607,6 +1597,18 @@
{
ForeheadClassLoader loader =
(ForeheadClassLoader)projectClassLoader;
Artifact artifact = (Artifact) i.next();
+ Dependency dependency = artifact.getDependency();
+ // FIXME: handle plugin dependencies here - download from remote
repos
+ // and install
+ if (dependency.isPlugin())
+ {
+ // dependencies should already be downloaded
+ // so the artifact needs to be copied to the plugin
+ // directory and the plugin manager asked to load it
+ PluginManager pluginManager =
getContext().getMavenSession().getPluginManager();
+ pluginManager.installPlugin(this, artifact.getFile());
+ }
+
// get correct classloader
String classLoader = artifact.getDependency().getProperty(
"classloader" );
if (classLoader != null)
@@ -1623,7 +1625,7 @@
// add to classloader
if (artifact.exists())
{
- if (isClasspathDependency(artifact.getDependency()))
+ if (dependency.isAddedToClasspath())
{
loader.addURL( artifact.getFile().toURL() );
}
@@ -1637,9 +1639,6 @@
{
log.info("Artifact '" + artifact.getFile() + "' not found to
add to classpath");
}
-
- // FIXME: handle plugin dependencies here - download from remote
repos
- // and install
}
}
@@ -1648,4 +1647,5 @@
// poked all the dependencies into the classloader.
getContext().setClassLoader( projectClassLoader );
}
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]