Is it possible to trigger apt from maven 2?
I found an apt plugin (http://myfaces.apache.org/tobago/tobago-tool/maven-apt-plugin/howto.html)
but it is part of the myfaces project!?

I haven't found any example yet.

Achim


James Carman schrieb:
Any thoughts on using an APT processor? That's how I automatically generate Hibernate configuration docs that include all of my annotated classes (those marked as @Entities). You could run APT to get a list of annotated classes and then process those.

On 4/11/07, *Johan Lindquist* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA1

    Ok, there we go :)

    Then I guess then that the verifiers and hivedoc will have to take
    this
    into consideration.

    Cheers,

    Johan

    Achim Hügen wrote:
    > Spring is able to load classpath resources by wildcard, using
    > patterns like this one:
    >
    > classpath*:**/*Module.class
    >
    > So there is a lot of working code waiting to be copied ;-)
    >
    >
    
http://springframework.cvs.sourceforge.net/springframework/spring/src/org/springframework/core/io/support/PathMatchingResourcePatternResolver.java?revision=1.39&view=markup
    
<http://springframework.cvs.sourceforge.net/springframework/spring/src/org/springframework/core/io/support/PathMatchingResourcePatternResolver.java?revision=1.39&view=markup>
    >
    >
    > Achim
    >
    >
    > Am Tue, 10 Apr 2007 16:35:01 +0200 schrieb Paul Cooley
    > <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>:
    >
    >> Using the URLClassLoader, you can hand it a jar and it will
    create a
    >> ClassLoader instance that contains ONLY those classes that were
    in the
    >> jar.
    >> In conjunction with creating the class loader, I then opened
    the jar
    >> using
    >> the JarFile class.  It sounds convoluted, but I got all the
    names of the
    >> classes from the jar file and then used them to get the specific
    >> classes in
    >> the ClassLoader.
    >>
    >> There are obviously more elegant ways to do this, and I'm sure
    someone
    >> out
    >> there has already built a class that does the same.  And if
    they haven't,
    >> perhaps I do have something I can contribute rather quickly to the
    >> project.
    >> ;)
    >>
    >> Cheers.
    >>
    >> On 4/10/07, Johan Lindquist <[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>> wrote:
    >>>
    > Cool, we are closer to being able to provide 1.0 behaviour for
    loading
    > modules than I though.  I should admit that my 2.0 knowledge is
    still
    > somewhat limited, but having trawled the docs somewhat, Achim
    mentions
    > that autoloading will be made simpler so the below may well be
    what he
    > is looking into.
    >
    > One question - when you say introspects a jar - how do you
    process it
    > (if you don't mind me asking)?  I was always under the
    impression that
    > class loaders would not allow you to "query" what classes were
    > available.
    >
    > Cheers,
    >
    > Johan
    >
    > Paul Cooley wrote:
    >> In my current project I had to create a simplistic ORM style
    generator
    >> (was unable to use Hibernate or Torque for reasons I won't even
    get
    >> into...) using annotations.  When the application starts up, it
    loads
    >> the jars it's going to use for plugin functionality and introspects
    >> them.  Classes marked with specific annotations are processed
    >> accordingly.  It's easy to do and although it sounds as though it
    >> involves tons of processing (and obviously for large numbers of
    > jars, it
    >> can), it all takes place at startup and the results are cached.
    >
    >> But since the classloaders are kept separate, specific questions
    > can by
    >> asked of any class in that classloader without worrying about
    hitting
    >> those of the application itself.
    >
    >> Cheers.
    >
    >> On 4/10/07, [EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]> <mailto:[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>>*
    >> < [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
    <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>> wrote:
    >
    >>     I've never tried something like "give me all classes annotated
    > with
    >>     X", but I think it's possible.
    >>     For example the launcher of the Test-NG eclipse plugin does
    a good
    >>     job in offering you all classes annotated with @Test
    >
    >
    >
    ------------------------------------------------------------------------
    >>         *From:* Paul Cooley [mailto:[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>
    >>         <mailto: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>]
    >>         *Sent:* Tuesday, April 10, 2007 4:04 PM
    >>         *To:* [email protected]
    <mailto:[email protected]> <mailto: [email protected]
    <mailto:[email protected]>>
    >>         *Subject:* Re: HiveMind Site
    >
    >>         Johan:
    >>         Perhaps I've misunderstood the issue.  However, let me
    blindly
    >>         proceed in ignorance.  :)
    >
    >>         Regardless of when classes are loaded (hivemind runtime
    or for
    >>         hivedoc), each class can be introspected to determine its
    >>         annotations, provided they are marked as Runtime.  If the
    >>         annotations are documentation only, then yes, it obviously
    > gets
    >>         more difficult and a real parser will have to be used, but
    > this
    >>         also means the source code will have to be available
    for all
    >>         elements to be hivedoc'd.  I assume that since the
    annotations
    >>         are going to be used in building the registry (
    HM2.0??), that
    >>         all these annotations will have runtime marking.
    >
    >>         Again, I hope I haven't misunderstood the issue.  And if I
    > have,
    >>         my apologies.
    >
    >>         Cheers.
    >
    >>         On 4/10/07, *Johan Lindquist* < [EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>
    >>         <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>
    wrote:
    >
    >> Hi Paul,
    >
    >> But that is if you know the class already right?
    >
    >> When you load the Hivemind registry using XML, it will do a
    >> getResources("META-INF/hivemodule.xml") on the class loader and
    >> processes a list of hivemodules.  Now, if you can do the
    >> same with
    >> annotations, then we are in the clear.
    >
    >> Cheers,
    >
    >> Johan
    >
    >> Paul Cooley wrote:
    >>> Johan:
    >>> Discovering Annotations at runtime is fairly
    >> straightforward.  There are
    >>> some tricks, however, when you begin going across
    >> ClassLoaders (which I
    >>> assume is going to happen in this case since jars are being
    >> loaded at
    >>> runtime).  In these instances, it may be necessary to compare
    >>> annotations by name rather than Class, since they may not
    >> match (due to
    >>> different ClassLoaders).
    >
    >>> Cheers.
    >
    >>> On 4/10/07, *Johan Lindquist* < [EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>
    >> <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> >
    >>> <mailto: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
    <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>> wrote:
    >
    >>> Hi Marcus,
    >
    >>> Yes, I can admit the same for the verifier just now - but
    >> as you say,
    >>> the code is short ...
    >
    >>> As for parsing the code (and maybe Achim has some thoughts
    >> on this) to
    >>> create a registry - sounds like a good plan.  I guess it
    >> can be written
    >>> to raise events which the plugins can act on (similar to
    >> module loading
    >>> now i belive??).
    >
    >>> However, both plugins depend on runtime discovery of
    >> modules - and as I
    >>> understand it, this is something which is currently not
    >> supported by
    >>> 2.0?  Do I understand things correctly when I say that
    >> supporting such
    >>> discovery is currently not possible with JDK 1.5 and
    >> annotations?  I.e.
    >>> it is very hard (if not impossible) to "discover" classes
    >> which have
    >>> annotations on them?  Is the plan to solve this by creating
    >> a sort of
    >>> hybrid solution which uses both XML and annotations?
    >
    >>> Not sure if I am completely off the mark here :)
    >
    >>> Johan
    >
    >>> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
    >> <mailto:[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>><mailto: [EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>
    >> <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>
    wrote:
    >>>> Hi Johan,
    >
    >>>> I think, I used the Apache License - so no problem here.
    >
    >>>> However, I have to blushingly admit, that the hivedoc
    >> plugin is
    >>> quite a quick hack. So don't expect any clean abstraction
    >> from the
    >>> xml-Registry-Definition.
    >>>> On the positive side, the code is short and
    >> straightforward, so it
    >>> shouldn't be really difficult to pull apart the xml-parsing
    >> and the
    >>> output-generation.
    >>>> Unfortunately, I've not yet had the time to look into the
    >> new API.
    >>> Basically, one probably needs to search the source-files for
    >>> HiveMind-2.0 annotations.
    >>>> This annotation-parsing thing should be common for
    >> validator and
    >>> hivedoc mojos. The simplest thing might be to generate the
    >> good old
    >>> xml-registry as a temporary file from the annotations and
    >> use it as
    >>> input for both tools.
    >
    >>>> Marcus
    >
    >>>>> -----Original Message-----
    >>>>> From: Johan Lindquist [mailto: [EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>
    >> <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
    >>> <mailto: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> <mailto:
    [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>]
    >>>>> Sent: Tuesday, April 10, 2007 9:04 AM
    >>>>> To: [email protected] <mailto:[email protected]>
    >> <mailto: [email protected] <mailto:[email protected]>>
    >> <mailto:[email protected] <mailto:[email protected]>
    >> <mailto:[email protected]
    <mailto:[email protected]>> >
    >>>>> Subject: Re: HiveMind Site
    >>>>>
    >>>> Hi,
    >
    >>>> For the verifier mojo, there are no issues - not sure about
    >>>> the HiveDoc one - Marcus?
    >
    >>>> And yes, HiveMind 2.0 integration should be considered.
    >>>> verifier should definately be possibly to re-use for XML
    >>>> descriptors but it needs to be retrofitted to handle
    >>>> annotated registries.  For HiveDoc, I would assume the same
    >>>> thing applies?
    >
    >>>> Johan
    >
    >>>> Achim Hügen wrote:
    >>>>>>> It would be great to add that plugin to the hivemind
    >> subversion
    >>>>>>> repository as an additional module.
    >>>>>>> Does any licensing issues or copyright speak against it?
    >>>>>>>
    >>>>>>> BTW, we will have to check how such plugins can be
    >>>> integrated with the
    >>>>>>> HiveMind 2 registry definition API.
    >>>>>>>
    >>>>>>> Achim
    >>>>>>>
    >>>>>>> Am Thu, 05 Apr 2007 10:09:17 +0200 schrieb Johan Lindquist
    >>>>>>> < [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
    <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> <mailto:
    >> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
    <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>>:
    >>>>>>>
    >>>>>>> Hi,
    >>>>>>>
    >>>>>>> Ok, I will take a look - and file the JIRA.
    >>>>>>>
    >>>>>>> About the plugin - basically there are two mojos that were
    >>>> mentioned
    >>>>>>> on the list - a hivedoc report plugin (written by Marcus
    >>>> Schulte) and
    >>>>>>> a hivemodule.xml verifier plugin (started by
    >> myself).  The thoughts
    >>>>>>> were to create one single hivemind plugin with these two
    >>>> sub-goals (if
    >>>>>>> that is the correct wording).  Then of course, any
    >> other sub-goals
    >>>>>>> that come along would slot in quite nicely as
    >> well.  Makes sense?
    >>>>>>>
    >>>>>>> Cheers,
    >>>>>>>
    >>>>>>> Johan
    >>>>>>>
    >>>>>>> Achim Hügen wrote:
    >>>>>>>>>> Your changes are very welcome.
    >>>>>>>>>> Please use JIRA for submitting the patches.
    >>>>>>>>>> Maybe the IE bug has already been fixed on the tapestry
    >>>> site where
    >>>>>>>>>> I copied the styles from.
    >>>>>>>>>>
    >>>>>>>>>> Could you give me a short update on the plugin subject?
    >>>>>>>>>> Did you create the plugins or who is the owner?
    >>>>>>>>>>
    >>>>>>>>>> Achim
    >>>>>>>>>>
    >>>>>>>>>>
    >>>>>>>>>> Am Tue, 03 Apr 2007 09:42:24 +0200 schrieb Johan
    >> Lindquist
    >>>>>>>>>> < [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
    <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
    >> <mailto: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> <mailto:
    [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>>:
    >>>>>>>>>>
    >>>>>>>>>> Hi Achim,
    >>>>>>>>>>
    >>>>>>>>>> I think misunderstood the problem with the pom -
    >> thought it was
    >>>>>>>>>> related to the "root" source repository location as
    >> indicated by
    >>>>>>>>>> the project info on the homepage.  Apologies for my
    >>>> hasty conclusions.
    >>>>>>>>>> In any case, I think we all agree that the site should
    >>>> be updated
    >>>>>>>>>> and I understand fully if time prevents this .  And
    >> as far as
    >>>>>>>>>> committers go, I guess James is only one still active?
    >>>>>>>>>>
    >>>>>>>>>> On a different note - looks like the site doesn't
    >> work entirely
    >>>>>>>>>> correct on IE (at least for me, the left nav is not
    >>>> visible in IE -
    >>>>>>>>>> firefox works fine) - do you mind if I make one or two
    >>>> changes to
    >>>>>>>>>> the hivemind site project to correct this?  Would you
    >>>> want another
    >>>>>>>>>> JIRA for this to keep track?
    >>>>>>>>>>
    >>>>>>>>>> And lastly, was also hoping to incorpororate the
    >> Maven Hivemind
    >>>>>>>>>> plugins previously mentioned - module verification and
    >>>> hivedoc.  Thoughts?
    >>>>>>>>>> Cheers,
    >>>>>>>>>>
    >>>>>>>>>> Johan
    >>>>>>>>>>
    >>>>>>>>>> Achim Hügen wrote:
    >>>>>>>>>>>>> Johan, the bug refered to the HiveMind 2 poms and
    >> I fixed
    >>> it.
    >>>>>>>>>>>>> Nevertheless it would be nice if someone could apply
    >>>> the patches
    >>>>>>>>>>>>> to the 1.2 site and release it.
    >>>>>>>>>>>>> Unfortunately my time is limited and I focus on
    >>>> version 2.0 in
    >>>>>>>>>>>>> the moment.
    >>>>>>>>>>>>>
    >>>>>>>>>>>>> Anybody else?
    >>>>>>>>>>>>>
    >>>>>>>>>>>>> Achim
    >>>>>>>>>>>>>
    >>>>>>>>>>>>> Am Mon, 02 Apr 2007 09:17:01 +0200 schrieb Johan
    >> Lindquist
    >>>>>>>>>>>>> < [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
    <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
    >> <mailto: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
    <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>>:
    >>>>>>>>>>>>>
    >>>>>>>>>>>>> Hi All,
    >>>>>>>>>>>>>
    >>>>>>>>>>>>> Over the weekend there was a JIRA opened for the SVN
    >>> links on
    >>>>>>>>>>>>> the HiveMind site.  Looks like the current
    >> project info (as
    >>>>>>>>>>>>> generated by
    >>>>>>>>>>>>> Maven) uses the site scm URL (someone correct me if I
    >>>> am wrong)?
    >>>>>>>>>>>>> Now, to make sure that users don't get confused
    >> can I
    >>>> suggest we
    >>>>>>>>>>>>> try to get the updated site up for Hivemind?  The
    >>>> patch already
    >>>>>>>>>>>>> supplied will provide the new look and feel and
    >> other updates
    >>>>>>>>>>>>> that the maven build brings.  The 2.0 site should
    >> of course
    >>>>>>>>>>>>> still be there but I guess it
    >>>>>>>>>>>>> depends somewhat on how complete the
    >> documentation is
    >>>> - Achim?   If
    >>>>>>>>>>>>> there is some work required to complete it,
    >> anything someone
    >>>>>>>>>>>>> else can pick up?
    >>>>>>>>>>>>>
    >>>>>>>>>>>>> In any case, we should try to clean up the site
    >> and make sure
    >>>>>>>>>>>>> links (such as the SCM) works correctly.
    >>>>>>>>>>>>>
    >>>>>>>>>>>>> Only my two cents worth, but we don't want to confuse
    >>>> the users
    >>>>>>>>>>>>> further by having the (so far very good)
    >> documentation fall
    >>>>>>>>>>>>> apart on us.
    >>>>>>>>>>>>>
    >>>>>>>>>>>>> Thoughts?
    >>>>>>>>>>>>>
    >>>>>>>>>>>>> Cheers,
    >>>>>>>>>>>>>
    >>>>>>>>>>>>> Johan
    >>>>>>>>>>>>>
    >>>>>
    >
    >
    >>> --
    >>> Gotta find my destiny, before it gets too late.-- Ian Curtis
    >
    >
    >>         --
    >>         Gotta find my destiny, before it gets too late.-- Ian
    Curtis
    >
    >
    >
    >
    >> --
    >> Gotta find my destiny, before it gets too late.-- Ian Curtis
    >
    >>>
    >>
    >>
    >>

    - --
    you too?
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.6 (GNU/Linux)
    Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
    <http://enigmail.mozdev.org>

    iD8DBQFGHJTG1Tv8wj7aQ34RApc6AJ96K/9oig6/jAwkRkGUXuCzjwHbkgCfY+6P
    pyMex8Wearf99/Okr9aXEhA=
    =P/XL
    -----END PGP SIGNATURE-----



Reply via email to