Was wondering if we could use tomee instead of xbean in the groupid. Also
the artifact id could be something like "classpath-scan-optimizer". The
resulting scan.xml could be stored in a package named org.apache.tomee
instead of org.apache.xbean. The more usage of "tomee" would be better. As
a user, I do not want to think , "I am using tomee, so what is this xbean".
Also, the name of the artifact-id should be a bit more exciting and reflect
the value-add it is providing.


On Tue, Feb 21, 2012 at 8:55 AM, Romain Manni-Bucau
<rmannibu...@gmail.com>wrote:

> updated to manage only one file path property and to use external profiles.
>
> I like the "i don't need to write what i scan" feature provided by
> profiles.
>
> <plugin>
>        <groupId>org.apache.openejb</groupId>
>        <version>0.0.1-SNAPSHOT</version>
>        <artifactId>spi-helper-maven-plugin</artifactId>
>        <executions>
>          <execution>
>            <id>generate-scan-xml</id>
>            <goals>
>              <goal>generate</goal>
>            </goals>
>          </execution>
>        </executions>
>        <configuration>
>
>
> <outputFilename>${project.build.directory}/${project.build.finalName}/WEB-INF/org/apache/xbean/scan.xml</outputFilename>
>        </configuration>
>        <dependencies>
>          <dependency> <!-- mandatory for the scanning since we enhanced
> our entities -->
>            <groupId>org.apache.openjpa</groupId>
>            <artifactId>openjpa</artifactId>
>            <version>2.2.0</version>
>          </dependency>
>          <dependency> <!-- to get the jee6 profile without configuration
> -->
>            <groupId>org.apache.openejb</groupId>
>            <version>0.0.1-SNAPSHOT</version>
>            <artifactId>spi-helper-jee6-profile</artifactId>
>          </dependency>
>        </dependencies>
>      </plugin>
>
> - Romain
>
>
> 2012/2/21 Romain Manni-Bucau <rmannibu...@gmail.com>
>
> >
> > - Romain
> >
> >
> > 2012/2/21 Alan D. Cabrera <l...@toolazydogs.com>
> >
> >>
> >> On Feb 21, 2012, at 7:40 AM, Romain Manni-Bucau wrote:
> >>
> >> > i created a module xbean-xml in maven plugins to be able to commit but
> >> it
> >> > should be in xbean i think (the mvn plugin too by the way).
> >> >
> >> > the example needs openjpa (not jpa ;)) because before using the
> plugin i
> >> > enhance the entities with the openjpa plugin so then the classes are
> >> > enhanced and reference some openjpa classes so it is needed in this
> >> case.
> >>
> >> Can you provide more detail on this enhancement?  It sounds like you're
> >> mixing concerns.
> >>
> >
> > Romain:  the example needs OpenJPA enhancement (
> > http://openjpa.apache.org/entity-enhancement.html) so i added it but it
> > is done before the plugin scan. then entities are modified and are
> openjpa
> > dependent so classes are needed. I don't like it but i didn't manage to
> > make the exemple working well without it.
> >
> >
> >> > Concerning the verbosity of xml it is simply a ratio between useful
> >> > characters and useless ones (yes i use vim :p).
> >> >
> >> > The scan.xml location is configurable. For the moment there is 2
> >> properties
> >> > but it can be (should be) merged in one (today we have base + relative
> >> > path, i liked it because relative is the convention and base is
> whatever
> >> > you want).
> >>
> >> It seems that you are simply restating what you've done instead of
> >> justifying the weakening of a feature or explaining why the feature of
> >> having the scan.xml file in a known place is not all that important.
> >>
> >
> > Romain: one property is enough, if everybody thinks 2 are useles si'll
> > simply remove the second, i don't think one or the other solution is
> better
> >
> >
> >>
> >> > The snippet David sent in his first mail is till available, i just
> added
> >> > the notion of "profile" which are in my mind a set of predefined
> >> > [implementations, subclasses, annotations] easier to configure (the
> one
> >> i
> >> > provided is jee6, simply look what it looks like to understand why it
> is
> >> > not so useless ;)). Maybe it should be done through files at the
> >> classpath
> >> > instead of hardcoding it...was a first step ;)
> >>
> >> I'm not sure that hardcoding is required.  Per David's earlier email the
> >> configuration would dictate what would be searched for in the scan.
> >>
> >
> > Romain: hardcoding is clearly not required, was just easier to start to
> > provide something
> >
> >
> >>
> >> I thought about profiles as well but then one must publish and maintain
> >> those profiles.  I hate, hate, hate, finding things in the classpath.
> >>  Things magically appear and disappear all too often.  :)  What might
> be a
> >> good idea is to publish the profile file in Maven.  Then we could use
> the
> >> Maven dependency plugin to pull own the file and drop it into the target
> >> directory.  Then the scan plugin could be configured to read it.
> >>
> >
> > Romain: right but always listing javaee6 annotations is clearly a pain
> too
> >
> >
> >>
> >> One subtle point to the above use case, it's better to just loosely
> >> couple things and simply list the exact criteria, and not the profile,
> that
> >> was searched for in the scan.xml.
> >>
> >
> > Romain: i think i'll update as i said the plugin to be able to get
> > information from a file, a kind of serviceloader thing
> >
> >
> >>
> >>
> >> Regards,
> >> Alan
> >>
> >>
> >
> >
> >
>



-- 

Karan Singh Malhi
twitter.com/KaranSinghMalhi

Reply via email to