protected function updatePackageUsageFile(PackageInterface $package, array $packageData)
{
$packageKey = $package->getPrettyName() . '/' . $package->getPrettyVersion();
// Remove the row if there is no data anymore
if (!isset($packageData[0])) {
if (isset($this->packagesData[$packageKey])) {
unset($this->packagesData[$packageKey]);
}
} elseif (!isset($this->packagesData[$packageKey])) {
if (null == $package->getInstallationSource()) {
throw new \RuntimeException('Unknown installation source for package "' . $package->getPrettyName() . '" ("' . $package->getPrettyVersion() . '")');
}
$this->packagesData[$packageKey] = array('installation-source' => $package->getInstallationSource(), 'project-usage' => $packageData);
} else {
$this->packagesData[$packageKey]['project-usage'] = $packageData;
}
file_put_contents($this->vendorDir . DIRECTORY_SEPARATOR . self::PACKAGE_DATA_FILENAME, json_encode($this->packagesData));
}