Commit graph

9469 commits

Author SHA1 Message Date
mark_story
b328276289 Adding default values into the parsed output.
This makes it so options with default values are always part of the parsed options regardless of whether or not they were included.  This will allow shells to include less logic checking for existence of parameters.
2010-10-13 23:18:26 -04:00
mark_story
3585620470 Adding a ghetto option parser to the testsuite shell. Still need to add in all the options from phpunit, and the other cake options. 2010-10-13 23:18:26 -04:00
mark_story
2af684cbec Fixing issue where exceptions for missing required arguments would be raised when trying to get help. 2010-10-13 23:18:26 -04:00
mark_story
43646b9372 Updating AclShell to use new formatting and removing methods that are no longer needed. 2010-10-13 23:18:26 -04:00
mark_story
0fd8d2b8e4 Adding addSubcommands, and support for subcommands to buildFromArray.
This makes the API consistent across all the elements of ConsoleOptionParser.
2010-10-13 23:18:26 -04:00
mark_story
577603fbd9 Adding documentation, and improving error messages. 2010-10-13 23:18:26 -04:00
mark_story
c3750d1108 Updating AclShell to use features of ConsoleOptionParser. 2010-10-13 23:18:26 -04:00
mark_story
99407e788f Fixing issue where choices would not be correctly validated. 2010-10-13 23:18:26 -04:00
mark_story
6774e401fe Correcting error message. 2010-10-13 23:18:26 -04:00
mark_story
8c990a9e08 Fixing failing tests caused by API changes. 2010-10-13 23:18:26 -04:00
mark_story
9540f9aeff Removing dead help method. 2010-10-13 23:18:25 -04:00
mark_story
970a6c8d79 Adding the ability for parse() to use a subcommand parser.
Adding text on how to get help on subcommands.
2010-10-13 23:18:25 -04:00
mark_story
1cf2613a8d Starting to convert bake to use option parsers. 2010-10-13 23:18:25 -04:00
mark_story
822aeb3883 Reformatting help text. 2010-10-13 23:18:25 -04:00
mark_story
ae04ae6e8a Removing implode(), as its done in the OptionParser now. 2010-10-13 23:18:25 -04:00
mark_story
b5630a5e30 Making description() and epilog() accept arrays. 2010-10-13 23:18:25 -04:00
mark_story
412864c510 Porting AclShell help to use the OptionParser. 2010-10-13 23:18:25 -04:00
mark_story
7a31eb41e9 Adding ability to define a subcommand parser as an array.
This makes defining subcommands a bit easier as you don't have to build a pile of objects first.
2010-10-13 23:18:25 -04:00
mark_story
1fec75e6ee Adding omitted __() 2010-10-13 23:18:25 -04:00
mark_story
ef027f6d0e Adding choices to usage and generated help text. 2010-10-13 23:18:25 -04:00
mark_story
b398877887 Adding missing default value. 2010-10-13 23:18:25 -04:00
mark_story
ed0476861e Adding documentation for choices options. 2010-10-13 23:18:24 -04:00
mark_story
4e91012144 Adding validation for positional arguments.
You can use choices option to give a list of valid values that an argument can have.
2010-10-13 23:18:24 -04:00
mark_story
8ee158226a Changing error message. 2010-10-13 23:18:24 -04:00
mark_story
56292b658c Adding option value validation to ConsoleOptionParser. 2010-10-13 23:18:24 -04:00
mark_story
8b46645f6a Making properties protected. 2010-10-13 23:18:24 -04:00
mark_story
49006b2bbb Adding accessor method. 2010-10-13 23:18:24 -04:00
mark_story
dc9a05d49c Extracting subcommand as a separate object.
This allows the internals of ConsoleOptionParser to be more uniform and consistent.
2010-10-13 23:18:24 -04:00
mark_story
8261581b3b Pulling out some duplicated code into methods. 2010-10-13 23:18:24 -04:00
mark_story
5e8222ef39 Pulling out classes into separate files. 2010-10-13 23:18:24 -04:00
mark_story
2774493577 Refactoring arguments into a separate object. 2010-10-13 23:18:24 -04:00
mark_story
12fba88528 Refactoring options into a separate object.
There are changes that need to be made for boolean and options with choices, and having a separate object will make them much easier to do.
2010-10-13 23:18:24 -04:00
mark_story
27a4f3c0d7 Adding test to make sure tags that are unknown are not removed. 2010-10-13 23:18:24 -04:00
mark_story
ad367fed9a Adding addOptions and addArguments as convience methods for adding multiple options/arguments. 2010-10-13 23:18:24 -04:00
mark_story
72e1a96a9a Renaming a Shell::_getOptionParser -> getOptionParser
Made the method public so subparser help would be easy to wire up. Moving help generation above task invocation so it always displays.
2010-10-13 23:18:23 -04:00
mark_story
ab794b300e Adding support for help generating help for subcommands.
Adding tests for subcommand help generation.
2010-10-13 23:18:23 -04:00
mark_story
3be24d0b0b Adding subcommand docs for i18n shell.
Adding execute checks to shell, this is a temporary fix that stops extra clears being done.
2010-10-13 23:18:23 -04:00
mark_story
fe7c7a1b12 Adding some colour to Shell::createFile()
Removing the now dead Shell::help().  The OptionParser approach provides much better help information than this method did.
2010-10-13 23:18:23 -04:00
mark_story
56339e05f3 Adding subcommand to help output.
Subcommands can be shell methods or tasks.  Both should support additional parsers.  Which is not complete yet.
2010-10-13 23:18:23 -04:00
mark_story
278f699fda Updating extract task. 2010-10-13 23:18:23 -04:00
mark_story
41b8affa82 Updating i18n shell to start using new OptionParser class.
Removing more dead attributes from Shell. Making Shell::$name the name used to invoke the shell, not the classname.  This makes it similar to other objects with names.
2010-10-13 23:18:23 -04:00
mark_story
2a2428a694 Updating ApiShell to use ConsoleOptionParser correctly.
Removing old help method.
2010-10-13 23:18:23 -04:00
mark_story
c0d15a420c Changing name of parser attribute. 2010-10-13 23:18:23 -04:00
mark_story
f1ee46749b Fixing failing tests in Schema shell. 2010-10-13 23:18:23 -04:00
mark_story
193721a0eb Fixing notice errors in ShellDispatcher
Removing ShellDispatcher tests that are now inside Shell.
Changing exception type to match the one used in ShellDispatcher.
2010-10-13 23:18:23 -04:00
mark_story
e70089891d Adding some more array_unshift. These fix issues where tasks would receive their name in the argv which is not correct. 2010-10-13 23:18:22 -04:00
mark_story
79d1739778 Adding tests for task methods in runCommand.
Moving startup() call to the dispatcher so nested runCommand calls don't double output the startup content.
2010-10-13 23:18:22 -04:00
mark_story
cea9dadaa2 Fixing ShellDispatcher::parseParams tests to reflect the changes in what they do.
Adding tests for Shell::runCommand().
2010-10-13 23:18:22 -04:00
mark_story
3d351e7760 Dramatically changing how ShellDispatcher and Shell interact.
Shell::runCommand is now responsible for delegating out to tasks and correctly checking methods to run.  ShellDispatcher no longer parses parameters and instead only pulls out the path information that it needs to setup the environment.
2010-10-13 23:18:22 -04:00
mark_story
cd18c8214c Adding Shell::hasMethod and tests for it. 2010-10-13 23:18:22 -04:00