ソースを参照

Dry out options for bake.

Use inheritance to dry out duplicated options in bake tasks.
mark_story 12 年 前
コミット
546ef9717f

+ 26 - 0
src/Console/Command/Task/BakeTask.php

@@ -95,4 +95,30 @@ class BakeTask extends Shell {
 		}
 	}
 
+/**
+ * Get the option parser for this task.
+ *
+ * This base class method sets up some commonly used options.
+ *
+ * @return \Cake\Console\ConsoleOptionParser
+ */
+	public function getOptionParser() {
+		$parser = parent::getOptionParser();
+		$parser->addOption('plugin', [
+			'short' => 'p',
+			'help' => __d('cake_console', 'Plugin to bake into.')
+		])->addOption('force', [
+			'short' => 'f',
+			'boolean' => true,
+			'help' => __d('cake_console', 'Force overwriting existing files without prompting.')
+		])->addOption('connection', [
+			'short' => 'c',
+			'help' => __d('cake_console', 'The datasource connection to get data from.')
+		])->addOption('theme', [
+			'short' => 't',
+			'help' => __d('cake_console', 'Theme to use when baking code.')
+		]);
+		return $parser;
+	}
+
 }

+ 0 - 13
src/Console/Command/Task/ControllerTask.php

@@ -260,15 +260,6 @@ class ControllerTask extends BakeTask {
 			__d('cake_console', 'Bake a controller skeleton.')
 		)->addArgument('name', [
 			'help' => __d('cake_console', 'Name of the controller to bake. Can use Plugin.name to bake controllers into plugins.')
-		])->addOption('plugin', [
-			'short' => 'p',
-			'help' => __d('cake_console', 'Plugin to bake the controller into.')
-		])->addOption('connection', [
-			'short' => 'c',
-			'help' => __d('cake_console', 'The connection the controller\'s model is on.')
-		])->addOption('theme', [
-			'short' => 't',
-			'help' => __d('cake_console', 'Theme to use when baking code.')
 		])->addOption('components', [
 			'help' => __d('cake_console', 'The comma separated list of components to use.')
 		])->addOption('helpers', [
@@ -281,10 +272,6 @@ class ControllerTask extends BakeTask {
 		])->addOption('no-actions', [
 			'boolean' => true,
 			'help' => __d('cake_console', 'Do not generate basic CRUD action methods.')
-		])->addOption('force', [
-			'short' => 'f',
-			'boolean' => true,
-			'help' => __d('cake_console', 'Force overwriting existing files without prompting.')
 		])->addSubcommand('all', [
 			'help' => __d('cake_console', 'Bake all controllers with CRUD methods.')
 		]);

+ 1 - 15
src/Console/Command/Task/FixtureTask.php

@@ -58,26 +58,12 @@ class FixtureTask extends BakeTask {
 	public function getOptionParser() {
 		$parser = parent::getOptionParser();
 
-		$parser->description(
+		$parser = $parser->description(
 			__d('cake_console', 'Generate fixtures for use with the test suite. You can use `bake fixture all` to bake all fixtures.')
 		)->addArgument('name', [
 			'help' => __d('cake_console', 'Name of the fixture to bake. Can use Plugin.name to bake plugin fixtures.')
-		])->addOption('connection', [
-			'help' => __d('cake_console', 'Which database configuration to use for baking.'),
-			'short' => 'c',
-			'default' => 'default'
 		])->addOption('table', [
 			'help' => __d('cake_console', 'The table name if it does not follow conventions.'),
-		])->addOption('plugin', [
-			'help' => __d('cake_console', 'CamelCased name of the plugin to bake fixtures for.'),
-			'short' => 'p',
-		])->addOption('theme', [
-			'short' => 't',
-			'help' => __d('cake_console', 'Theme to use when baking code.')
-		])->addOption('force', [
-			'short' => 'f',
-			'boolean' => true,
-			'help' => __d('cake_console', 'Force overwriting existing files without prompting.')
 		])->addOption('count', [
 			'help' => __d('cake_console', 'When using generated data, the number of records to include in the fixture(s).'),
 			'short' => 'n',

+ 0 - 13
src/Console/Command/Task/ModelTask.php

@@ -656,19 +656,6 @@ class ModelTask extends BakeTask {
 			'help' => __d('cake_console', 'Name of the model to bake. Can use Plugin.name to bake plugin models.')
 		])->addSubcommand('all', [
 			'help' => __d('cake_console', 'Bake all model files with associations and validation.')
-		])->addOption('plugin', [
-			'short' => 'p',
-			'help' => __d('cake_console', 'Plugin to bake the model into.')
-		])->addOption('theme', [
-			'short' => 't',
-			'help' => __d('cake_console', 'Theme to use when baking code.')
-		])->addOption('connection', [
-			'short' => 'c',
-			'help' => __d('cake_console', 'The connection the model table is on.')
-		])->addOption('force', [
-			'short' => 'f',
-			'boolean' => true,
-			'help' => __d('cake_console', 'Force overwriting existing files without prompting.')
 		])->addOption('table', [
 			'help' => __d('cake_console', 'The table name to use if you have non-conventional table names.')
 		])->addOption('no-entity', [

+ 1 - 2
src/Console/Command/Task/PluginTask.php

@@ -18,7 +18,6 @@ use Cake\Console\Command\Task\BakeTask;
 use Cake\Console\Shell;
 use Cake\Core\App;
 use Cake\Core\Configure;
-use Cake\Utility\ConventionsTrait;
 use Cake\Utility\File;
 use Cake\Utility\Folder;
 
@@ -244,7 +243,7 @@ class PluginTask extends BakeTask {
 			'Can create plugins in any of your bootstrapped plugin paths.'
 		))->addArgument('name', [
 			'help' => __d('cake_console', 'CamelCased name of the plugin to create.')
-		]);
+		])->removeOption('plugin');
 
 		return $parser;
 	}

+ 1 - 1
src/Console/Command/Task/ProjectTask.php

@@ -227,7 +227,7 @@ class ProjectTask extends BakeTask {
 			])->addOption('composer', [
 				'default' => ROOT . '/composer.phar',
 				'help' => __d('cake_console', 'The path to the composer executable.')
-			]);
+			])->removeOption('plugin');
 	}
 
 }

+ 0 - 10
src/Console/Command/Task/SimpleBakeTask.php

@@ -125,19 +125,9 @@ abstract class SimpleBakeTask extends BakeTask {
 				$name,
 				$name
 			)
-		])->addOption('plugin', [
-			'short' => 'p',
-			'help' => __d('cake_console', 'Plugin to bake the %s into.', $name)
-		])->addOption('theme', [
-			'short' => 't',
-			'help' => __d('cake_console', 'Theme to use when baking code.')
 		])->addOption('no-test', [
 			'boolean' => true,
 			'help' => __d('cake_console', 'Do not generate a test skeleton.')
-		])->addOption('force', [
-			'short' => 'f',
-			'boolean' => true,
-			'help' => __d('cake_console', 'Force overwriting existing files without prompting.')
 		]);
 
 		return $parser;

+ 0 - 10
src/Console/Command/Task/TestTask.php

@@ -512,16 +512,6 @@ class TestTask extends BakeTask {
 			]
 		])->addArgument('name', [
 			'help' => __d('cake_console', 'An existing class to bake tests for.')
-		])->addOption('theme', [
-			'short' => 't',
-			'help' => __d('cake_console', 'Theme to use when baking code.')
-		])->addOption('plugin', [
-			'short' => 'p',
-			'help' => __d('cake_console', 'CamelCased name of the plugin to bake tests for.')
-		])->addOption('force', [
-			'short' => 'f',
-			'boolean' => true,
-			'help' => __d('cake_console', 'Force overwriting existing files without prompting.')
 		])->addOption('fixtures', [
 			'help' => __d('cake_console', 'A comma separated list of fixture names you want to include.')
 		]);

+ 0 - 13
src/Console/Command/Task/ViewTask.php

@@ -410,19 +410,6 @@ class ViewTask extends BakeTask {
 			'help' => __d('cake_console', "Will bake a single action's file. core templates are (index, add, edit, view)")
 		])->addArgument('alias', [
 			'help' => __d('cake_console', 'Will bake the template in <action> but create the filename after <alias>.')
-		])->addOption('plugin', [
-			'short' => 'p',
-			'help' => __d('cake_console', 'Plugin to bake the view into.')
-		])->addOption('theme', [
-			'short' => 't',
-			'help' => __d('cake_console', 'Theme to use when baking code.')
-		])->addOption('connection', [
-			'short' => 'c',
-			'help' => __d('cake_console', 'The connection the connected model is on.')
-		])->addOption('force', [
-			'boolean' => true,
-			'short' => 'f',
-			'help' => __d('cake_console', 'Force overwriting existing files without prompting.')
 		])->addOption('controller', [
 			'help' => __d('cake_console', 'The controller name if you have a controller that does not follow conventions.')
 		])->addOption('prefix', [