I needed the former, I derived code much like Jörg's, it works, and I
wonder if there was some advantage to talking to Aether instead, but
not for very long.

On Fri, Jun 17, 2011 at 3:36 AM, Mark Struberg <[email protected]> wrote:
> I think the question is ambiguous:
>
> Did he like to get the classpath of all dependencies of the current project 
> to invoke a java method which needs those classes on the classpath 
> (annotation scanning or enhancement, etc)?
>
> Or does he like to contruct a classpath string which he can pass to a shell 
> invocation?
>
> LieGrue,
> strub
>
> --- On Fri, 6/17/11, Jörg Schaible <[email protected]> wrote:
>
>> From: Jörg Schaible <[email protected]>
>> Subject: Re: An example of a plugin that uses the <dependencies/> as an 
>> actual live classpath ...
>> To: [email protected]
>> Date: Friday, June 17, 2011, 7:27 AM
>> Benson Margulies wrote:
>>
>> > I find myself looking to create a plugin where, as
>> part of execution,
>> > it wants to create a classpath composed of the
>> declared dependencies.
>> > Can anyone suggest a model?
>>
>> Not sure, which plugin I used to look this up, but I had
>> once the need to
>> scan the compiled classes for annotations and to load them;
>> I had to build
>> my own classloader:
>>
>> ================ %< =================
>> private ClassLoader getCompilationClassLoader() throws
>> DependencyResolutionRequiredException
>> {
>>   final Log log = getLog();
>>   @SuppressWarnings("unchecked")
>>   final List<String> classpathElements =
>> project.getCompileClasspathElements();
>>
>>   final List<URL> urls = new
>> ArrayList<URL>();
>>   for (final String classpathElement :
>> classpathElements) {
>>     try {
>>       final URL url = new
>> File(classpathElement).toURI().toURL();
>>       if (log.isDebugEnabled()) {
>>         log.debug("Add to compilation
>> classpath: " + url.toString());
>>       }
>>       urls.add(url);
>>     } catch (final MalformedURLException e) {
>>       log.warn("Cannot convert strange class
>> path element into URL: " +
>> classpathElement);
>>     }
>>   }
>>
>>   return new URLClassLoader(urls.toArray(new
>> URL[urls.size()]),
>> Thread.currentThread().getContextClassLoader());
>> }
>> ================ %< =================
>>
>> - Jörg
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to