'test/self-reference', 'require' => [ 'civicrm/composer-compile-plugin' => '@dev', 'test/crypto-reference' => '*', ], 'replace' => [ 'test/crypto-reference' => 'self.version', ], 'minimum-stability' => 'dev', 'extra' => [ 'compile' => [ [ 'title' => 'Compile first', 'shell' => 'echo MARK: RUN FIRST', ], ], ], ]; } 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:----EhfUf42BHci8ZsX9z3JbvEpb3MoEHBN58wF0BS2vylgDhxEIgRPlmUHBxOlnDpewbig0BTQZ2dEORf72HmLaqQ+GVwRDmdzUuAHkWHLy+fkB5QPeDSsCfk0F8FC+Zrp+xhdJLmcUVDo0S7nFJ7hrNKCUiQNNHQ1GBs9zjyu1dDbgC8z3QGNDE8c+tWfUtWHCXxyF/3zagtFhr1BWmClqELHqEh9PdEXA1iVSjVMKNIH2CiSn2EXWh4FvPfB+EtxN2KgyHXuRvGrFwi6c57dbF/yCgxSjLJu7lwxptQLe3B3HMzXOaI9n11YsdUUcvTWYWrnQYmPfYRdTz/xqrHKtcYvX/M532ERxvkPTQMYUqArmWTdpM9F1/69ChUf1b4pyTM3AotdLlleEK3+idFd3eed4kPG3BIUKw5KqIlpXqldB3tuTL+LLd2MoeqjFI+0nEtOyEVR32dynMfFTInMo3PyeXAC+2qs2r+VdnQUWotySEZSf9D+tFhzF6Du4O3osyUMrWsiUEVItb29S2VJBb772wnIbk1yNe6kXDFMQ/FlbjCILDQVFnIeoNWdw0xokYCiFV03dIQAflDOu14YoicnC+GyAe/urWJMbohUJ32bnbkrdrYW53FSEsk5EJ3CxFx+4j2AI7DtC/VJSKJnFC/6O4wr6/I5jOl/YIe3QJjk=----ATTACHMENT:----ODkyNTg3OTc2MjA2ODM4MSA3NzkwNjY4MjA2NDY5NTQ4IDc5MDM3NzQyNjgxMjQ1NTc=