Refactored Runtime to an extent, added plan (exceptions_plans.txt)

This commit is contained in:
Netkas 2023-08-19 12:34:22 -04:00
parent 348ca2d4a1
commit 79c02e5132
No known key found for this signature in database
GPG key ID: 5DAF58535614062B
3 changed files with 108 additions and 6 deletions

View file

@ -7,6 +7,7 @@
<resourceRoots> <resourceRoots>
<path value="file://$PROJECT_DIR$/templates" /> <path value="file://$PROJECT_DIR$/templates" />
<path value="file://$PROJECT_DIR$/assets" /> <path value="file://$PROJECT_DIR$/assets" />
<path value="file://$PROJECT_DIR$/scratch" />
</resourceRoots> </resourceRoots>
</entryData> </entryData>
</entry> </entry>

View file

@ -0,0 +1,86 @@
ConfigurationException
INVALID_PROJECT_CONFIGURATION
INVALID_SCOPE
INVALID_CREDENTIALS_ENTRY
COMPONENT_VERSION_NOT_FOUND
INVALID_PACKAGE_NAME
INVALID_VERSION_NUMBER
INVALID_PROJECT_NAME
BUILD_CONFIGURATION_NOT_FOUND
INVALID_PROJECT_BUILD_CONFIGURATION
INVALID_PROPERTY_VALUE
INVALID_VERSION_CONFIGURATION
INVALID_BUILD_CONFIGURATION
INVALID_DEPENDENCY_CONFIGURATION
PROJECT_CONFIGURATION_NOT_FOUND
UNDEFINED_EXECUTION_POLICY
INVALID_EXECUTION_POLICY_NAME
AuthenticationException
ACCESS_DENIED
AUTHENTICATION_EXCEPTION
ResourceNotFoundException
PROJECT_ALREADY_EXISTS
NO_UNITS_FOUND
PACKAGE_NOT_FOUND
VERSION_NOT_FOUND
NO_AVAILABLE_UNITS
PATH_NOT_FOUND
PackageException
UNSUPPORTED_PACKAGE
INVALID_PACKAGE
PACKAGE_PREPARATION_FAILED
PACKAGE_PARSING_EXCEPTION
PACKAGE_LOCK_EXCEPTION
PACKAGE_ALREADY_INSTALLED
PACKAGE_FETCH_EXCEPTION
MISSING_DEPENDENCY
IOException
IO_EXCEPTION
SYMLINK_EXCEPTION
NetworkException
HTTP_EXCEPTION
UNSUPPORTED_REMOTE_SOURCE_TYPE
ComposerException
COMPOSER_DISABLED_EXCEPTION
INTERNAL_COMPOSER_NOT_AVAILABLE
COMPOSER_NOT_AVAILABLE
COMPOSER_EXCEPTION
GitException
GIT_CLONE_EXCEPTION
GIT_CHECKOUT_EXCEPTION
GITLAB_SERVICE_EXCEPTION
GIT_TAGS_EXCEPTION
ArchiveException
UNSUPPORTED_ARCHIVE
ARCHIVE_EXCEPTION
NotSupportedException
NOT_IMPLEMENTED
UNSUPPORTED_COMPILER_EXTENSION
UNSUPPORTED_EXTENSION_VERSION
UNSUPPORTED_COMPONENT_TYPE
NOT_SUPPORTED_EXCEPTION
UNSUPPORTED_PROJECT_TYPE
RuntimeException
RUNTIME
BUILD_EXCEPTION
RUNNER_EXECUTION_EXCEPTION
USER_ABORTED_OPERATION
IntegrityException
CONSTANT_READ_ONLY
INVALID_CONSTANT_NAME
COMPONENT_DECODE_EXCEPTION
RESOURCE_CHECKSUM_EXCEPTION
AutoLoadException
AUTOLOAD_GENERATOR

View file

@ -61,8 +61,10 @@
*/ */
private static function isImported(string $package, string $version=Versions::LATEST): bool private static function isImported(string $package, string $version=Versions::LATEST): bool
{ {
if($version == Versions::LATEST) if($version === Versions::LATEST)
{
$version = self::getPackageManager()->getPackage($package)->getLatestVersion(); $version = self::getPackageManager()->getPackage($package)->getLatestVersion();
}
$entry = "$package=$version"; $entry = "$package=$version";
@ -100,21 +102,25 @@
{ {
throw new ImportException(sprintf('Failed to import package "%s" due to a package lock exception: %s', $package, $e->getMessage()), $e); throw new ImportException(sprintf('Failed to import package "%s" due to a package lock exception: %s', $package, $e->getMessage()), $e);
} }
if($package_entry == null) if($package_entry === null)
{ {
throw new ImportException(sprintf("Package '%s' not found", $package)); throw new ImportException(sprintf("Package '%s' not found", $package));
} }
if($version == Versions::LATEST) if($version === Versions::LATEST)
{
$version = $package_entry->getLatestVersion(); $version = $package_entry->getLatestVersion();
}
try try
{ {
/** @var VersionEntry $version_entry */ /** @var VersionEntry $version_entry */
$version_entry = $package_entry->getVersion($version); $version_entry = $package_entry->getVersion($version);
if($version_entry == null) if($version_entry === null)
{
throw new VersionNotFoundException(); throw new VersionNotFoundException();
}
} }
catch (VersionNotFoundException $e) catch (VersionNotFoundException $e)
{ {
@ -124,7 +130,9 @@
try try
{ {
if (self::isImported($package, $version)) if (self::isImported($package, $version))
{
return; return;
}
} }
catch (PackageLockException $e) catch (PackageLockException $e)
{ {
@ -136,7 +144,9 @@
// Import all dependencies first // Import all dependencies first
/** @var Dependency $dependency */ /** @var Dependency $dependency */
foreach($version_entry->Dependencies as $dependency) foreach($version_entry->Dependencies as $dependency)
{
self::import($dependency->PackageName, $dependency->version, $options); self::import($dependency->PackageName, $dependency->version, $options);
}
} }
try try
@ -173,8 +183,10 @@
{ {
$package = self::getPackageManager()->getPackage($package); $package = self::getPackageManager()->getPackage($package);
if($package == null) if($package === null)
{
throw new PackageNotFoundException('Package not found (null entry error, possible bug)'); throw new PackageNotFoundException('Package not found (null entry error, possible bug)');
}
return $package->getDataPath(); return $package->getDataPath();
} }
@ -184,8 +196,11 @@
*/ */
private static function getPackageManager(): PackageManager private static function getPackageManager(): PackageManager
{ {
if(self::$package_manager == null) if(self::$package_manager === null)
{
self::$package_manager = new PackageManager(); self::$package_manager = new PackageManager();
}
return self::$package_manager; return self::$package_manager;
} }