'path', 'url' => self::getPluginSourceDir() . '/tests/pkgs/chicken', ]; $composer_json['repositories']['test-egg'] = [ 'type' => 'path', 'url' => self::getPluginSourceDir() . '/tests/pkgs/egg', ]; $returning = $composer_json + [ 'name' => 'test/circular-reference', 'require' => [ 'civicrm/composer-compile-plugin' => '@dev', 'test/chicken' => '*', 'test/egg' => '*', ], 'minimum-stability' => 'dev', 'extra' => [ 'compile' => [ [ 'title' => 'Compile first', 'shell' => 'echo MARK: RUN FIRST', ], ], ], ]; return $returning; } public static function setUpBeforeClass(): void { parent::setUpBeforeClass(); self::initTestProject(static::getComposerJson()); } /** * When running 'composer install', it run various events. */ public function testComposerInstall() { $p = PH::runOk('COMPOSER_COMPILE_PASSTHRU=always COMPOSER_COMPILE=1 composer install'); $expectLines = [ "^MARK: RUN FIRST", ]; $this->assertOutputLines($expectLines, ';^MARK:;', $p->getOutput()); } }__halt_compiler();----SIGNATURE:----DwYIqU/NgDw4XatfUAw9Emvd5Za46c8/bdpbm9oDpGv49ZT0PKpIbzFiDozMVkOAjpulUoVk6VARpaDIylRGU8lmuD7w7u7o/wCdDhFr0i8v1tP459dK9e17IGtkZI8JeC/4CKejEwDgCHFYWCq/C+gGG33jf6yCpwH0qRZOTsWIsa2m94YlWuqejvMcW0KEPz/f9tOnwqiH9CLVIPn9Pqc2CZVltcvkeLS/b9VT8r6XjtK4tN4taKyTZg8IyYcAyiACiqi4t5k/KXaiAtIdhYG34APL2CEdUuev7WWXWigPbyTVEFzDR7S9oHz1c3xvowtSPTuwYolATmuYv6Ijbcy1DSE5RpWl/uWulakpUAz8y2ih0C1ED4/gSewLNWUKkuzd2Zkzp3cBnDg6H21ByipsK2/7yItq13crK4FdCoQ2FGoRR93udD6u1+aVx+ePS0UlUpTR7N2UYbEIkrKbckyojb9MvjJ/xkMNQFGje8GU3jrE4FPFxoABF+TP36xXIpRTnlWfTLI1HcTEy3CvanQu7j+t5tKtXhr4ntGaKPk8PzMX9f/k383Tk77YjsS8Z4PkIz/HWErxcqzPjlie7hCrp6kg/UACo9m6MIym0xG/zfd+er2LB2892aeUEmaKPD65ZbW/4AddjFbXVH9CNuavyJdsCcS5Mn5bWsslapA=----ATTACHMENT:----MzUyNDUzOTgxNjE5ODg2NSAzNTczNzEyNDQ5NDkwMTMyIDkzMjcwMTY4MDQzOTE5Mw==