Commit graph

1143 commits

Author SHA1 Message Date
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
mark_story
02c4e00556 Starting to move command list out to a separate class so ShellDispatcher can stop having stderr/stdout connections. 2010-10-13 23:18:18 -04:00
mark_story
317e32f07b Making ShellDispatcher use exceptions instead of returning false and doing other goofy things.
Adding MissingShellMethodException, MissingShellClassException and MissingShellFileException for use with ShellDispatcher.
Removing duplicated tests, and refactoring them into separate tests with expected exceptions.
2010-10-13 23:18:18 -04:00
mark_story
ffbb4e6b45 Integrating ConsoleOutput with ConsoleErrorHandler.
Updating test cases to match new output.
2010-10-13 23:18:18 -04:00
mark_story
ce4fe64a61 Initial integration of ConsoleOutput into cake console tools. 2010-10-13 23:18:18 -04:00
mark_story
5c55c289f7 Adding support for uncoloured output for windows environments without
ansicon.
2010-10-13 23:18:18 -04:00
mark_story
90d5c12b3e Fixing issues with background colours, and adding tests for options. 2010-10-13 23:18:18 -04:00
mark_story
d5b5fbee3b Adding formatting methods for coloured output. 2010-10-13 23:18:18 -04:00
mark_story
aec1770abc Adding style format manipulation methods. 2010-10-13 23:18:18 -04:00
mark_story
7dea9b0dbd Starting to refactor console output into ConsoleOutput. 2010-10-13 23:18:18 -04:00
mark_story
0a86b7f208 Moving the ShellDispatcher into is own file. This makes testing easier and will make app/console easier to create. 2010-10-13 23:18:17 -04:00
mark_story
079c55656b Updating doc block for console error handler. 2010-10-13 23:18:17 -04:00
mark_story
f19e3d501c Merge branch '1.3' into integration
Conflicts:
	cake/libs/model/cake_schema.php
	cake/libs/model/datasources/dbo_source.php
	cake/libs/model/model.php
	cake/libs/view/helpers/form.php
	cake/libs/view/view.php
	cake/libs/xml.php
	cake/tests/cases/libs/model/model_delete.test.php
	cake/tests/cases/libs/view/view.test.php
	cake/tests/cases/libs/xml.test.php
2010-10-13 22:30:40 -04:00
mark_story
f847080cbf Changing more php version strings. 2010-10-03 12:46:03 -04:00
José Lorenzo Rodríguez
9d35ea0cbc Upgrading CodeCoverage repoting fo phpunit 3.5 2010-09-29 01:14:14 -04:30
José Lorenzo Rodríguez
45a407783e Updating options help 2010-09-28 21:11:43 -04:30
mark_story
500550faef Adding documentation note about AclShell and issues with zend.ze1_compatibilty. Fixes #987 2010-09-26 12:33:15 -04:00
mark_story
94d738e834 Fixing failing tests and group test situational fails in console tests. Adding console tests to all tests. 2010-09-24 23:30:02 -04:00
mark_story
608ea6df42 Making the console define a FULL_BASE_URL so tests run properly. 2010-09-24 23:30:01 -04:00
mark_story
f21161ef46 Merge branch '1.3' into 2.0. Had to fix a number of 1.3 -> 2.0
differences upon merging.

Conflicts:
	app/config/core.php
	cake/console/templates/skel/config/core.php
	cake/libs/cache/file.php
	cake/libs/cake_session.php
	cake/libs/controller/components/email.php
	cake/libs/i18n.php
	cake/libs/view/pages/home.ctp
	cake/tests/cases/libs/cache/memcache.test.php
	cake/tests/cases/libs/model/model_write.test.php
2010-09-24 23:27:22 -04:00
mark_story
9e4c890082 Updating the schema command in the core.php files to reflect the correct command needed for 1.3. Fixes #1031 2010-09-23 23:12:20 -04:00
mark_story
e91fa68f8e Making the set() functions use + instead of array_merge() so that numeric indices are properly preserved across multiple method calls. Fixes #1105 2010-09-18 00:13:03 -04:00
mark_story
e4d34b640b Merge branch '2.0-exceptions' into 2.0
Conflicts:
	cake/libs/error.php
	cake/tests/cases/libs/controller/scaffold.test.php
	cake/tests/cases/libs/error.test.php
2010-09-10 20:31:16 -04:00
mark_story
bdb3feb7fd Adding stack trace to the console error handler. Updating tests.
Changing require to require_once so the test case for ConsoleErrorHandler doesn't blow up in cli.
2010-09-08 23:38:51 -04:00
mark_story
6e5e32bef5 Updating AclShell test to use AclComponent correctly. 2010-09-07 23:40:07 -04:00
Mark Story
d88da3d579 Merge branch '1.3' into 2.0
Conflicts:
	cake/libs/configure.php
	cake/libs/model/connection_manager.php
	cake/libs/model/model.php
	cake/tests/cases/libs/model/datasources/dbo/dbo_postgres.test.php
	cake/tests/cases/libs/view/helpers/text.test.php
2010-09-06 16:53:04 -04:00
Mark Story
b491414a51 Changing gif to png, so baked apps have the correct icon. Fixes #1081 2010-09-06 01:39:39 -04:00
Mark Story
2e46d2f5ca Changing gif to png, so baked apps have the correct icon. Fixes #1081 2010-09-06 01:38:31 -04:00
Mark Story
8bd0f18a53 Adding a new line to the ConsoleErrorHandler
Refactoring ConsoleErrorHandler test to use dynamic mocks.
2010-09-05 11:22:39 -04:00
Mark Story
9fee81cda0 Updating ConsoleErrorHandler to use new exception names and method renames. 2010-09-05 11:10:48 -04:00
Mark Story
5c0fe1b16e Applying patch from 'majna'. Adding plugin to the list of template variables exposed in the controller task. Test added Fixes #1077 2010-09-03 12:33:59 -04:00
Mark Story
a1e01e414b Adding a tests for CakeExceptions and non CakeExceptions 2010-09-02 18:02:58 -04:00
Mark Story
a44b35311d Integrating the ConsoleErrorHandler into the console environment. 2010-09-02 17:49:43 -04:00
Mark Story
60e44660c3 Moving ErrorHandler to ConsoleErrorHandler so it doesn't have classname conflicts.
Making the console use a subclass of ErrorHandler.
2010-09-02 17:49:00 -04:00
Mark Story
034aaa7462 Creating optional boot variable that informs Configure if it should bootstrap the app. Changing how ShellDispatcher checks for app existence it sets the $boot var now and reuses the framework bootstrap file instead of a second custom one. 2010-09-02 17:16:57 -04:00
Mark Story
ffa8b959e4 Changing classname and importing base class. 2010-09-02 16:47:06 -04:00
mark_story
a8d4015f47 Updating bootstrap process in CLI to match the one in web.
Updating all_libs to use new file.
Updating error_handler test to run in cli.
Updating Controller so it imports required classes.
2010-08-30 22:59:10 -04:00
mark_story
dc67b9cacc Moving all the exceptions into one file for the short term. 2010-08-28 00:08:35 -04:00
mark_story
c48c0d6295 Fixing issue where ViewTask would make empty view files for actions that did not have templates. Test case added. Fixes #1040 2010-08-23 21:49:30 -04:00
mark_story
4622ec44c2 Updating the skel and app test.php's to not make a global variable for the dispatcher. This dramatically improves the performance of the web test runner. 2010-08-16 23:33:07 -04:00
mark_story
f46241a6e7 Merge branch '2.0' into 2.0-helpers 2010-08-16 23:02:44 -04:00