Convert BuildConfigurationOptions constants to enum cases
This commit is contained in:
parent
c24fce2ee5
commit
66e6e1528d
8 changed files with 32 additions and 32 deletions
|
@ -75,7 +75,7 @@
|
|||
|
||||
if($output_path !== null)
|
||||
{
|
||||
$options[BuildConfigurationOptions::OUTPUT_FILE] = $output_path;
|
||||
$options[BuildConfigurationOptions::OUTPUT_FILE->value] = $output_path;
|
||||
}
|
||||
|
||||
// Load the project
|
||||
|
|
|
@ -92,12 +92,12 @@
|
|||
{
|
||||
$configuration = $this->project_manager->getProjectConfiguration()->getBuild()->getBuildConfiguration($build_configuration);
|
||||
$configuration->setOptions(array_merge($configuration->getOptions(), $options));
|
||||
$static_dependencies = isset($configuration->getOptions()[BuildConfigurationOptions::STATIC_DEPENDENCIES]);
|
||||
$static_dependencies = isset($configuration->getOptions()[BuildConfigurationOptions::STATIC_DEPENDENCIES->value]);
|
||||
|
||||
if(isset($configuration->getOptions()[BuildConfigurationOptions::OUTPUT_FILE]))
|
||||
if(isset($configuration->getOptions()[BuildConfigurationOptions::OUTPUT_FILE->value]))
|
||||
{
|
||||
$package_path = ConstantCompiler::compileConstants(
|
||||
$this->project_manager->getProjectConfiguration(), $configuration->getOptions()[BuildConfigurationOptions::OUTPUT_FILE]
|
||||
$this->project_manager->getProjectConfiguration(), $configuration->getOptions()[BuildConfigurationOptions::OUTPUT_FILE->value]
|
||||
);
|
||||
}
|
||||
else
|
||||
|
@ -262,10 +262,10 @@
|
|||
{
|
||||
$package_writer = new PackageWriter($path);
|
||||
|
||||
if(isset($build_configuration->getOptions()[BuildConfigurationOptions::COMPRESSION]))
|
||||
if(isset($build_configuration->getOptions()[BuildConfigurationOptions::COMPRESSION->value]))
|
||||
{
|
||||
$package_writer->addFlag(PackageFlags::COMPRESSION);
|
||||
switch(strtolower($build_configuration->getOptions()[BuildConfigurationOptions::COMPRESSION]))
|
||||
switch(strtolower($build_configuration->getOptions()[BuildConfigurationOptions::COMPRESSION->value]))
|
||||
{
|
||||
case BuildConfigurationOptions\CompressionOptions::HIGH:
|
||||
$package_writer->addFlag(PackageFlags::HIGH_COMPRESSION);
|
||||
|
@ -280,7 +280,7 @@
|
|||
break;
|
||||
|
||||
default:
|
||||
throw new NotSupportedException(sprintf('The compression level \'%s\' is not supported', $build_configuration->getOptions()[BuildConfigurationOptions::COMPRESSION]));
|
||||
throw new NotSupportedException(sprintf('The compression level \'%s\' is not supported', $build_configuration->getOptions()[BuildConfigurationOptions::COMPRESSION->value]));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -340,16 +340,16 @@
|
|||
$metadata->setInstaller($this->project_manager->getProjectConfiguration()->getInstaller());
|
||||
|
||||
// Strip out 'output_file' build artifact.
|
||||
if(isset($metadata->getOptions()[BuildConfigurationOptions::OUTPUT_FILE]))
|
||||
if(isset($metadata->getOptions()[BuildConfigurationOptions::OUTPUT_FILE->value]))
|
||||
{
|
||||
$metadata->removeOption(BuildConfigurationOptions::OUTPUT_FILE);
|
||||
$metadata->removeOption(BuildConfigurationOptions::OUTPUT_FILE->value);
|
||||
}
|
||||
|
||||
// Strip out 'static' build artifact, PackageFlags::STATIC_DEPENDENCIES is used instead
|
||||
// Making this option redundant.
|
||||
if(isset($metadata->getOptions()[BuildConfigurationOptions::STATIC_DEPENDENCIES]))
|
||||
if(isset($metadata->getOptions()[BuildConfigurationOptions::STATIC_DEPENDENCIES->value]))
|
||||
{
|
||||
$metadata->removeOption(BuildConfigurationOptions::STATIC_DEPENDENCIES);
|
||||
$metadata->removeOption(BuildConfigurationOptions::STATIC_DEPENDENCIES->value);
|
||||
}
|
||||
|
||||
/** @noinspection UnusedFunctionResultInspection */
|
||||
|
|
|
@ -50,14 +50,14 @@
|
|||
$configuration->setOptions(array_merge($configuration->getOptions(), $options));
|
||||
}
|
||||
|
||||
if(!isset($configuration->getOptions()[BuildConfigurationOptions::NCC_CONFIGURATION]))
|
||||
if(!isset($configuration->getOptions()[BuildConfigurationOptions::NCC_CONFIGURATION->value]))
|
||||
{
|
||||
throw new BuildException(sprintf("Unable to compile the binary, the build configuration '%s' does not have a ncc_configuration.", $build_configuration));
|
||||
}
|
||||
|
||||
// Build the ncc package first
|
||||
Console::outVerbose('Building ncc package.');
|
||||
$ncc_package = parent::build($configuration->getOptions()[BuildConfigurationOptions::NCC_CONFIGURATION]);
|
||||
$ncc_package = parent::build($configuration->getOptions()[BuildConfigurationOptions::NCC_CONFIGURATION->value]);
|
||||
|
||||
// Prepare the ncc package for compilation
|
||||
$hex_dump_file = PathFinder::getCachePath() . DIRECTORY_SEPARATOR . $this->getProjectManager()->getProjectConfiguration()->getAssembly()->getName() . '.c';
|
||||
|
@ -72,11 +72,11 @@
|
|||
// Prepare the gcc command
|
||||
$gcc_path = (new ExecutableFinder())->find('gcc');
|
||||
|
||||
if(isset($configuration->getOptions()[BuildConfigurationOptions::OUTPUT_FILE]))
|
||||
if(isset($configuration->getOptions()[BuildConfigurationOptions::OUTPUT_FILE->value]))
|
||||
{
|
||||
$binary_path = ConstantCompiler::compileConstants(
|
||||
$this->getProjectManager()->getProjectConfiguration(),
|
||||
$configuration->getOptions()[BuildConfigurationOptions::OUTPUT_FILE]
|
||||
$configuration->getOptions()[BuildConfigurationOptions::OUTPUT_FILE->value]
|
||||
);
|
||||
}
|
||||
else
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
'build' . DIRECTORY_SEPARATOR . 'release' . DIRECTORY_SEPARATOR . AssemblyConstants::ASSEMBLY_NAME->value
|
||||
);
|
||||
$release_executable->setBuildType(BuildOutputType::EXECUTABLE->value);
|
||||
$release_executable->setOption(BuildConfigurationOptions::NCC_CONFIGURATION, 'release');
|
||||
$release_executable->setOption(BuildConfigurationOptions::NCC_CONFIGURATION->value, 'release');
|
||||
$project_manager->getProjectConfiguration()->getBuild()->addBuildConfiguration($release_executable);
|
||||
|
||||
// Create the debug build configuration
|
||||
|
@ -69,7 +69,7 @@
|
|||
);
|
||||
$debug_executable->setDefinedConstant('DEBUG', '1');
|
||||
$debug_executable->setBuildType(BuildOutputType::EXECUTABLE->value);
|
||||
$debug_executable->setOption(BuildConfigurationOptions::NCC_CONFIGURATION, 'debug');
|
||||
$debug_executable->setOption(BuildConfigurationOptions::NCC_CONFIGURATION->value, 'debug');
|
||||
$project_manager->getProjectConfiguration()->getBuild()->addBuildConfiguration($debug_executable);
|
||||
|
||||
self::writeProgramTemplate($project_manager);
|
||||
|
|
|
@ -189,9 +189,9 @@
|
|||
self::$class_map[strtolower($class)] = $component_path;
|
||||
}
|
||||
|
||||
if($entry->getMetadata($version)->getOption(BuildConfigurationOptions::REQUIRE_FILES) !== null)
|
||||
if($entry->getMetadata($version)->getOption(BuildConfigurationOptions::REQUIRE_FILES->value) !== null)
|
||||
{
|
||||
foreach($entry->getMetadata($version)->getOption(BuildConfigurationOptions::REQUIRE_FILES) as $item)
|
||||
foreach($entry->getMetadata($version)->getOption(BuildConfigurationOptions::REQUIRE_FILES->value) as $item)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -273,9 +273,9 @@
|
|||
}
|
||||
|
||||
// Import the required files
|
||||
if($package_reader->getMetadata()->getOption(BuildConfigurationOptions::REQUIRE_FILES) !== null)
|
||||
if($package_reader->getMetadata()->getOption(BuildConfigurationOptions::REQUIRE_FILES->value) !== null)
|
||||
{
|
||||
foreach($package_reader->getMetadata()->getOption(BuildConfigurationOptions::REQUIRE_FILES) as $item)
|
||||
foreach($package_reader->getMetadata()->getOption(BuildConfigurationOptions::REQUIRE_FILES->value) as $item)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
@ -22,15 +22,15 @@
|
|||
|
||||
namespace ncc\Enums\Options;
|
||||
|
||||
final class BuildConfigurationOptions
|
||||
enum BuildConfigurationOptions : string
|
||||
{
|
||||
public const COMPRESSION = 'compression';
|
||||
case COMPRESSION = 'compression';
|
||||
|
||||
public const REQUIRE_FILES = 'require_files';
|
||||
case REQUIRE_FILES = 'require_files';
|
||||
|
||||
public const NCC_CONFIGURATION = 'ncc_configuration';
|
||||
case NCC_CONFIGURATION = 'ncc_configuration';
|
||||
|
||||
public const OUTPUT_FILE = 'output_file';
|
||||
case OUTPUT_FILE = 'output_file';
|
||||
|
||||
public const STATIC_DEPENDENCIES = 'static';
|
||||
case STATIC_DEPENDENCIES = 'static';
|
||||
}
|
|
@ -806,7 +806,7 @@
|
|||
{
|
||||
$package_path = (new ProjectManager($project_detection->getProjectFilePath()))->build(
|
||||
BuildConfigurationValues::DEFAULT->value,
|
||||
[BuildConfigurationOptions::OUTPUT_FILE => PathFinder::getCachePath() . DIRECTORY_SEPARATOR . hash('sha1', $archive) . '.ncc']
|
||||
[BuildConfigurationOptions::OUTPUT_FILE->value => PathFinder::getCachePath() . DIRECTORY_SEPARATOR . hash('sha1', $archive) . '.ncc']
|
||||
);
|
||||
|
||||
ShutdownHandler::declareTemporaryPath($source_directory);
|
||||
|
@ -830,7 +830,7 @@
|
|||
$project_manager = ProjectManager::initializeFromComposer(dirname($project_detection->getProjectFilePath()), $options);
|
||||
$package_path = $project_manager->build(
|
||||
BuildConfigurationValues::DEFAULT->value,
|
||||
[BuildConfigurationOptions::OUTPUT_FILE => PathFinder::getCachePath() . DIRECTORY_SEPARATOR . hash('sha1', $archive) . '.ncc']
|
||||
[BuildConfigurationOptions::OUTPUT_FILE->value => PathFinder::getCachePath() . DIRECTORY_SEPARATOR . hash('sha1', $archive) . '.ncc']
|
||||
);
|
||||
|
||||
ShutdownHandler::declareTemporaryPath($package_path);
|
||||
|
|
|
@ -611,7 +611,7 @@
|
|||
$required_files[$index] = Functions::removeBasename($file, $project_path);
|
||||
}
|
||||
|
||||
$build->setOption(BuildConfigurationOptions::REQUIRE_FILES, $required_files);
|
||||
$build->setOption(BuildConfigurationOptions::REQUIRE_FILES->value, $required_files);
|
||||
}
|
||||
|
||||
// Generate debug build configuration
|
||||
|
@ -626,7 +626,7 @@
|
|||
'build' . DIRECTORY_SEPARATOR . 'debug' . DIRECTORY_SEPARATOR . AssemblyConstants::ASSEMBLY_NAME->value
|
||||
);
|
||||
$executable_debug_configuration->setBuildType(BuildOutputType::EXECUTABLE->value);
|
||||
$executable_debug_configuration->setOption(BuildConfigurationOptions::NCC_CONFIGURATION, 'debug_ncc');
|
||||
$executable_debug_configuration->setOption(BuildConfigurationOptions::NCC_CONFIGURATION->value, 'debug_ncc');
|
||||
$executable_debug_configuration->setDependencies($require_dev);
|
||||
$build->addBuildConfiguration($executable_debug_configuration);
|
||||
|
||||
|
@ -640,7 +640,7 @@
|
|||
$executable_release_configuration = new ProjectConfiguration\Build\BuildConfiguration('release_executable',
|
||||
'build' . DIRECTORY_SEPARATOR . 'release' . DIRECTORY_SEPARATOR . AssemblyConstants::ASSEMBLY_NAME->value
|
||||
);
|
||||
$executable_release_configuration->setOption(BuildConfigurationOptions::NCC_CONFIGURATION, 'release_ncc');
|
||||
$executable_release_configuration->setOption(BuildConfigurationOptions::NCC_CONFIGURATION->value, 'release_ncc');
|
||||
$executable_release_configuration->setBuildType(BuildOutputType::EXECUTABLE->value);
|
||||
$build->addBuildConfiguration($executable_release_configuration);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue