1st, I didn't read you entire e-mail, just don't have the time right now,
but lemme inject some (potentially wrong) thoughts.

Not, sure why you are doing this antrun thing, but flexmojos is able to
place baseGenerated and generated wherever you want to.  Are you putting the
baseFiles under SCM? is that it?!

Flexmojos should deal with sourcePath, if it does not, that is a bug, BTW,
sourcePath will be removed from 3.8, so better start reporting problems
instead of doing something that is know as a bad idea.

Again, "I didn't read you entire e-mail, just don't have the time right now,
but lemme inject some (potentially wrong) thoughts."

VELO

On Wed, Sep 1, 2010 at 10:45 AM, Bryan Turner <[email protected]> wrote:

> We are successfully using the generate goal in our project with several
> other modules, and it works as part of the full build. However, ours is
> configured quite differently from what I've seen other places.
>
> To help prevent developers from checking in generated code, our flex-model
> module places generated sources under target rather than src/main/flex. We
> have a maven-antrun-plugin configuration which copies the contents of
> src/main/flex to target/src/as3 before flexmojos:generate runs. This allows
> us to version, under src/main/flex, any generated file that we have
> customized (non-base, since those are always regenerated), but keeps all of
> the generated sources in a directory which is ignored for version control.
>
> Our configuration looks like this. First, we have properties for all of the
> directories in play:
>     <properties>
>
>  
> <generatedBaseSourceDirectory>${project.build.directory}/src/base</generatedBaseSourceDirectory>
>
>  
> <generatedSourceDirectory>${project.build.directory}/src/as3</generatedSourceDirectory>
>         <versionedSourceDirectory>src/main/flex</versionedSourceDirectory>
>     </properties>
>
> Next, the <build/> element has sourceDirectory and testSourceDirectory
> defined:
>         <sourceDirectory>${generatedSourceDirectory}</sourceDirectory>
>         <testSourceDirectory>src/test/flex</testSourceDirectory>
>
> Followed by our plugins. maven-antrun-plugin comes first, since it needs to
> copy the files we've modified:
>             <plugin>
>                 <groupId>org.apache.maven.plugins</groupId>
>                 <artifactId>maven-antrun-plugin</artifactId>
>                 <version>1.3</version>
>                 <executions>
>                     <execution>
>                         <id>copy-sources</id>
>                         <phase>generate-sources</phase>
>                         <goals>
>                             <goal>run</goal>
>                         </goals>
>                         <configuration>
>                             <tasks>
>                                 <copy overwrite="true"
> todir="${generatedSourceDirectory}">
>                                     <fileset
> dir="${versionedSourceDirectory}"/>
>                                 </copy>
>                             </tasks>
>                         </configuration>
>                     </execution>
>                 </executions>
>             </plugin>
> As you can see, this copies any files/directories from the
> versionedSourceDirectory (src/main/flex) to the generatedSourceDirectory
> (target/src/as3).
>
> That is followed by configuration for the flexmojos-maven-plugin:
>             <plugin>
>                 <groupId>org.sonatype.flexmojos</groupId>
>                 <artifactId>flexmojos-maven-plugin</artifactId>
>                 <version>${flex.mojos.version}</version>
>                 <extensions>true</extensions>
>
>                 <configuration>
>                     <sourcePaths>
>                         <path>${generatedSourceDirectory}</path>
>                         <path>${generatedBaseSourceDirectory}</path>
>                     </sourcePaths>
>                     <storepass/>
>                 </configuration>
>                 <executions>
>                     <execution>
>                         <goals>
>                             <goal>generate</goal>
>                         </goals>
>                         <configuration>
>
>  <baseOutputDirectory>${generatedBaseSourceDirectory}</baseOutputDirectory>
>                             <extraOptions>
>
>  <as3typefactory>com.company.granite.EnhancedAs3TypeFactory</as3typefactory>
>
>  <transformer>com.company.granite.EnhancedGroovyTransformer</transformer>
>                             </extraOptions>
>                             <generatorToUse>graniteds21</generatorToUse>
>                             <includeJavaClasses>
>                                 <javaClass/>
>                             </includeJavaClasses>
>
>  <outputDirectory>${generatedSourceDirectory}</outputDirectory>
>                             <templates>
>
>  <base-bean-template>${project.basedir}/gsp/beanBase.gsp</base-bean-template>
>
>  
> <base-entity-template>${project.basedir}/gsp/entityBase.gsp</base-entity-template>
>
>  
> <base-remote-template>${project.basedir}/gsp/remoteBase.gsp</base-remote-template>
>
>  <bean-template>${project.basedir}/gsp/bean.gsp</bean-template>
>
>  <entity-template>${project.basedir}/gsp/entity.gsp</entity-template>
>
>  <interface-template>${project.basedir}/gsp/interface.gsp</interface-template>
>
>  <remote-template>${project.basedir}/gsp/remote.gsp</remote-template>
>                             </templates>
>                         </configuration>
>                     </execution>
>                 </executions>
>             </plugin>
> So, several things I'll point out here. First, we're not using ${basedir}
> anywhere; we use ${project.basedir}, which seems to create the correct
> paths. Also, notice that the <sourcePaths/> is configured at the *plugin* 
> level,
> not the *execution* level (Velo: I know this is not the preferred
> approach, so I'm very interested if you have any suggestions on how we could
> not use <sourcePaths/> here but still be able to use this layout). We're
> using (highly) customized GSPs (remote-template, in 3.x, can only be set in
> <templates/>, so we're setting them all that way), AS3 type factory and
> Groovy transformer.
>
> This layout is a bit more work, in the poms, but the developers on the team
> really like it. It makes it very simple for them to differentiate between
> what should be added to Subversion and what should not. If they customize a
> generated file, they copy it to src/main/flex. This layout works correctly
> for Maven, FlexBuilder 3, FlashBuilder 4 and IntelliJ 8.1 and 9.
>
> I hope this has some snippets that might help you figure out what's amiss.
>
> Bryan
>
> On Wed, Sep 1, 2010 at 12:51 AM, btyla <[email protected]> wrote:
>
>> The goal itself works okay when executed from within the project
>> itself but it doesn't seem to work when the project is part of an
>> aggregate build.
>> I'm happy to supply any information needed to further investigate this
>> issue, just let me know.
>>
>> On Aug 31, 5:15 pm, Marvin Froeder <[email protected]> wrote:
>> > What is wrong with the generate goal?
>> >
>> >
>> >
>> > On Tue, Aug 31, 2010 at 11:43 AM, btyla <[email protected]> wrote:
>> > > Besides the basedir maven bug, there seems to be something wrong with
>> > > the generate goal in 3.8-SNAPSHOT. I also tried to add the generated-
>> > > source dir with the maven helper plugin but that didn't work either.
>> > > At this point I unfortunately have to disable the code generation.
>> > > Should I file a jira issue?
>> >
>> > > On Aug 31, 4:15 pm, Marvin Froeder <[email protected]> wrote:
>> > > > Well, maven is the one that interpolates the ${basedir}... so I
>> would say
>> > > it
>> > > > is a maven bug, but weird that only you got this problem....
>>  anyway, DO
>> > > NO
>> > > > TAMPER WITH SOURCE PATHS!  I really mean it.
>> >
>> > > > This is the best way to break everything.
>> >
>> > > > VELO
>> >
>> > > > On Tue, Aug 31, 2010 at 11:05 AM, btyla <[email protected]> wrote:
>> > > > > Hi
>> >
>> > > > > I'm generating AS3 classes from their java counterparts. Running
>> maven
>> > > > > in this project directory works, but when running maven in the
>> parent
>> > > > > project directory this fails. The generated 'base' cannot be found
>> by
>> > > > > the compiler. It seems that the generated-sources directory is not
>> > > > > added automatically in this case.
>> >
>> > > > > I tried the 'includeSources' configuration element but without
>> luck;
>> > > > > it is ignored and doesn't show in the compiler options.
>> >
>> > > > > The 'sourcePaths' doesn't work either because it some how inserts
>> a
>> > > > > 'null' path element.
>> >
>> > > > > <sourcePaths>
>> > > > >    <path>${baseDir}/src/main/flex</path>
>> > > > > </sourcePaths>
>> >
>> > > > > results in:
>> >
>> > > > > -compiler.source-path
>> X:\bnu-op\bnu-op-flex-application\null\src\main
>> > > > > \flex
>> >
>> > > > > I'm using flexmojos-3.8-SNAPSHOT
>> >
>> > > > > X:\bnu-op>mvn -version
>> > > > > Apache Maven 2.2.1 (r801777; 2009-08-06 21:16:01+0200)
>> > > > > Java version: 1.6.0_21
>> > > > > Java home: C:\Program Files\Java\jdk1.6.0_21\jre
>> > > > > Default locale: en_US, platform encoding: Cp1252
>> > > > > OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows"
>> >
>> > > > > Regards,
>> > > > > Bjorn
>> >
>> > > > > --
>> > > > > You received this message because you are subscribed to the Google
>> > > > > Groups "Flex Mojos" group.
>> > > > > To post to this group, send email to [email protected]
>> > > > > To unsubscribe from this group, send email to
>> > > > > [email protected]<flex-mojos%[email protected]>
>> <flex-mojos%2bunsubscr...@googlegrou­ps.com>
>> > > <flex-mojos%[email protected]<flex-mojos%[email protected]>
>> <flex-mojos%252bunsubscr...@googl­egroups.com>
>> >
>> > > > > For more options, visit this group at
>> > > > >http://groups.google.com/group/flex-mojos
>> >
>> > > > >http://flexmojos.sonatype.org/
>> >
>> > > --
>> > > You received this message because you are subscribed to the Google
>> > > Groups "Flex Mojos" group.
>> > > To post to this group, send email to [email protected]
>> > > To unsubscribe from this group, send email to
>> > > [email protected]<flex-mojos%[email protected]>
>> <flex-mojos%2bunsubscr...@googlegrou­ps.com>
>> > > For more options, visit this group at
>> > >http://groups.google.com/group/flex-mojos
>> >
>> > >http://flexmojos.sonatype.org/- Hide quoted text -
>> >
>> > - Show quoted text -
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Flex Mojos" group.
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]<flex-mojos%[email protected]>
>> For more options, visit this group at
>> http://groups.google.com/group/flex-mojos
>>
>> http://flexmojos.sonatype.org/
>>
>
>  --
> You received this message because you are subscribed to the Google
> Groups "Flex Mojos" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]<flex-mojos%[email protected]>
> For more options, visit this group at
> http://groups.google.com/group/flex-mojos
>
> http://flexmojos.sonatype.org/
>

-- 
You received this message because you are subscribed to the Google
Groups "Flex Mojos" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/flex-mojos

http://flexmojos.sonatype.org/

Reply via email to