Convert InitializeProjectOptions constants to enum cases

This commit is contained in:
netkas 2024-09-14 08:43:07 -04:00
parent 87844ab00a
commit 2bd2d757fd
3 changed files with 14 additions and 14 deletions

View file

@ -22,25 +22,25 @@
namespace ncc\Enums\Options; namespace ncc\Enums\Options;
final class InitializeProjectOptions enum InitializeProjectOptions : string
{ {
/** /**
* A custom path to the project's source directory * A custom path to the project's source directory
*/ */
public const PROJECT_SRC_PATH = 'PROJECT_SRC_PATH'; case PROJECT_SRC_PATH = 'PROJECT_SRC_PATH';
/** /**
* A boolean option that indicates whether to overwrite the project file if it already exists * A boolean option that indicates whether to overwrite the project file if it already exists
*/ */
public const OVERWRITE_PROJECT_FILE = 'OVERWRITE_PROJECT_FILE'; case OVERWRITE_PROJECT_FILE = 'OVERWRITE_PROJECT_FILE';
/** /**
* Composer Only, used to define the package's real version * Composer Only, used to define the package's real version
*/ */
public const COMPOSER_PACKAGE_VERSION = 'COMPOSER_PACKAGE_VERSION'; case COMPOSER_PACKAGE_VERSION = 'COMPOSER_PACKAGE_VERSION';
/** /**
* Composer Only, used to define the package's update source * Composer Only, used to define the package's update source
*/ */
public const COMPOSER_REMOTE_SOURCE = 'COMPOSER_REMOTE_SOURCE'; case COMPOSER_REMOTE_SOURCE = 'COMPOSER_REMOTE_SOURCE';
} }

View file

@ -598,8 +598,8 @@
$archive_path = $this->downloadFile($results->getUrl(), PathFinder::getCachePath()); $archive_path = $this->downloadFile($results->getUrl(), PathFinder::getCachePath());
$package_path = $this->buildFromSource($archive_path, [ $package_path = $this->buildFromSource($archive_path, [
InitializeProjectOptions::COMPOSER_PACKAGE_VERSION => $results->getVersion(), InitializeProjectOptions::COMPOSER_PACKAGE_VERSION->value => $results->getVersion(),
InitializeProjectOptions::COMPOSER_REMOTE_SOURCE => $input->toString() InitializeProjectOptions::COMPOSER_REMOTE_SOURCE->value => $input->toString()
]); ]);
} }
catch(Exception $e) catch(Exception $e)

View file

@ -378,7 +378,7 @@
if(is_file($project_path . DIRECTORY_SEPARATOR . 'project.json')) if(is_file($project_path . DIRECTORY_SEPARATOR . 'project.json'))
{ {
if(!isset($options[InitializeProjectOptions::OVERWRITE_PROJECT_FILE])) if(!isset($options[InitializeProjectOptions::OVERWRITE_PROJECT_FILE->value]))
{ {
throw new IOException('A project has already been initialized in \'' . $project_path . DIRECTORY_SEPARATOR . 'project.json' . '\''); throw new IOException('A project has already been initialized in \'' . $project_path . DIRECTORY_SEPARATOR . 'project.json' . '\'');
} }
@ -387,7 +387,7 @@
unlink($project_path . DIRECTORY_SEPARATOR . 'project.json'); unlink($project_path . DIRECTORY_SEPARATOR . 'project.json');
} }
$project_src = $options[InitializeProjectOptions::PROJECT_SRC_PATH] ?? ('src' . DIRECTORY_SEPARATOR . $name); $project_src = $options[InitializeProjectOptions::PROJECT_SRC_PATH->value] ?? ('src' . DIRECTORY_SEPARATOR . $name);
if(str_ends_with($project_src, DIRECTORY_SEPARATOR)) if(str_ends_with($project_src, DIRECTORY_SEPARATOR))
{ {
$project_src = substr($project_src, 0, -1); $project_src = substr($project_src, 0, -1);
@ -455,7 +455,7 @@
if(is_file($project_file)) if(is_file($project_file))
{ {
if(!isset($options[InitializeProjectOptions::OVERWRITE_PROJECT_FILE])) if(!isset($options[InitializeProjectOptions::OVERWRITE_PROJECT_FILE->value]))
{ {
throw new IOException('A project has already been initialized in \'' . $project_file . '\''); throw new IOException('A project has already been initialized in \'' . $project_file . '\'');
} }
@ -464,7 +464,7 @@
unlink($project_file); unlink($project_file);
} }
if(!isset($options[InitializeProjectOptions::COMPOSER_PACKAGE_VERSION])) if(!isset($options[InitializeProjectOptions::COMPOSER_PACKAGE_VERSION->value]))
{ {
throw new OperationException('Unable to initialize project from composer.json without a version option'); throw new OperationException('Unable to initialize project from composer.json without a version option');
} }
@ -489,7 +489,7 @@
$assembly = new ProjectConfiguration\Assembly( $assembly = new ProjectConfiguration\Assembly(
Resolver::composerName($composer_json->getName()), Resolver::composerName($composer_json->getName()),
Resolver::composerNameToPackage($composer_json->getName()), Resolver::composerNameToPackage($composer_json->getName()),
$options[InitializeProjectOptions::COMPOSER_PACKAGE_VERSION] $options[InitializeProjectOptions::COMPOSER_PACKAGE_VERSION->value]
); );
$assembly->setDescription($composer_json->getDescription()); $assembly->setDescription($composer_json->getDescription());
@ -645,10 +645,10 @@
$build->addBuildConfiguration($executable_release_configuration); $build->addBuildConfiguration($executable_release_configuration);
// Create an update source for the project // Create an update source for the project
if(isset($options[InitializeProjectOptions::COMPOSER_REMOTE_SOURCE])) if(isset($options[InitializeProjectOptions::COMPOSER_REMOTE_SOURCE->value]))
{ {
$project->setUpdateSource(new ProjectConfiguration\UpdateSource( $project->setUpdateSource(new ProjectConfiguration\UpdateSource(
$options[InitializeProjectOptions::COMPOSER_REMOTE_SOURCE], $options[InitializeProjectOptions::COMPOSER_REMOTE_SOURCE->value],
(new RepositoryManager())->getRepository('packagist')->getProjectRepository() (new RepositoryManager())->getRepository('packagist')->getProjectRepository()
)); ));
} }