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]>