From d0e335ab292f08aeb348c87401375774b938f5c8 Mon Sep 17 00:00:00 2001 From: Bruce Weirdan Date: Tue, 13 Dec 2022 05:23:35 -0400 Subject: [PATCH 1/2] Replace unmaintained `openlss/lib-array2xml` with `spatie/array-to-xml` Fixes vimeo/psalm#8852 --- composer.json | 2 +- src/Psalm/Report/XmlReport.php | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/composer.json b/composer.json index 2639e129472..5d98e17f163 100644 --- a/composer.json +++ b/composer.json @@ -33,8 +33,8 @@ "fidry/cpu-core-counter": "^0.4.0", "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", "nikic/php-parser": "^4.13", - "openlss/lib-array2xml": "^1.0", "sebastian/diff": "^4.0", + "spatie/array-to-xml": "^2.17.0", "symfony/console": "^4.1.6 || ^5.0 || ^6.0", "symfony/filesystem": "^5.4 || ^6.0", "symfony/polyfill-php80": "^1.25" diff --git a/src/Psalm/Report/XmlReport.php b/src/Psalm/Report/XmlReport.php index 99eef77e0e3..7b200ff2878 100644 --- a/src/Psalm/Report/XmlReport.php +++ b/src/Psalm/Report/XmlReport.php @@ -2,10 +2,10 @@ namespace Psalm\Report; -use LSS\Array2XML; use Psalm\Internal\Analyzer\DataFlowNodeData; use Psalm\Internal\Analyzer\IssueData; use Psalm\Report; +use Spatie\ArrayToXml\ArrayToXml; use function array_map; use function get_object_vars; @@ -14,8 +14,7 @@ final class XmlReport extends Report { public function create(): string { - $xml = Array2XML::createXML( - 'report', + $xml = (string) ArrayToXml::convert( [ 'item' => array_map( static function (IssueData $issue_data): array { @@ -46,9 +45,14 @@ static function (IssueData $issue_data): array { }, $this->issues_data ) - ] + ], + 'report', + true, + 'UTF-8', + '1.0', + ['preserveWhiteSpace' => false, 'formatOutput' => true] ); - return $xml->saveXML(); + return $xml; } } From 586d0c931c6397e33ef95e506fe5335a1e6ff6b3 Mon Sep 17 00:00:00 2001 From: Bruce Weirdan Date: Tue, 13 Dec 2022 05:34:43 -0400 Subject: [PATCH 2/2] [skip ci] fix indentation --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 5d98e17f163..f08bde5165c 100644 --- a/composer.json +++ b/composer.json @@ -34,7 +34,7 @@ "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", "nikic/php-parser": "^4.13", "sebastian/diff": "^4.0", - "spatie/array-to-xml": "^2.17.0", + "spatie/array-to-xml": "^2.17.0", "symfony/console": "^4.1.6 || ^5.0 || ^6.0", "symfony/filesystem": "^5.4 || ^6.0", "symfony/polyfill-php80": "^1.25"