diff --git a/src/ncc/Classes/NccExtension/NccCompiler.php b/src/ncc/Classes/NccExtension/NccCompiler.php index e2e83e1..4a77d15 100644 --- a/src/ncc/Classes/NccExtension/NccCompiler.php +++ b/src/ncc/Classes/NccExtension/NccCompiler.php @@ -327,13 +327,12 @@ * @param PackageWriter $package_writer * @param string $build_configuration * @return void - * @throws ConfigurationException */ public function processMetadata(PackageWriter $package_writer, string $build_configuration=BuildConfigurationValues::DEFAULT): void { $metadata = new Metadata($this->project_manager->getProjectConfiguration()->getProject()->getCompiler()); - $metadata->setOptions($this->project_manager->getCompilerOptions($build_configuration)); + $metadata->setOptions($this->project_manager->getProjectConfiguration()->getBuild()->getOptions($build_configuration)); $metadata->setUpdateSource($this->project_manager->getProjectConfiguration()->getProject()->getUpdateSource()); $metadata->setMainExecutionPolicy($this->project_manager->getProjectConfiguration()->getBuild()->getMain()); $metadata->setInstaller($this->project_manager->getProjectConfiguration()->getInstaller()); diff --git a/src/ncc/Managers/ProjectManager.php b/src/ncc/Managers/ProjectManager.php index cd06e4e..366d492 100644 --- a/src/ncc/Managers/ProjectManager.php +++ b/src/ncc/Managers/ProjectManager.php @@ -293,19 +293,6 @@ ); } - /** - * Returns an array of compiler options associated with the build configuration - * - * @param string $build_configuration - * @return array - * @throws ConfigurationException - */ - public function getCompilerOptions(string $build_configuration=BuildConfigurationValues::DEFAULT): array - { - $configuration = $this->project_configuration->getBuild()->getBuildConfiguration($build_configuration); - return array_merge($configuration->getOptions(), $this->project_configuration->getBuild()->getOptions()); - } - /** * Saves the project configuration * diff --git a/src/ncc/Objects/ProjectConfiguration/Build.php b/src/ncc/Objects/ProjectConfiguration/Build.php index 43fef34..31cdccf 100644 --- a/src/ncc/Objects/ProjectConfiguration/Build.php +++ b/src/ncc/Objects/ProjectConfiguration/Build.php @@ -24,6 +24,7 @@ namespace ncc\Objects\ProjectConfiguration; + use InvalidArgumentException; use ncc\Enums\Options\BuildConfigurationValues; use ncc\Exceptions\ConfigurationException; use ncc\Interfaces\BytecodeObjectInterface; @@ -196,11 +197,19 @@ } /** + * Returns the options for the build, optionally including the options for the given build configuration + * + * @param string|null $build_configuration * @return array */ - public function getOptions(): array + public function getOptions(?string $build_configuration=null): array { - return $this->options; + if($build_configuration === null) + { + return $this->options; + } + + return array_merge($this->options, $this->getBuildConfiguration($build_configuration)->getOptions()); } /** @@ -460,7 +469,6 @@ * * @param string $name * @return BuildConfiguration - * @throws ConfigurationException */ public function getBuildConfiguration(string $name): BuildConfiguration { @@ -477,7 +485,7 @@ } } - throw new ConfigurationException(sprintf('The build configuration "%s" does not exist', $name)); + throw new InvalidArgumentException(sprintf('The build configuration "%s" does not exist', $name)); } /**