Re: [aspectwerkz-dev] Creating AOPified javadocs
"Alex" <alex-he/e8N7AIe/[email protected]>
| Newsgroups | gmane.comp.java.aspectwerkz.devel |
|---|---|
| Message-ID | <[email protected]> |
src/main/..../transform/inlining/ -Daspectwerkz.weaving.strategy=inlining (not the default) Not ready yet. Supports method execution and method call for now. Alex ----- Original Message ----- From: "the_mindstorm" <[email protected]> To: <[email protected]> Sent: Friday, August 27, 2004 12:36 PM Subject: Re: [aspectwerkz-dev] Creating AOPified javadocs > Quote Alex:: > > > I think that mimic-ing the ajdoc architecture will allow better help from > > Mik > > true :-) > > and may allow f.e. implementing an AspectBrowser (this little app that > > generates a picture showing the crosscutting accross different classes thru > > a bar chart). > > not quite sure about this > > > If you volunteer on that, you have the lead as regards the architecture ;-) > 10x > > > Lets see what Mik and Jonas think. > > Alex > > the help of Mik and Jonas will be very important for me. > > > PS: no need to parse sources to extract annotations on Java 5. > > sure, i know this > > > Can you point me to the new weaver implementation? Is it on cvs now? > > ::the_mindstorm > > > ----- Original Message ----- > > From: "the_mindstorm" <[email protected]> > > To: <[email protected]> > > Sent: Friday, August 27, 2004 11:13 AM > > Subject: Re: [aspectwerkz-dev] Creating AOPified javadocs > > > > > > > >>Quote Alex:: > >> > >> > >>>wether there is > >>>javac + weave classes + generate stubs and javadoc [method 1 and method > >>>with emitted join points] > >>>or > >>>parse sources + generate stubs and javadoc > >> > >>My 2cent: > >>- i think the sources are however parsed in a why (in order to > > > > extractavadoc/annotation pointcuts) > > > >>- extracted info from above step is combined with loading xml defs in > > > > order to establish the weaving > > > >>strategy > >>I think these 2 steps can be reused for the aopdoc tool. > >> > >>The idea of emitting events from weaver at joinpoints is very good, but it > > > > must be combined with > > > >>some source parsing (in order to use the initial javadocs and also to > > > > retrieve the applyed pieces of > > > >>advice). > >> > >>The last 2 steps (e.g. generate stubs and run javadoc) are necessary and I > > > > think this is the only > > > >>way we can do it. > >> > >>::the_mindstorm > >> > >>PS: it is still not clear for me what you meant by saying integrating AJDT > > > > :-(. > > > >>>Do you think it is ok to code the "parse source" part with QDox by > > > > matching > > > >>>the join points ? - that is somehow: > >>>- load all the xml defs, grab the def from annotation defined aspect as > > > > well > > > >>>- for each class, build what we call the metainfo from Qdox, this one > > > > will > > > >>>be used in the pointcut expression matching mechanism > >>>- for each construct types (method execution , method call etc), check > > > > if > > > >>>there is a match. > >>> > >>>I think it is not easy to do with QDox, especially for call pointcut - > > > > that > > > >>>occurs at the method body level - something that QDox is ignoring since > > > > it > > > >>>is not the goal of QDox. For such a need, you need a more rich parser, > > > > or > > > >>>something like the IntelliJ PSI structure interface - but then it gets > > > > IDE > > > >>>specific. > >>> > >>>Alex > >>> > >>>----- Original Message ----- > >>>From: "the_mindstorm" <[email protected]> > >>>To: <[email protected]> > >>>Sent: Friday, August 27, 2004 9:07 AM > >>>Subject: Re: [aspectwerkz-dev] Creating AOPified javadocs > >>> > >>> > >>> > >>> > >>>>Alex wrote: > >>>> > >>>> > >>>> > >>>>>Hi > >>>>> > >>>>>Mik will comment on method 1. > >>>>> > >>>>>As regards method 2, we have a new weaver under dev that will "emit > > > > join > > > >>>>>point". I guess that if we extend it to have a listener to that, we can > >>>>>probably do the weaving not on the sources but on the "javac compiled > >>>>>classes" ie fully reuse the regular weaver and avoid developping > >>> > >>>another. > >>> > >>> > >>>>Still, a pre-compile step is still needed, ain't it? > >>>> > >>>> > >>>> > >>>>>Moreover, if javac debug mode had been turned on, we can emit the > > > > source > > > >>>>>code line number of the join point I think. > >>>> > >>>>Possible, but I don't think we can rely on this. Production code will > > > > not > > > >>>be > >>> > >>> > >>>>compiled with debug switch (I guess so, at least this is what we are > >>> > >>>doing). > >>> > >>> > >>>>>Then the tool consumes the emitted join point (each notification has a > >>> > >>>bunch > >>> > >>> > >>>>>of data, that might even allow avoiding qdox resolution of > >>> > >>>java.lang.reflect > >>> > >>> > >>>>>resolution) > >>>> > >>>>Pls be more clear [sigh/]. I didn't get the above. > >>>> > >>>> and could "patch javadocs" - though I think having regular > >>>> > >>>> > >>>>>javadoc processing on some empty stubs might be better. > >>>> > >>>>ajdoc and my solution both use the javadoc processing on empty stubs. > > > > The > > > >>>1st > >>> > >>> > >>>>steps are different. > >>>> > >>>> > >>>> > >>>>>Well, this is not ready yet, but, what do you think ? > >>>>> > >>>>>The drawback of method 2 is that - I guess - doing the method 1 way > >>> > >>>might > >>> > >>> > >>>>>open more opportunities to further integrate AJDT. > >>>> > >>>>What you mean by [quote]integrate AJDT[/quote]? > >>>> > >>>>::the_mindstorm > >>>> > >>>> > >>>> > >>>>>Alex > >>>>> > >>>>> > >>>>>----- Original Message ----- > >>>>>From: "the_mindstorm" <[email protected]> > >>>>>To: <[email protected]> > >>>>>Sent: Thursday, August 26, 2004 11:39 PM > >>>>>Subject: Re: [aspectwerkz-dev] Creating AOPified javadocs > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>>>Hi! > >>>>>> > >>>>>>I finally got some time to look into ajdoc implementation. > >>>>>> > >>>>>>If i got it right the process used is the following: > >>>>>>- compile the sources (weave aspects in) > >>>>>>- generate fake/stub sources (including only declaration and javadoc > >>>>> > >>>>>comments) > >>>>> > >>>>>>from weaved classes > >>>>> > >>>>> > >>>>>>- run javadoc upon the stubs > >>>>>>- inject aspect related directly into html > >>>>>> > >>>>>>This seems to me a pretty complex and long process (2 memory extensive > >>>>> > >>>>>consumers > >>>>> > >>>>> > >>>>> > >>>>>>are run: weaving (AspectJ compiler) and javadoc). > >>>>>> > >>>>>>The draft solution I have in my mind is the following: > >>>>>>- using QDox extract all joinpoint definitions > >>>>>>- solve joinpoint definitions upon available sources > >>>>>>- inject specific javadoc comments into the QDox structures > >>>>>>- write down stubs generated by QDox > >>>>>>- run javadoc upon stubs using a specific doclet > >>>>>> > >>>>>>Please give me your impressions/opinions on the above. 10x > >>>>>> > >>>>>>::the_mindstorm > >>>>>> > >>>>>>PS: by the way, I am still using a nickname and I was not presenting > >>>>> > >>>>>myself: > >>>>> > >>>>> > >>>>> > >>>>>>Alexandru Popescu. > >>>>>> > >>>>>> > >>>>>> > >>>>> > >>>>> > >>>>> > >>> > >> > > > > > >