Re: [Discuss] MPLUGIN-40

2008-02-05 Thread Max Bowsher

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.



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.




signature.asc
Description: OpenPGP digital signature


Re: [Discuss] MPLUGIN-40

2008-02-05 Thread Jason van Zyl


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]



Re: [Discuss] MPLUGIN-40

2008-02-05 Thread Joerg Hohwiller
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi,
 Finding the definitive help information for a plugin should be
 absolutely trivial and built-in; having the CLI option which give the
 code-you-are-executing-right-now the ability to answer that question
 avoids the issues we have today with multiple sources for a plugin with
 different HTML usage information.
 Have you tried mvn help:describe -Dplugin=nifty -Dmojo=nifty -Dfull?  I
 think we already have what you want, but we've yet again failed to
 document it adequately.  (Try it with -Dplugin=compiler -Dmojo=compile.)
 
 My point was useability; my first thought would not have been:
 
   mvn help:describe -Dplugin=nifty -Dmojo=nify -Dfull
 
 but something like:
 
   mvn nifty:help
 
 So, as you point out, all that would be needed is to hook up mvn
 plugin:help to mvn help:describe -Dplugin=plugin -Dmojo=all?
 -Dfull.
Maybe we would need a more specific syntax in this case because
some plugin might supply a help mojo and rewriting this as suggested
and overruling an existing help-mojo would be quite confusing.
But anyhow your suggestion is well worth a thought.

I would prefer that if maven builds a plugin that has no goal help already,
then it auto-generates one in about the same way as it does
when generating the goal-documentation for the site. Then each plugin
would have (in future versions) a help mojo and
mvn plugin:help would work as expected. Additionally a plugin can
provide an individual help goal that produces a more user-friendly
hand-written help page.
Third if mvn plugin:help is called and plugin points to a valid
plugin that has no goal help then maven could rewrite this command
as suggested via help:describe.

 
 And while I'm at it, and relatedly, whatever happened to -G to get me
 a list of all plugins???
 I never used 1.x, but I don't think that makes sense any more.  We could
 certainly provide a list of all valid lifecycle phases (and we should do
 so in the help plugin), since those are static and don't change.
 
 Yes! That would be terrific. And a list of the currently plugged in
 plugins for each lifecycle phase would be handy as well.
 
 http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

 But as for finding plugins, it's better to search the Internet for that
 sort of thing, rather than trying to turn the Maven core into an Internet
 search engine for Maven plugins.  (Similarly, wouldn't it be cool if you
 could use a simple Maven command-line switch to search for jars you could
 use in your project?  Wait, no it wouldn't; that's what Google is for.)
 
 I understand your point, Dan. And while I agree somewhat with that, I
 like asking Eclipse to update and or search for new updates that are
 relevant to my version of Eclipse. I can use Google, and that's cool,
 but if Eclipse can help me filter all the irrelevant stuff that's even
 better - like, say, plugins which don't work on my version of the
 software.
I do NOT agree with this.
Eclise does NOT know by itself about external plugins. It can update them
if they are registered but you still have to google to find a subversion
plugin, checkstyle plugin, emma plugin, findbugs plugin, etc.
Besides this mechanism of eclipse totaly sucks!!!
Eclipse shows the Display-Names of available plugins from update sites.
If you select one and it has a dependency, the technical name of the
dependency is shown. Sometimes I get totally lost in how to find a
combination that is valid to be installed. They could learn a lot from maven
about dependency management. The placement and configuration somewhere
in help is totally misplaced, etc.
Not really a good example to point out if you ask me...
 
 And I might as well chuck in: why in the world do I need to do mvn
 nifty:nifty and not just mvn nifty?
 Because that way we don't have to guess whether you're trying to run a
 goal or a lifecycle phase.  install is a great example.  Do you just
 want to run the install:install goal, or did you want to run every
 lifecycle phase up through the install phase?
 
 I agree; there is an issue with the plugins which are named the same
 as the static set of life-cycles, and that's unfortunate. But how
 about you make an exception for those that are not...which is the vast
 majority, no? So, really mvn nifty just means run the nifty
 plugin's default goal, and mvn install just means run the install
 life-cycle
I agree! We should NOT be to academic here.
There will always be users that will not and even do not want to
understand the details about the difference of the lifecycle and the plugin.
Naive users just try mvn eclispe like mvn install and in both
cases it is clear what the user really wants to do.
If you type mvn plugin and plugin is no lifecycle phase,
maven could behave as if the user typed mvn plugin:plugin.
We would not even loose too much control about lifecycle names
because plugin is either fully qualified
or it points to org.apache.maven.plugins:maven-plugin-plugin
or 

Re: [Discuss] MPLUGIN-40

2008-02-05 Thread Joerg Hohwiller
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi again,

I wrote:
 I would prefer that if maven builds a plugin that has no goal help already,
 then it auto-generates one in about the same way as it does
 when generating the goal-documentation for the site. Then each plugin
 would have (in future versions) a help mojo and
 mvn plugin:help would work as expected. Additionally a plugin can
 provide an individual help goal that produces a more user-friendly
 hand-written help page.
 Third if mvn plugin:help is called and plugin points to a valid
 plugin that has no goal help then maven could rewrite this command
 as suggested via help:describe.

Maybe I should have read the thread properly from the beginning.
My suggested improvement to plugin-plugin seems to be what has already
been done to fix the problem for the long run.
However the further suggestion might solve the problem now and could
be kicked out in maven 3.x or whenever each plugin does have a help goal.
The only thing is that it needs to be done in maven-core and can NOT
be made available via a plugin release but only by a new maven version
explicitly updated by the users.

Regards
  Jörg

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.5 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHqM7mmPuec2Dcv/8RAi59AJ9LUAFdnnfH183QVPq0ic1jljvIGgCghpRa
2T0HEfVYe+/4/ggf01JfF2U=
=bIDc
-END PGP SIGNATURE-

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



Re: [Discuss] MPLUGIN-40

2008-02-04 Thread Jason van Zyl


On 4-Feb-08, at 4:09 AM, Vincent Siveton wrote:


Hi,

2008/2/3, Jason van Zyl [EMAIL PROTECTED]:

I think keeping this out of the core, be that the lifecycle executor
or the CLI would be a far better option.


Agree for CLI.



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. The core  
and the CLI calling to a wrapper for something housed in a plugin is  
not a good idea. Generate it as part of the new tools, promote it and  
it will get picked up in new plugin releases.


Vincent, just to be clear you have taken the logic that already  
exists

in the help plugin?


More wrapped logic from PluginXdocGenerator.

Cheers,

Vincent


On 3-Feb-08, at 3:17 PM, Brett Porter wrote:


Something like

mvn -H idea:idea or mvn -H idea

which is akin to what Subversion has, for example.

this would allow the CLI to translate to the appropriate
help:describe goal and then exit, which is pretty clean, as compared
to modifying the lifecycle executor.

- Brett

On 04/02/2008, at 10:13 AM, Vincent Siveton wrote:


Hi Brett,

What do you propose for cmd line switch?

Personally, I am fine with mvn my-plugin:help which seems more
common.
A lot of tools (all?) have an help option.

Cheers,

Vincent

2008/2/3, Brett Porter [EMAIL PROTECTED]:
Would a different lifecycle or command line switch be more  
intuitive

than this?

On 04/02/2008, at 9:55 AM, Vincent Siveton wrote:


Hi,

I realize that the fix for MPLUGIN-40 (All plugins should by
default
have an auto-generated goal 'help') is definitely *not* intuitive
for
the end user.

Background:
I created a plugin-plugin goal which generates an Help mojo. This
generated mojo just displays the goals and their
description/parameters for a given plugin project. Since it is a
goal
inside the maven-plugin-plugin, we need to release it and *all*
plugins to make available this new feature (it could take a
time ;) ).

I proposed another approach: modify the  
DefaultLifecycleExecutor to

handle this particular goal. So we could call mvn idea:help to
display all available idea goals and mvn idea:toto will throw  
an

exception by displaying the help.
Pro: more easy for the end user and works for all plugins
Con: just available in mvn 2.0.9+

WDYT?

Vincent

-
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]




-
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]



Thanks,

Jason

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





-
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]



Thanks,

Jason

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

Three people can keep a secret provided two of them are dead.

-- Unknown 





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



Re: [Discuss] MPLUGIN-40

2008-02-04 Thread Vincent Siveton
Hi,

2008/2/3, Brett Porter [EMAIL PROTECTED]:
 Something like

 mvn -H idea:idea or mvn -H idea

I didn't think about this kind of CLI option before! It sounds good
for the end user.

 which is akin to what Subversion has, for example.

 this would allow the CLI to translate to the appropriate help:describe
 goal and then exit, which is pretty clean, as compared to modifying
 the lifecycle executor.

Yeah it was the goal of my question :) I felt uncomfortable to modify it.

Cheers,

Vincent


 - Brett

 On 04/02/2008, at 10:13 AM, Vincent Siveton wrote:

  Hi Brett,
 
  What do you propose for cmd line switch?
 
  Personally, I am fine with mvn my-plugin:help which seems more common.
  A lot of tools (all?) have an help option.
 
  Cheers,
 
  Vincent
 
  2008/2/3, Brett Porter [EMAIL PROTECTED]:
  Would a different lifecycle or command line switch be more intuitive
  than this?
 
  On 04/02/2008, at 9:55 AM, Vincent Siveton wrote:
 
  Hi,
 
  I realize that the fix for MPLUGIN-40 (All plugins should by default
  have an auto-generated goal 'help') is definitely *not* intuitive
  for
  the end user.
 
  Background:
  I created a plugin-plugin goal which generates an Help mojo. This
  generated mojo just displays the goals and their
  description/parameters for a given plugin project. Since it is a
  goal
  inside the maven-plugin-plugin, we need to release it and *all*
  plugins to make available this new feature (it could take a
  time ;) ).
 
  I proposed another approach: modify the DefaultLifecycleExecutor to
  handle this particular goal. So we could call mvn idea:help to
  display all available idea goals and mvn idea:toto will throw an
  exception by displaying the help.
  Pro: more easy for the end user and works for all plugins
  Con: just available in mvn 2.0.9+
 
  WDYT?
 
  Vincent
 
  -
  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]
 
 
 
  -
  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]



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



Re: [Discuss] MPLUGIN-40

2008-02-04 Thread Vincent Siveton
Hi,

2008/2/3, Jason van Zyl [EMAIL PROTECTED]:
 I think keeping this out of the core, be that the lifecycle executor
 or the CLI would be a far better option.

Agree for CLI.

 Vincent, just to be clear you have taken the logic that already exists
 in the help plugin?

More wrapped logic from PluginXdocGenerator.

Cheers,

Vincent

 On 3-Feb-08, at 3:17 PM, Brett Porter wrote:

  Something like
 
  mvn -H idea:idea or mvn -H idea
 
  which is akin to what Subversion has, for example.
 
  this would allow the CLI to translate to the appropriate
  help:describe goal and then exit, which is pretty clean, as compared
  to modifying the lifecycle executor.
 
  - Brett
 
  On 04/02/2008, at 10:13 AM, Vincent Siveton wrote:
 
  Hi Brett,
 
  What do you propose for cmd line switch?
 
  Personally, I am fine with mvn my-plugin:help which seems more
  common.
  A lot of tools (all?) have an help option.
 
  Cheers,
 
  Vincent
 
  2008/2/3, Brett Porter [EMAIL PROTECTED]:
  Would a different lifecycle or command line switch be more intuitive
  than this?
 
  On 04/02/2008, at 9:55 AM, Vincent Siveton wrote:
 
  Hi,
 
  I realize that the fix for MPLUGIN-40 (All plugins should by
  default
  have an auto-generated goal 'help') is definitely *not* intuitive
  for
  the end user.
 
  Background:
  I created a plugin-plugin goal which generates an Help mojo. This
  generated mojo just displays the goals and their
  description/parameters for a given plugin project. Since it is a
  goal
  inside the maven-plugin-plugin, we need to release it and *all*
  plugins to make available this new feature (it could take a
  time ;) ).
 
  I proposed another approach: modify the DefaultLifecycleExecutor to
  handle this particular goal. So we could call mvn idea:help to
  display all available idea goals and mvn idea:toto will throw an
  exception by displaying the help.
  Pro: more easy for the end user and works for all plugins
  Con: just available in mvn 2.0.9+
 
  WDYT?
 
  Vincent
 
  -
  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]
 
 
 
  -
  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]
 

 Thanks,

 Jason

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





 -
 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]



Re: [Discuss] MPLUGIN-40

2008-02-04 Thread Jan Nielsen
FWIW, I (and probably 99.9% of the Maven user-base) have desired just
this kind of option for plugins for a  l o o o n g  time. Something
like:

  mvn nifty help
  mvn nifty -h
  mvn nifty --help
  mvn nifty:help
  mvn nifty:option
  mvn nifty

and if you do:

  mvn nifty:invalid

you just get the help (where nifty is any plugin; any, as in for
all plugins...if the plugin can be downloaded, help is there). That's
pretty canonical CLI behavior.

I don't know whether that's something that requires a modification to
the core of Maven, or not, and I really don't care. It's a huge
dis-service to all users to not have this available, thereby forcing
the user to chase down the web-page for every plugin they have an
interest in. Finding the definitive help information for a plugin
should be absolutely trivial and built-in; having the CLI option which
give the code-you-are-executing-right-now the ability to answer that
question avoids the issues we have today with multiple sources for a
plugin with different HTML usage information.

And while I'm at it, and relatedly, whatever happened to -G to get
me a list of all plugins??? I know it ain't easy, but how about giving
me a list of all the names of the plugins found in the configured
repositories when I do mvn -G, or mvn plugin:help, or mvn
plugin:list, whatever. Cache the result in the repositories if
you need to, but make it easy for the user to find and use plugins.
And I might as well chuck in: why in the world do I need to do mvn
nifty:nifty and not just mvn nifty? Yes; a plugin can have more
than one goal - that's great; but if I do mvn nifty it just means
mvn nifty:nifty and if I do mvn nifty:wizbang well, then that's
the wizbang goal of the nifty plugin.

-Jan


On Feb 4, 2008 5:09 AM, Vincent Siveton [EMAIL PROTECTED] wrote:
 Hi,

 2008/2/3, Jason van Zyl [EMAIL PROTECTED]:
  I think keeping this out of the core, be that the lifecycle executor
  or the CLI would be a far better option.

 Agree for CLI.

  Vincent, just to be clear you have taken the logic that already exists
  in the help plugin?

 More wrapped logic from PluginXdocGenerator.

 Cheers,

 Vincent


  On 3-Feb-08, at 3:17 PM, Brett Porter wrote:
 
   Something like
  
   mvn -H idea:idea or mvn -H idea
  
   which is akin to what Subversion has, for example.
  
   this would allow the CLI to translate to the appropriate
   help:describe goal and then exit, which is pretty clean, as compared
   to modifying the lifecycle executor.
  
   - Brett
  
   On 04/02/2008, at 10:13 AM, Vincent Siveton wrote:
  
   Hi Brett,
  
   What do you propose for cmd line switch?
  
   Personally, I am fine with mvn my-plugin:help which seems more
   common.
   A lot of tools (all?) have an help option.
  
   Cheers,
  
   Vincent
  
   2008/2/3, Brett Porter [EMAIL PROTECTED]:
   Would a different lifecycle or command line switch be more intuitive
   than this?
  
   On 04/02/2008, at 9:55 AM, Vincent Siveton wrote:
  
   Hi,
  
   I realize that the fix for MPLUGIN-40 (All plugins should by
   default
   have an auto-generated goal 'help') is definitely *not* intuitive
   for
   the end user.
  
   Background:
   I created a plugin-plugin goal which generates an Help mojo. This
   generated mojo just displays the goals and their
   description/parameters for a given plugin project. Since it is a
   goal
   inside the maven-plugin-plugin, we need to release it and *all*
   plugins to make available this new feature (it could take a
   time ;) ).
  
   I proposed another approach: modify the DefaultLifecycleExecutor to
   handle this particular goal. So we could call mvn idea:help to
   display all available idea goals and mvn idea:toto will throw an
   exception by displaying the help.
   Pro: more easy for the end user and works for all plugins
   Con: just available in mvn 2.0.9+
  
   WDYT?
  
   Vincent
  
   -
   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]
  
  
  
   -
   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]
  
 
  Thanks,
 
  Jason
 
  --
  Jason van Zyl
  Founder,  Apache Maven
  jason at sonatype dot com
  --
 
 
 
 
 
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 


Re: [Discuss] MPLUGIN-40

2008-02-04 Thread Jason van Zyl


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.


That is, I think some other command line tools (notably svn) are  
pretty easy to learn using just the command line.  You start with  
svn help; it gives you a list of commands you can use, and  
suggests that you type svn help subcommand for more help on a  
specific command.


Right now, mvn --help gives you a list of command line switches,  
but no commands to run, not even a suggestion that you might want to  
use the help plugin.


It would be easy to modify the --help text to mention the help  
plugin, and maybe that's enough.  But I think we could at least make  
a very simple help lifecycle phase that's bound to help:describe  
by default.  That would make mvn help a synonym for mvn help:describe 
.


I think this would be pretty useful if we also did some more work on  
the Maven help plugin, which is surprisingly tricky to use.  I just  
filed about half a dozen new JIRA issues on it today that suggest  
some ways it could be easier to use and work with.


For example, I could imagine the user typing mvn  
help:describe (or, eventually, just mvn help) and getting a nice  
description of how the help plugin works.  Then they could use that  
to learn more about Maven, perhaps investigating a particular plugin  
goal with mvn help -Dcmd=idea:idea, or get a list of goals in a  
plugin with mvn help -Dplugin=idea, or learn about the lifecycle  
with mvn help:lifecycle.


The core and the CLI calling to a wrapper for something housed in a  
plugin is not a good idea.


+1.

-Dan

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



Thanks,

Jason

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

A party which is not afraid of letting culture,
business, and welfare go to ruin completely can
be omnipotent for a while.

-- Jakob Burckhardt 





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



Re: [Discuss] MPLUGIN-40

2008-02-04 Thread Dan Fabulich

Jan Nielsen wrote:

Finding the definitive help information for a plugin should be 
absolutely trivial and built-in; having the CLI option which give the 
code-you-are-executing-right-now the ability to answer that question 
avoids the issues we have today with multiple sources for a plugin with 
different HTML usage information.


Have you tried mvn help:describe -Dplugin=nifty -Dmojo=nifty -Dfull?  I 
think we already have what you want, but we've yet again failed to 
document it adequately.  (Try it with -Dplugin=compiler -Dmojo=compile.)


And while I'm at it, and relatedly, whatever happened to -G to get me 
a list of all plugins???


I never used 1.x, but I don't think that makes sense any more.  We could 
certainly provide a list of all valid lifecycle phases (and we should do 
so in the help plugin), since those are static and don't change.


http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

But as for finding plugins, it's better to search the Internet for that 
sort of thing, rather than trying to turn the Maven core into an Internet 
search engine for Maven plugins.  (Similarly, wouldn't it be cool if you 
could use a simple Maven command-line switch to search for jars you could 
use in your project?  Wait, no it wouldn't; that's what Google is for.)


And I might as well chuck in: why in the world do I need to do mvn 
nifty:nifty and not just mvn nifty?


Because that way we don't have to guess whether you're trying to run a 
goal or a lifecycle phase.  install is a great example.  Do you just 
want to run the install:install goal, or did you want to run every 
lifecycle phase up through the install phase?


-Dan

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



Re: [Discuss] MPLUGIN-40

2008-02-04 Thread Jason van Zyl


On 4-Feb-08, at 3:37 PM, Jan Nielsen wrote:


FWIW, I (and probably 99.9% of the Maven user-base) have desired just
this kind of option for plugins for a  l o o o n g  time. Something
like:

 mvn nifty help
 mvn nifty -h
 mvn nifty --help
 mvn nifty:help


This one is fine. As it doesn't need to go into the CLI, it's just  
part of the plugin.




 mvn nifty:option
 mvn nifty

and if you do:

 mvn nifty:invalid

you just get the help (where nifty is any plugin; any, as in for
all plugins...if the plugin can be downloaded, help is there). That's
pretty canonical CLI behavior.


I think everyone could live with the mvn foo:help.




I don't know whether that's something that requires a modification to
the core of Maven, or not, and I really don't care. It's a huge
dis-service to all users to not have this available, thereby forcing
the user to chase down the web-page for every plugin they have an
interest in. Finding the definitive help information for a plugin
should be absolutely trivial and built-in; having the CLI option which
give the code-you-are-executing-right-now the ability to answer that
question avoids the issues we have today with multiple sources for a
plugin with different HTML usage information.

And while I'm at it, and relatedly, whatever happened to -G to get
me a list of all plugins??? I know it ain't easy, but how about giving
me a list of all the names of the plugins found in the configured
repositories when I do mvn -G, or mvn plugin:help, or mvn
plugin:list, whatever. Cache the result in the repositories if
you need to, but make it easy for the user to find and use plugins.
And I might as well chuck in: why in the world do I need to do mvn
nifty:nifty and not just mvn nifty? Yes; a plugin can have more
than one goal - that's great; but if I do mvn nifty it just means
mvn nifty:nifty and if I do mvn nifty:wizbang well, then that's
the wizbang goal of the nifty plugin.

-Jan


On Feb 4, 2008 5:09 AM, Vincent Siveton [EMAIL PROTECTED]  
wrote:

Hi,

2008/2/3, Jason van Zyl [EMAIL PROTECTED]:

I think keeping this out of the core, be that the lifecycle executor
or the CLI would be a far better option.


Agree for CLI.

Vincent, just to be clear you have taken the logic that already  
exists

in the help plugin?


More wrapped logic from PluginXdocGenerator.

Cheers,

Vincent



On 3-Feb-08, at 3:17 PM, Brett Porter wrote:


Something like

mvn -H idea:idea or mvn -H idea

which is akin to what Subversion has, for example.

this would allow the CLI to translate to the appropriate
help:describe goal and then exit, which is pretty clean, as  
compared

to modifying the lifecycle executor.

- Brett

On 04/02/2008, at 10:13 AM, Vincent Siveton wrote:


Hi Brett,

What do you propose for cmd line switch?

Personally, I am fine with mvn my-plugin:help which seems more
common.
A lot of tools (all?) have an help option.

Cheers,

Vincent

2008/2/3, Brett Porter [EMAIL PROTECTED]:
Would a different lifecycle or command line switch be more  
intuitive

than this?

On 04/02/2008, at 9:55 AM, Vincent Siveton wrote:


Hi,

I realize that the fix for MPLUGIN-40 (All plugins should by
default
have an auto-generated goal 'help') is definitely *not*  
intuitive

for
the end user.

Background:
I created a plugin-plugin goal which generates an Help mojo.  
This

generated mojo just displays the goals and their
description/parameters for a given plugin project. Since it is a
goal
inside the maven-plugin-plugin, we need to release it and *all*
plugins to make available this new feature (it could take a
time ;) ).

I proposed another approach: modify the  
DefaultLifecycleExecutor to

handle this particular goal. So we could call mvn idea:help to
display all available idea goals and mvn idea:toto will  
throw an

exception by displaying the help.
Pro: more easy for the end user and works for all plugins
Con: just available in mvn 2.0.9+

WDYT?

Vincent

-
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]




-
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]



Thanks,

Jason

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





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





Re: [Discuss] MPLUGIN-40

2008-02-04 Thread Dan Fabulich

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.


That is, I think some other command line tools (notably svn) are pretty 
easy to learn using just the command line.  You start with svn help; it 
gives you a list of commands you can use, and suggests that you type svn 
help subcommand for more help on a specific command.


Right now, mvn --help gives you a list of command line switches, but no 
commands to run, not even a suggestion that you might want to use the help 
plugin.


It would be easy to modify the --help text to mention the help plugin, 
and maybe that's enough.  But I think we could at least make a very simple 
help lifecycle phase that's bound to help:describe by default.  That 
would make mvn help a synonym for mvn help:describe.


I think this would be pretty useful if we also did some more work on the 
Maven help plugin, which is surprisingly tricky to use.  I just filed 
about half a dozen new JIRA issues on it today that suggest some ways it 
could be easier to use and work with.


For example, I could imagine the user typing mvn help:describe (or, 
eventually, just mvn help) and getting a nice description of how the 
help plugin works.  Then they could use that to learn more about Maven, 
perhaps investigating a particular plugin goal with mvn help 
-Dcmd=idea:idea, or get a list of goals in a plugin with mvn help 
-Dplugin=idea, or learn about the lifecycle with mvn help:lifecycle.


The core and the CLI calling to a wrapper for something housed in a 
plugin is not a good idea.


+1.

-Dan

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



Re: [Discuss] MPLUGIN-40

2008-02-04 Thread Tim O'Brien


On Feb 4, 2008, at 6:14 PM, Dan Fabulich wrote:


Jan Nielsen wrote:

Finding the definitive help information for a plugin should be  
absolutely trivial and built-in; having the CLI option which give  
the code-you-are-executing-right-now the ability to answer that  
question avoids the issues we have today with multiple sources for  
a plugin with different HTML usage information.


Have you tried mvn help:describe -Dplugin=nifty -Dmojo=nifty - 
Dfull?  I think we already have what you want, but we've yet again  
failed to document it adequately.  (Try it with -Dplugin=compiler - 
Dmojo=compile.)


I'm sorry, hold on... starting stopwatch mvn help:describe - 
Dplugin=nifty -Dmojo=nifty -Dfull - alright, I type fast, but that  
took me 10 seconds.   Then I hit enter and a whole *crapload* of  
information zoomed past.   Ok, CTRL-R, mvn, adding a | less.   Ok,  
for something like help:describe, I'm looking at eight or nine pages  
of sleep inducing variable names.


I'm serious the help plugin hurts, go back to what Jason said about  
svn doing a better job.





And while I'm at it, and relatedly, whatever happened to -G to  
get me a list of all plugins???


I never used 1.x, but I don't think that makes sense any more.  We  
could certainly provide a list of all valid lifecycle phases (and we  
should do so in the help plugin), since those are static and don't  
change.


http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

But as for finding plugins, it's better to search the Internet for  
that sort of thing, rather than trying to turn the Maven core into  
an Internet search engine for Maven plugins.  (Similarly, wouldn't  
it be cool if you could use a simple Maven command-line switch to  
search for jars you could use in your project?  Wait, no it  
wouldn't; that's what Google is for.)


Dan, can I quote you on It's better to search the Internet for that  
sort of thing the next time I have to defend Maven to some end-user  
who is absolutely enraged by the fact that they've had to spend the  
last fourteen hours trying to track down the reason why the dependency  
plugin they have installed doesn't support the tree goal even though  
the documentation on the Maven site tells them to run it (Hint: they  
don't have the right version)


No one is saying they want Maven to be the Internet Search Engine  
for plugins.   Maybe someone is saying, what we have now isn't  
adequate.Seconded.





And I might as well chuck in: why in the world do I need to do mvn  
nifty:nifty and not just mvn nifty?


Because that way we don't have to guess whether you're trying to run  
a goal or a lifecycle phase.  install is a great example.  Do you  
just want to run the install:install goal, or did you want to run  
every lifecycle phase up through the install phase?


Makes sense.But, wait, in that help:describe, you didn't call it a  
goal, the property was a mojo?I guess what Mavenland has to  
get over is that users don't know what a Mojo is?   They shouldn't  
be expected to know what a Mojo is, you should be able to use Maven  
without knowing very much about it.





-Dan

-
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]



Re: [Discuss] MPLUGIN-40

2008-02-04 Thread Jan Nielsen
On Feb 4, 2008 5:14 PM, Dan Fabulich [EMAIL PROTECTED] wrote:
 Jan Nielsen wrote:

  Finding the definitive help information for a plugin should be
  absolutely trivial and built-in; having the CLI option which give the
  code-you-are-executing-right-now the ability to answer that question
  avoids the issues we have today with multiple sources for a plugin with
  different HTML usage information.

 Have you tried mvn help:describe -Dplugin=nifty -Dmojo=nifty -Dfull?  I
 think we already have what you want, but we've yet again failed to
 document it adequately.  (Try it with -Dplugin=compiler -Dmojo=compile.)

My point was useability; my first thought would not have been:

  mvn help:describe -Dplugin=nifty -Dmojo=nify -Dfull

but something like:

  mvn nifty:help

So, as you point out, all that would be needed is to hook up mvn
plugin:help to mvn help:describe -Dplugin=plugin -Dmojo=all?
-Dfull.


  And while I'm at it, and relatedly, whatever happened to -G to get me
  a list of all plugins???

 I never used 1.x, but I don't think that makes sense any more.  We could
 certainly provide a list of all valid lifecycle phases (and we should do
 so in the help plugin), since those are static and don't change.

Yes! That would be terrific. And a list of the currently plugged in
plugins for each lifecycle phase would be handy as well.


 http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

 But as for finding plugins, it's better to search the Internet for that
 sort of thing, rather than trying to turn the Maven core into an Internet
 search engine for Maven plugins.  (Similarly, wouldn't it be cool if you
 could use a simple Maven command-line switch to search for jars you could
 use in your project?  Wait, no it wouldn't; that's what Google is for.)

I understand your point, Dan. And while I agree somewhat with that, I
like asking Eclipse to update and or search for new updates that are
relevant to my version of Eclipse. I can use Google, and that's cool,
but if Eclipse can help me filter all the irrelevant stuff that's even
better - like, say, plugins which don't work on my version of the
software.


  And I might as well chuck in: why in the world do I need to do mvn
  nifty:nifty and not just mvn nifty?

 Because that way we don't have to guess whether you're trying to run a
 goal or a lifecycle phase.  install is a great example.  Do you just
 want to run the install:install goal, or did you want to run every
 lifecycle phase up through the install phase?

I agree; there is an issue with the plugins which are named the same
as the static set of life-cycles, and that's unfortunate. But how
about you make an exception for those that are not...which is the vast
majority, no? So, really mvn nifty just means run the nifty
plugin's default goal, and mvn install just means run the install
life-cycle, and mvn install:help means get me help on the install
plugin...how would the average CLI user expect to get help on the
install lifecycle? (Hint, it does not involve any -D switches or
multiple arguments :-)




 -Dan


 -
 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]



Re: [Discuss] MPLUGIN-40

2008-02-04 Thread Dan Fabulich

Tim O'Brien wrote:

I'm sorry, hold on... starting stopwatch mvn help:describe 
-Dplugin=nifty -Dmojo=nifty -Dfull - alright, I type fast, but that took me 
10 seconds.   Then I hit enter and a whole *crapload* of information zoomed 
past.   Ok, CTRL-R, mvn, adding a | less.   Ok, for something like 
help:describe, I'm looking at eight or nine pages of sleep inducing 
variable names.


Slow down, we agree more than we disagree.  That's why I filed a bunch of 
bugs against MPH today:


http://tinyurl.com/2c4j42

In particular, I think MPH-31 and MPH-32 would be good fixes, and don't 
require weird changes to core.  I'd prefer you'd typed mvn help 
-Dcmd=nifty:nifty, and that mvn help explained how that works.


I'm serious the help plugin hurts, go back to what Jason said about svn 
doing a better job.


(Didn't I say that?)  I'm not saying that the help plugin is perfect; I'm 
saying that we don't need to re-invent the wheel or hack the CLI to make 
this feature work, and that if you want to use it, you can start doing so 
right now.


But as for finding plugins, it's better to search the Internet for that 
sort of thing, rather than trying to turn the Maven core into an Internet 
search engine for Maven plugins.


Dan, can I quote you on It's better to search the Internet for that 
sort of thing the next time I have to defend Maven to some end-user who 
is absolutely enraged by the fact that they've had to spend the last 
fourteen hours trying to track down the reason why the dependency plugin 
they have installed doesn't support the tree goal even though the 
documentation on the Maven site tells them to run it (Hint: they don't 
have the right version)


Version diagnosis is very different from finding plugins to use.  It IS 
better to search the Internet to find plugins, which is what the -G switch 
is all about.  (It tells you about all plugins available everywhere, not 
just the ones you've got installed.)  Searching the Internet isn't better 
to diagnose version problems, but then, -G wouldn't have helped that 
either.


In fact, the help plugin is a pretty good way of diagnosing versions, or 
at least starting to.  mvn help:describe -Dplugin=dependency -Dmedium 
will tell you what you can do with the dependency plugin you've got 
installed and, prominently, what version you're using.


Annoyed by those -Dfull and -Dmedium flags?  Me, too... that's MPH-31, 
MPH-32, and MPH-35.


No one is saying they want Maven to be the Internet Search Engine for 
plugins.  Maybe someone is saying, what we have now isn't adequate. 
Seconded.


We agree again!

Makes sense.  But, wait, in that help:describe, you didn't call it a 
goal, the property was a mojo?


Yeah, that's why I already filed MPH-33 earlier today.

-Dan

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



Re: [Discuss] MPLUGIN-40

2008-02-04 Thread Tim O'Brien


On Feb 4, 2008, at 8:49 PM, Dan Fabulich wrote:


Tim O'Brien wrote:

I'm sorry, hold on... starting stopwatch mvn help:describe - 
Dplugin=nifty -Dmojo=nifty -Dfull - alright, I type fast, but that  
took me 10 seconds.   Then I hit enter and a whole *crapload* of  
information zoomed past.   Ok, CTRL-R, mvn, adding a | less.
Ok, for something like help:describe, I'm looking at eight or  
nine pages of sleep inducing variable names.


Slow down, we agree more than we disagree.  That's why I filed a  
bunch of bugs against MPH today:


http://tinyurl.com/2c4j42

In particular, I think MPH-31 and MPH-32 would be good fixes, and  
don't require weird changes to core.  I'd prefer you'd typed mvn  
help -Dcmd=nifty:nifty, and that mvn help explained how that works.


I'm serious the help plugin hurts, go back to what Jason said about  
svn doing a better job.


(Didn't I say that?)  I'm not saying that the help plugin is  
perfect; I'm saying that we don't need to re-invent the wheel or  
hack the CLI to make this feature work, and that if you want to use  
it, you can start doing so right now.


Well I think it would help to make it a bit more accessible.   All that:

mvn help:describe -Dplugin=blah -Dmojo=foo -Dfull

Should likely be changed to something easier to type:

mvn-help dependency

or

mvn-help ant:run

mvn-help -l   lists all plugins

No?  Yes?




But as for finding plugins, it's better to search the Internet for  
that sort of thing, rather than trying to turn the Maven core into  
an Internet search engine for Maven plugins.


Dan, can I quote you on It's better to search the Internet for  
that sort of thing the next time I have to defend Maven to some  
end-user who is absolutely enraged by the fact that they've had to  
spend the last fourteen hours trying to track down the reason why  
the dependency plugin they have installed doesn't support the tree  
goal even though the documentation on the Maven site tells them to  
run it (Hint: they don't have the right version)


Version diagnosis is very different from finding plugins to use.  It  
IS better to search the Internet to find plugins, which is what the - 
G switch is all about.  (It tells you about all plugins available  
everywhere, not just the ones you've got installed.)  Searching the  
Internet isn't better to diagnose version problems, but then, -G  
wouldn't have helped that either.




I guess I disagree here because I believe the following statements to  
be true:  mojo is something of a horror (it's getting a little  
better), plugins on the Maven site are often dev versions, the future  
of the success of Maven is for plugin development to become very  
decentralized (see Springer's Docbkx, and the Israfil Flex plugin)


I think a simple tool, packaged with Maven that knows of some plugin  
groupIds. Would be a great thing.   Run it, it lists all the plugins  
it knows about, you can see information about them.It's like gem  
for Maven..


In fact, the help plugin is a pretty good way of diagnosing  
versions, or at least starting to.  mvn help:describe - 
Dplugin=dependency -Dmedium will tell you what you can do with the  
dependency plugin you've got installed and, prominently, what  
version you're using.


Annoyed by those -Dfull and -Dmedium flags?  Me, too... that's  
MPH-31, MPH-32, and MPH-35.


No one is saying they want Maven to be the Internet Search Engine  
for plugins.  Maybe someone is saying, what we have now isn't  
adequate. Seconded.


We agree again!



Alright, Dan, let's do it.   Let me know how I can help.

Makes sense.  But, wait, in that help:describe, you didn't call it  
a goal, the property was a mojo?


Yeah, that's why I already filed MPH-33 earlier today.


I dig.



-Dan

-
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]



Re: [Discuss] MPLUGIN-40

2008-02-03 Thread Vincent Siveton
Hi Brett,

What do you propose for cmd line switch?

Personally, I am fine with mvn my-plugin:help which seems more common.
A lot of tools (all?) have an help option.

Cheers,

Vincent

2008/2/3, Brett Porter [EMAIL PROTECTED]:
 Would a different lifecycle or command line switch be more intuitive
 than this?

 On 04/02/2008, at 9:55 AM, Vincent Siveton wrote:

  Hi,
 
  I realize that the fix for MPLUGIN-40 (All plugins should by default
  have an auto-generated goal 'help') is definitely *not* intuitive for
  the end user.
 
  Background:
  I created a plugin-plugin goal which generates an Help mojo. This
  generated mojo just displays the goals and their
  description/parameters for a given plugin project. Since it is a goal
  inside the maven-plugin-plugin, we need to release it and *all*
  plugins to make available this new feature (it could take a time ;) ).
 
  I proposed another approach: modify the DefaultLifecycleExecutor to
  handle this particular goal. So we could call mvn idea:help to
  display all available idea goals and mvn idea:toto will throw an
  exception by displaying the help.
  Pro: more easy for the end user and works for all plugins
  Con: just available in mvn 2.0.9+
 
  WDYT?
 
  Vincent
 
  -
  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]



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



Re: [Discuss] MPLUGIN-40

2008-02-03 Thread Brett Porter

Something like

mvn -H idea:idea or mvn -H idea

which is akin to what Subversion has, for example.

this would allow the CLI to translate to the appropriate help:describe  
goal and then exit, which is pretty clean, as compared to modifying  
the lifecycle executor.


- Brett

On 04/02/2008, at 10:13 AM, Vincent Siveton wrote:


Hi Brett,

What do you propose for cmd line switch?

Personally, I am fine with mvn my-plugin:help which seems more common.
A lot of tools (all?) have an help option.

Cheers,

Vincent

2008/2/3, Brett Porter [EMAIL PROTECTED]:

Would a different lifecycle or command line switch be more intuitive
than this?

On 04/02/2008, at 9:55 AM, Vincent Siveton wrote:


Hi,

I realize that the fix for MPLUGIN-40 (All plugins should by default
have an auto-generated goal 'help') is definitely *not* intuitive  
for

the end user.

Background:
I created a plugin-plugin goal which generates an Help mojo. This
generated mojo just displays the goals and their
description/parameters for a given plugin project. Since it is a  
goal

inside the maven-plugin-plugin, we need to release it and *all*
plugins to make available this new feature (it could take a  
time ;) ).


I proposed another approach: modify the DefaultLifecycleExecutor to
handle this particular goal. So we could call mvn idea:help to
display all available idea goals and mvn idea:toto will throw an
exception by displaying the help.
Pro: more easy for the end user and works for all plugins
Con: just available in mvn 2.0.9+

WDYT?

Vincent

-
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]




-
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]



Re: [Discuss] MPLUGIN-40

2008-02-03 Thread Brett Porter
Would a different lifecycle or command line switch be more intuitive  
than this?


On 04/02/2008, at 9:55 AM, Vincent Siveton wrote:


Hi,

I realize that the fix for MPLUGIN-40 (All plugins should by default
have an auto-generated goal 'help') is definitely *not* intuitive for
the end user.

Background:
I created a plugin-plugin goal which generates an Help mojo. This
generated mojo just displays the goals and their
description/parameters for a given plugin project. Since it is a goal
inside the maven-plugin-plugin, we need to release it and *all*
plugins to make available this new feature (it could take a time ;) ).

I proposed another approach: modify the DefaultLifecycleExecutor to
handle this particular goal. So we could call mvn idea:help to
display all available idea goals and mvn idea:toto will throw an
exception by displaying the help.
Pro: more easy for the end user and works for all plugins
Con: just available in mvn 2.0.9+

WDYT?

Vincent

-
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]



Re: [Discuss] MPLUGIN-40

2008-02-03 Thread Jason van Zyl
I think keeping this out of the core, be that the lifecycle executor  
or the CLI would be a far better option.


Vincent, just to be clear you have taken the logic that already exists  
in the help plugin?


On 3-Feb-08, at 3:17 PM, Brett Porter wrote:


Something like

mvn -H idea:idea or mvn -H idea

which is akin to what Subversion has, for example.

this would allow the CLI to translate to the appropriate  
help:describe goal and then exit, which is pretty clean, as compared  
to modifying the lifecycle executor.


- Brett

On 04/02/2008, at 10:13 AM, Vincent Siveton wrote:


Hi Brett,

What do you propose for cmd line switch?

Personally, I am fine with mvn my-plugin:help which seems more  
common.

A lot of tools (all?) have an help option.

Cheers,

Vincent

2008/2/3, Brett Porter [EMAIL PROTECTED]:

Would a different lifecycle or command line switch be more intuitive
than this?

On 04/02/2008, at 9:55 AM, Vincent Siveton wrote:


Hi,

I realize that the fix for MPLUGIN-40 (All plugins should by  
default
have an auto-generated goal 'help') is definitely *not* intuitive  
for

the end user.

Background:
I created a plugin-plugin goal which generates an Help mojo. This
generated mojo just displays the goals and their
description/parameters for a given plugin project. Since it is a  
goal

inside the maven-plugin-plugin, we need to release it and *all*
plugins to make available this new feature (it could take a  
time ;) ).


I proposed another approach: modify the DefaultLifecycleExecutor to
handle this particular goal. So we could call mvn idea:help to
display all available idea goals and mvn idea:toto will throw an
exception by displaying the help.
Pro: more easy for the end user and works for all plugins
Con: just available in mvn 2.0.9+

WDYT?

Vincent

-
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]




-
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]



Thanks,

Jason

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





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



Re: [Discuss] MPLUGIN-40

2008-02-03 Thread Jason van Zyl


On 3-Feb-08, at 2:55 PM, Vincent Siveton wrote:


Hi,

I realize that the fix for MPLUGIN-40 (All plugins should by default
have an auto-generated goal 'help') is definitely *not* intuitive for
the end user.

Background:
I created a plugin-plugin goal which generates an Help mojo. This
generated mojo just displays the goals and their
description/parameters for a given plugin project. Since it is a goal
inside the maven-plugin-plugin, we need to release it and *all*
plugins to make available this new feature (it could take a time ;) ).



I don't see a problem with that.


I proposed another approach: modify the DefaultLifecycleExecutor to
handle this particular goal.


No. Don't bind special logic for plugins internally. It's much easier  
to release a tool in an external toolchain or fix a plugin.


The help plugin already does this doesn't it? Specify a particular  
plugin and it gives you the goals. Did you take this logic and move it  
to the plugin plugin?



So we could call mvn idea:help to
display all available idea goals and mvn idea:toto will throw an
exception by displaying the help.
Pro: more easy for the end user and works for all plugins
Con: just available in mvn 2.0.9+

WDYT?

Vincent

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



Thanks,

Jason

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

A man enjoys his work when he understands the whole and when he
is responsible for the quality of the whole

-- Christopher Alexander, A Pattern Language 





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