/** * 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()); } } } }