I have a large (50+ module) flex/java/webapp project that builds with maven. While I can usually get it to eventually work, we waste hours every time the dependencies change, with no real understanding of why it doesn't build in idea but builds fine from the command line.
- Reimporting poms whenever the project structure changes takes 8-10 minutes and often results in build errors or "can't find compile config." (we have configurationReport=true in our poms). We usually have to run the "force reimport" multiple times in a row. Sometimes this is solved by running a command line build outside idea, but often it's necessary to delete all the IML/IPR files and start over.
- Even after reimport, we often see all sorts of good-code-is-red errors. Idea sometimes stops prompting for imports (code is red, no import popup), even though we can ctrl/command click on the actionscript symbol and go to it's source.
- The flex configuration reports generated by idea often do not match (are missing dependencies or point to the wrong dependencies) those generated by the maven command line tool, even when we set our M2_HOME in idea to the same as the command line (this one makes no sense to me). Even if I turn off the config reports in the poms, idea still generates them (incorrectly) !? If we could just disable idea generating these files and generate them manually when the config changes, we would be so much faster!
- Config reports are not generated in dependency order, causing particular problems for link reports and rsls.
- IDEA's war artifacts don't correctly include the swf artifacts (instead include the zipped classes dir, named .swf); manually adding the swf file to the war doesn't cause the war to rebuild when the flex project changes.
- IDEA doesn't install generated artifacts in the local maven repo; so if we execute maven goals in our run configurations, they don't get the latest outputs as made by idea.
- We could build by running maven in idea; but then we loose the speed advantage from idea knowing what's changed; this means a 3.5 minute build every time we change a single file. This doesn't address the good-code-is-red issues (which we can only fix by endless cycles of reimport and command line builds).
We spend literally hours trying to get idea to reconfigure after changing dependencies.
I'm working on putting together a sample project that demonstrates this but it's quite tedious to replicate all these issues; is there any way that we could maybe provide our existing source code under NDA so that you could see what's going on here in a real project? I've attached the poms to
This is so close to being seemless, it seems like maybe a couple of days of your effort on a real-sized flex/maven/java project would clean up some of these last niggling bugs. We have 20 developers who are seeing these issues.
Thanks for making a really great IDE!