Thanks now I'm clear on it (I didn't know Flexbuilder's destPath could be configured, do you have to manually edit the project files to change a module's destPath?).
I've been digging into the flexmojos codebase maybe I could help contribute a feature like that if that's a feature on the Flexmojos roadmap. With Maven plugin XML configuration would there still be a way to support: <modules> <module>my.mxml</module> </modules> and : <modules> <module> <file>my.mxml</file> > <output>modules/my.swf</output> > <optimize>true</optimize> > </module> > </modules> Also in terms of Maven artifacts and classifiers, is it possible to include the type of output directory structure you describe. From what I understand the only thing you can really control is the name of the built artifact file. ~ doug daniels On Thu, Dec 17, 2009 at 8:27 PM, velo <[email protected]> wrote: > Flexbuilder configure the modules like this: > > <modules> > <module application="src/HW.mxml" destPath="com/sonatype/nexus/plugins/ > sad.swf" optimize="true" sourcePath="src/com/sonatype/nexus/plugins/ > sad.mxml"/> > </modules> > > So my idea was to make it like this on flexmojos: > <modules> > <module> > <file>com/sonatype/nexus/plugins/sad.mxml</file> > <output>modules/sad.swf</output> > <optimize>true</optimize> > </module> > </modules> > > Am I cleaner now?! > > VELO > > On Dec 17, 8:26 pm, Doug Daniels <[email protected]> wrote: > > I created a JIRA issue: > > [FLEXMOJOS-234] Configuring build artifact name of MXML module for > > /target/ and for WAR copy-flex-resource builds: > > > > https://issues.sonatype.org/browse/FLEXMOJOS-234 > > > > I'm not sure I understand what you mean by it not being compatible > > with the other approach. Currently Flexbuilder (as far as I > > understand) doesn't allow you to configure the SWF output from your > > MXML modules and uses the MXML filename itself. > > > > Flexmojos also doesn't allow you to fully configure your SWF artifact > > output (or in copy-flex-resources) to match the Flexbuilder output (it > > only defaults to the standard maven artifact naming convention). > > > > Are there any suggested work arounds for this type of development > > environment or a best practices on how you should be developing Flex > > applications in Flexbuilder and using Flexmojos for your builds > > without having to manage 2 separate HTML resources to test/deploy your > > SWFs? > > > > On Thu, Dec 17, 2009 at 2:34 PM, velo <[email protected]> wrote: > > > The idea is to make modules more configurable... allowing you to have > > > the same options like you have on flexbuilder.... but right now this > > > isn't available.... > > > I just not sure if does worth adding this feature that you suggest > > > knowing it won't be compatible with this other approach.... > > > > > VELO > > > > > On Dec 17, 6:02 pm, Doug Daniels <[email protected]> wrote: > > >> We've had a lot of benefit using Flexmojos in our Flex/Java project. > > >> One thing that's bothered me (and maybe I've just missed the best > > >> practices or some documentation on it). > > > > >> We are working in a development environment where Java developers use > > >> Eclipse and then use maven to build the latest Flex clients, and Flex > > >> developers use FlexBuilder/Eclipse and have their mxml files compiled > > >> to bin-debug as <moduleName>.swf. > > > > >> The trouble is the flexmojos plugin builds the SWF into /target/ as > > >> <build.getFinalName()>-moduleName.swf. Also the copy-flex-resources > > >> copies the SWF artifact as <artifactID>-<version>-moduleName.swf (you > > >> can configure it to stripVersion). > > > > >> What I'm looking for is a way to configure either Flexbuilder or the > > >> Flexmojos plugin to consistently output the SWF's as just > > >> moduleName.swf, this would make things like running JSP pages that > > >> include the latest FlexBuilder built SWF easier (currently we have a > > >> production JSP that has <artifactID>-<version>-moduleName.swf , and a > > >> debug one that has moduleName.swf). > > > > >> I understand that the additional version and project name information > > >> is standard Maven practice, and it makes sense as a configuration > > >> default, but I'd like there to be a way to override that > > >> configuration. > > > > >> My suggestion is to allow the ApplicationMojo.java accept a > > >> configuration argument. > > > > >> <stripModuleArtifactInfo>true</stripModuleArtifactInfo> > > > > >> Also in the CopyMojo I'd suggest the same configuration to control how > > >> the SWF's are copied into your WAR: > > >> <stripModuleArtifactInfo>true</stripModuleArtifactInfo> > > > > >> What I'm wondering is if anyone else has experience setting up a > > >> Flexbuilder/Maven development environment that allows devs to quickly > > >> run and test their MXML without having to build in Flexbuilder and > > >> then build in Maven. > > > > >> I've created a patch for the flexmojos-maven-plugin project that could > > >> be applied to Flexmojos (I haven't been able to compile and run it I'm > > >> having trouble getting a Flexmojos build environment setup.), but it's > > >> a very simple patch if one of the devs could test it out. > > > > >> Index: src/main/java/org/sonatype/flexmojos/compiler/ > > >> ApplicationMojo.java > > >> =================================================================== > > >> --- src/main/java/org/sonatype/flexmojos/compiler/ApplicationMojo.java > > >> (revision 1536) > > >> +++ src/main/java/org/sonatype/flexmojos/compiler/ApplicationMojo.java > > >> (working copy) > > >> @@ -100,6 +100,13 @@ > > >> protected File source; > > > > >> /** > > >> + * When true will strip artifact and version information from the > > >> built MXML module artifact. > > >> + * > > >> + * @parameter default-value="false" > > >> + */ > > >> + private boolean stripModuleArtifactInfo; > > >> + > > >> + /** > > >> * When true, flexmojos will register register every compiled SWF > > >> files as trusted. These SWF files are assigned to > > >> * the local-trusted sandbox. They can interact with any other > > >> SWF files, and they can load data from anywhere, > > >> * remote or local. On false nothing is done, so if the file is > > >> already trusted it will still as it is. > > >> @@ -254,8 +261,9 @@ > > >> setMavenPathResolver( moduleBuilder ); > > >> moduleBuilder.setConfiguration( configuration ); > > >> moduleBuilder.setLogger( new CompileLogger( getLog() ) ); > > >> + String moduleArtifactPrefix = stripModuleArtifactInfo ? > > >> "" : build.getFinalName() + "-" ; > > >> File outputModule = > > >> - new File( build.getDirectory(), build.getFinalName() > > >> + "-" + moduleName + "." + project.getPackaging() ); > > >> + new File( build.getDirectory(), moduleArtifactPrefix > > >> + moduleName + "." + project.getPackaging() ); > > >> updateSecuritySandbox( outputModule ); > > > > >> moduleBuilder.setOutput( outputModule ); > > >> Index: src/main/java/org/sonatype/flexmojos/war/CopyMojo.java > > >> =================================================================== > > >> --- src/main/java/org/sonatype/flexmojos/war/CopyMojo.java > (revision > > >> 1536) > > >> +++ src/main/java/org/sonatype/flexmojos/war/CopyMojo.java > (working > > >> copy) > > >> @@ -109,6 +109,13 @@ > > >> private boolean stripVersion; > > > > >> /** > > >> + * When true will strip artifact and version information from the > > >> built MXML module artifact. > > >> + * > > >> + * @parameter default-value="false" > > >> + */ > > >> + private boolean stripModuleArtifactInfo; > > >> + > > >> + /** > > >> * Use final name if/when available > > >> * > > >> * @parameter default-value="true" > > >> @@ -372,7 +379,8 @@ > > >> { > > >> String classifier = StringUtils.isEmpty > > >> ( artifact.getClassifier() ) ? "" : "-" + artifact.getClassifier(); > > >> String version = stripVersion ? "" : "-" + > > >> artifact.getVersion(); > > >> - fileName = artifact.getArtifactId() + version + > > >> classifier + "." + SWF; > > >> + String artifactPrefix = stripModuleArtifactInfo ? "" : > > >> artifact.getArtifactId() + version; > > >> + fileName = artifactPrefix + classifier + "." + SWF; > > >> } > > >> else > > >> { > > > > > -- > > > 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?hl=en?hl=en > > > > >http://blog.flex-mojos.info/ > > -- > 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?hl=en?hl=en > > http://blog.flex-mojos.info/ > -- 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?hl=en?hl=en http://blog.flex-mojos.info/
