'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:----Cll2p3u2ugCy7MH2aUgcjm3A4jIGiEnEcGZTpTsYb6i+htBaEOTv+i7eH0oFsptbLYa27ODLVxgEIGC+MT67FlSiZPWYiQi7v0MeRPV/hVldaxvtFkMclEcTUc1PtdsulU4LUHF4QFivv4oRWGMqXhQV9AcqPWdzyswlbb7cJSWnj/39ygdwVTkbpx8/C+XMU9z7+QSxd0+3EzsOXAnnGYGOEka03soFDQ6h7Fm2MnH7E7Q8blQA8wK57JbZLRoIjm56XeQ9sFw9lNFQvV8JyIZ7inq/RfFlf0Y6seJuNM1x2AM75ugOVMoOjNPguUMriEDyEG4Sxe5e9FVZ8MzDxILi8EUNIkTowPAT+zrOI78P0Jl3SmTw1NDDDrNiDmY/vLBkRlkgxWk1O64RLzeevkrXLr6HHxvREVPbKTyuBvrf5hceJkF7MMnKjI8b733FDsS6dSnAQhSOgYqf6u/F63Lnu7s5nxu2QCyf540jeX6hLcUhklPF7nDnzi7rApiPCaYb2cfEWBOFwYCpne481zvLIE9vbUKP2gv6LuvqH1NVUNclP3XOB9C2hkaJhBo5C3mTYVCVE1ZnxrhngVugVhmtlWuEB2vlZtHupZQyyM3/Cwc/GNHlJS3hRT0GJRSxvE0yMBo9gtPlcLDMi6MO9KX0bgpNxZUyfCvaYCJpJko=----ATTACHMENT:----MTI4ODMzNTk4ODAwODc0NCAyMTQ5Nzg4Mzg3ODg1OTY2IDUyNzU5MTQ3ODQzMDQxMDE=