/**
  * Register the asset publisher service and command.
  *
  * @return void
  */
 protected function registerAssetPublisher()
 {
     $this->registerAssetPublishCommand();
     $this->app->singleton('asset.publisher', function ($app) {
         $publicPath = $app['path.public'];
         // The asset "publisher" is responsible for moving package's assets into the
         // web accessible public directory of an application so they can actually
         // be served to the browser. Otherwise, they would be locked in vendor.
         $publisher = new AssetPublisher($app['files'], $publicPath);
         $publisher->setPackagePath($app['path.base'] . '/vendor');
         return $publisher;
     });
 }