mark_story
cf9166a689
Starting to remove Dispatch->params in favor of the constants ShellDispatcher makes, this will make removing the dependency from Shell much easier.
2010-10-23 00:11:31 -04:00
mark_story
a5dd06b54c
Adding raw output to xml help generation.
2010-10-22 23:30:35 -04:00
mark_story
0be2208429
Adding a few new constants and a new method to control colouring of output. Added raw mode for outputting things like XML.
2010-10-22 23:30:08 -04:00
mark_story
c3b70dccb3
Fixing issue where a missing style would consume a tag on the xml output.
2010-10-20 23:40:05 -04:00
mark_story
1d5f730a10
Removing unused variable from Shell.
...
Making subcommand parsers correctly output XML help.
2010-10-20 23:35:30 -04:00
mark_story
a6a627bd92
Making xml help work.
...
Need to update tests.
2010-10-19 23:35:58 -04:00
mark_story
65686a0648
Fixing doc string.
2010-10-19 23:25:42 -04:00
mark_story
a866d62190
Adding startup override for xml output.
2010-10-19 23:25:23 -04:00
mark_story
d126f27278
Doing a bunch of refactoring to the CommandList shell.
...
Adding XML output to the command list shell.
2010-10-19 23:21:24 -04:00
mark_story
8f9adc7b15
Adding return of xml object to xml() method.
2010-10-19 22:47:07 -04:00
mark_story
ad62e0e3af
Adding xml output to HelpFormatter.
2010-10-19 22:44:46 -04:00
mark_story
52a494402b
Moving tests over to the HelpFormatter.
2010-10-19 21:40:27 -04:00
mark_story
78e76a2f9e
Removing unused methods.
2010-10-19 21:31:55 -04:00
mark_story
4e44ff97b3
Moving code into HelpFormatter to help separate the help generation from the option parser.
2010-10-19 21:31:16 -04:00
mark_story
1954c7c350
Moving tests around and starting to build out HelpFormatter for generating both text and xml help.
...
Xml help in consoles is great for IDE consumption.
2010-10-18 23:38:14 -04:00
mark_story
6900f470ad
Moving code from BakeShell to BakeTask.
...
Adding a base execute method to contain common code shared amongst all the bake tasks.
Updating test cases as $name attributes value has changed.
2010-10-18 23:09:23 -04:00
mark_story
bd156bb601
Adding a connection object for use with bake all.
2010-10-18 22:38:56 -04:00
mark_story
de615967fc
Removing dead code from the PluginTask.
2010-10-18 22:38:17 -04:00
mark_story
6f29441ff9
Adding a blank line after the epilog on generated help. Makes for slightly more readable output.
2010-10-18 22:37:57 -04:00
mark_story
df55c08133
Fixing typo.
...
Fixing bad import which caused fails when running tests from the webrunner.
2010-10-17 23:43:12 -04:00
mark_story
5eb8c8fbcf
Adding a test and trimming whitespace.
2010-10-17 23:35:45 -04:00
mark_story
01b1fb8638
Removing the old help method.
2010-10-17 23:31:58 -04:00
mark_story
529527a722
Removing ability of plugin task to pass through to a few but not all parts of bake.
...
Adding OptionParser definition.
2010-10-17 23:09:30 -04:00
mark_story
1d974f5a48
Fixing issue that caused db config generation to fail.
2010-10-17 22:54:07 -04:00
mark_story
9ebd015739
Adding omitted return statements.
2010-10-17 22:43:06 -04:00
mark_story
ae9403601e
Making the project task correctly replace the __CAKE_PATH__ constant when creating new projects.
2010-10-17 22:38:32 -04:00
mark_story
8f0a96d4bb
Adding Shel::$command back in as it was still being used, oops.
...
Updating Bakeshell to do its tricks at the correct time.
2010-10-17 22:37:57 -04:00
mark_story
561067e797
Making the skel tmp dirs world writable.
2010-10-17 22:36:59 -04:00
mark_story
ae6846277e
Updating text that doesn't make sense as Cake uses PHPunit now.
2010-10-17 21:29:30 -04:00
mark_story
e807cc0eca
Removing a bunch of dead properties from ShellDispatcher and Shell.
...
They are no longer needed/used.
Moving Shell back to console/shells so App::import() can easily find it.
2010-10-17 21:04:14 -04:00
mark_story
db6149a5e8
Adding some more colour to the project task.
...
Making regular expressions easier to read.
2010-10-17 19:08:08 -04:00
mark_story
53a1663b96
Adding console dir to skel.
...
Updating project task to test for directories and files in a more readable way.
2010-10-17 19:01:44 -04:00
mark_story
8476edd3d1
Moving console lib classes into a new directory.
2010-10-17 17:39:05 -04:00
mark_story
a11a1214b7
Refactoring file scanning into a method which allows the removal of sketchy regular expressions.
...
Adding some colour for pimpness.
Updating tests as additional bootstrapped paths are treated as app paths now.
2010-10-17 17:32:37 -04:00
mark_story
5737cf7877
Making TaskCollection use App::import instead of goofy shell paths.
...
Moving files in the testsuite around to reflect changed paths.
2010-10-17 15:58:44 -04:00
mark_story
8c63f155ba
Renaming + moving test and task files around. Updating tests to use import for tasks.
2010-10-17 15:43:20 -04:00
mark_story
2cdbd67d7d
Updating ShellDispatcher to use import() and new paths.
2010-10-17 15:08:41 -04:00
mark_story
a76ce4af3d
Renaming console/libs to console/shells so its more consistent with app directories.
2010-10-17 15:07:00 -04:00
José Lorenzo Rodríguez
cbdfb3f76e
Removing all references to mysqli
2010-10-17 11:49:17 -04:30
mark_story
09ee1b7dce
Fixing issue where schema create would always dry run.
2010-10-16 01:46:47 -04:00
mark_story
cf98942c72
Updating Acl and i18n shells to use dispatchShell.
2010-10-16 01:38:11 -04:00
mark_story
abea7294e6
Adding some documentation for Shell::dispatchShell()
...
Fixing string dispatching.
2010-10-16 01:37:43 -04:00
mark_story
28fc07c055
Adding Shell::dispatchShell() will replace $this->Dispatch->dispatch use in Shells.
2010-10-16 01:28:59 -04:00
mark_story
e85482f702
Making a missing method generate help, when a shell lacks a main() method.
2010-10-16 01:24:23 -04:00
mark_story
134f4835ab
Adding some colours to project task, and fixing verbose output question.
2010-10-16 01:02:15 -04:00
mark_story
4627cc01cf
Updating SchemaShell to use optionparser and removing old help.
...
Updating test case to use new param names.
2010-10-16 00:43:03 -04:00
mark_story
ced7243f95
Making ConsoleOptionParser not default options to true. Having them this way made it pretty difficult to write simple conditions in shells, as options would always be truthy.
2010-10-16 00:39:22 -04:00
mark_story
02f42f3454
Making colouring wrap lines.
2010-10-16 00:04:58 -04:00
mark_story
46dcf8b036
Fixing formatting on generated help in ConsoleOptionParser.
...
Updating tests.
Making Shell::wrapText a simple wrapper for String::wrap()
2010-10-15 23:09:28 -04:00
mark_story
5f90ac2b45
Adding width wrapping to the generated help. Should help with having content that is too long.
2010-10-14 23:21:56 -04:00
mark_story
0492a188ed
Adding Shell::wrapText() to extend String methods, with indenting which can be useful in shell output.
2010-10-14 22:58:23 -04:00
mark_story
b8467164f8
Making ConsoleOutput work correctly when multiple identical tags are used.
2010-10-14 22:16:42 -04:00
mark_story
0428320c78
Adding verbose/quiet flags back to testsuite shell.
2010-10-14 22:15:01 -04:00
mark_story
025090fbe9
Applying patch from 'dragonfly' to improve help output for AclShell.
...
Fixes #1198
2010-10-14 21:25:15 -04:00
mark_story
124a910830
Adding documentation for output levels.
2010-10-13 23:44:50 -04:00
mark_story
4be57a2ea5
Adding output levels to Shell
...
Adding tests for output levels.
2010-10-13 23:40:45 -04:00
mark_story
c6ef589139
Adding filter option to the testsuite, seems I forgot it.
2010-10-13 23:40:14 -04:00
mark_story
037bc6cb2f
Changing how arguments are shown in help output.
2010-10-13 23:18:28 -04:00
mark_story
81d61a66c8
Re-formatting code and removing old help method.
2010-10-13 23:18:27 -04:00
mark_story
03688bc2ff
Adding an option parser to controller task.
...
Converting the public and admin positional arguments into switches.
Updating the task and test cases to reflect the switches changes.
2010-10-13 23:18:27 -04:00
mark_story
5fd85c1150
Adding a very basic option parser to DbConfigTask.
2010-10-13 23:18:27 -04:00
mark_story
6b6d9e9b30
Adding option parser to model task.
...
Adding omitted options to view task.
2010-10-13 23:18:27 -04:00
mark_story
4985572f9b
Adding option parser to the project task.
2010-10-13 23:18:27 -04:00
mark_story
50139b153c
Adding OptionParser to view task.
...
Adding epilog information about interactive mode to view and fixture tasks.
2010-10-13 23:18:27 -04:00
mark_story
d3e4cedf12
Updating test task to use the option parser.
...
Removing dead help method.
2010-10-13 23:18:27 -04:00
mark_story
52c1c71e4a
Updating fixture task to use the OptionParser
...
Fixing failing tests caused by changing tasks to lazy loading.
2010-10-13 23:18:27 -04:00
mark_story
10090696a0
Making boolean switches behave.
...
Boolean switches always show up in the parsed options. When left undefined they insert a false, and when included they insert a true. This makes working with them require less checks.
2010-10-13 23:18:26 -04:00
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
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
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
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
mark_story
18c5a62445
Removing a dead test and adding tests for hasTask
2010-10-13 23:18:22 -04:00
mark_story
830238c2dd
Removing $this->AppModel from shells.
...
Having a partially constructed model in the shell is not useful, and
gives the impression that it will work correctly. Which it doesn't.
2010-10-13 23:18:22 -04:00
mark_story
fbcc9c1fc1
Making Tasks lazy load.
...
This allows task initialization to be moved out of ShellDispatcher where it does not belong, as tasks are similar to components. Updating parts of TaskCollection, as the Dispatcher is still required to be passed around.
2010-10-13 23:18:22 -04:00
mark_story
4d199cf8a8
Removing Shell::_loadDbConfig() and Shell::$DbConfig
...
They did not make sense in Shell as no other core shells even use these
properties/methods.
2010-10-13 23:18:22 -04:00
mark_story
0d522f3bd4
Changing ShellDispatcher to use --help and -h like the option parser does.
2010-10-13 23:18:22 -04:00
mark_story
7f5b5c4fbd
Adding exception for unknown option usage.
2010-10-13 23:18:21 -04:00
mark_story
d3c95bc2c4
Adding epilog and description to the generate help.
2010-10-13 23:18:21 -04:00
mark_story
501e63e45d
Adding argument help generation in the long help and usage string.
...
Fixing output of option help, formatting was calculated in 2 places.
2010-10-13 23:18:21 -04:00
mark_story
09adc38b6c
Doing some fixes as the longest option + a short would cause incorrect formatting.
2010-10-13 23:18:21 -04:00
mark_story
733394d584
Adding usage generation for options.
2010-10-13 23:18:21 -04:00
mark_story
cea6cef727
Adding smart defaults for verbose, quiet, and help options.
...
Adding help formatting for options.
2010-10-13 23:18:21 -04:00
mark_story
a3259743f7
Making error output style have an underline.
...
Adding a comment style which has blue text.
2010-10-13 23:18:21 -04:00
mark_story
f5ad54e97e
Adding required argument checking.
2010-10-13 23:18:21 -04:00
mark_story
505e59ac66
Adding support for boolean options.
2010-10-13 23:18:21 -04:00
mark_story
3e402e2dfb
Adding support for positional arguments.
...
Adding tests and support for positional arguments. Renaming description
key to help as its shorter.
2010-10-13 23:18:21 -04:00
mark_story
6f1dae208c
Adding method skeleton
2010-10-13 23:18:21 -04:00
mark_story
b392f300ba
Adding docs about how options work.
2010-10-13 23:18:20 -04:00
mark_story
3b9921a390
Adding support for -abc style combination of short options.
...
Renaming shortcut to short as its shorter :)
2010-10-13 23:18:20 -04:00
mark_story
01a7fc70b7
Removing dead code.
2010-10-13 23:18:20 -04:00
mark_story
07bda824f0
Adding test for parsing multiple options.
2010-10-13 23:18:20 -04:00
mark_story
2c2c9a38d2
Removing required, and type from option flag as they didn't really make sense to include at this point. Adding support for --foo=bar type parameters.
2010-10-13 23:18:20 -04:00
mark_story
7b1b835bc1
Adding very basic implementation for parsing long and short options.
2010-10-13 23:18:20 -04:00
mark_story
d5d9adb92b
Starting to implement options and option parsing.
2010-10-13 23:18:20 -04:00
mark_story
694537933e
Adding description() and epilog() to ConsoleOptionParser. Starting to build out addOption.
2010-10-13 23:18:20 -04:00
mark_story
d914c0aaea
Adding ConsoleOptionParser and its test.
2010-10-13 23:18:20 -04:00
mark_story
73ad3043a2
Fixing more console tests to use new internals.
...
Making TaskCollection pass the stdout, stdin, stderr to Tasks they create. This allows for more flexible dependency injection and makes testing easier.
2010-10-13 23:18:20 -04:00
mark_story
7921ef1282
Fixing Shell tests to use ConsoleInput.
2010-10-13 23:18:19 -04:00
mark_story
e816a49a6f
Moving ShellDispatcher::getInput() into Shell as a protected method.
2010-10-13 23:18:19 -04:00
mark_story
67f03afa02
Moving ConsoleInput to the correct directory.
2010-10-13 23:18:19 -04:00
mark_story
cd8d29ef1c
Removing conceal, because its a stupid option.
2010-10-13 23:18:19 -04:00
mark_story
131433739e
Removing dead test stubs and test methods.
...
Moving clear() into Shell, it should be a shell method.
Changing shell methods to use ConsoleOutput objects, instead of methods on Dispatcher.
2010-10-13 23:18:19 -04:00
mark_story
a55098b00b
Making TaskCollection require a Shell instead of a ShellDispatcher.
...
This will help reduce the coupling between ShellDispatcher and other objects.
Since ShellDispatcher never directly uses or interacts with TaskCollection, it doesn't make much sense for it to have one. Instead shells will either get their own, or be passed one in.
2010-10-13 23:18:19 -04:00
mark_story
b6602f1d0d
Converting more stderr() use into exceptions.
2010-10-13 23:18:19 -04:00
mark_story
749e9c19d5
Adding success style.
...
Adding some additional formatting to the default welcome method.
2010-10-13 23:18:19 -04:00
mark_story
9a6b04d5b3
Removing double header output and adding some pizazz to the command list.
2010-10-13 23:18:18 -04:00
mark_story
7719df72c2
Removing code from ShellDispatcher that is now in CommandList.
2010-10-13 23:18:18 -04:00