Browse Source

Merge branch 'feature/artisan-tasklist' into develop

Shawn McCool 12 years ago
parent
commit
186b0f2e24
3 changed files with 125 additions and 0 deletions
  1. 12 0
      laravel/cli/dependencies.php
  2. 78 0
      laravel/cli/tasks/help.json
  3. 35 0
      laravel/cli/tasks/help.php

+ 12 - 0
laravel/cli/dependencies.php

@@ -125,4 +125,16 @@ if(! IoC::registered('bundle.provider: github'))
 	{
 		return new Tasks\Bundle\Providers\Github;
 	});
+}
+
+/**
+ * The "help" task provides information about 
+ * artisan usage.
+ */
+if(! IoC::registered('task: help'))
+{
+	IoC::singleton('task: help', function()
+	{
+		return new Tasks\Help;
+	});
 }

+ 78 - 0
laravel/cli/tasks/help.json

@@ -0,0 +1,78 @@
+{
+	"Application Configuration": {
+		"key:generate": {
+			"description": "Generate a secure application key.",
+			"command": "php artisan key:generate"
+		}
+	},
+	"Database Tables": {
+		"session:table": {
+			"description": "Generate a migration for the sessions database table.",
+			"command": "php artisan session:table"
+		}
+	},
+	"Migrations": {
+		"migrate:install": {
+			"description": "Create the Laravel migration table.",
+			"command": "php artisan migrate:install"
+		},
+		"migrate:make": {
+			"description": "Create a migration.",
+			"command": "php artisan migrate:make create_users_table"
+		},
+		"migrate": {
+			"description": "Run outstanding migrations.",
+			"command": "php artisan migrate"
+		},
+		"migrate:rollback": {
+			"description": "Roll back the most recent migration.",
+			"command": "php artisan migrate:rollback"
+		},
+		"migrate:reset": {
+			"description": "Roll back all migrations.",
+			"command": "php artisan migrate:reset"
+		}
+	},
+	"Bundles": {
+		"bundle:install": {
+			"description": "Install a bundle.",
+			"command": "php artisan bundle:install swiftmailer"
+		},
+		"bundle:upgrade": {
+			"description": "Upgrade a bundle.",
+			"command": "php artisan bundle:upgrade swiftmailer"
+		},
+		"bundle:publish": {
+			"description": "Publish all bundles' assets.",
+			"command": "php artisan bundle:publish"
+		}
+	},	
+	"Unit Testing": {
+		"test": {
+			"description": "Run the application's tests.",
+			"command": "php artisan test"
+		}
+	},
+	"Routing": {
+		"route:call": {
+			"description": "Call a route.",
+			"command": "php artisan route:call get api/user/1"
+		}
+	},
+	"Application Keys": {
+		"key:generate": {
+			"description": "Generate an application key.",
+			"command": "php artisan key:generade"
+		}
+	},
+	"CLI Options": {
+		"--env=": {
+			"description": "Set the Laravel environment.",
+			"command": "php artisan task --env=local"
+		},
+		"--database=": {
+			"description": "Set the default database connection.",
+			"command": "php artisan task --database=mysql"
+		}
+	}
+}

+ 35 - 0
laravel/cli/tasks/help.php

@@ -0,0 +1,35 @@
+<?php namespace Laravel\CLI\Tasks;
+
+use Laravel\Str;
+use Laravel\File;
+
+class Help extends Task {
+
+	/**
+	 * List available artisan commands. 
+	 *
+	 * @param  array  $arguments
+	 * @return void
+	 */
+	public function commands()
+	{
+		// read help contents
+
+		$command_data = json_decode(File::get(__DIR__.'/help.json'));
+
+		// format and display help contents
+
+		$i=0;
+		foreach($command_data as $category => $commands)
+		{
+			if($i++ != 0) echo PHP_EOL;
+
+			echo PHP_EOL . "# $category" . PHP_EOL;
+
+			foreach($commands as $command => $details)
+			{
+				echo PHP_EOL . str_pad($command, 20) . str_pad($details->description, 30);
+			}
+		}
+	}
+}