The main diffiulty to make plugins collaborate is taht they run in isolation
(distinct classloaders), so they can't share structured datas - until
declared in a maven extension.

The eclipse plugin can lookup the MavenProject for plugin, maybe detect some
contributors one, but cannot invoke code as it doesn't live in the same
classloader (it can't instanciate another plugin class).

My idea is to define extensions for the plugin itself, using extensible
plugin classpath (<dependencies> declared in <plugin>). Based on this, the
eclipse plugin can be configured with a set of contributors.

As you suggest, we could write contributors to setup eclipse-plugins based
on the conuterpart maven plugin configuration.

HOW ? This will require :

- to define and extract an maven-eclispe-plugin contributor API into a
dedicated Jar
- to add a @parameter Contributors[] contributors to the plugin
- during the eclipse:eclipse execution, to invoke contributors to create
custom configuration files.

Contributors could :

- define additional projectNatures
- define additional buildCommands
- define additional settings
- define additional config files (.checkstyle, .springBeans, .tomcatPlugin
...)
- define additional dependencies ?
- define additional classpathContainers ?
- any other ?



Nico.


2008/4/23, Simone Gianni <[EMAIL PROTECTED]>:
>
> Hi Nicolas,
> yes, many Maven plugins have an Eclipse counterpart, and having the
> eclipse plugin discover this plugins and delegate to them the generation
> of eclipse specific configurations is a great idea. I don't know the
> internals of the Eclipse plugin well enough to understand the details of
> your proposal, but it sounds very interesting. Any comment from the
> Maven community?
>
> Just to name a few, these are the technologies that i use extensively
> and have both maven and eclipse support that could be harmonized:
> - Obviously the java compiler itself :)
> - The Maven eclipse plugin
> - AspectJ
> - Hibernate
> - Spring
> - Jetty (would it be possible to make some generation of configurations
> for Eclipse WST?)
> - Emma, Clover
> - FindBugs
>
> Which else?
>
> Simone
>
>
>
> nicolas de loof wrote:
> > Hello,
> >
> > I'd like to propose an extension mecanism for the Eclipse plugin (and
> > potentially for other plugins).
> >
> > The sysdeo-tomcat-maven-plugin (mojo project) for example has
> copie/pasted
> > the dependency resolution code from eclipse plugin. This was required to
> > create the .tomcatPlugin configuration file.
> > If this plugin code could execute *inside* the eclipse plugin as an
> > EclipseWriter it could benefict from the original code, and also from
> plugin
> > updates.
> >
> > I propose to add a new extensibility feature in the eclipse plugin.
> Using a
> > new parameter, or maybe by searching some "extension" file in the plugin
> > classpath, the eclipse plugin could setup a list of external
> EclipseWriters
> > to run.
> >
> > sample configuration :
> >
> > <plugin>
> >      <artifactId>maven-eclipse-plugin</artifactId>
> >      <configuration>
> > ...
> >          <extensions>
> >              <extension>
> >                  <id>sysdeo-tomcat</id>  <!-- matches some META-INF
> > metadatas in sysdeo-tomcat-maven-plugin.jar -->
> >                  <configuration>
> >                       <!-- extension dependent configuration -->
> >                  </configuration>
> >              <extension>
> >          <extensions>
> >      </configuration>
> >
> >      <dependencies>
> >          <dependency>
> >               <groupId>org.codehaus.mojo</groupId>
> >               <artifactId>sysdeo-tomcat-maven-plugin</artifactId>
> >               <version>x</version>
> >          </dependency>
> >      </dependencies>
> >
> > </plugin>
> >
> >
> > Beeing added to the plugin classpath, the "plugin-extension" could add
> it's
> > EclipseWriters, and maybe other optional components (to setup
> ProjectNatures
> > ?).
> >
> > Many other extensions could be added this way to the eclipse plugin :
> > generate SpringIDE configuration, setup Checkstyle in sync with the
> > maven-checkstyle configuration, etc.
> >
> > Another benefict is that the "extension" could benefict from the forked
> > generate-source execution that the eclipse-plugin runs, to access the
> list
> > of multi-project modules.
> >
> >
> > Any suggestion is welcome.
> >
> > Nicolas.
> >
> >
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to