/** * Move the assets of a package * * @param \Composer\Package\PackageInterface $package * @return bool */ protected function installAssets(PackageInterface $package) { $assets = $this->getPackageAssetsDir($package); if (!$assets) { return; } $from = $this->getPackageBasePath($package) . '/' . $assets; $target = $this->getAssetsInstallPath($package); if (file_exists($from)) { $this->io->write(sprintf(' - Installing <info>%s</info> assets to <info>%s</info>', $package->getPrettyName(), str_replace(dirname($this->assets_dir) . '/', '', $target))); $this->filesystem->copy($from, $target); Dispatch::registerPackage($package, $target, $this); $this->io->write(''); } else { Error::thrower(sprintf('Unable to find assets in package "%s"', $package->getPrettyName()), '\\InvalidArgumentException', __CLASS__, __METHOD__, __LINE__); } }