@requiresDependencyResolution in process-classes post compile
-------------------------------------------------------------
Key: MNG-1390
URL: http://jira.codehaus.org/browse/MNG-1390
Project: Maven 2
Type: Bug
Components: maven-project
Versions: 2.0
Reporter: Jesse McConnell
I was looking back into some plugins I had written a while back and ran across
an oddity.
it appears that when using a plugin in the process-classes phase, after the
compiler plugin has done its thing, the @requiresDependencyResolution javadoc
flag will toggle the presense of dependencies that are scoped to provided in
the dependencies section when calling project.getCompileClasspathElements();
(a difference of 80 vs 24 when not using the flag and then using it)
---
this are two snippits of code from the plugin
/**
* A plugin for generating * java file containing all the classes in a src tree.
*
* @goal generate
* @requiresDependencyResolution
* @description Functions Generator plugin
* @author jesse <[EMAIL PROTECTED]>
*/
List classpathFiles = project.getCompileClasspathElements();
URL[] urls = new URL[classpathFiles.size() + 1];
getLog().debug("" + classpathFiles.size());
for (int i = 0; i < classpathFiles.size(); ++i) {
getLog().debug((String)classpathFiles.get(i));
urls[i] = new File((String)classpathFiles.get(i)).toURL();
}
urls[classpathFiles.size()] = new File( buildDirectory + "/classes"
).toURL();
URLClassLoader ucl = new URLClassLoader(urls,
Thread.currentThread().getContextClassLoader());
being used with the following plugin declaration:
<plugin>
<groupId>gallup.maven</groupId>
<artifactId>services-provider-maven-plugin</artifactId>
<version>1.0.1</version>
<configuration>
<fullyQualifiedFileName>com/g/util/ServiceProvider.java</fullyQualifiedFileName>
</configuration>
<executions>
<execution>
<phase>process-classes</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
----
analyzing the debug output when I run the plugin without the
@requiresDependencyResolution I get 80 dependencies and it builds out the
classloader correctly..
but if I add the @requiresDependencyResolution statement I go down to 24
dependencies being put into the classloader...and the discrepency corresponds
to the presense of the <scope>provided</scope> statement.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]