[FLOW3-general] Flow3 + Eclipse/UML + Maven
Martin Eisengardt
MEP_Eisen at web.de
Fri Aug 19 08:39:33 CEST 2011
Hi.
I've worked on some plugins enabling eclipse and maven to work with Flow3. Maybe some of you are interested in this work. So let me explain.
* What about maven
Maven is an ant replacement but it is even more. I am using maven to manage all the dependencies between packages. Maven will enable you to release your packages as phar files in maven repositories. Maven will automatically download all dependencies (all other phars it needs). There is no need to download and manage all the package sources, extract them and store them within your svn. You only need your own sources.
-> Faster checkouts
-> Smaller workspaces
One of the main benefits from maven is to automatically devide your local package versions from repository versions and to devide development snapshots from release versions.
* What about forge
My Maven plugins currently are even able to manage pear dependencies. That means it will download the sources of PHPUnit and other pear packages from pear channels. My plan is to express something saying "download it from forge". In future maven will be able to play with forge, download the sources from released packages from forge and maybe even uploading your new releases to forge.
* The eclipse support
However there is a project "dev3" that already enable some nice features on eclipse. Thats a good starting point. Currently my plungins contain some features on code completion
-> return of repository are automatically mapped to the correct enttiy class.
-> foreach/iterating through arrays
-> return of the object manager is automatically mapped to the given class name
Those code completion feature may be migrating to dev3 one day (they are already posted at forge). But for the last 6 months no one was interested.
Some other nice features I am developing:
-> Start flow3 test cases from within eclipse, see test case errors as compile errors, see code coverage inside the source files
-> managing flow3 reflection cache from eclipse; will increase development time since flow3 now won't need to parse all sources to detect changes you made during development.
Eclipse will use a flat project layout. Each one of your modules will become a single project. You may devide your library packages from your web page package having different configurations for each one. For example you may enable some debugging and logging features only within your module and let the website package disable them by default.
* Eclipse and uml
I currently use topcased/acceleo to create uml models. Those models will contain repository and entity classes as well as factories and SOA service classes. All of them will result in generated code. You may use this features to create your own uml models for your packages and to generate them. The plugins already generate test cases, interfaces, objects.yaml and some other things.
* Activity of this project
The eclipse plugins will be used as IDE support for an upcomming commercial project. So you may assume this project stays alive and priovides support for the next years. The eclipse plugins will be open sourced soon.
* Future
One of my plans is to provide a special version of flow3 with enabled clustering and high performance backends. This won't be done in classic apache/php environments but by using a scalable application server.
Greetings
Martin
More information about the FLOW3-general
mailing list