Subject: Annotation scanning plugin
We've chatted occasionally on creating a scanning.xml file where people could
setup includes and excludes and, overall, optimize classpath scanning.

Romain is already busy hacking of course :) Here's the idea for a plugin to
effectively do the most expensive part of scanning in advance:

<plugin>
<groupId>org.apache.xbean</groupId>
<artifactId>maven-xbean-finder-plugin</artifactId>
<configuration>
<annotations>
<annotation>javax.ejb.Stateless</annotation>
<annotation>javax.ejb.Stateful</annotation>
<annotation>javax.ejb.Singleton</annotation>
<annotation>javax.annotation.ManagedBean</annotation>
</annotations>
<subclasses>
<subclass>javax.ws.rs.core.Application</subclass>
</subclasses>
<implementations>

<implementation>org.apache.openejb.server.ServerService</implementation>
</implementations>
</configuration>
</plugin>

With a configuration like the above, the plugin would scan the jar for
subclasses of javax.ws.rs.core.Application, classes annotated with @Stateless,
@Singleton, @Stateful and classes that implement ServiceService.

The result would be a META-INF/scan.xml class that looks like so:

<scan>
<classes>
<class>org.superbiz.Foo</class>
<class>org.superbiz.Bar</class>
<class>org.superbiz.Baz</class>
</classes>
</scan>

And on the TODO list would be future support for <packages>

<scan>
<packages>
<package>org.superbiz.foo</package>
<package>org.superbiz.bar</package>
</packages>
</scan>

With the above you could easily create scan.xml file by hand that would at
least be far faster than scanning an entire jar.


Thoughts?


-David

(C)2011 mailinglist-archive.com