public static function getComposerVersion()
{
static $result;
if (!self::isInstalledByComposer()) {
throw new \LogicException('Cannot get composer version for tool not installed by composer.');
}
if (null === $result) {
$composerInstalled = json_decode(file_get_contents(self::getScriptDir() . self::COMPOSER_INSTALLED_FILE), true);
foreach ($composerInstalled as $package) {
if (self::COMPOSER_PACKAGE_NAME === $package['name']) {
$result = $package['version'] . '#' . $package['dist']['reference'];
break;
}
}
}
return $result;
}