Hi Fabrizio,

I think collecting all the code used for IDE work is a good idea. But I think we should try not only to collect common code for the Maven 2 plugins but also for the IDE extensions as much of the same code could be shared. For example I know that Milos and Eugene have separately added source code downloading for the Netbeans and Eclipse extensions respectively.

I think it's crucial that all the Maven 2 plugins work in a similar way and that the IDE extensions also work in a similar way.

I think the best approach here is create discrete plexus components for the functionality to be shared. Plexus components can easily be utilized from Mojos or from the embedder. So I think that's the technical approach in that we should make components not an abstract Mojo.

As for the organizational aspects I think we need to collect all the IDE code in one place so that would mean asking the Mevenide folks if they would like to come here, or we move the plugins we have here to Mevenide. That is up for discussion but I think we need to collect code in one place if we are going to be effective with our IDE strategy.

Any thoughts?


Fabrizio Giustina wrote:
Hi,
I recently noticed a lot of duplicated effort in order to implement
similar things in the eclipse and idea plugins. Downloading of source
artifacts and javadocs has been reimplemented in the idea one, and I
recently took off some bits of the custom artifact resolution used in
the idea plugin and integrated it into the eclipse one.

It will probably be possible to share most of this stuff to reduce
duplicate code and to improve consistency between plugins (use similar
flags for common features and so on... reducing the numbers of "why
the eclipse plugins does that and the idea one doesn't - or does that
differently" questions from users).

I've just committed some major changes to the eclipse plugin to change
the artifact resolution behaviour (in order to avoid the need for
installed reactor projects) and in the meanwhile I deeply refactored
the plugin in order to extract a base mojo that could be useful for
other similar plugins.
The base mojo take care of artifact resolution, source and javadocs
downloading, plus some basic messages and handling of common flags
(download sources, directly link referenced projects...). The result
is a list of dependencies in a "friendly format" for IDE mojos that
can direcly be used to create configuration files. Probably also the
source directories processing could be handled here (but not done
yet).

I would like to go on adding a few more fixes to the eclipse plugin
and release a new version (probably the artifact resolution change
worths a release on its own), but after that I would like to split all
the generic stuff (currently in the org.apache.maven.plugins.ide
package) in a shared library.
Could this be interesting for idea plugins developers? (Brett?,
Edwin?) Anybody likes this?

fabrizio

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--
jvz.

Jason van Zyl
jason at maven.org
http://maven.apache.org

Simplex sigillum veri. (Simplicity is the seal of truth.)

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to