As a user, I always want to _do_ something. Logging in is, inherently, a
null operation. Sure, it changes my state (from non-logged in to logged in)
but only insomuch as to do the action that I _really_ want to do (such as,
commit or checkout). The issue with ANT is that it is procedural. It makes
you take steps (login, checkout, logout). Maven is not procedural, it is
declarative. From that point of view, what good does it do anyone to declare
"log me in"? It is the steps _after_ this operation that are fruitful, so
this is what the goals focus on. To log oneself in turns a declared
operation into a procedure.

Consider the example goal:
 mvn scm:commit

versus the alternate proposal:
 mvn scm:login scm:commit

See how that becomes procedural? I'm no longer just declaring the action I
want to take (commit), but now instead am directing how to take the action.

Thanks;
Eric

On 7/7/06, Sharma, Jaikumar <[EMAIL PROTECTED]> wrote:

Thanks Eric, I was not sure whether I should post this questions to
maven users list or developer list.Though, to me it looks, more
developer list question than user list.

Is it not worthwhile to provide "login" as a seperate goal ? or there
are
> some good reasons to not to provide this ?

What would be the value in a goal that logs in, but does not perform any
actions?

I do not believe that logging in into a system / repository is not an
action, if this  would have been like that then what is meaning of
security and why operating system providers (Microsoft , open source
Linux to name a few) implemented this behaviour into their system ?

Thanks , Jaikumar


-----Original Message-----
From: Eric Redmond [mailto:[EMAIL PROTECTED]
Sent: Saturday, July 08, 2006 2:39 AM
To: Maven Users List
Subject: Re: maven-scm-plugin goals question


Please do not cross-post between lists. More below.

On 7/7/06, Sharma, Jaikumar <[EMAIL PROTECTED]> wrote:
>
> Dear all,
>
> As I see at the following URL goals provided by maven-scm-plugin,
> these goals are general goals, but at the same time,  certain actions

> / operations which are specific to a particular SCM does not really
> match (for readibility / documentation reasons)  to these goals.
>
> http://maven.apache.org/scm/plugins/plugin-info.html
> <http://maven.apache.org/scm/plugins/plugin-info.html>
>
>
> For instance, take the login action,  which I think every provider
> implements for it repository, and in most of the cases with other
> providers which are implemented, login has been wrapped in URL in the
> pom and there itself login take place.


Is it not worthwhile to provide "login" as a seperate goal ? or there
are
> some good reasons to not to provide this ?


What would be the value in a goal that logs in, but does not perform any
actions?

Next, I would appreciate, if somebody could point me to the purpose of
the
> following goals with repect to the provider repository :
>
>         scm:diff
>         scm:status
>         scm:tag
>         scm:unedit


If I do not implement any of the goals or only implement which are
relevent
> / common goals which are relevent to my provider , then at the higher
> level would I be missing any of the functinality provided by Maven ?


Of course, but that's not important. If an implementation does not
provide
for a particular goal, then it just will not be available. SCM is just
like
any other API. Sometimes an implementation of an API cannot provide all
required functionality. Naturally, it is best to try, but if your
provider
does not have "tag" for example, naturally that goal cannot be used
correctly.

Regards, Jaikumar
>

Thanks;
Eric


Reply via email to