'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:----PdPfHiOEntxmBlaK8kUBkcsRkYo4PJkSIPYDs7enzFXDv413qNq+qrKWTJyJfoAcRgs2Pj3bVusvnjC34U2G8vkeURN5934MhSqri5FzGW1c0fDqBa/2eT41O3gWE+1CTSI8fhVeFUnvWBuAc42U4K2I/9oxdwdc8oxlXs2wKN1+ur82ncWxkVe//fCvXgtyJyjLfVsvipfrrVvREFBYtsUSe0yxd7X6dLwsoDW7z+qBS0/xhseyKQsO9/eZFHE0TCMR4pedW6KvJ2wgrjW4AXfJCrtR8KFzXysNjIbGgEWq/Q1gQnpMxJjQj4fC+Ts011JZiKTXdEI+xkeJtcJrtNZvt4H0WE76uYUH8HxNJ3CEKnqhIrOOksNucGWjSYylF2TDkmcWU6zyZWL2Nxi7dAXyQWLfNPYz7qFnHPtchEIQfFuecwPM1UEj8fCzmN5hG9INVEjkdhMjeerruYFV6w2xh2XTBBP/m4mUupUnud8H5dKuu4J2moKpDY2lLg8sSRjOgFl2r8KQzC8HFLgG3RCngpCzmKobKsRMKKJrc/SE4e+004Px3HvfXUW5faHqNLiMx8y+WH4P20tLxmCDswo7EMa5E46nzFTFUVJIlfSoF3bv2fV7YIYHS5+RzkBClxMRWJmO8Mbz0NlGSrIO3qV8pIhzlJz80M0sah6UOQM=----ATTACHMENT:----MzIwMDAzNzIxMzkwNjQ2IDYwNDczNzA3NzYwMTk1OTcgNTMxMTMzNTQ0MDkxODI1Mg==