Thanks for the feedback. I agree with Luke that --refresh=dependencies is
not nice, but I understand not wanting to introduce a different pattern.

The alternative option is NOT to change the CLI parsing contract (maybe
just deprecate --option <space> arg), but to deprecate and replace:
--refresh dependencies   => --refresh-dependencies
--cache rebuild                  => --refresh-task-cache (or something
better)

This isn't a new syntax, it's just 2 options with similar names because
they do similar things.

Daz

On 1 March 2012 18:54, Rene Groeschke <[email protected]> wrote:

> Hey,
>
> I agree that we should deprecate '--OPTION <space> argument' as the user
> should see on a first glance what's happening. e.g. running "--refresh
> dependencies" can be interpreted by a user as build with flag --refresh +
> running the dependencies task. Personally I would use 
> the'--OPTION=argument'pattern here, as it seems to be the most transparent 
> pattern for users.
> Intoducing yet another option pattern (yaop) like '--OPTION-argument' may
> feel uncomfortable for the user.
>
> just my two cents,
>
> Regards,
>
> René
>
>   Daz DeBoer <[email protected]>
>  1. März 2012 16:32
>  Hi guys
>
> Following our discussion from yesterday, I was thinking that maybe a
> review of the gradle CLI might be good for RC1.
>
> A: The main issue is the '--refresh dependencies' option looks bad when
> combined with the 'dependencies' task. But this would equally apply to
> 'gradle --cache rebuild rebuild' (if rebuild was a task name).
>          - These are the only 2 options we have that take 'multi-choice'
> arguments. All others take user-supplied arguments (like file names) or no
> arguments.
>          - Actually '--exclude integTest' only avoids this issue since you
> never want explicitly execute the task you're excluding ("--exclude
> integTest integTest" doesn't make sense!)
> Options:
> 1) Keep things as they are.
> 2) Deprecate the use of '--OPTION <space> argument' and encourage
> '--OPTION = argument'. We could keep the ability to do '-O argument', but
> force the '=' when using the --long-option format.
>     - This would allow us to eventually make the argument optional: eg
> '--refresh', '--refresh=dependencies', '--refresh=task-uptodate'
> 3) Add a new pattern for a 'multi-choice' option, and switch to the syntax
> of: '--refresh-dependencies', '--cache-rebuild'
>     - We could add these individually to start with, but later add a
> better way to describe these in the CLI help (when we have more than a
> couple of choices).
>
> B: I'd also like to see is consolidation of the '--cache rebuild' and
> '--refresh dependencies' options. (I really don't like --cache rebuild)
> Options:
> 1) Keep things as they are: (--refresh=dependencies & --cache=rebuild)
> 2) Deprecate --cache=rebuild and reuse '--refresh':
>     --refresh=task-cache
>     --refresh=task-state
>     --refresh=cached-task-state
>     --refresh=uptodate-state
>     --refresh=uptodate-cache
> 3) A new option entirely
> ????
>
> My vote would be for A3 and B2, so we'd have '--refresh-dependencies' and
> '--refresh-task-cache' as separate options to start with, later adding the
> concept of a '--refresh' option with different '-switch' sub-options.
>
> Thoughts?
> Daz
>
>  ------------------------------
>
>
>


-- 
Darrell (Daz) DeBoer
Principal Engineer, Gradleware
http://www.gradleware.com

<<compose-unknown-contact.jpg>>

Reply via email to