On 5-Feb-08, at 7:44 AM, Max Bowsher wrote:

Jason van Zyl wrote:
On 4-Feb-08, at 4:20 PM, Dan Fabulich wrote:
Jason van Zyl wrote:

I'm not saying the CLI is a good option. I think it's a bad option. Keep this out of the core. It's perfectly fine as a plugin.

I'll throw in my two cents and point out that while I basically agree with this, I don't think the help plugin is adequately documented by the software right now.

I agree, I think what Vincent made would be great where it was just auto generated and stuffed into the plugin so that "mvn foo:help" just works. It will take a while for all plugins to have this but I don't think it's that big a deal.

It seems to me that putting a hook in core has considerable advantage over autogenerated copies of code in every plugin. Some plugins have such slow release cycles, or in some cases (e.g. xdoclet-maven-plugin) are almost dead, but still used. So, if a plugin has to rebuilt to integrate the feature, some plugins are never going to get the feature.

As a result the user experience will be patchy, with the beginner's impression being that the help command spuriously fails in some cases for no apparent reason.


So users who decide to stay on Maven 2.0.8 will not get it at all until they upgrade which in many shops would be a year, or more. There are advantages and disadvantages. The primary advantages of keeping it out of the core is that improvements to the help mechanism are not coupled to releases of the core, and we're not going to bind ourselves to a specific version of the API. It is possible to isolate the execution of the a plugin for a particular version of the plugin API.

In the short term we can use "mvn foo:help", and if we see a way of putting it cleanly in the core, or it is such a horrendous problem for users (which I don't honestly see being the case) then we can map any help goal to a standard mechanism if the plugin has not already implemented. The tool we use will have its own dependencies, its own API and those things are always hard to wind into the core.

I would like to see it work as a first step on a few plugins that use it first, and then look at making it a core feature if that is necessary. Instead of just jamming it into the core.


The problem would be ongoing, too - after any update to the autogenerated code, stale versions will linger for a long time.


A special syntax in the core CLI mapping onto a help plugin invocation would nicely dodge the whole "re-release the world" issue whilst still allowing the implementation of the help display to be updated independently of core.

What's the disadvantage to that?

Max.



Thanks,

Jason

----------------------------------------------------------
Jason van Zyl
Founder,  Apache Maven
jason at sonatype dot com
----------------------------------------------------------

In short, man creates for himself a new religion of a rational
and technical order to justify his work and to be justified in it.

-- Jacques Ellul, The Technological Society



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

Reply via email to