[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.technology.m2e] Re: multiple maven modules in one eclipse project

Igor,

I would to say my thanks as well for time spent on answering y questions.

In my view, there is a wider problem associated with all maven2 plugins that generate source code that later need to be integrated with hand-made code. AndroMDA is just one of, other include generation of SOA applications using WSDL definitions (I do not have the names of the plugins out of my head :-( ). What I can say - there is a generic use case of multi-module maven project where some maven plugins generate code that will be added to other modules as part of the source code. In general, the generated code will consists of non-changeable by the developer code, i.e. this code will always regenerated by the plugin (AndroMDA names it 'core'), and code that developer potentially can change (AndroMDA names it 'common') - the good example are the implementors of the interfaces. If developer decides to code its own implementation, then plugin will not replace it at code generation time.

For this use case there is no problem with maven execution from the command line: folders can be deleted and recreated again and later imported (refreshed) by Eclipse. The problems started when maven builds are initiated by m2eclipse Eclipse plugin: when target folder is cleaned the required sources need to be generated again, even if there was no changes to the underlying definitions (UML model, WSDL descriptions, etc.) AS one of possible solutions I can see the modification of the execution of the clean goal: when in Eclipse only sources that are kept in the /src folder need to be cleaned from the /target. This will keep generated code within /target untouched and there will be no need to execute again the code generation phase.

Second very important requirement is to use maven code that is not embedder: my architect set a requirement of using maven 2.0.7 because some other maven plugins used to build the application do not work properly for the application (don't ask me about details - he is the boss for the application :-) ). This maven version can be set as a standard for project, m2eclipse can use forking to call this defined version, this forking facility can be made configurable at the Eclipse project level.

As to AndroMDA test project that can be used for analysis: I can't chop it from the actual project, however there is a AndroMDA sample that I'll try to convert into something useable (but it may not be soon). AndroMDA maven plugin is itself a mini-maven with its own project and folder structure that was selected long ago. It can generate a new multi-module maven project with all required structures and folders that support the AndroMDA activities. There is no AndroMDA Eclipse plugin and I reckon the AndroMDA guys do not recognised yet the potential problems. There are two AndroMDA forums [1] and [2] where there are some topics with explanations and questions.

I'll be happy to have a go with 0.9.9 when it will be ready.

Thanks in advance. With best regards,
Nick

nsorokin<at>whiteclarkegroup<dot>com
Nick<dot>Sorokin<at>googlemail<dot>com


[1] Project generator http://galaxy.andromda.org/forum/viewforum.php?f=20
[2] Installation & Configuration http://galaxy.andromda.org/forum/viewforum.php?f=10