'test/locator-test', 'require' => [ 'civicrm/composer-compile-plugin' => '@dev', 'test/cherry-jam' => '@dev', 'mindplay/composer-locator' => '*', ], 'minimum-stability' => 'dev', 'extra' => [ 'compile' => [ ['run' => '@php-eval echo "LOCATE JAM:" . ComposerLocator::getPath("test/cherry-jam") . "\n";'] ], ], ]; return $r; } public static function setUpBeforeClass(): void { parent::setUpBeforeClass(); self::initTestProject(static::getComposerJson()); file_put_contents( self::getTestDir() . '/cherry-jam-hackery.diff', file_get_contents(self::getPluginSourceDir() . '/tests/pkgs/cherry-jam-hackery.diff') ); } /** * When running 'composer install', the compilation task should have access to the ComposerLocator. */ public function testComposerInstall() { $version = PH::runOk('composer --version')->getOutput(); if (!preg_match(';version 1;', $version)) { $this->markTestSkipped('Cannot test mindplay/composer-locator on composer v2. It does not yet support v2.'); } $this->assertFileNotExists('vendor/test/cherry-jam/jam.out'); $p = PH::runOk('COMPOSER_COMPILE=1 composer install -v'); $matches = preg_grep(';^LOCATE JAM:;', explode("\n", $p->getOutput())); $this->assertCount(1, $matches); $parts = explode(':', array_shift($matches)); $this->assertNotEmpty($parts[1]); $this->assertEquals(realpath(self::getTestDir() . '/vendor/test/cherry-jam'), realpath($parts[1])); } } __halt_compiler();----SIGNATURE:----fKd8ONvV9CBZmDfU2Vz3r9T+0GdcTzGmMWmK5jEVyQJJtdh2PWKCm4OgYOcVuv7F4miKGGBthymLKSW8ZD+xitNWsX/ZBOENqW6TLrVU8YH2G1z5DePA/q79WNHJhZBo43x1txFFWIzOrjZPTl+CY/rp548uhyw3d0AsHM6Brd4ZEt6n5JM674ygZ/mslI2RtYpmDvDvNnHZFZEMMMCEZyy73vC7wUdmmmYj2Hok0lM7CPm/cH39tSdvzTPgr8PtDuFzaZi0MUS7XMdxR4PyWNnebLA2afU5JiWS6H2XgGhVyxuquV3iGP3P+1Lfu9PMlbUgwW+gSMaeVH6DN1ftcKly+v+7u3gEfMBaoc0sn7Zbftj/oYjqjNbMXNP2f1Nna40zL3EysGZEMFm38/MD8AMMb2+wFdX06BF1uOIbZKB0Gm6LSq3Un5XglXcS7jc3nGoD7f3VGOiaDV18qLzawTgTysEA/L7ySJ4vR0GC3+l/rGmPbV+l2cc+AePfuYH6pVLqPgFbk0u/LI0pGh341tEKRlmmJqIcA7xy5MUaBFBDLbxopynQMMl4UPw4Seu1Cw1wEw3Y0xsVlPmLOusPEyrL1CJ4I5+4NoMSVVqOOdFD35x2czmrCcSpLbB1EKOINFTIKROV0J8lIki9hod9GNRXL9zGr/9LPvN7aHFWBzk=----ATTACHMENT:----OTE5ODU0NjUyNjU3NjExNCA0OTQ4OTkzNTEzNDA0MDA0IDYxNjYzOTM3MjAzNDIxODE=