diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 05c00e8..4913276 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,7 +22,7 @@ jobs: strategy: fail-fast: false matrix: - php: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2' ] + php: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5' ] name_suffix: [''] stability: ['stable'] composer_flags: [''] @@ -31,7 +31,7 @@ jobs: name_suffix: ' (lowest deps)' stability: 'stable' composer_flags: '--prefer-lowest' - - php: '8.2' + - php: '8.5' name_suffix: ' (dev deps)' stability: 'dev' composer_flags: '' diff --git a/composer.json b/composer.json index b8cba2b..3336e68 100644 --- a/composer.json +++ b/composer.json @@ -1,43 +1,42 @@ { - "name": "tomsgu/pdf-merger-bundle", - "description": "Symfony bundle that integrates tomsgu/pdf-merge lib.", - "type": "symfony-bundle", - "license": "MIT", - "keywords": [ - "pdf merger bundle merge" - ], - "authors": [ - { - "name": "Tomas Jakl", - "email": "tomasjakll@gmail.com" - } - ], - "require": { - "php": "^7.2 || ^8.0", - "symfony/framework-bundle": "^4.0 || ^5.0 || ^6.0 || ^7.0", - "tomsgu/pdf-merger": "0.*" - }, - "require-dev": { - "symfony/phpunit-bridge": "^4.0 || ^5.0 || ^6.0" - - }, - "config": { - "preferred-install": { - "*": "dist" + "name": "tomsgu/pdf-merger-bundle", + "description": "Symfony bundle that integrates tomsgu/pdf-merge lib.", + "type": "symfony-bundle", + "license": "MIT", + "keywords": [ + "pdf merger bundle merge" + ], + "authors": [ + { + "name": "Tomas Jakl", + "email": "tomasjakll@gmail.com" + } + ], + "require": { + "php": "^7.2 || ^8.0", + "symfony/framework-bundle": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0", + "tomsgu/pdf-merger": "0.*" + }, + "require-dev": { + "symfony/phpunit-bridge": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0" + }, + "config": { + "preferred-install": { + "*": "dist" + }, + "sort-packages": true }, - "sort-packages": true - }, - "autoload": { - "psr-4": { - "Tomsgu\\PdfMergerBundle\\": "src/" + "autoload": { + "psr-4": { + "Tomsgu\\PdfMergerBundle\\": "src/" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "autoload-dev": { - "psr-4": { - "Tomsgu\\PdfMergerBundle\\Tests\\": "tests/" + "autoload-dev": { + "psr-4": { + "Tomsgu\\PdfMergerBundle\\Tests\\": "tests/" + } } - } } diff --git a/src/DependencyInjection/TomsguPdfMergerExtension.php b/src/DependencyInjection/TomsguPdfMergerExtension.php index 68c2e5a..95d5a21 100644 --- a/src/DependencyInjection/TomsguPdfMergerExtension.php +++ b/src/DependencyInjection/TomsguPdfMergerExtension.php @@ -23,11 +23,13 @@ public function load(array $configs, ContainerBuilder $container): void { $processor = new Processor(); $configuration = new Configuration(); - $loader = new Loader\XmlFileLoader($container, - new FileLocator(__DIR__.'/../Resources/config')); + $loader = new Loader\PhpFileLoader( + $container, + new FileLocator(__DIR__ . '/../Resources/config') + ); $config = $processor->processConfiguration($configuration, $configs); - $loader->load('pdf_merger.xml'); + $loader->load('pdf_merger.php'); $container->setAlias('Tomsgu\PdfMerger\PdfMerger', new Alias('tomsgu_pdf_merger.pdf_merger', false)); } } diff --git a/src/Resources/config/pdf_merger.php b/src/Resources/config/pdf_merger.php new file mode 100644 index 0000000..b4caddd --- /dev/null +++ b/src/Resources/config/pdf_merger.php @@ -0,0 +1,25 @@ +services(); + + $fpdiServiceId = 'tomsgu_pdf_merger.fpdi'; + // BC for symfony < 5.0 + $fpdiService = function_exists(__NAMESPACE__ . '\service') + ? service($fpdiServiceId) + : ref($fpdiServiceId); + + $services->set('tomsgu_pdf_merger.pdf_merger', PdfMerger::class) + ->args([$fpdiService]) + ->private() + ; + + $services->set($fpdiServiceId, Fpdi::class) + ->private() + ; +}; diff --git a/src/Resources/config/pdf_merger.xml b/src/Resources/config/pdf_merger.xml deleted file mode 100644 index 10485ca..0000000 --- a/src/Resources/config/pdf_merger.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file