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