Thanks John!

I'll try it out.

WM


--- John Casey <[EMAIL PROTECTED]> wrote:
> Jason: undoubtedly, this is a hack, but it's one that I have also found
> to be required. Not having time to fix it (assuming it can be fixed) and
> pursue a patch, I've simply copied a section of the driver.jelly into a
> preGoal.
> 
> Webb: it's actually more involved than simply setting that property. You
> also have to reset the sourcesAvailable (or similar) properties for
> normal and unit test code. As you may begin to see, you will have
> started a relatively large snowball rolling.
> 
> Just to make your life easier, I'll include the section I use from a
> preGoal to take care of this. It's easiest to put it in the java:compile
> preGoal, I've found...
> 
> Good luck.
> -john
> 
> 
>   <!-- TASKS:
>    | 1. Create generated-source directory and copy all existing source
> to it.
>    | 2. Generate full java source via XDoclet.
>    | 3. Backup the maven.src.dir variable to maven.oldsrc.dir.
>    | 4. Re-init the sourcesPresent, maven.compile.src.set, etc.
>    |-->
>   <preGoal name="java:compile">
>     <c:if test="${empty(maven.gensrc.dir)}">
>       <c:set var="maven.gensrc.dir"
> value="${maven.build.dir}/generated-source"/>
>     </c:if>
>     
>       <ant:taskdef classname="xdoclet.modules.ejb.EjbDocletTask"
>                      name="ejbdoclet">
>           <ant:classpath>
>             <ant:path refid="maven.dependency.classpath" />
>           </ant:classpath>
>         </ant:taskdef>
> 
>     <ant:mkdir dir="${maven.gensrc.dir}"/>
>     <ant:copy todir="${maven.gensrc.dir}">
>       <ant:fileset dir="${pom.build.sourceDirectory}">
>         <ant:exclude name=".dependency-info/**"/>
>       </ant:fileset>
>     </ant:copy>
>   
>     <ant:echo>Starting EJBDoclet...</ant:echo>
>         <ant:ejbdoclet ejbSpec="2.0"
>                    excludedTags="@version,@author,@todo"
>                    destDir="${maven.gensrc.dir}"
>                    verbose="false">
> 
>       <ant:fileset dir="${maven.gensrc.dir}"  includes="**/*Bean.java"
> />
>       <ant:remoteinterface/>
>       <ant:localinterface/>
>       <ant:homeinterface/>
>       <ant:localhomeinterface/>
>       <ant:jboss validateXML="true" 
>                  destDir="${maven.gensrc.dir}/META-INF"
>                  generateRelations="false"
>                  mergeDir="${basedir}/xdoclet-mergeSrc"
>                  version="3.2"/>
>       <ant:deploymentdescriptor validateXML="true"  
>                                 destDir="${maven.gensrc.dir}/META-INF"
> />
>     </ant:ejbdoclet>
>     <ant:echo>...Finished EJBDoclet</ant:echo>
>       <!--                                
>       <ant:jrun validateXML="true" 
> destDir="${maven.gensrc.dir}/META-INF" />
>       -->
>               
>     <c:set var="maven.oldsrc.dir" value="${maven.src.dir}"/>
>     <c:set var="maven.src.dir" value="${maven.gensrc.dir}"/>
>     
>     <c:set target="${pom.build}" property="sourceDirectory"
> value="${maven.src.dir}"/>
>     
>     <ant:echo>maven.src.dir is now ${maven.src.dir}</ant:echo>
>     <ant:echo>pom.build.sourceDirectory is now
> ${pom.build.sourceDirectory}</ant:echo>
>     
>     <!-- Swiped
> from:                                                       -->
>     <!--
> ================================================================== -->
>     <!-- D R I V E R  I N I T I A L I Z A T I O
> N                           -->
>     <!--
> ================================================================== -->
>     <!-- All things we want to provide to all plugins, or processes
> we      -->
>     <!-- performed before every build are declared/defined
> here.            -->
>     <!--
> ================================================================== -->
> 
>     <c:if test="${!empty(maven.src.dir)}">
>       <ant:available property="sourcesPresent" file="${maven.src.dir}"/>
>     </c:if>
> 
>     <ant:path id="maven-classpath">
>       <ant:fileset dir="${maven.home}/lib"/>
>     </ant:path>
> 
>     <c:if test="${sourcesPresent == 'true'}">
>       <!--
>        | FIXME: It would be nice for other plugins to have the source
> available
>        |        as a fileset
>        |-->
>       <ant:path id="maven.compile.src.set">
>         <ant:pathelement location="${maven.src.dir}"/>
>       </ant:path>
>     </c:if>
> 
> 
> On Wed, 2004-03-17 at 12:19, Webb Morris wrote:
> > Well,
> > 
> > I have a plugin that generates an EJB from a service class. The EJB doesn't get 
> > placed in the
> > pom.build.sourceDirectory structure, because that wouldn't make sense (don't want 
> > the EJB
> checked
> > in to source repository, don't want users to go fiddling with it outside of 
> > generation, etc). 
> The
> > next thing that needs to happen is to generate the Remotes and Homes etc. using 
> > the XDoclet
> > EJBDoclet plugin.  Unfortunately, that plugin looks for the files to include in the
> > pom.build.sourceDirectory structure instead of some user settable property.  
> > Therefore, I need
> to
> > change the value of this variable before I make the xdoclet:ejbdoclet call.
> > 
> > So, how can I do this?
> > 
> > WM
> > 
> > 
> > --- Jason van Zyl <[EMAIL PROTECTED]> wrote:
> > > On Wed, 2004-03-17 at 11:34, Webb Morris wrote:
> > > > I have a need to change the pom.build.sourceDirectory parameter on the fly. 
> > > > I've tried the
> > > > following:
> > > > 
> > > >  <j:set var="pom.build.sourceDirectory" value="new value"/>
> > > > 
> > > > But this does not work. Ideas?
> > > 
> > > You can make it work, but why exactly are you trying to do that? You
> > > shouldn't need to.
> > > 
> > > > WM
> > > > 
> > > > __________________________________
> > > > Do you Yahoo!?
> > > > Yahoo! Mail - More reliable, more storage, less spam
> > > > http://mail.yahoo.com
> > > > 
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > 
> > > -- 
> > > jvz.
> > > 
> > > Jason van Zyl
> > > [EMAIL PROTECTED]
> > > http://maven.apache.org
> > > 
> > > happiness is like a butterfly: the more you chase it, the more it will
> > > elude you, but if you turn your attention to other things, it will come
> > > and sit softly on your shoulder ...
> > > 
> > >  -- Thoreau 
> > > 
> > > 
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > 
> > 
> > 
> > __________________________________
> > Do you Yahoo!?
> > Yahoo! Mail - More reliable, more storage, less spam
> > http://mail.yahoo.com
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> -- 
> John Casey
> [EMAIL PROTECTED]
> CommonJava Open Components Project
> http://www.commonjava.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 


__________________________________
Do you Yahoo!?
Yahoo! Mail - More reliable, more storage, less spam
http://mail.yahoo.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to