diff --git a/composer.json b/composer.json index 67883ba..d735cd7 100644 --- a/composer.json +++ b/composer.json @@ -20,5 +20,10 @@ "name": "Michael Krasnow", "email": "mnkras@gmail.com" } - ] + ], + "scripts": { + "new-versions-available": [ + "Concrete5\\Api\\Composer\\Script\\NewVersionsAvailable::run" + ] + } } diff --git a/src/Composer/Script/NewVersionsAvailable.php b/src/Composer/Script/NewVersionsAvailable.php new file mode 100644 index 0000000..e54e50d --- /dev/null +++ b/src/Composer/Script/NewVersionsAvailable.php @@ -0,0 +1,46 @@ +getIO()->write('# Missing versions'); + foreach ($missingVersions as $missingVersion) { + $event->getIO()->write($missingVersion); + } + return 0; + } + + /** + * @return string[] + */ + protected static function getMissingVersions(): array + { + $result = []; + $config = require dirname(__DIR__, 3) . '/sami_config.php'; + $buildDir = $config['build_dir']; + $project = $config['project']; + foreach ($project->getVersions() as $version) { + if (!is_dir(str_replace('%version%', $version->getName(), $buildDir))) { + $result[] = $version->getName(); + } + } + return $result; + } +} \ No newline at end of file