History | Log In     View a printable version of the current page.  
Issue Details (XML)

Key: SDK-12730
Type: Feature Request Feature Request
Status: Deferred Deferred
Priority: C C
Assignee: Matt Chotin
Reporter: Sebastien Arbogast
Votes: 137
Watchers: 76
Operations

If you were logged in you would be able to see more operations.
Flex SDK

A Maven2 plugin to integrate Flex into enterprise projects and continuous integration

Created: 09/18/07 05:40 PM   Updated: 06/20/09 06:53 AM
Component/s: MXML Compiler
Security Level: Public (All JIRA Users )

Issue Links:
Duplicate
 
This issue is duplicated by:
SDK-15040 Add maven support to flex SDK None Closed

Associated Release for Consideration: SDK Community Fix Candidates


 Description  « Hide
It's not really a bug, more of a feature request: I'm a professional Java enterprise application developer and most of my application use Maven2 as a build and integration tool.
There are many reasons for which it is so powerful, one of them being that it integrates like a charm with my continuous integration process and it allows me to maintain my dependencies almost painlessly.
The problem is that I can't find any robust Maven2 plugin to build Flex 2 applications, both existing ones having some serious issues:
- http://www.servebox.com/foundry/doku.php?id=m2f2plugin is far too complex to set up and get working
- http://www.israfil.net/projects/mojo/maven-flex2-plugin/ is constantly failing with latest versions of Maven2

I know that Maven2 can be unstable but it would greatly help if Adobe officially supported a Maven2 plugin offering all the goals to build and work with Flex projects.

 All   Comments      Sort Order:
Lauren Park - [10/31/07 04:07 PM ]
Deferred for Moxie.

Sebastien Arbogast - [10/31/07 04:56 PM ]
Are you certain that you're not underestimating the value that such a plugin can have for the penetration of Flex in the enterprise application development world?
I mean, Flex is not meant to be used all alone, it has to integrate with backend modules at some point and the best technology I know for such an integration is Maven 2.

Moreover, as Flex 3 gets Open Sourced, more and more third-party modules will appear like themes, component libraries, generic modules and so on. And that would be great if Adobe offered an official an standardized way not only to integrate but also to distribute all those dependencies, through a Maven repository for example.

Anyway, I guess you're on a tight schedule for Flex 3 release and that you have plenty of other priorities. I just think that such a plugin, combined with FlexUnit and a central repository would be THE killer feature, at least for me.

François Le Droff - [11/23/07 09:02 AM ]
I couldn't agree more with you, Sebastien ! Maven integration is a must have for any enterprise java enabled technology.

Stephen More - [12/27/07 03:37 PM ]
I too would like to see Maven integration.

Mark Lapasa - [01/04/08 10:44 AM ]
Maven + Flex for the win!

Joan Lafferty - [01/31/08 11:30 PM ]
Reopening these bugs that were deferred Minor Enhancements

Jeremy Anderson - [02/04/08 11:46 AM ]
Agreed, a Maven plugin would be very nice and help to penetrate in to the enterprise world.

Derek Wischusen - [02/04/08 11:56 AM ]
There are currently two open source Flex plugins for Maven in the works

http://www.israfil.net/projects/mojo/maven-flex2-plugin/

and

http://sourceforge.net/projects/mvnflex2plugin/

+1 for Adobe supported Maven repo

Peter Connolly - [02/04/08 01:16 PM ]
It is true that there are two open source Maven plugins for Flex. The second one listed is actually the ServeBox plugin. http://www.servebox.com/foundry/doku.php?id=m2f2plugin. I have tried to get the ServeBox plugin to work on two separate occasions, failing both times. The plugin has serious problems and the documentation is abysmal. I've only tried the Israfil plugin once, but also found that it was intractable, also possibly because of the poor documentation.

All this to say that the two current offerings leave a lot to be desired in feature set, in quality and in documentation. Adobe could leverage either one of them and get them working properly. That would be fine with me. But in their current state they are hardly a substitute for a functioning Flex plugin. :-/

Derek Wischusen - [02/04/08 01:52 PM ]
"Adobe could leverage either one of them and get them working properly."

100% agreed. I should have explained that I was posting the links to point out that there are a couple of projects that Adobe could potentially build on to get this done a bit faster :-)

Stephen More - [02/04/08 02:15 PM ]
Peter,
     The ServeBox plugin would not meet my needs either so I added a patch:

http://sourceforge.net/tracker/index.php?func=detail&aid=1861397&group_id=192807&atid=942884

1. Unit Tests will now run on Linux
2. -compiler.strict= is now configurable
3. Fix for library-path

If you give this plugin another try, I might be able to help you get started.

Peter Connolly - [02/04/08 02:24 PM ]
Thanks! Next time I have time to look sideways for 2 seconds I will give your patch a try...

Jeremy Anderson - [02/04/08 02:32 PM ]
The big problem I had with the ServeBox plugin was having to install all of the Flex dependencies in my artifact-repository and use their naming convention for the dependencies. The israfil plugin at least didn't require this extra step.

Unfortunately neither of these plugins work quite like I would like them to, so it would be really nice to see Adobe step up and address this issue.

Per Olesen - [02/04/08 02:55 PM ]
I do not understand why Adobe should support a maven2 plugin. I am using the Israfil plugin without any real trouble. I have not missed documentation on it, yet. If you think it needs features or better documentation, couldn't you try and submit a couple of patches, to support the good (and existing) work on Israfil? I would much rather have Adobe concentrate their effort on making the flex libraries more bug free, as in, focus on the *bugs* :-)

James Ward - [02/04/08 03:03 PM ]
Maybe we need to support up and down votes so that Per can give this one a thumbs down vote. Anyone care to file a Jira feature request? :)

Logan Allred - [02/04/08 03:28 PM ]
We also have the israfil plugin working to some extent, and are trying to submit patches to improve it. However, Flex Builder integration is really poor compared to the Java world. Unless there are ways for us to write Flex Builder plugins, only Adobe can provide the necessary hooks to integrate the two.

While it would be nice if Adobe could adopt one or both of the maven plugins and make them "official" or supported, that is not my personal requirement. I think letting the plugins grow on their own is sufficient for now if Adobe's resources are scarce, but I would like to see Adobe reach out and make the maven experience more integrated into Flex Builder, either by providing hooks and documentation, or additional functionality to make Flex Builder maven-aware.

My vote on this issue to have Adobe support better integration between maven builds and Flex Builder. Right now we have to maintain by hand both sets of project files (maven pom.xml and .actionScriptProperties). I suppose someone could write a maven plugin to generate the required Flex Builder project files, and I hope Adobe would give them whatever configuration needed to do it properly.

It would also be nice if libraries under Adobe's control were put in a proper maven repository so every maven project didn't have to create their own repositories. Even better if they could be looked up inside Flex Builder and automatically added to the library paths.

Plus maven projects often use multiple source/resource directories, and Flex Builder currently handles that poorly.

Unit-testing integration would be wonderful.

Plus the ability to have a maven build trigger a recompile of dependent projects. Or have a maven build kicked off when a file is saved in Flex Builder.

The m2eclipse and Q4E projects both have Eclipse plugins that work for Java, and should be able to be modified to work with Flex Builder. Even if Adobe doesn't take direct ownership of these things, providing interest, encouragement, support, documentation, etc. would be a welcome first step.

Per Olesen - [02/04/08 03:52 PM ]
@Logan:

Hmmm, this is a tough one, but I can see what you mean. But I am not sure which path will be the better.

For once, doing IDE integration with maven is a bitch. There isn't a single IDE, which does this well enough. IDEA comes close with its 7 release, but not close enough.

I should also note, that I am not a flex builder user myself. I try to keep out of a dependency on the (closed) builder, in effect making maven my build tool, not the IDE. On the projects I work on, it is simply not a choice, to force the developers into using a certain IDE. Anyways, I do see your needs.

One solution would be for adobe to open up the builder plugins and features. But somehow I do not see that coming around the corner :-(




Tony Constantinides - [02/08/08 12:54 PM ]
We at eBay wrote our own Maven 2.0 integration plugin with Flex in Java
We found the current open source versions competently inadequate and unusable in real Enterprise Development
We wrote our own and found that writing your own Maven plugin for Flex in Java is THE way to go, but it was development
we wish Adobe had invested in. Our build is very complicated with the build system generating code that needs to be complied on the fly, as well as building our codebase against mutiple Flex SDKs.
Our plugin allows us to pass parameters to the multiple Flex compilers by specifying XML tags. Our Plugin also can compile our code against multiple Flex SDKs in the same build cycle, just by setting the tags in the POM file for our app.
Please, do not ship Flex 3.0 unless it comes with a comprehensive Maven plugin for Flex, or developers who have limited resources are stuck with the buggy open source versions from very small companies with limited support options
Thank you

Per Olesen - [02/09/08 04:37 AM ]
Tony, your requirements for building seem quite complex, at least more complex than the average flex project, I think. Maybe that is why writing your own build plugin was right for you. My guess would be, that Adobe wouldn't have produced a plugin, that had met your requirements out of the box.

Isn't it better as Adobe is doing it now, by release a compiler api, which should make it easier, to produce a plugin?

BTW: You mention you found the existing open plugins "buggy" and "inadequate". Have you thought about contributing your plugin code, to make them better?

Please, Adobe, do *not* hold back flex3 because of a missing official maven plugin from Adobe.

Laurie Nylund - [02/09/08 10:10 AM ]
Our enterprise applications and the resulting build environments are also extremely complex and the lack of a "working" Flex plugin is one of our real frustrations. Even with my team of 50, I have a very hard time justifying taking someone off to build my own plugin - I have a backlog of hundreds of customer facing stories that drive our revenue that I have to put a significantly higher priority on. Adobe needs to find a way to support this if they are to continue to cement their lead in the development community over one of the other technology choices, who while significantly behind now, tends to win in the end. And I loudly second the motion to put Adobe's own libraries in Maven and make Flex builder support this much better.

Tony - [02/11/08 11:26 AM ]
Per,
  Yes , I think I will write my own Maven plugin (seperate from my client) and contribute it.
Adobe BTW is not releasing an compiler API as you state but is open sourcing the Flex compilers in the 3.0 release, theis has no impact on
writing a Maven 2.0 plugin. Maven has its own Java API. It is fairly easy to learn and very powerfull
Although having the source code fro the compilers will be educational, it probably will not have an impact on Flex tool writers
The way to integrate with Fex builder at the moment is to write an Eclipse plugin. Flex builder inself comes as 33 Eclipse plugins
We build from Java using java.exe and pass it the compilers (mxmc or compc) as jar files to do the actual build
This alows us to control the build extremely well and is mre effective than writing very complex build scripts as most of the
heavy lifting is done in java code wrapped up as a Maven plugin.
Let me know if you have any questions?

Matt Chotin - [02/11/08 11:08 PM ]
Fixing description

Marvin Froeder - [03/20/08 07:37 AM ]
There is a new option...
http://code.google.com/p/flex-mojos/

Still under development, but is possible to compile, with RSL and some other stuff.

Working on get support to incremental builds.


VELO

hafiz a haq - [04/03/08 11:43 PM ]
I really would appreciate if someone like Adobe could provide the plugin as I feel it would be more reliable. Currently we are looking at all the options available and each one of them require some kind of tweaks to make it run and we wouldnot prefer to have the uncertainity of the build system failing in the near future when some new dependencies come in.

We would really appreciate if someone in Adobe could throw some light on the current status of the issue.

Thanks and Regards,
Hafiz

Yuen-Chi Lian - [04/05/08 12:35 PM ]
Too many options it seems, and neither one is considered stable based on all the feedbacks listed here. I for one truly agree that Adobe should come out with a plugin for it.

I have just started learning Flex, got my Flex Builder Alpha 3 installed and the first thing went into my mind before I ever started a tiny project was "CREATE A POM". Now, whether it sounds scary or not, Maven has subconsciously become an acceptable/standard practice. For organized projects, for CI, etc.

Maven plugin FTW.

- yc

Kalyan Sarkar - [04/29/08 01:43 AM ]
We are migrating our enterprise application's UI from JSP to Flex. Since our build process is Maven based we are facing real trouble in building our application. At present we are using ServeBox, Adobe's Ant task as well as some custom batches to build our application. None of the available Maven plugins or Ant tasks fully support all the available build options.

We would really love see Adobe come up with a Maven plugin which makes Flex integration into enterprise application's really smooth. We also support the idea of putting all of Adobe's swcs into a central Maven repository.

Thanks and regards,
Kalyan Sarkar

Jeff Lage - [05/06/08 04:34 PM ]
i'd like to officially add in my request to have this feature. we could argue for days if maven is any good, but for large organizations with many projects/subproject, binaries source repositories are really not an option, they are fact of life and maven is one of the best tools out there to incorporate that into the build process.

Eugene Kuleshov - [05/14/08 05:11 PM ]
I am working I am working on Maven integration for Eclipse (m2eclipse) [1], which is also proposed as an Eclipse project [2] and will eventually became part of the Eclipse release train. More over, several commercial tools based on Eclipse already using m2eclipse (e.g. JBuilder).

We just added extensible project configuration framework [3] to m2eclipse that can be used for integrating various tools. Basically, it allows to register custom project configurators that would read Maven plugin configuration which can then use the Flex Builder API for configuring project in Eclipse to match Maven configuration. So, after project import, Flex project is ready to work in the IDE. We are also planning to add support for going other way around, i.e. creating Maven's pom.xml using settings from Eclipse project (e.g. Flex Builder settings) in order to simplify Maven project configuration that would work for the command line Maven build and make it really easy to build and test Flex apps on continuous integration servers.

We started prototyping Flex configurator using Flex Builder 3 API for configuring projects (com.adobe.flexbuilder.project.*), but could really use help to map Flex Builder configuration API to Maven plugin configuration [4].

Also, anyone interested in Maven integration for Flex Builder (or Eclipse IDE), please comment and add your use cases to the wiki [3].

[1] http://m2eclipse.codehaus.org/
[2] http://www.eclipse.org/proposals/m2e/
[3] http://docs.codehaus.org/display/M2ECLIPSE/Other+Ideas+and+Use+Cases#OtherIdeasandUseCases-FlexBuilderbridge
[4] http://docs.codehaus.org/display/M2ECLIPSE/Flex+Builder+Configuration+API

Behrang Javaherian - [05/20/08 06:33 PM ]
I think this is a must for Flex as more enterprises are moving to maven. I want to be able to define my flex project as a module inside the whole enterprise app and then use FlexBuilder for daily work and use Maven install command to generate a war file from the project. It should not be a big task to create an official maven plugin for the flex. The only thing is chanding the FlexBuilder to support the Maven project layout. At the moment I am evaluating the FlexBuilder and I think I will not buy it . Because I am using maven, I should still maintain my own project layout outside of the FlexBuilder. So I would not be able to use the FlexBuilder as a proper RAD environment.

Cheers
Behrang
http://www.beyondng.com

Marvin Froeder - [05/20/08 07:09 PM ]
Hi Behrang,

M2eclipse guys are working on get maven support to flexbuilder. M2eclipse will read flex-mojos configuration at pom.xml and use this configurations on flexbuilder projects.

You can follow progress on this issue:
http://jira.codehaus.org/browse/MNGECLIPSE-598

Any news I will post
http://blog.flex-mojos.info/2008/05/15/flex-mojos-on-m2eclipse/


VELO

Tim O'Brien - [06/09/08 09:19 AM ]
This is essential for Flex at this point. Where's the Maven support? Put the artifacts into the public repository

Cliff Meyers - [06/12/08 12:46 AM ]
Another vote for Blaze DS jars in a public repository.

Sebastien Arbogast - [06/12/08 01:14 AM ]
FYI, there is another issue in BlazeDS JIRA for that: https://bugs.adobe.com/jira/browse/BLZ-71

Oleg Konovalov - [07/10/08 08:44 AM ]
A must fix/enhancement.

Jan Klasser - [07/15/08 05:25 AM ]
Maven support is really a big plus for continuous integration

Matt Chotin - [07/15/08 12:09 PM ]
Deferred for Gumbo as the Flex-Mojos project should be taking things along. Please consider submitting patches for some of the bugs that the project needs to continue.


Mikaël Antoni - [01/21/09 08:50 AM ]
Maven Flex Plugin: new release and new website with a lot of explanations.
I hope it will help you.
All can be found there: http://www.servebox.org/maven-flex-plugin/

Vera Carr (Adobe) - [02/12/09 05:10 PM ]
At the Flex Community Feedback Forum we once again heard a strong demand for Flex integration with Maven. We, unfortunately, do not have the resources to work on this feature, but given the high demand, we have changed this feature request's milestone to "SDK Community Fix Candidates" - we believe this is a good project for the community to work on. If you're interested in this feature we hope you'll contribute to the Flex-Mojos project (http://code.google.com/p/flex-mojos/) that has been working on a Maven plugin for Flex. In particular, they are looking for help to provide better AIR support. For further discussion, please post to the forums (http://www.adobeforums.com/webx/.59b7e646).

Bryan Hansen - [06/09/09 09:35 AM ]
We are abandoning a 2 year project using Flex now primarily because of this. The lack of support with Maven, CI, and just overall enterprise development is not there yet. We have wrestled with this for the last 2 months and the customer actually made the decision stating, "Adobe appears to not want this to really be an enterprise tool so we don't want to bank off of them maybe or maybe not supporting it long term."

This is hurting Flex a lot more that I think Adobe is giving it credit for.

Bryan Hansen - [06/09/09 09:37 AM ]
BTW, yes I have used flex-mojos, looked at the servebox plugin and also looked at writing an Ant plugin to just wrap the SDK. They all have significant drawbacks still.

Marvin Froeder - [06/09/09 09:41 AM ]
What is the problem you found using flexmojos?


VELO

Vladimir Krivosheev - [06/09/09 09:41 AM ]
>> They all have significant drawbacks still.
flex-mojos? Hmm... any example/critical and blocker issue, please (3.3-SNAPSHOT).

Marvin Froeder - [06/09/09 09:55 AM ]
Flex is very well supported with Maven. Flexmojos does everything you need to build, test, deploy, optimize flex projects.
I don't understand you guys, people don't bore sun about maven java support. Why on flex must be different? Why can't you use (and contribute) available projects by opensource community?


@Bryan, I saw you complain about one or two missing features.... I asked you to create tickets for that.... even that you didn't do...

I can guess most common required features, but I won't know all required features, specially if the features requests aren't written anywhere.


VELO

Bryan Hansen - [06/09/09 10:06 AM ]
VELO/develar,

FIrst let me say that I have really appreciated all the help that you guys have given me on the forums and your responses are extremely fast. There have been a handful of problems. Some specific to flex-mojos some to just the process in general...

1) The documentation for flex-mojos is all over the place and confusing at best. Do I go to http://code.google.com/p/flex-mojos/ or http://docs.flex-mojos.info/ or http://flex-mojos.info/ to find what I am looking for? The link says to go to Documentation, samples, news, all found on http://blog.flex-mojos.info/ well snippets are there, but not samples.

2) Best practices, why does the community have to rally around Adobe to make the support. I want Adobe to be driving how THEY want the project ot be structured. As you have mentioned on your site don't use a module and an application in the same project because it has bitten you in the past. I get that now, but why isn't Adobe driving this.

3) Flexbuilder support is broken when tying to Maven. If I run the flexmojos:flexbuilder command from maven it erases all my integrated server configuration inside Eclipse/Flexbuilder and there is NO WAY to get it back. You have to delete the project (but not the contents) and then readd the project and assign it back to the server. This results in me manually adding swcs to my project. the flexmojos:flexbuilder command needs to run the same as mvn eclipse:eclipse in the sense that it sets up my project and then inside of Eclipse I can wire stuff up the write way. It also should not break things that I had to manually setup.

4) Themes/CSS/Embedded fonts. I have spent the last weeks wading through whether I should have a "/" in front of my assets folder inside of Eclipse or not. If you have used assets and styling you know what I am talking about. The dreaded Embed font issue. We have since abandoned CSS/Embed for Themes and we are hitting the same issues that it will work in Flexbuilder, but not the command line or the opposite way around. Again, this is NOT THE FAULT OF WHAT IS OUT THERE RIGHT NOW, it is Adobe's problem to fix IF THEY WANT IT TO BE AN ENTERPRISE SOLUTION.

Archetypes are starting to be built, but again, from 3rd parties and not Adobe. Why?

VELO, I got another email while typing this. I still have it on my list of things to do to create tickets and am going to submit patches for the code even. Part of the problem of running with 2 week iterations is there really isn't a lot of time leftover if wrestling with some of these issues. I have it on my list of things to do and am going to put some time in my next two week iteration to do just that.

Logan Allred - [06/09/09 10:09 AM ]
The things I would like to see Adobe do to make Flex more enterprise-friendly:
* Provide (host/partner) a maven repository and a way to access the full Flex SDK. Currently Flex-mojos only distributes the open source MPL SDK due to licensing issues. Those of us that need the Pro features, are told to go through a tedious manual process fraught with potential errors to get the additional libraries and licensing enabled for Maven projects.
* Provide a headless player for running unit tests on CI servers
* Get the support/hooks/extensions needed by Flexcover into the SDK itself, so it doesn't have to be constantly patched to work
* Fix the bugs/performance problems with automation so it can be used more reliably and efficiently

Andrey Paramonov - [06/09/09 05:34 PM ]
There shouldn't be a problem with Flexmojos documentation. It's a part of official Maven book now: http://www.sonatype.com/books/maven-book/reference/ch20.html

Vladimir Krivosheev - [06/09/09 11:11 PM ]
>> Flexbuilder support is broken when tying to Maven
IntelliJ IDEA very well supports maven/flexmojos ;) - http://www.jetbrains.net/jira/browse/IDEADEV-32647#action_355257 (partial fix for FlexBuilder: use configurationReport for FlexBuilder)


Marvin Froeder - [06/10/09 08:25 AM ]
@Bryan
1) Already replied + links to *.flex-mojos.info will point to flexmojos 3.0 docs, I keep the old content with flexmojos 2.0 docs, but won't be available online anymore.

2) As I said, I never saw someone complaining because sun didn't made the java compile plugin. BTW, if you rely only on Adobe what is the point on opensource? And what I said is I don't like/use applications and modules on the same project. This is a personal opinion/advice. Flexmojos does support modules and applications on the same project.

3) Flexmojos doesn't support war + java + flex projects. Mainly because maven doesn't handle well with the idea of one project generating all kind of artifacts. I don't think you will get that... well, is possible, but demands on writing a new plugin that handles all at once. May be is possible to fix flexmojos, really don't know. But sonatype is working on get a better integration between flexbuilder and m2eclipse (flex and maven plugins)

4) not sure what the problem is

Archetypes) yes, from 3rd party! Why not? Forget java archetypes if you don't wanna 3rd party. BTW, maven is 3rd party. I see no point on Adobe must do because Adobe is Adobe and it must do because it is Adobe. Common. I felt like flexmojos isn't there or is there but is a piece of sh*t... When I started flexmojos there was no decent maven flex integration. There was 2 projects, both inactive (sorry to say that, but is true), today we have one very active project (flexmojos) and another active project (servebox, which I can't say how much active it is because I don't follow it). Flexmojos (from 3rd party) does things that Flex Ant Task (from Adobe) doesn't do, I received some e-mails from people asking to turn some flexmojos feature into ANT tasks. I'm really pissed of with this idea of Maven + Flex will be good only if come from Adobe. That is very disappointing!

VELO

Maxim Porges - [06/10/09 09:29 AM ]
I'm afraid I have to agree with Marvin on this one to a greater or lesser extent. We've been able to use flex-mojos with Hudson to set up CI builds with JAR + WAR + Flex apps, including running tests in Fluint's AIR runner. We did have to do some work to get this going, but nothing outside of the work we'd do to a Maven project for Java (i.e. customization and a few hooks to the Maven antrun plugin for stuff that Maven doesn't do out of the box). The hardest bit was figuring out how to run the suite headlessly since Flash can't run without a GUI environment, which one of our guys found a solution to by using a virtual X-Windows frame buffer (xvfb: http://en.wikipedia.org/wiki/Xvfb).

I think the issue might be that you are trying to build a JAR + WAR + Flex app altogether in one project. Don't do that. I'll try to describe our process so that you can set up something similar that meets your needs.

We run Maven in our Eclipse Flex Library projects by setting up the projects as Flex Applications, but configuring the POM with flex-mojos to build a SWC. This allows us to run Fluint's TestRunner.mxml as an app when developing in Eclipse, and then we can compile the libraries down to SWCs from the command line. We wrote hooks from flex-mojos to Fluint's AirRunner.mxml for running tests at build time, using the Maven antrun plugin and Ant tasks for Fluint. The whole thing runs great. When we have an application that needs to be run, we simply build that as a Flex Application project and use a POM to define the library dependencies. We have a Maven antrun hook to the dependency plugin that cleans out the lib directory, and then copies the dependent SWC libraries in to the lib folder when; we've got this hooked in to the generate-sources goal, which you can run from the m2eclipse Maven menu in Eclipse.

As for JEE projects, we create them as their own Java/Maven projects using the m2eclipse plugin. We have many libraries with the application and domain code (each with their own individual projects and POMs), and a project which is for running BlazeDS. The BlazeDS project has dependencies on all the libraries with our application/domain code, and in the POM it has dependencies on the BlazeDS JARs that are needed to run BlazeDS as a server (we checked all these libraries in to our Nexus repository); besides that it's a regular Maven WAR project created using the default WAR project archetype. This can be run in Eclipse by using "Run On Server" from the Run menu.

When we want to functionally test our Flex apps, we run the BlazeDS project as a server inside Eclipse using "Run On Server." We then switch perspectives to Flex, and run the Flex app, using a dynamic channelset to connect to the server running on localhost. This works great, and allows us to round-trip debug. This setup is identical to how our apps run in production (although the server would be hosted in a permanent location that's not localhost, of course). :)

So, to sum it all up - it's possible to get all the tools working with a little elbow grease. Would it be nice if Flex Builder did this all out of the box? Perhaps. But since each build environment and application has it's own needs, the likelihood of Adobe producing one set of tools to meet all needs is slim to none. That being said, I feel your pain with Maven - the documentation on the tool itself and the plugins can be somewhat scattered and it can be a pain to get things going, but I assure you it's possible to put it all together.

Mike Mormando - [06/10/09 10:07 AM ]
I don't know how much "elbow grease" you had to use Maxim, we didn't really like the requirement that we have a separate project for each SWF, feeling that at least in our case, we have a module based application where modules are dynamically loaded at run time based on user permissions, so we're currently at 78 modules and the number is still climbing. With that in mind, we took the mindset that SWF's are roughly the same as JSP's in a java app, so we built our own plugin based on the OEM compiler, took 2-3 days, and all of the modules are set to optimize against the "main swf", so they wind up pretty small, not a whole lot bigger than a JSP. The only drawbacks are that the OEM compiler is glacially slow, at least in comparison to what I'm used to in Java, and the OEM compiler seems to require exclusive access to at least the flex config file, I tried running several modules compiles in parallel and found THAT pretty quick. ;) We've got it running great under Bamboo at the moment, but any CI that supports Maven should have no problem. Getting the latest copies of the SDK into our local Maven repository is a real pain, so some sort of simple access to an officially hosted Maven repo would be very appreciated. I'm still working on the test piece, working with the Flex-Selenium stuff under maven. So basically, keep the faith, we can get there.

Bryan Hansen - [06/10/09 10:17 AM ]
So, my intention was not to start a discussion in the comments about what is or is not working. I am not going to continue the discussion here (you can all feel free to email me if you want though) after this post.

@VELO you are actually clarifying my point not defending it. When you started flexmojos it was because nothing existed. Why didn't Adobe do something at the point. WHY did the community have to step up because they didn't. Open Source Software (which I am a HUGE believer in) is not just about adding software where commercial vendors end. That would be like saying that the only reason Linux was created was because Windows has a stupid command line. That it didn't even occur to Adobe that they needed it is the problem. They need to think more "Enterprise" like about the tool. Compiling in the IDE and deploying to prod is not Enterprise worthy. They should have gotten that from day one. Honestly it makes me wonder how they do software development internally. When they are working on the next release of Photoshop do they just build it on some guy's laptop? No, I doubt they do that.

I am not creating my project in one Pom. I have actually used Maven for 6 years. I can tell you that I have spent more time getting Maven and Flex working together than probably all the other projects I have worked on combined. What I am trying to point out is that tools like Silverlight and JavaFX are out there nipping at the heels of Flex. If people have to sort through issues like fonts, styles, css, themes, etc...work in Eclipse or not and vice versa when it is in a war compiled with Maven then they are going to abandon it.

I actually have it working now, but at what cost and frankly with a customer wondering why it took 3 weeks to get the CI up and running and all the developers machines consistent.

I will keep a watchful eye on the integration with Flexbuilder and m2eclipse.

Sorry, I guess I am not explaining myself very well. Don't be pissed that I am saying it HAS to come from Adobe. IT DOESN"T. It is that it never occurred to them that they should have done this up front. Quit reading the short sighted view of this thread. It is not a poke at you or OSS. I think that Adobe needs to really figure out what arena they want Flex to play in. It isn't just the maven integration either. Problems like Lazy Loading with Hibernate (yes I know about GraniteDS), Caringorm has an architecture that is very reminiscent of 2001 Swing development, pipes with PureMVC reminds me of Corba...

I like Flex and want it to succeed, that is why I am taking the time to post my comments. I guess based on the comments above though, we should just close this bug/feature request now?

Maxim Porges - [06/10/09 10:53 AM ]
As far as elbow grease, it took one of our guys about a day to figure out a working Eclipse and Maven compatible library SWC/app SWF build model, and one of the other guys a few days to come up with the frame buffer solution. Everything else has been straightforward Maven work.

We also have a module-based app, but not as many modules as you are describing (we'll have 10-30 modules tops). Personally, I like the separation between each project at the moment, but maybe we'll change our minds on that as we get deeper in to development. I guess that comes back to my point about having different build techniques for different scenarios.

Maxim Porges - [06/10/09 10:55 AM ]
Oh, I forgot - I also want to +1 the suggestion for a public Adobe-hosted Maven repo for any Flex-/BlazeDS-related dependencies. We had to set everything up manually too, which sucked.

Arnoud Bos - [06/14/09 09:09 PM ]
Hi, to start of i don't know maven yet, so please ignore me if i talk nonsense here. But this is an interesting issue and raises some questions...

Which are:
- is building with ant considered "not enterprise"? I mean many established companies that build enterprise flex/java software use ant (faratasystems, allurent) and i like it too. It seems that every one here thinks maven is the only way? For example i think the java part of a project could be build with maven and flex with ant. Flex project seem to be more complex in some regards (modules/styles/external resources etc). The flexibility of ant comes in quite handy then. Out of the box solutions are then available. For example Farata systems has an open source free flex builder plugin that creates complete ant builds from your project settings. Any ci build server supports ant, right? So what am i missing here? Or is it not done to use ant and maven besides eachother?

- do you think adobe has infinite resources? Browsing jira i really hope they focus on the core: Making flex / flash player better. (and i like it so far....) building maven support seems a big task if i understand what i read here. So it seems to me that they should be focussed to the core. As i understand there are not even enough resources to convert all components to the new flex 4 architecture before the official release (charting/ advanceddatagrid).

Anyway, i heard a lot of good things about flex-mojos and have much respect for these kind of projects. It also seems that many people here build there own solutions. Maybe contributing to flex-mojos is a better option?The development of it seems to go pretty fast (at least google gives me that fist impression). My java co-workers on my current project use maven so i probably wil give it a spin soon. So to VELO: keep up the good work! I'll probably will use the project soon ;-)

Arnoud

Shahriar Alam - [06/19/09 04:00 PM ]
Ant is old and we should move up and understand enterprises are choosing Maven as their main project management/build tool.

What I undergo with my Maven-Flex-Java project is - Flex has a log way to go to become a web-enterprise-project. Currently flex is a very good for web application.

Its very confusing which plugins to use in maven to build what you want. I got flexmojos-maven-plugin and flex-compiler-mojo does also most the same but not quite well.

There are no guidance on a full Maven-Flex(with multiple module: mxml)-java project using RSL chaching anyhwere.

Adobe can not idnor Maven anymore. Its coming, you like it or not.

Marvin Froeder - [06/19/09 04:23 PM ]
So java is not enterprise at all.... java doesn't have maven nor ant support provided by sun.

RSL, CACHING, modules, localization, optimization, asdoc, as3 code generation, html wrapper, war packaging, flexbuilder integration, all and more supported on flexmojos.

Arnoud Bos - [06/20/09 06:53 AM ]
@Shahriar

That ant is old is not really an arument if it does the job and it does the job well. Java is older than Ant i guess.... That Maven is becoming the facto standard IS an argument.
The only thing that worries me is the initial statement in this ticket description: "I know that Maven2 can be unstable". Hmmm trading in my ant builds for something unstable doesn' t feel right...

Anyway mabe Adobe can Make Flex-Mojos the recommended standard. Matt Chotin (Adobe) already favored this one in a remark on this ticket.
If they could give it a bit more attention / support it could become the de-facto standard too. Flexmojos has a jira too. I hear many people complain but do they also submit bugs? ;-)

@Marvin: haha, absolutely right. Denying java as enterprise platform because no official maven support is funny. The same goes for Flex.

@Marvin: I guess you have to put an adobe logo on flexmojos and everybody 's happy ;-).