Custom worker not loaded correctly
ItsReddi opened this issue · comments
ItsReddi commented
Error:
"Symplify\MonorepoBuilder\Release\Contract\ReleaseWorker\ReleaseWorkerInterface". Got: "workers\MonoRepo\TestWorker"
Setup:
monorepo-builder.php
<?php
declare(strict_types=1);
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 Workers\MonoRepo\TestWorker;
return static function (MBConfig $mbConfig): void {
$mbConfig->packageDirectories([__DIR__ . '/packages']);
$mbConfig->defaultBranch('develop');
$mbConfig->packageAliasFormat('<major>.<minor>.x-dev');
// release workers - in order to execute
$mbConfig->workers([
UpdateReplaceReleaseWorker::class,
SetCurrentMutualDependenciesReleaseWorker::class,
AddTagToChangelogReleaseWorker::class,
TagVersionReleaseWorker::class,
PushTagReleaseWorker::class,
SetNextMutualDependenciesReleaseWorker::class,
UpdateBranchAliasReleaseWorker::class,
PushNextDevReleaseWorker::class,
TestWorker::class,
]);
};
src/TestWorker.php
<?php
namespace Workers\MonoRepo;
use Symplify\MonorepoBuilder\Release\Contract\ReleaseWorker\ReleaseWorkerInterface;
class TestWorker implements ReleaseWorkerInterface
{
public function work(\PharIo\Version\Version $version) : void
{
echo "not implemented";
}
public function getDescription(\PharIo\Version\Version $version) : string
{
return "Does not work";
}
}
psr-4 from composer.json:
"require-dev": {
"rector/rector": "0.15.24",
"symplify/easy-coding-standard": "11.3.2",
"symplify/monorepo-builder": "11.2.3.72",
},
"autoload": {
"psr-4": {
"Workers\\MonoRepo\\": "src"
}
},
vendor/bin/monorepo-builder release minor --dry-run
Result:
[ERROR] Expected an instance of this class or to this class among its parents
"Symplify\MonorepoBuilder\Release\Contract\ReleaseWorker\ReleaseWorkerInterface". Got:
"Workers\MonoRepo\TestWorker"
It feels that it has something todo with the autoloading.