Ok, I think I understand what you mean now. You want to have a
distributed workflow instead of a centralized one. So you want to move
from WKG to WKP (Well-Known Plugins).

What I don't like is that it means not all plugins will be equal, some
will be more equal than others ;-)  It also means that 'other' plugins
will be tied to all WKPs.

I think I may agree with you, if the WKP are empty shells only, unlike
what is currently the case. It means that instead of having one caller
plugin, you'll have a caller-compile, caller-test, caller-whatever
plugins... delegating to the real implementations like java:compile,
aspectj:compile, etc.

In the end, your proposal looks like an extension to the caller plugin,
i.e. having several call plugins instead of one. It may or may not be
better. 

However, I do think this workflow stuff has to be in Maven core. With
the current Maven implementation, I'd say it's a tag. Actually if I find
a few hours, I'll reimplement the caller plugin as a jelly tag in Maven
core.

But do we agree that ideally the WKP must not have implementation logic?
They delegate to implementing plugins.

What do others think?

Thanks
-Vincent

> -----Original Message-----
> From: Michal Maczka [mailto:[EMAIL PROTECTED]
> Sent: 07 November 2003 21:39
> To: Maven Users List
> Subject: RE: war plugin : [maven.caller.call.compile-java] is not
defined
> 
> 
> 
> > -----Original Message-----
> > From: Vincent Massol [mailto:[EMAIL PROTECTED]
> > Sent: Friday, November 07, 2003 9:08 PM
> > To: 'Maven Users List'
> > Subject: RE: war plugin : [maven.caller.call.compile-java] is not
> defined
> >
> >
> >
> >
> > > -----Original Message-----
> > > From: Michal Maczka [mailto:[EMAIL PROTECTED]
> > > Sent: 07 November 2003 19:36
> > > To: Maven Users List
> > > Subject: RE: war plugin : [maven.caller.call.compile-java] is not
> > defined
> >
> > [snip]
> >
> > > That in goal "war:init":
> > >
> > >
> > >  <goal name="war:init"
> > >     description="Initialize the file system and attain any
necessary
> > > goals">
> > >
> > >     <ant:available property="webSourcesPresent" type="dir"
> > >       file="${maven.war.src}"/>
> > >
> > >     <j:if test="${sourcesPresent == 'true'}">
> > >       <caller:call goalInterface="compile-java"/>
> > >       <attainGoal name="test:test"/>
> > >     </j:if>
> > >
> > >     <ant:property name="maven.war.final.name"
> > >       value="${pom.artifactId}.war"/>
> > >
> > >   </goal>
> > >
> > > There should be no call to caller plugin
> > >
> > >
> > > just something like
> > >
> > >     <j:if test="${sourcesPresent == 'true'}">
> > >       <atainGoal name="xxxxx:compile"/>  (e.g
> > xxxxx:compile=java:compile)
> > >       <attainGoal name="test:test"/>
> > >     </j:if>
> > >
> > > and it should be up to (just an example - I am not imposing
anything)
> > > "java"
> > > plugin to handle this call (In place of WKG there will be WKG in
Well
> > Know
> > > Plugin).
> >
> > I would not like at all that the java plugin has to know about all
the
> > other plugins (like the aspectj plugin, the xdoc plugin, etc).
> >
> 
> Me neither
> what I want to have (writen with caller plugin sematic)
> 
>  <goal name="java:compile">
>     <j:if test="${sourcesPresent == 'true'}">
>        <caller:call goalInterface="compile-java"/>
>    </j:if>
>  </goal>
> 
> 
> > If we have:
> >
> >     <j:if test="${sourcesPresent == 'true'}">
> >       <atainGoal name="xxxxx:compile"/>  (e.g
> > xxxxx:compile=java:compile)
> >       <attainGoal name="test:test"/>
> >     </j:if>
> >
> > And if there is some interception, then it is *very* misleading
because
> > the reader will think the java plugin will be called but in practice
it
> > will be some other plugin's goal.
> >
> 
> 
> Exactly that's the point.  java plugin and java:compile plugin will be
> always called and should be always called!.
> So you can add pre&postGoals for java:compile
> 
> and the do
> 
> maven.caller.call.compile-java = javac:compile
> or
> maven.caller.call.compile-java = jikes:compile
> 
> 
> if you call
> <caller:call goalInterface="compile-java"/> from war plugin you have
to
> change blocks like
> 
> <preGoal name="java:compile">
>     do something here
> <.preGoal>
> 
> 
> every time you want to change a compiler.
> 
> Michal
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]



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

Reply via email to