From fcf68b3aead5ceabed74c8dca83707bd89e76fc4 Mon Sep 17 00:00:00 2001 From: Graham Campbell Date: Thu, 1 Jan 2015 17:47:37 +0000 Subject: [PATCH 1/2] Cleanup --- app/start/global.php | 2 - src/Providers/RepositoryServiceProvider.php | 15 +++++++ src/Providers/RoutingServiceProvider.php | 46 +++++++++------------ 3 files changed, 34 insertions(+), 29 deletions(-) diff --git a/app/start/global.php b/app/start/global.php index aa63d7af..ebf02914 100644 --- a/app/start/global.php +++ b/app/start/global.php @@ -71,7 +71,5 @@ App::down(function () { */ require app_path().'/filters.php'; - require app_path().'/view-composers.php'; - require app_path().'/helpers.php'; diff --git a/src/Providers/RepositoryServiceProvider.php b/src/Providers/RepositoryServiceProvider.php index 89166bd0..c24cba99 100644 --- a/src/Providers/RepositoryServiceProvider.php +++ b/src/Providers/RepositoryServiceProvider.php @@ -6,6 +6,21 @@ use Illuminate\Support\ServiceProvider; class RepositoryServiceProvider extends ServiceProvider { + /** + * Boot the service provider. + * + * @return void + */ + public function boot() + { + // + } + + /** + * Register the service provider. + * + * @return void + */ public function register() { $this->app->bind( diff --git a/src/Providers/RoutingServiceProvider.php b/src/Providers/RoutingServiceProvider.php index 07fc0f99..97011fd3 100644 --- a/src/Providers/RoutingServiceProvider.php +++ b/src/Providers/RoutingServiceProvider.php @@ -3,38 +3,30 @@ namespace CachetHQ\Cachet\Providers; use Illuminate\Support\ServiceProvider; -use RecursiveDirectoryIterator; class RoutingServiceProvider extends ServiceProvider { + /** + * Boot the service provider. + * + * @return void + */ + public function boot() + { + $files = glob(app_path('routes').'/*.php'); + + foreach ($files as $file) { + require $file; + } + } + + /** + * Register the service provider. + * + * @return void + */ public function register() { // } - - public function boot() - { - $this->routesInDirectory(); - } - - /** - * Organise Routes. - * - * @param string $app - */ - private function routesInDirectory($app = '') - { - $routeDir = app_path('routes/'.$app.($app !== '' ? '/' : null)); - - $iterator = new RecursiveDirectoryIterator($routeDir); - $iterator->setFlags(RecursiveDirectoryIterator::SKIP_DOTS); - - foreach ($iterator as $route) { - $isDotFile = strpos($route->getFilename(), '.') === 0; - - if (!$isDotFile && !$route->isDir()) { - require $routeDir.$route->getFilename(); - } - } - } } From 981b5a055d5b1e02dea491355a521537326e2fe2 Mon Sep 17 00:00:00 2001 From: Graham Campbell Date: Thu, 1 Jan 2015 17:47:53 +0000 Subject: [PATCH 2/2] Added a one click deploy command --- .env.example.php | 9 +++ .gitignore | 1 + app/config/app.php | 1 + app/start/artisan.php | 12 ---- composer.json | 2 +- src/Commands/OneClickDeployCommand.php | 88 ++++++++++++++++++++++++ src/Providers/ConsoleServiceProvider.php | 31 +++++++++ 7 files changed, 131 insertions(+), 13 deletions(-) create mode 100644 .env.example.php delete mode 100644 app/start/artisan.php create mode 100644 src/Commands/OneClickDeployCommand.php create mode 100644 src/Providers/ConsoleServiceProvider.php diff --git a/.env.example.php b/.env.example.php new file mode 100644 index 00000000..6b3e9c98 --- /dev/null +++ b/.env.example.php @@ -0,0 +1,9 @@ + 'mysql', + 'DB_HOST' => 'localhost', + 'DB_DATABASE' => 'cachet', + 'DB_USERNAME' => 'homestead', + 'DB_PASSWORD' => 'secret', +]; diff --git a/.gitignore b/.gitignore index 290dae62..23dc9251 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ .env.php config.codekit !.env.heroku.php +!.env.example.php # Assets development /node_modules diff --git a/app/config/app.php b/app/config/app.php index 15f6db4b..db422d9c 100644 --- a/app/config/app.php +++ b/app/config/app.php @@ -127,6 +127,7 @@ return [ 'CachetHQ\Cachet\Providers\RepositoryServiceProvider', 'CachetHQ\Cachet\Providers\RoutingServiceProvider', + 'CachetHQ\Cachet\Providers\ConsoleServiceProvider', ], diff --git a/app/start/artisan.php b/app/start/artisan.php deleted file mode 100644 index 409e9adb..00000000 --- a/app/start/artisan.php +++ /dev/null @@ -1,12 +0,0 @@ -migrate = $migrate; + + parent::__construct(); + } + + /** + * Execute the console command. + * + * @return int|null + */ + public function fire() + { + if ($this->migrate) { + return $this->runMigrations(); + } + + $this->info('Please run "php artisan migrate" to finish the installation.'); + } + + /** + * Run the migrations. + * + * @return int|null + */ + protected function runMigrations() + { + $options = [ + '--database' => $this->input->getOption('database'), + '--force' => $this->input->getOption('force'), + '--seed' => $this->input->getOption('seed'), + ]; + + return $this->call('migrate', $options); + } + + /** + * Get the console command options. + * + * @return array + */ + protected function getOptions() + { + return [ + ['database', null, InputOption::VALUE_OPTIONAL, 'The database connection to use.'], + ['force', null, InputOption::VALUE_NONE, 'Force the operation to run when in production.'], + ['seed', null, InputOption::VALUE_NONE, 'Indicates if the seed task should be re-run.'], + ]; + } +} diff --git a/src/Providers/ConsoleServiceProvider.php b/src/Providers/ConsoleServiceProvider.php new file mode 100644 index 00000000..368c78a1 --- /dev/null +++ b/src/Providers/ConsoleServiceProvider.php @@ -0,0 +1,31 @@ +commands('CachetHQ\Cachet\Commands\OneClickDeployCommand'); + } + + /** + * Register the service provider. + * + * @return void + */ + public function register() + { + $this->app->singleton('CachetHQ\Cachet\Commands\OneClickDeployCommand', function ($app) { + return new OneClickDeployCommand($app->environment('heroku')); + }); + } +}