public static function initMagentoRootDir(ProjectConfig $projectConfig, \Composer\IO\IOInterface $io, \Composer\Util\Filesystem $filesystem, $vendorDir) { if (false === $projectConfig->hasMagentoRootDir()) { $projectConfig->setMagentoRootDir($io->ask(sprintf('please define your magento root dir [%s]', ProjectConfig::DEFAULT_MAGENTO_ROOT_DIR), ProjectConfig::DEFAULT_MAGENTO_ROOT_DIR)); } $magentoRootDirPath = $projectConfig->getMagentoRootDir(); $magentoRootDir = new \SplFileInfo($magentoRootDirPath); if (!is_dir($magentoRootDirPath) && $io->askConfirmation('magento root dir "' . $magentoRootDirPath . '" missing! create now? [Y,n] ')) { $filesystem->ensureDirectoryExists($magentoRootDir); $io->write('magento root dir "' . $magentoRootDirPath . '" created'); } if (!is_dir($magentoRootDirPath)) { $dir = self::joinFilePath($vendorDir, $magentoRootDirPath); } }