Added check for importing a package from the system

This commit is contained in:
Netkas 2023-10-01 16:28:57 -04:00
parent 4d317d61ab
commit 44a12b66cf
No known key found for this signature in database
GPG key ID: 5DAF58535614062B

View file

@ -164,6 +164,11 @@
*/
private static function importFromSystem(string $package, string $version=Versions::LATEST): string
{
if(!self::getPackageManager()->getPackageLock()->entryExists($package))
{
throw new ImportException(sprintf('The package "%s" does not exist in the package lock', $package));
}
$entry = self::getPackageManager()->getPackageLock()->getEntry($package);
foreach($entry->getClassMap($version) as $class => $component_name)
@ -247,18 +252,7 @@
};
}
// Import dependencies recursively
if(!$package_reader->getFlag(PackageFlags::STATIC_DEPENDENCIES))
{
foreach($package_reader->getDependencies() as $dependency)
{
$dependency = $package_reader->getDependency($dependency);
/** @noinspection UnusedFunctionResultInspection */
self::import($dependency->getName(), $dependency->getVersion());
}
}
// Import the required files
if($package_reader->getMetadata()->getOption(BuildConfigurationOptions::REQUIRE_FILES) !== null)
{
foreach($package_reader->getMetadata()->getOption(BuildConfigurationOptions::REQUIRE_FILES) as $item)
@ -274,6 +268,18 @@
}
}
// Import dependencies recursively
if(!$package_reader->getFlag(PackageFlags::STATIC_DEPENDENCIES))
{
foreach($package_reader->getDependencies() as $dependency)
{
$dependency = $package_reader->getDependency($dependency);
/** @noinspection UnusedFunctionResultInspection */
self::import($dependency->getName(), $dependency->getVersion());
}
}
return $package_reader->getAssembly()->getPackage();
}