From 3c6d94e2f35e71976b175f37d54c9fabf7c38afc Mon Sep 17 00:00:00 2001 From: Sebastian Schreiber Date: Thu, 23 May 2024 09:19:57 +0200 Subject: [PATCH] [TASK] Add custom worker for defining FractorApplication version --- composer.json | 2 +- monorepo-builder.php | 18 ++++++----- packages/fractor/src/FractorApplication.php | 4 ++- .../FractorApplicationReleaseWriter.php | 24 ++++++++++++++ ...FractorApplicationReleaseVersionWorker.php | 25 +++++++++++++++ ...FractorApplicationReleaseVersionWorker.php | 31 +++++++++++++++++++ 6 files changed, 95 insertions(+), 9 deletions(-) create mode 100644 src/Release/FractorApplicationReleaseWriter.php create mode 100644 src/Release/ReleaseWorker/DefineFractorApplicationReleaseVersionWorker.php create mode 100644 src/Release/ReleaseWorker/UpdateFractorApplicationReleaseVersionWorker.php diff --git a/composer.json b/composer.json index 2ea55b45..79931eac 100644 --- a/composer.json +++ b/composer.json @@ -40,7 +40,7 @@ }, "autoload": { "psr-4": { - "A9f\\FractorMonorepo\\": "src/", + "a9f\\FractorMonorepo\\": "src", "a9f\\FractorComposerJson\\": [ "packages/fractor-composer-json/rules", "packages/fractor-composer-json/src" diff --git a/monorepo-builder.php b/monorepo-builder.php index d9ca2811..6f093515 100644 --- a/monorepo-builder.php +++ b/monorepo-builder.php @@ -2,21 +2,26 @@ declare(strict_types=1); +use a9f\FractorMonorepo\Release\FractorApplicationReleaseWriter; +use a9f\FractorMonorepo\Release\ReleaseWorker\DefineFractorApplicationReleaseVersionWorker; +use a9f\FractorMonorepo\Release\ReleaseWorker\UpdateFractorApplicationReleaseVersionWorker; use Symplify\MonorepoBuilder\ComposerJsonManipulator\ValueObject\ComposerJsonSection; use Symplify\MonorepoBuilder\Config\MBConfig; -use Symplify\MonorepoBuilder\Release\ReleaseWorker\AddTagToChangelogReleaseWorker; -use Symplify\MonorepoBuilder\Release\ReleaseWorker\PushNextDevReleaseWorker; use Symplify\MonorepoBuilder\Release\ReleaseWorker\PushTagReleaseWorker; use Symplify\MonorepoBuilder\Release\ReleaseWorker\SetCurrentMutualDependenciesReleaseWorker; use Symplify\MonorepoBuilder\Release\ReleaseWorker\SetNextMutualDependenciesReleaseWorker; use Symplify\MonorepoBuilder\Release\ReleaseWorker\TagVersionReleaseWorker; use Symplify\MonorepoBuilder\Release\ReleaseWorker\UpdateBranchAliasReleaseWorker; -use Symplify\MonorepoBuilder\Release\ReleaseWorker\UpdateReplaceReleaseWorker; use Symplify\MonorepoBuilder\ValueObject\Option; +// MonoRepoBuilder uses own autoloader in custom vendor folder +require_once __DIR__ . '/vendor/autoload.php'; + return static function (MBConfig $mbConfig): void { + $mbConfig->services() + ->set(FractorApplicationReleaseWriter::class); + $mbConfig->packageDirectories([__DIR__ . '/packages']); - $mbConfig->packageAliasFormat('..x-dev'); $mbConfig->defaultBranch('main'); $mbConfig->dataToRemove([ ComposerJsonSection::REPOSITORIES => [ @@ -28,13 +33,12 @@ ]); // release workers - in order of execution $mbConfig->workers([ - UpdateReplaceReleaseWorker::class, + DefineFractorApplicationReleaseVersionWorker::class, SetCurrentMutualDependenciesReleaseWorker::class, - AddTagToChangelogReleaseWorker::class, TagVersionReleaseWorker::class, PushTagReleaseWorker::class, SetNextMutualDependenciesReleaseWorker::class, UpdateBranchAliasReleaseWorker::class, - PushNextDevReleaseWorker::class, + UpdateFractorApplicationReleaseVersionWorker::class, ]); }; diff --git a/packages/fractor/src/FractorApplication.php b/packages/fractor/src/FractorApplication.php index 2a8f7a92..b4cb1109 100644 --- a/packages/fractor/src/FractorApplication.php +++ b/packages/fractor/src/FractorApplication.php @@ -10,8 +10,10 @@ final class FractorApplication extends Application { public const NAME = 'Fractor'; + private const FRACTOR_CONSOLE_VERSION = '0.1.0'; + public function __construct() { - parent::__construct(self::NAME, 'dev'); + parent::__construct(self::NAME, self::FRACTOR_CONSOLE_VERSION); } } diff --git a/src/Release/FractorApplicationReleaseWriter.php b/src/Release/FractorApplicationReleaseWriter.php new file mode 100644 index 00000000..49cd812e --- /dev/null +++ b/src/Release/FractorApplicationReleaseWriter.php @@ -0,0 +1,24 @@ +fractorApplicationReleaseWriter->getDescription($version->getVersionString()); + } + + public function work(Version $version): void + { + $this->fractorApplicationReleaseWriter->write($version->getVersionString()); + } +} diff --git a/src/Release/ReleaseWorker/UpdateFractorApplicationReleaseVersionWorker.php b/src/Release/ReleaseWorker/UpdateFractorApplicationReleaseVersionWorker.php new file mode 100644 index 00000000..16cb1f1b --- /dev/null +++ b/src/Release/ReleaseWorker/UpdateFractorApplicationReleaseVersionWorker.php @@ -0,0 +1,31 @@ +fractorApplicationReleaseWriter->getDescription($this->getVersionDev($version)); + } + + public function work(Version $version): void + { + $this->fractorApplicationReleaseWriter->write($this->getVersionDev($version)); + } + + private function getVersionDev(Version $version) : string + { + return $this->versionUtils->getNextAliasFormat($version); + } +}