So, instead of placing you resource inside src/main/resources as maven
suggests you are placing it scattered across may directories inside
src/main?!

Why don't you configure maven then?


VELO

On Wed, Sep 1, 2010 at 1:18 PM, Bryan Turner <[email protected]> wrote:

> Foremost: I have removed the <sourcePaths/> block I showed above, now. It
> works perfectly without it, so it was always unnecessary.
>
> No, we are not placing *any* generatedBase files under version control
> (GAS always overwrites them, so adding them is pointless), and we are only
> placing *customized* generated files under version control. All of the
> gyrations in place are specifically to help prevent developers from *
> accidentally* adding generated files to version control. In specific,
> FlexMojos wants to generate non-Base classes, by default, into the normal
> build source directory (src/main/flex for us). This causes us substantial
> grief, because we end up with, intermixed, (non-base) files which are
> customized (read: ones that should be under version control, because we've
> made changes that we need to keep) and those which are vanilla (and should
> not be added to version control), in the same directory. The end result is
> that our developers receive a list of over 500 "added" files which the
> version control integration for their IDE wants to add to Subversion which
> they have to filter through. This always ends the same: Generated files that
> shouldn't be committed, are.
>
> I understand that FlexMojos can place baseGenerated and generated files in
> configurable locations--I'm using that feature. The antrun configuration
> allows me a very useful separation. *Customized* generated files are
> stored in src/main/flex, and are under version control. These files are then
> copied (by antrun) to a *separate* folder (under target/), where FlexMojos
> can generate files with them (generatedBase files are stored in another
> directory under target/). This way, the massive list of generated files is
> not intermixed with files we want under version control. If we didn't have
> any customized files, we wouldn't need this step. But GAS supports modifying
> the non-Base files for a reason, and it's functionality we need for our
> system.
>
> Also, while I hear what you're saying about <sourcePath/>, the simple fact
> is this: FlexMojos is currently not sufficiently configurable for me to *
> not* use it, in some places. I've gone through, on your recommendation,
> and removed it everywhere I can and have our build still work. If it will be
> removed in 3.8 and does not exist in 4.x, unfortunately we will be staying
> on 3.7.1 until either <sourcePath/> is supported in a newer version or
> FlexMojos has the configuration settings we require added to enable us to
> build successfully without having to use it.
>
> The primary issue is:
> ..src/main
> ....assets/
> ....flex/
> ....fonts/
> ....resources/
> ....styles/
>   Without <sourcePaths/>, FlexMojos offers me *no *way to include these
> extra paths in the build. It has, as you've pointed out before, custom code
> that makes the assets/ resolution work, but it does not find the fonts or
> styles unless we use <sourcePaths/>
>   - Please understand, I am not in a position to change this layout--it is
> what it is. So my choices are: Use ant or Use FlexMojos with <sourcePath/>,
> until FlexMojos gives me another choice
>   - If you're open to it, I'd be happy to work on and submit a patch that
> adds, for example, <fontsPath/> and <stylesPath/> configuration elements to
> allow me to define these directories in a way that does not require me to
> manipulate <sourcePaths/>
>
> Thanks for your help, and I apologize for the long e-mails--I know you're
> busy and doing this on your own time (and I appreciate it).
>
> Bryan
>
> On Wed, Sep 1, 2010 at 8:12 AM, Marvin Froeder <[email protected]> wrote:
>
>> 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]<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