- Updated class \ncc\Objects\SymlinkDictionary > SymlinkEntry
to use method calls rather than direct property access
This commit is contained in:
parent
cda454a9c1
commit
424b503f42
3 changed files with 79 additions and 26 deletions
|
@ -175,6 +175,7 @@ features and reduced the number of exceptions down to 15 exceptions.
|
||||||
and implemented `BytecodeObjectInterface`
|
and implemented `BytecodeObjectInterface`
|
||||||
- Updated class `\ncc\Objects\PackageLock > VersionEntry` to use method calls rather than direct property access
|
- Updated class `\ncc\Objects\PackageLock > VersionEntry` to use method calls rather than direct property access
|
||||||
and implemented `BytecodeObjectInterface`
|
and implemented `BytecodeObjectInterface`
|
||||||
|
- Updated class `\ncc\Objects\SymlinkDictionary > SymlinkEntry` to use method calls rather than direct property access
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
- Removed `FileNotFoundException` and `DirectoryNotFoundException` from `\ncc\Exceptions`
|
- Removed `FileNotFoundException` and `DirectoryNotFoundException` from `\ncc\Exceptions`
|
||||||
|
|
|
@ -192,8 +192,10 @@
|
||||||
{
|
{
|
||||||
foreach($this->SymlinkDictionary as $entry)
|
foreach($this->SymlinkDictionary as $entry)
|
||||||
{
|
{
|
||||||
if($entry->Package === $package)
|
if($entry->getPackage() === $package)
|
||||||
|
{
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
@ -221,8 +223,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
$entry = new SymlinkEntry();
|
$entry = new SymlinkEntry();
|
||||||
$entry->Package = $package;
|
$entry->setPackage($package);
|
||||||
$entry->ExecutionPolicyName = $unit;
|
$entry->setExecutionPolicyName($unit);
|
||||||
|
|
||||||
$this->SymlinkDictionary[] = $entry;
|
$this->SymlinkDictionary[] = $entry;
|
||||||
$this->save();
|
$this->save();
|
||||||
|
@ -250,13 +252,13 @@
|
||||||
|
|
||||||
foreach($this->SymlinkDictionary as $key => $entry)
|
foreach($this->SymlinkDictionary as $key => $entry)
|
||||||
{
|
{
|
||||||
if($entry->Package === $package)
|
if($entry->getPackage() === $package)
|
||||||
{
|
{
|
||||||
if($entry->Registered)
|
if($entry->isRegistered())
|
||||||
{
|
{
|
||||||
$filesystem = new Filesystem();
|
$filesystem = new Filesystem();
|
||||||
|
|
||||||
$symlink_name = explode('.', $entry->Package)[count(explode('.', $entry->Package)) - 1];
|
$symlink_name = explode('.', $entry->getPackage())[count(explode('.', $entry->getPackage())) - 1];
|
||||||
$symlink = self::$BinPath . DIRECTORY_SEPARATOR . $symlink_name;
|
$symlink = self::$BinPath . DIRECTORY_SEPARATOR . $symlink_name;
|
||||||
|
|
||||||
if($filesystem->exists($symlink))
|
if($filesystem->exists($symlink))
|
||||||
|
@ -286,9 +288,9 @@
|
||||||
{
|
{
|
||||||
foreach($this->SymlinkDictionary as $key => $entry)
|
foreach($this->SymlinkDictionary as $key => $entry)
|
||||||
{
|
{
|
||||||
if($entry->Package === $package)
|
if($entry->getPackage() === $package)
|
||||||
{
|
{
|
||||||
$entry->Registered = true;
|
$entry->setRegistered(true);
|
||||||
$this->SymlinkDictionary[$key] = $entry;
|
$this->SymlinkDictionary[$key] = $entry;
|
||||||
$this->save();
|
$this->save();
|
||||||
return;
|
return;
|
||||||
|
@ -316,10 +318,12 @@
|
||||||
|
|
||||||
foreach($this->SymlinkDictionary as $entry)
|
foreach($this->SymlinkDictionary as $entry)
|
||||||
{
|
{
|
||||||
if($entry->Registered)
|
if($entry->isRegistered())
|
||||||
|
{
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
$symlink_name = explode('.', $entry->Package)[count(explode('.', $entry->Package)) - 1];
|
$symlink_name = explode('.', $entry->getPackage())[count(explode('.', $entry->getPackage())) - 1];
|
||||||
$symlink = self::$BinPath . DIRECTORY_SEPARATOR . $symlink_name;
|
$symlink = self::$BinPath . DIRECTORY_SEPARATOR . $symlink_name;
|
||||||
|
|
||||||
if($filesystem->exists($symlink))
|
if($filesystem->exists($symlink))
|
||||||
|
@ -330,11 +334,11 @@
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
$package_entry = $package_lock_manager->getPackageLock()->getPackage($entry->Package);
|
$package_entry = $package_lock_manager->getPackageLock()->getPackage($entry->getPackage());
|
||||||
|
|
||||||
if($package_entry === null)
|
if($package_entry === null)
|
||||||
{
|
{
|
||||||
Console::outWarning(sprintf('Package %s is not installed, skipping', $entry->Package));
|
Console::outWarning(sprintf('Package %s is not installed, skipping', $entry->getPackage()));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -344,13 +348,13 @@
|
||||||
catch(Exception $e)
|
catch(Exception $e)
|
||||||
{
|
{
|
||||||
$filesystem->remove($symlink);
|
$filesystem->remove($symlink);
|
||||||
Console::outWarning(sprintf('Failed to get package %s, skipping', $entry->Package));
|
Console::outWarning(sprintf('Failed to get package %s, skipping', $entry->getPackage()));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
$entry_point_path = $execution_pointer_manager->getEntryPointPath($entry->Package, $latest_version, $entry->ExecutionPolicyName);
|
$entry_point_path = $execution_pointer_manager->getEntryPointPath($entry->getPackage(), $latest_version, $entry->getExecutionPolicyName());
|
||||||
$filesystem->symlink($entry_point_path, $symlink);
|
$filesystem->symlink($entry_point_path, $symlink);
|
||||||
}
|
}
|
||||||
catch(Exception $e)
|
catch(Exception $e)
|
||||||
|
@ -364,7 +368,7 @@
|
||||||
unset($e);
|
unset($e);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->setAsRegistered($entry->Package);
|
$this->setAsRegistered($entry->getPackage());
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,29 +34,77 @@
|
||||||
*
|
*
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
public $Package;
|
private $package;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The name of the execution policy to execute
|
* The name of the execution policy to execute
|
||||||
*
|
*
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
public $ExecutionPolicyName;
|
private $execution_policy_name;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Indicates if this symlink is currently registered by NCC
|
* Indicates if this symlink is currently registered by NCC
|
||||||
*
|
*
|
||||||
* @var bool
|
* @var bool
|
||||||
*/
|
*/
|
||||||
public $Registered;
|
private $registered;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Public Constructor
|
* Public Constructor
|
||||||
*/
|
*/
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->ExecutionPolicyName = 'main';
|
$this->execution_policy_name = 'main';
|
||||||
$this->Registered = false;
|
$this->registered = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getPackage(): string
|
||||||
|
{
|
||||||
|
return $this->package;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $package
|
||||||
|
*/
|
||||||
|
public function setPackage(string $package): void
|
||||||
|
{
|
||||||
|
$this->package = $package;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getExecutionPolicyName(): string
|
||||||
|
{
|
||||||
|
return $this->execution_policy_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $execution_policy_name
|
||||||
|
*/
|
||||||
|
public function setExecutionPolicyName(string $execution_policy_name): void
|
||||||
|
{
|
||||||
|
$this->execution_policy_name = $execution_policy_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function isRegistered(): bool
|
||||||
|
{
|
||||||
|
return $this->registered;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param bool $registered
|
||||||
|
*/
|
||||||
|
public function setRegistered(bool $registered): void
|
||||||
|
{
|
||||||
|
$this->registered = $registered;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -65,9 +113,9 @@
|
||||||
public function toArray(bool $bytecode=false): array
|
public function toArray(bool $bytecode=false): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
($bytecode ? Functions::cbc('package') : 'package') => $this->Package,
|
($bytecode ? Functions::cbc('package') : 'package') => $this->package,
|
||||||
($bytecode ? Functions::cbc('registered') : 'registered') => $this->Registered,
|
($bytecode ? Functions::cbc('registered') : 'registered') => $this->registered,
|
||||||
($bytecode ? Functions::cbc('execution_policy_name') : 'execution_policy_name') => $this->ExecutionPolicyName
|
($bytecode ? Functions::cbc('execution_policy_name') : 'execution_policy_name') => $this->execution_policy_name
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -78,9 +126,9 @@
|
||||||
{
|
{
|
||||||
$entry = new SymlinkEntry();
|
$entry = new SymlinkEntry();
|
||||||
|
|
||||||
$entry->Package = Functions::array_bc($data, 'package');
|
$entry->package = Functions::array_bc($data, 'package');
|
||||||
$entry->Registered = (bool)Functions::array_bc($data, 'registered');
|
$entry->registered = (bool)Functions::array_bc($data, 'registered');
|
||||||
$entry->ExecutionPolicyName = Functions::array_bc($data, 'execution_policy_name');
|
$entry->execution_policy_name = Functions::array_bc($data, 'execution_policy_name');
|
||||||
|
|
||||||
return $entry;
|
return $entry;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue