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); + } +}