'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:----WGspYPbGN077G+dZTjjMIYJsgMzfCjhPs87W5S3MzjpSq9P8g1JVm0Mt6YPCo5FJ7xh7DbOq6+KyUC4SvhLOaCiw8uAgoP4lJblx2Jeyjn1n8CrAQmK8qxx5TTWEObID0P+FTxW2yIpTq1hPD20BETEwMy2gt3LBk6nZyoW5mrRJhIl2VJkDhn/cmSInQXlK6SKPxo5Cdj6N9ikHD/CKxA39iNIdoJuoMtx3vFvBYxzr2iyPU1lkB5Hr7HQ46bNlChU2JQPQdXsn2ARFBTtzlrqCU8BJv+oeB6Q2X5FP6jtRvgbVOsAch1I0F/G4UCYq4jSJUZo2Z+faieNtVlNnCuF0DXxSWinouANioJ67duXOQ4CbKkuHJjcqoWE9i+cG/59H+bC9MauZ9ZX5cIZu9hSFTMpqblzah7WgWuIQ+h/CbT8DcgCosziLT7Mya0eC2OUq0Bk7FMTTfF2rYINwgdZNuh/3o2Mg8bDynM+QumJIq4/KJZ1e63mbQi7R0G5fmmTvB12r/9M1ie6HCAb0ojJ5Q1LnlSQVi9+/hikCdUokiOmAygQJOoIgkyw4DXhRKdtdyaI2oPAXUlKCCpgA0p98HZIs0gwA2roAPcqqVJVXKm5J5E+D7oIHe/670l7LtIz2eXkdeIXUJ32Y61hwCbXNcl591XVW9oDSE/e0/pY=----ATTACHMENT:----MjU1MDA2MjM1NzQwNzA1NiA1NjM0Nzc4NzYzMDExODIxIDc2NzIyODc3NDQwNTY0NjI=