Example #1
0
 /**
  * Execute the console command.
  *
  * @return void
  */
 public function fire()
 {
     $packages = array();
     $fieldsets = FieldSetProvider::all();
     foreach ($fieldsets as $fieldset) {
         if (!$fieldset::assets()->isEmpty()) {
             $packages = $this->addPackageClass(get_class($fieldset), $packages);
         }
         $fieldtypes = $fieldset->allFieldTypes();
         foreach ($fieldtypes as $fieldtype) {
             if (!$fieldtype::assets()->isEmpty()) {
                 $packages = $this->addPackageClass($fieldtype, $packages);
             }
         }
     }
     foreach ($packages as $package) {
         try {
             $this->call('asset:publish', array('package' => $package));
         } catch (\Exception $e) {
             // couldn't publish package assets from vendor
             // but lets try the workbench too
             try {
                 $this->call('asset:publish', array('--bench' => $package));
                 $this->comment('Assets published from workbench: ' . $package);
             } catch (\Exception $e) {
                 $this->error($package . ' - ' . $e->getMessage());
             }
         }
     }
 }