Another interesting use case would look like using some kind of pre-generated scanning information created during build-time.
Artifacts are in general considered final after creation, so scans done at runtime will return the same result. This result could be generated during build-time and inlined into the artifact in a serialized form, which in turn in used during runtime to further speed up scan jobs. [1] is doing something similar by providing a maven plugin. br, Sven [1] http://code.google.com/p/reflections/ 2011/2/27 Mark Struberg <[email protected]> > I think it should be enough if the classscanner implementation itself > shades any such 3rd party jar into a inner dependency. > My main focus currently is to design the API flexible enough to allow all > necessary use cases to work. > > LieGrue, > strub > > --- On Sun, 2/27/11, Jan-Kees van Andel <[email protected]> wrote: > > > From: Jan-Kees van Andel <[email protected]> > > Subject: Re: Classpath Scanner proposal > > To: [email protected], [email protected] > > Date: Sunday, February 27, 2011, 1:35 PM > > +1, although I think Jar hell is a > > real issue. Think about libraries like > > cglib, asm or commons-*** and the pain they sometimes > > cause. > > > > But we can easily work around it, for example by packaging > > all > > using-frameworks as uber-jars and renaming > > the "org.apache.commons.classscan" packages to something > > like "org.apache.myfaces.org.apache.commons.classscan" > > and "org.apache.webbeans.org.apache.commons.classscan". > > This way we prevent > > any future versioning issues that libraries like cglib and > > asm currently > > have. > > > > Regards, > > Jan-Kees > > > > > > 2011/2/27 Mark Struberg <[email protected]> > > > > > Hi Jan-Kees! > > > > > > Txs for this info! > > > > > > Of course, I think the downside of getting another > > dependency to myfaces > > > would highly be outvalued by the benefit we'd gain > > from it :) > > > > > > LieGrue, > > > strub > > > > > > --- On Sun, 2/27/11, Jan-Kees van Andel <[email protected]> > > wrote: > > > > > > > From: Jan-Kees van Andel <[email protected]> > > > > Subject: Re: Classpath Scanner proposal > > > > To: [email protected], > > [email protected], > > "Mark > > > Struberg" <[email protected]> > > > > Date: Sunday, February 27, 2011, 12:58 PM > > > > Hey Mark, > > > > > > > > About the JSR proposal. I've actually been > > talking to some > > > > Oracle folks > > > > about this idea some (like 3?) years ago. They > > didn't > > > > really like it, since > > > > the classpath is only a VM implementation > > detail. > > > > I proposed it, because back then there were > > already rumours > > > > about module > > > > systems and writing a mechanism that relies on > > the > > > > classpath seemed like a > > > > bad idea at that time. A JSR (like 277 back then) > > could > > > > keep annotation > > > > scanning in mind while writing the spec. > > > > I pinged them again (I think it was last year) > > and they > > > > responded that they > > > > would think about adding an annotation scanner to > > Jigsaw, > > > > but a JSR was out > > > > of the question. > > > > > > > > I think mentioning their names here is > > inappropriate, but > > > > they're influential people in the Java/JCP > > world... > > > > > > > > This is not a reason to not write a framework or > > to not > > > > submit a JSR, but I > > > > thought I'd mention it... > > > > > > > > Ps. Maybe it's a good idea to "promote" XBean > > Finder and > > > > use it in > > > > MyFaces/OWB/etc...? > > > > Ps2. IIRC, we implemented our own scanner for > > MyFaces, for > > > > the simple reason > > > > that it removes an additional dependency. But, > > OTOH, using > > > > XBean Finder with > > > > the Maven Shade Plugin would also work... > > > > > > > > Regards, > > > > Jan-Kees > > > > > > > > > > > > 2011/2/27 Mark Struberg <[email protected]> > > > > > > > > > Hi Ivan! > > > > > > > > > > Yes, I already prepared for the addition of > > a > > > > xbean-finder based > > > > > ClassScanner implementation. But since I > > didn't reach > > > > David yesterday and I > > > > > personally don't know xbean-finder well > > enough, I just > > > > started hacking on a > > > > > scannotation based one (similar to the one > > we use in > > > > OpenWebBeans). > > > > > > > > > > > > > > > LieGrue, > > > > > strub > > > > > > > > > > --- On Sun, 2/27/11, Ivan <[email protected]> > > > > wrote: > > > > > > > > > > > From: Ivan <[email protected]> > > > > > > Subject: Re: Classpath Scanner > > proposal > > > > > > To: [email protected], > > > > [email protected] > > > > > > Date: Sunday, February 27, 2011, 12:01 > > PM > > > > > > Totally agree the idea, in Geronimo, > > > > > > it is definitely an issue, as many > > > > > > components need to scan the target > > application, > > > > and we are > > > > > > trying to improve > > > > > > this, e,g. In the xbean-finder, we use > > some > > > > filter to limit > > > > > > the scanning > > > > > > scope. Also, we hope to have a > > sharable > > > > annotation scanning > > > > > > tool, and open a > > > > > > JIRA to track this. > > > > > > > > > > > > [1] https://issues.apache.org/jira/browse/GERONIMO-5644 > > > > > > [2] > > > > > > > > > > > > > > > https://svn.apache.org/repos/asf/geronimo/xbean/trunk/xbean-bundleutils/src/main/java/org/apache/xbean/osgi/bundle/util/ResourceDiscoveryFilter.java > > > > > > > > > > > > 2011/2/27 Mark Struberg <[email protected]> > > > > > > > > > > > > > hi folks! > > > > > > > > > > > > > > Since I'm tired of waiting for my > > EE stack > > > > to startup > > > > > > because each and > > > > > > > every library implements it's own > > classpath > > > > scanner > > > > > > over and over again, I > > > > > > > thought about introducing a > > proposal for a > > > > framework > > > > > > which allows to first > > > > > > > register 'ScanJobs' and then just > > does all > > > > the > > > > > > necessary classpath scanning > > > > > > > only once. > > > > > > > > > > > > > > If it turns out to work well, then > > I even > > > > consider > > > > > > this to get submitted as > > > > > > > JSR... > > > > > > > > > > > > > > But before this point gets > > reached, a lot of > > > > work is > > > > > > still waiting. > > > > > > > > > > > > > > I hope a few people are interested > > in this > > > > work and > > > > > > help me > > > > > > > specifying/testing the needs! > > > > > > > > > > > > > > The api and a bit of docs can be > > found at my > > > > github > > > > > > repo [1][2]. > > > > > > > > > > > > > > I'm currently working on > > 'scannizing' > > > > OpenWebBeans > > > > > > (and later MyFaces) as a > > > > > > > real world example. > > > > > > > > > > > > > > LieGrue, > > > > > > > strub > > > > > > > > > > > > > > [1] https://github.com/struberg/Apache-commons-classscanner/ > > > > > > > [2] > > > > > > > > > > > > > > > > https://github.com/struberg/Apache-commons-classscanner/wiki/Apache-Commons-ClassScan-proposal > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > Ivan > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
