From f0854ca93d14eb5e30c660fb7f149997ff6842da Mon Sep 17 00:00:00 2001 From: Brian Graham Date: Tue, 7 May 2019 11:51:57 +0200 Subject: [PATCH 001/336] Revert "Update Zed translations." This reverts commit 34bd28bfcd30c7396429e352e339c18ec7a13f5f. --- data/translation/Zed/de_DE.csv | 60 ++++++++++++++++++++++++++++++++++ data/translation/Zed/en_US.csv | 60 ++++++++++++++++++++++++++++++++++ 2 files changed, 120 insertions(+) diff --git a/data/translation/Zed/de_DE.csv b/data/translation/Zed/de_DE.csv index b7a75bca..a86bd1aa 100644 --- a/data/translation/Zed/de_DE.csv +++ b/data/translation/Zed/de_DE.csv @@ -1 +1,61 @@ +adjacency,Adjazenz +"Adjacency Matrix",Adjazenzmatrix +Application,Anwendung +"Architecture Sniffer","Architecture Sniffer" +"Architecture sniffer results","Ergebnisse des Architecture Sniffers" +Back,Zurück +"Check for violations","Auf Verstöße überprüfen" +"Composer dependencies",Composer-Abhängigkeiten +"Composer dev only dependencies","Composer dev only dependencies" +"Core module","Core Modul" +Count,Anzahl +"Declared in composer.json","Declared in composer.json" +"Declared in composer.json (dev)","Declared in composer.json (dev)" +Dependency,Abhängigkeit +"Dependency graphs of all core modules","Abhängigkeitsgraph aller Core Module" +detailed,detailliert +"Dev only dependencies","Dev only dependencies" +Development,Development +"Display all architecture rules","Alle Architekturregeln anzeigen" +"Download CSV","CSV herunterladen" +"Found in src","Gefunden in src" +"Found in test","Gefunden im Test" +From,Von +in,in +"in src","in src" +"in tests","in Tests" +Incoming,Incoming +"Incoming dependencies of the","Eingehende Abhängigkeiten der" +"Indirect Incoming","Indirect Incoming" +"Indirect Outgoing","Indirect Outgoing" +"Indirect Stability","Indirect Stability" +"List all used plugins","Alle verwendeten Plug-ins auflisten" +module,Modul +Module,Modul +"Module name",Modulname +"Module overview",Modulübersicht +Namespace,Namespace +"No architecture violations detected","Keine Architekturverstöße erkannt" +"No plugins used in this Module","In diesem Modul werden keine Plug-ins verwendet" +out,out +Outgoing,Outgoing +"Outgoing dependencies of the","Ausgehende Abhängigkeiten der" +"Plugins used in Projects DependencyProvider","Im DependencyProvider des Projekts verwendete Plug-ins" +Priority:,Priorität: +"Project module",Projektmodul +Reload,"Neu laden" +require,require +require-dev,require-dev +"show all used plugins","alle verwendeten Plug-ins anzeigen" +"Simple Dependency Graph","Simple Dependency-Graph" +"Spryker Stability","Spryker Stabilität" +Stability,Stabilität +Stability,Stabilität +"Stability is calculated by ""incoming dependencies / ( incoming dependencies + outgoing dependencies )"" the result will be between 0 (stable) and 1 (unstable)","Stability is calculated by ""incoming dependencies / ( incoming dependencies + outgoing dependencies )"" the result will be between 0 (stable) and 1 (unstable)" +"Stability of all core modules","Stabilität aller Kernmodule" +"Suggested dependencies","Empfohlene Abhängigkeiten" +SUM,SUM +To,An +"Used Plugins","Verwendete Plug-ins" +"You must specify a bundle for which the graph should be build","Sie müssen ein Bundle bestimmen, für das der Graph erstellt werden soll" "You need to run ""vendor/bin/console dev:dependency:build-tree"" to calculate stability for all bundles.","Sie müssen ""vendor/bin/console dev:dependency:build-tree"" ausführen, um die Stabilität aller Bundle zu berechnen." diff --git a/data/translation/Zed/en_US.csv b/data/translation/Zed/en_US.csv index cb18c95f..3d3a5294 100644 --- a/data/translation/Zed/en_US.csv +++ b/data/translation/Zed/en_US.csv @@ -1 +1,61 @@ +adjacency,adjacency +"Adjacency Matrix","Adjacency Matrix" +Application,Application +"Architecture Sniffer","Architecture Sniffer" +"Architecture sniffer results","Architecture sniffer results" +Back,Back +"Check for violations","Check for violations" +"Composer dependencies","Composer dependencies" +"Composer dev only dependencies","Composer dev only dependencies" +"Core module","Core module" +Count,Count +"Declared in composer.json","Declared in composer.json" +"Declared in composer.json (dev)","Declared in composer.json (dev)" +Dependency,Dependency +"Dependency graphs of all core modules","Dependency graphs of all core modules" +detailed,detailed +"Dev only dependencies","Dev only dependencies" +Development,Development +"Display all architecture rules","Display all architecture rules" +"Download CSV","Download CSV" +"Found in src","Found in src" +"Found in test","Found in test" +From,From +in,in +"in src","in src" +"in tests","in tests" +Incoming,Incoming +"Incoming dependencies of the","Incoming dependencies of the" +"Indirect Incoming","Indirect Incoming" +"Indirect Outgoing","Indirect Outgoing" +"Indirect Stability","Indirect Stability" +"List all used plugins","List all used plugins" +module,module +Module,module +"Module name","Module name" +"Module overview","Module overview" +Namespace,Namespace +"No architecture violations detected","No architecture violations detected" +"No plugins used in this Module","No plugins used in this Module" +out,out +Outgoing,Outgoing +"Outgoing dependencies of the","Outgoing dependencies of the" +"Plugins used in Projects DependencyProvider","Plugins used in Projects DependencyProvider" +Priority:,Priority: +"Project module","Project module" +Reload,Reload +require,require +require-dev,require-dev +"show all used plugins","show all used plugins" +"Simple Dependency Graph","Simple Dependency Graph" +"Spryker Stability","Spryker Stability" +Stability,Stability +Stability,Stability +"Stability is calculated by ""incoming dependencies / ( incoming dependencies + outgoing dependencies )"" the result will be between 0 (stable) and 1 (unstable)","Stability is calculated by ""incoming dependencies / ( incoming dependencies + outgoing dependencies )"" the result will be between 0 (stable) and 1 (unstable)" +"Stability of all core modules","Stability of all core modules" +"Suggested dependencies","Suggested dependencies" +SUM,SUM +To,To +"Used Plugins","Used Plugins" +"You must specify a bundle for which the graph should be build","You must specify a bundle for which the graph should be build" "You need to run ""vendor/bin/console dev:dependency:build-tree"" to calculate stability for all bundles.","You need to run ""vendor/bin/console dev:dependency:build-tree"" to calculate stability for all bundles." From 10ba39db05158ce222fee9c410cfd37fa3f09af5 Mon Sep 17 00:00:00 2001 From: Spryker CI Date: Tue, 7 May 2019 12:43:45 +0000 Subject: [PATCH 002/336] Update Zed translations --- data/translation/Zed/de_DE.csv | 3 +-- data/translation/Zed/en_US.csv | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/data/translation/Zed/de_DE.csv b/data/translation/Zed/de_DE.csv index a86bd1aa..dbd1b442 100644 --- a/data/translation/Zed/de_DE.csv +++ b/data/translation/Zed/de_DE.csv @@ -30,8 +30,8 @@ Incoming,Incoming "Indirect Outgoing","Indirect Outgoing" "Indirect Stability","Indirect Stability" "List all used plugins","Alle verwendeten Plug-ins auflisten" -module,Modul Module,Modul +module,Modul "Module name",Modulname "Module overview",Modulübersicht Namespace,Namespace @@ -50,7 +50,6 @@ require-dev,require-dev "Simple Dependency Graph","Simple Dependency-Graph" "Spryker Stability","Spryker Stabilität" Stability,Stabilität -Stability,Stabilität "Stability is calculated by ""incoming dependencies / ( incoming dependencies + outgoing dependencies )"" the result will be between 0 (stable) and 1 (unstable)","Stability is calculated by ""incoming dependencies / ( incoming dependencies + outgoing dependencies )"" the result will be between 0 (stable) and 1 (unstable)" "Stability of all core modules","Stabilität aller Kernmodule" "Suggested dependencies","Empfohlene Abhängigkeiten" diff --git a/data/translation/Zed/en_US.csv b/data/translation/Zed/en_US.csv index 3d3a5294..9bfb2d42 100644 --- a/data/translation/Zed/en_US.csv +++ b/data/translation/Zed/en_US.csv @@ -30,8 +30,8 @@ Incoming,Incoming "Indirect Outgoing","Indirect Outgoing" "Indirect Stability","Indirect Stability" "List all used plugins","List all used plugins" -module,module Module,module +module,module "Module name","Module name" "Module overview","Module overview" Namespace,Namespace @@ -50,7 +50,6 @@ require-dev,require-dev "Simple Dependency Graph","Simple Dependency Graph" "Spryker Stability","Spryker Stability" Stability,Stability -Stability,Stability "Stability is calculated by ""incoming dependencies / ( incoming dependencies + outgoing dependencies )"" the result will be between 0 (stable) and 1 (unstable)","Stability is calculated by ""incoming dependencies / ( incoming dependencies + outgoing dependencies )"" the result will be between 0 (stable) and 1 (unstable)" "Stability of all core modules","Stability of all core modules" "Suggested dependencies","Suggested dependencies" From 196b31277b7103ac4002bf4fbea75907fbc95921 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Wed, 15 May 2019 09:35:45 +0200 Subject: [PATCH 003/336] TE-3361 Add empty before each return expression (#5206) * TE-3361 Added an empty line before each return expression. --- .../Business/ArchitectureSniffer/AllBundleFinder.php | 4 ++++ .../Business/ArchitectureSniffer/ArchitectureSniffer.php | 5 +++++ .../Business/CodeBuilder/Bridge/BridgeBuilder.php | 3 +++ .../Development/Business/Composer/ComposerJsonUpdater.php | 1 + .../Business/Composer/Updater/AutoloadUpdater.php | 1 + .../Business/DependencyTree/FileInfoExtractor.php | 1 + .../Zed/Development/Business/Phpstan/PhpstanRunner.php | 1 + src/Spryker/Zed/Development/DevelopmentConfig.php | 1 + 8 files changed, 17 insertions(+) diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php index 54087e51..1497126b 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php @@ -104,6 +104,7 @@ protected function loadProjectBundles(array $allBundles) $path = APPLICATION_SOURCE_DIR . '/' . $projectNamespace . '/*'; $allBundles = $this->findBundles($path, $projectNamespace, $allBundles); } + return $allBundles; } @@ -117,6 +118,7 @@ protected function loadCoreDevelopmentBundles(array $allBundles) $path = APPLICATION_VENDOR_DIR . '/spryker/spryker/Bundles/*/src/Spryker/*'; $namespace = 'Spryker'; $allBundles = $this->findBundles($path, $namespace, $allBundles); + return $allBundles; } @@ -134,6 +136,7 @@ protected function loadOtherCoreBundles(array $allBundles) $path = APPLICATION_VENDOR_DIR . '/' . $namespaceDir . '/*/src/*/*'; $allBundles = $this->findBundles($path, $coreNamespace, $allBundles); } + return $allBundles; } @@ -148,6 +151,7 @@ protected function addApplication(array $allBundles) $expl = explode('/', $bundleData['directory']); $allBundles[$i]['application'] = $expl[count($expl) - 2]; } + return $allBundles; } } diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php index 50f14cef..e5f6da87 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php @@ -168,6 +168,7 @@ protected function runCommand($directory, array $options = []) } $output = $p->getOutput(); + return $output; } @@ -228,6 +229,7 @@ protected function formatMultiFileResults(array $results, array $fileViolations) } } } + return $fileViolations; } @@ -242,12 +244,15 @@ protected function formatSingleFileResults(array $results, array $fileViolations if (array_key_exists('violation', $results['file'])) { if (array_key_exists('_', $results['file']['violation'])) { $fileViolations[$results['file']['name']][] = $results['file']['violation']; + return $fileViolations; } else { $fileViolations[$results['file']['name']] = $results['file']['violation']; + return $fileViolations; } } + return $fileViolations; } diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php b/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php index ba966ced..733563f1 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php @@ -621,6 +621,7 @@ protected function getParameters(ReflectionMethod $method): string protected function getClassNameFromFqcn($fqcn): string { $arr = explode('\\', $fqcn); + return end($arr); } @@ -702,6 +703,7 @@ protected function getMethodTypeHintForFunction(string $methodReturnType) if ($numberOfReturnParts === 1) { if (strpos($methodReturnType, '\\') !== false) { $methodTypeHintArray = explode('\\', $methodReturnType); + return [ static::TYPE_HINT => static::NON_NULLABLE_RETURN_TYPE_HINT . end($methodTypeHintArray), static::FQCN => ltrim($methodReturnType, '\\'), @@ -729,6 +731,7 @@ protected function getMethodTypeHintForFunction(string $methodReturnType) if (strpos($methodTypeHint, '\\') !== false) { $methodTypeHintArray = explode('\\', $methodTypeHint); + return [ static::TYPE_HINT => static::NULLABLE_RETURN_TYPE_HINT . end($methodTypeHintArray), static::FQCN => ltrim($methodTypeHint, '\\'), diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php index 03ef828b..6b86db6f 100644 --- a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php @@ -151,6 +151,7 @@ protected function order(array $composerJson) if ($keyA === $keyB) { return 0; } + return $keyA > $keyB; }; diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php index 1c33c4a7..6ff9f365 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php @@ -223,6 +223,7 @@ protected function getNonEmptyDirectoriesWithHelpers($directory) protected function getLastPartOfPath($path) { $pathArray = explode(DIRECTORY_SEPARATOR, rtrim($path, DIRECTORY_SEPARATOR)); + return end($pathArray); } diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/FileInfoExtractor.php b/src/Spryker/Zed/Development/Business/DependencyTree/FileInfoExtractor.php index 240cc414..291e1df6 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/FileInfoExtractor.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/FileInfoExtractor.php @@ -102,6 +102,7 @@ private function getClassNameParts(SplFileInfo $fileInfo) if (array_search('_support', $pathParts)) { return ['Spryker', 'tests', $pathParts[$testsDirectoryPosition - 1], '_support']; } + return array_slice($pathParts, $testsDirectoryPosition + 2); } diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index 951ff1f3..980ffd7b 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -151,6 +151,7 @@ protected function runCommand($path, $configFilePath, InputInterface $input, Out if ($input->getOption(static::OPTION_DRY_RUN)) { $output->writeln($command); + return static::CODE_SUCCESS; } diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index d6da3f4b..425e916e 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -437,6 +437,7 @@ public function getArchitectureSnifferCommand() public function getArchitectureSnifferRuleset() { $vendorDir = APPLICATION_VENDOR_DIR . DIRECTORY_SEPARATOR; + return $vendorDir . 'spryker/architecture-sniffer/src/ruleset.xml'; } From 59b10c44091be9cd1ec1e49fb8e1022915f21335 Mon Sep 17 00:00:00 2001 From: Brian Graham Date: Fri, 17 May 2019 10:56:53 +0200 Subject: [PATCH 004/336] TE-3572: Annotations were incorrect --- .../Dependency/SchemaParser/PropelSchemaParser.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php b/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php index 7108a0ee..eaa7d8ea 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php +++ b/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php @@ -134,7 +134,8 @@ protected function buildUniqueFieldToModuleNameMap(): array $module = $this->getModuleNameFromFile($splFileInfo); $uniqueColumnNames = $this->getUniqueColumnNames($splFileInfo); $requiredColumnNames = $this->getRequiredColumnNames($splFileInfo); - $uniqueFieldToModuleNameMap = $this->addUniqueColumnNames($uniqueFieldToModuleNameMap, $requiredColumnNames, $uniqueColumnNames, $module); + $uniqueFieldToModuleNameMap = $this-> + ($uniqueFieldToModuleNameMap, $requiredColumnNames, $uniqueColumnNames, $module); } return $uniqueFieldToModuleNameMap; @@ -271,8 +272,8 @@ protected function addIdColumnNames(array $idFieldToModuleNameMap, array $idColu /** * @param array $uniqueFieldToModuleNameMap - * @param array $requiredColumnNames - * @param array $uniqueColumnNames + * @param string[] $requiredColumnNames + * @param string[] $uniqueColumnNames * @param string $module * * @throws \Spryker\Zed\Development\Business\Exception\Dependency\PropelSchemaParserException From 27086fedaefefc03ba2ea977f6dd5759bae1251e Mon Sep 17 00:00:00 2001 From: Brian Graham Date: Fri, 17 May 2019 10:58:14 +0200 Subject: [PATCH 005/336] Update PropelSchemaParser.php --- .../Business/Dependency/SchemaParser/PropelSchemaParser.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php b/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php index eaa7d8ea..bf67ec6b 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php +++ b/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php @@ -134,8 +134,7 @@ protected function buildUniqueFieldToModuleNameMap(): array $module = $this->getModuleNameFromFile($splFileInfo); $uniqueColumnNames = $this->getUniqueColumnNames($splFileInfo); $requiredColumnNames = $this->getRequiredColumnNames($splFileInfo); - $uniqueFieldToModuleNameMap = $this-> - ($uniqueFieldToModuleNameMap, $requiredColumnNames, $uniqueColumnNames, $module); + $uniqueFieldToModuleNameMap = $this->addUniqueColumnNames($uniqueFieldToModuleNameMap, $requiredColumnNames, $uniqueColumnNames, $module); } return $uniqueFieldToModuleNameMap; From 696dbe1b57c6c43d1be41283190eaaed864d6746 Mon Sep 17 00:00:00 2001 From: Filip Sushko Date: Thu, 30 May 2019 10:39:23 +0300 Subject: [PATCH 006/336] SC-988: Implemented code:sniff:all command for CI --- .../Console/CodeAllSnifferConsole.php | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 src/Spryker/Zed/Development/Communication/Console/CodeAllSnifferConsole.php diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeAllSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeAllSnifferConsole.php new file mode 100644 index 00000000..5a221433 --- /dev/null +++ b/src/Spryker/Zed/Development/Communication/Console/CodeAllSnifferConsole.php @@ -0,0 +1,85 @@ +setName(static::COMMAND_NAME) + ->setDescription('Run checks for validation code base.'); + } + + /** + * @param \Symfony\Component\Console\Input\InputInterface $input + * @param \Symfony\Component\Console\Output\OutputInterface $output + * + * @return int|null + */ + protected function execute(InputInterface $input, OutputInterface $output) + { + foreach ($this->getProcessCollection() as $process) { + $exitCode = $process->run(function ($type, $buffer) { + echo $buffer; + }); + + if ($exitCode > 0) { + return $exitCode; + } + } + + return 0; + } + + /** + * @return \Symfony\Component\Process\Process[] + */ + protected function getProcessCollection(): array + { + return [ + $this->createProcess('vendor/bin/console dev:ide:generate-auto-completion'), + $this->createProcess('vendor/bin/phpstan analyze -c phpstan.neon src/ -l 4'), + $this->createProcess('vendor/bin/console propel:schema:validate'), + $this->createProcess('vendor/bin/console propel:schema:validate-xml-names'), + $this->createProcess('vendor/bin/console transfer:validate'), + $this->createProcess('vendor/bin/console code:sniff:style'), + $this->createProcess('vendor/bin/phpmd src/ text vendor/spryker/architecture-sniffer/src/ruleset.xml --minimumpriority 2'), + ]; + } + + /** + * @param string $string + * + * @return \Symfony\Component\Process\Process + */ + protected function createProcess(string $string): Process + { + return new Process( + $string, + null, + null, + 4800, + 0 + ); + } +} From 32a1204c7acdb1cc7d4deb6011394b5f5fa1f4f1 Mon Sep 17 00:00:00 2001 From: Filip Sushko Date: Thu, 30 May 2019 10:42:12 +0300 Subject: [PATCH 007/336] SC-988: updated argument name --- .../Communication/Console/CodeAllSnifferConsole.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeAllSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeAllSnifferConsole.php index 5a221433..339fed2a 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeAllSnifferConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeAllSnifferConsole.php @@ -68,14 +68,14 @@ protected function getProcessCollection(): array } /** - * @param string $string + * @param string $command * * @return \Symfony\Component\Process\Process */ - protected function createProcess(string $string): Process + protected function createProcess(string $command): Process { return new Process( - $string, + $command, null, null, 4800, From 3b9cf8f45f60376dabae7b65f34140e0d0284863 Mon Sep 17 00:00:00 2001 From: Oleh Hladchenko Date: Thu, 30 May 2019 12:10:57 +0300 Subject: [PATCH 008/336] TE-3660 Fixed ModuleAnnotationDependencyFinder to handle module annotations. --- .../DependencyFinder/ModuleAnnotationDependencyFinder.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ModuleAnnotationDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ModuleAnnotationDependencyFinder.php index 62ea8fa7..22a70c65 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ModuleAnnotationDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ModuleAnnotationDependencyFinder.php @@ -63,12 +63,13 @@ public function accept(DependencyFinderContextInterface $context): bool */ protected function isAcceptedFile(DependencyFinderContextInterface $context): bool { - $isAccepted = false; foreach ($this->acceptedFileNames as $fileName) { - $isAccepted = substr($context->getFileInfo()->getFilename(), - strlen($fileName)) === $fileName; + if (substr($context->getFileInfo()->getFilename(), - strlen($fileName)) === $fileName) { + return true; + } } - return $isAccepted; + return false; } /** From 47787bca4dddb6ded40c1a468a664d6e32b894fe Mon Sep 17 00:00:00 2001 From: Filip Sushko Date: Thu, 30 May 2019 16:13:53 +0300 Subject: [PATCH 009/336] SC-988: added test type argument --- .../Development/DevelopmentConstants.php | 3 + .../Business/CodeTest/CodeTester.php | 64 +++++---- .../Builder/CodeceptionArgumentsBuilder.php | 126 ++++++++++++++++++ .../CodeceptionArgumentsBuilderInterface.php | 20 +++ .../Argument/CodeceptionArguments.php | 57 ++++++++ .../Business/DevelopmentBusinessFactory.php | 17 ++- .../Communication/Console/CodeTestConsole.php | 91 ++++++++++++- .../Zed/Development/DevelopmentConfig.php | 8 ++ 8 files changed, 354 insertions(+), 32 deletions(-) create mode 100644 src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php create mode 100644 src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilderInterface.php create mode 100644 src/Spryker/Zed/Development/Business/Codeception/Argument/CodeceptionArguments.php diff --git a/src/Spryker/Shared/Development/DevelopmentConstants.php b/src/Spryker/Shared/Development/DevelopmentConstants.php index cab1da5d..6cf0ff12 100644 --- a/src/Spryker/Shared/Development/DevelopmentConstants.php +++ b/src/Spryker/Shared/Development/DevelopmentConstants.php @@ -33,4 +33,7 @@ interface DevelopmentConstants * @api */ public const DIRECTORY_PERMISSION = 'DEVELOPMENT:DIRECTORY_PERMISSION'; + + public const TYPE_TEST_ACCEPTANCE = 'acceptance'; + public const TYPE_TEST_FUNCTIONAL = 'functional'; } diff --git a/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php b/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php index e006ea9f..a08f1345 100644 --- a/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php +++ b/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php @@ -8,6 +8,7 @@ namespace Spryker\Zed\Development\Business\CodeTest; use ErrorException; +use Spryker\Zed\Development\Business\Codeception\Argument\Builder\CodeceptionArgumentsBuilderInterface; use Symfony\Component\Process\Process; use Zend\Filter\Word\UnderscoreToCamelCase; @@ -31,14 +32,24 @@ class CodeTester */ protected $pathToBundles; + /** + * @var \Spryker\Zed\Development\Business\Codeception\Argument\Builder\CodeceptionArgumentsBuilderInterface + */ + protected $argumentBuilder; + /** * @param string $applicationRoot * @param string $pathToBundles + * @param \Spryker\Zed\Development\Business\Codeception\Argument\Builder\CodeceptionArgumentsBuilderInterface $argumentBuilder */ - public function __construct($applicationRoot, $pathToBundles) - { + public function __construct( + string $applicationRoot, + string $pathToBundles, + CodeceptionArgumentsBuilderInterface $argumentBuilder + ) { $this->applicationRoot = $applicationRoot; $this->pathToBundles = $pathToBundles; + $this->argumentBuilder = $argumentBuilder; } /** @@ -111,41 +122,38 @@ protected function getPathToBundle($bundle) */ protected function runTestCommand($path, array $options) { - $pathToFiles = rtrim($path, DIRECTORY_SEPARATOR); - $config = ''; - - if ($pathToFiles) { - $config .= ' -c ' . $pathToFiles; - } - - if ($options[static::OPTION_GROUP]) { - $config .= ' -g ' . $options[static::OPTION_GROUP]; - } - - if ($options[static::OPTION_TYPE_EXCLUDE]) { - $config .= ' -x ' . $options[static::OPTION_TYPE_EXCLUDE]; - } - - if ($options[static::OPTION_VERBOSE]) { - $config .= ' -v'; - } + $commandArguments = $this->argumentBuilder + ->build($options) + ->asString(); if ($options[static::OPTION_INITIALIZE]) { - $command = 'vendor/bin/codecept build'; - $process = new Process($command, $this->applicationRoot, null, null, 4800); - $process->run(function ($type, $buffer) use ($options) { - if ($options[static::OPTION_VERBOSE]) { - echo $buffer; - } - }); + $this->initializeTestCommand($options); + echo 'Test classes generated.'; } - $command = 'vendor/bin/codecept run' . $config; + $command = 'vendor/bin/codecept run' . $commandArguments; $process = new Process($command, $this->applicationRoot, null, null, 4800); $process->run(function ($type, $buffer) { echo $buffer; }); } + + /** + * @param array $options + * + * @return void + */ + protected function initializeTestCommand(array $options): void + { + $command = 'vendor/bin/codecept build'; + + $process = new Process($command, $this->applicationRoot, null, null, 4800); + $process->run(function ($type, $buffer) use ($options) { + if ($options[static::OPTION_VERBOSE]) { + echo $buffer; + } + }); + } } diff --git a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php new file mode 100644 index 00000000..847f3e21 --- /dev/null +++ b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php @@ -0,0 +1,126 @@ +codeceptionConfigurationFiles = $codeceptionConfigurationFiles; + } + + /** + * @param array $options + * + * @return \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments + */ + public function build(array $options): CodeceptionArguments + { + $codeceptionArguments = new CodeceptionArguments(); + + $codeceptionArguments = $this->buildConfigPath($codeceptionArguments, $options); + $codeceptionArguments = $this->buildIncludeGroups($codeceptionArguments, $options); + $codeceptionArguments = $this->buildExcludeGroups($codeceptionArguments, $options); + $codeceptionArguments = $this->buildVerboseMode($codeceptionArguments, $options); + + return $codeceptionArguments; + } + + /** + * @param \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments $codeceptionArguments + * @param array $options + * + * @return \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments + */ + protected function buildConfigPath(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments + { + if (!array_key_exists(static::ARGUMENT_TYPE, $options)) { + return $codeceptionArguments; + } + + $testType = $options[static::ARGUMENT_TYPE]; + + if (!array_key_exists($testType, $this->codeceptionConfigurationFiles)) { + return $codeceptionArguments; + } + + $filePath = $this->codeceptionConfigurationFiles[$testType]; + + if ($filePath[0] !== DIRECTORY_SEPARATOR) { + $filePath = APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . $filePath; + } + + return $codeceptionArguments->addArgument('-c', [$filePath]); + } + + /** + * @param \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments $codeceptionArguments + * @param array $options + * + * @return \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments + */ + protected function buildIncludeGroups(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments + { + if ($options[static::OPTION_GROUP_INCLUDE]) { + $codeceptionArguments->addArgument( + '-g', + explode(',', $options[static::OPTION_GROUP_INCLUDE]) + ); + } + + return $codeceptionArguments; + } + + /** + * @param \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments $codeceptionArguments + * @param array $options + * + * @return \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments + */ + protected function buildExcludeGroups(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments + { + if ($options[static::OPTION_GROUP_EXCLUDE]) { + $codeceptionArguments->addArgument( + '-x', + explode(',', $options[static::OPTION_GROUP_EXCLUDE]) + ); + } + + return $codeceptionArguments; + } + + /** + * @param \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments $codeceptionArguments + * @param array $options + * + * @return \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments + */ + protected function buildVerboseMode(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments + { + if (!(bool)$options[static::OPTION_VERBOSE]) { + return $codeceptionArguments; + } + + return $codeceptionArguments->addArgument('-v'); + } +} diff --git a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilderInterface.php b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilderInterface.php new file mode 100644 index 00000000..09d392e2 --- /dev/null +++ b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilderInterface.php @@ -0,0 +1,20 @@ +arguments[] = $argumentName; + + return $this; + } + + foreach ($argumentValue as $value) { + $this->arguments[] = $argumentName . ' ' . $value; + } + + return $this; + } + + /** + * @return array + */ + public function getArguments(): array + { + return $this->arguments; + } + + /** + * @return string + */ + public function asString(): string + { + if (empty($this->arguments)) { + return ''; + } + + return ' ' . implode(' ', $this->arguments); + } +} diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index abcaa74f..924b3474 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -13,6 +13,8 @@ use Spryker\Zed\Development\Business\ArchitectureSniffer\ArchitectureSnifferInterface; use Spryker\Zed\Development\Business\CodeBuilder\Bridge\BridgeBuilder; use Spryker\Zed\Development\Business\CodeBuilder\Module\ModuleBuilder; +use Spryker\Zed\Development\Business\Codeception\Argument\Builder\CodeceptionArgumentsBuilder; +use Spryker\Zed\Development\Business\Codeception\Argument\Builder\CodeceptionArgumentsBuilderInterface; use Spryker\Zed\Development\Business\CodeStyleSniffer\CodeStyleSniffer; use Spryker\Zed\Development\Business\CodeStyleSniffer\Config\CodeStyleSnifferConfiguration; use Spryker\Zed\Development\Business\CodeStyleSniffer\Config\CodeStyleSnifferConfigurationInterface; @@ -223,7 +225,10 @@ public function createCodeTester() { return new CodeTester( $this->getConfig()->getPathToRoot(), - $this->getConfig()->getPathToCore() + $this->getConfig()->getPathToCore(), + $this->createConfigArgumentCollectionBuilder( + $this->getConfig()->getCodeceptionConfigurationFiles() + ) ); } @@ -1950,4 +1955,14 @@ protected function getConfigLoader(): Loader { return $this->getProvidedDependency(DevelopmentDependencyProvider::CONFIG_LOADER); } + + /** + * @param array $codeceptionConfigurationFiles + * + * @return \Spryker\Zed\Development\Business\Codeception\Argument\Builder\CodeceptionArgumentsBuilderInterface + */ + public function createConfigArgumentCollectionBuilder(array $codeceptionConfigurationFiles): CodeceptionArgumentsBuilderInterface + { + return new CodeceptionArgumentsBuilder($codeceptionConfigurationFiles); + } } diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php index c7e3bf98..d17e10e3 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php @@ -8,6 +8,7 @@ namespace Spryker\Zed\Development\Communication\Console; use Spryker\Zed\Kernel\Communication\Console\Console; +use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; @@ -24,6 +25,7 @@ class CodeTestConsole extends Console public const OPTION_INITIALIZE = 'initialize'; public const OPTION_GROUP = 'group'; public const OPTION_TYPE_EXCLUDE = 'exclude'; + public const ARGUMENT_TYPE = 'type'; /** * @return void @@ -32,15 +34,18 @@ protected function configure() { parent::configure(); + $testType = $this->getTestTypeByCommandName(); $this - ->setName(static::COMMAND_NAME) + ->setName($this->buildCommandName($testType)) ->setHelp('' . static::COMMAND_NAME . ' -h') - ->setDescription('Run codecept tests for project or core'); + ->setDescription($this->buildCommandDescription($testType)); $this->addOption(static::OPTION_MODULE, 'm', InputOption::VALUE_OPTIONAL, 'Name of core module to run tests for (or "all")'); $this->addOption(static::OPTION_GROUP, 'g', InputOption::VALUE_OPTIONAL, 'Groups of tests to be executed (multiple values allowed, comma separated)'); $this->addOption(static::OPTION_TYPE_EXCLUDE, 'x', InputOption::VALUE_OPTIONAL, 'Types of tests to be skipped (e.g. Presentation; multiple values allowed, comma separated)'); $this->addOption(static::OPTION_INITIALIZE, 'i', InputOption::VALUE_NONE, 'Initialize test suite by (re)generating required test classes'); + + $this->addTestTypeArgument($testType); } /** @@ -64,6 +69,86 @@ public function execute(InputInterface $input, OutputInterface $output) $this->warning('Make sure you ran `codecept build` already.'); } - $this->getFacade()->runTest($module, $this->input->getOptions()); + $this->getFacade()->runTest( + $module, + $this->buildTestConfig($input) + ); + } + + /** + * @return string|null + */ + protected function getTestTypeByCommandName(): ?string + { + $commandName = $this->getName(); + + if ($commandName === static::COMMAND_NAME) { + return null; + } + + $commandNameParts = explode(':', $commandName); + + return array_pop($commandNameParts); + } + + /** + * @param \Symfony\Component\Console\Input\InputInterface $input + * + * @return array + */ + protected function buildTestConfig(InputInterface $input): array + { + $options = $input->getOptions(); + $testType = $this->getTestTypeByCommandName(); + + if ($input->hasArgument(static::ARGUMENT_TYPE)) { + $testType = $input->getArgument(static::ARGUMENT_TYPE) ?? $testType; + } + + if ($testType !== null) { + $options[static::ARGUMENT_TYPE] = $testType; + } + + return $options; + } + + /** + * @param string|null $testType + * + * @return string + */ + protected function buildCommandName(?string $testType): string + { + return $testType + ? static::COMMAND_NAME . ':' . $testType + : static::COMMAND_NAME; + } + + /** + * @param string|null $testType + * + * @return void + */ + protected function addTestTypeArgument(?string $testType): void + { + if ($testType) { + return; + } + + $this->addArgument(self::ARGUMENT_TYPE, InputArgument::OPTIONAL); + } + + /** + * @param string|null $testType + * + * @return string + */ + protected function buildCommandDescription(?string $testType): string + { + if (!$testType) { + return 'Run codecept tests for project or core'; + } + + return sprintf('Run codecept %s tests for project or core', $testType); } } diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 425e916e..f1c24e71 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -557,4 +557,12 @@ public function getInternalPackageDirectories(): array { return static::INTERNAL_PACKAGE_DIRECTORIES; } + + /** + * @return array + */ + public function getCodeceptionConfigurationFiles(): array + { + return []; + } } From 6251e6f184d6a1e5566a5567b0b0c7a4677a3072 Mon Sep 17 00:00:00 2001 From: Filip Sushko Date: Tue, 4 Jun 2019 11:03:36 +0300 Subject: [PATCH 010/336] SC-988: Implemented inclusive filter --- .../Builder/CodeceptionArgumentsBuilder.php | 71 ++++++++++++++++++- .../Business/DevelopmentBusinessFactory.php | 10 ++- .../Zed/Development/DevelopmentConfig.php | 12 ++++ 3 files changed, 89 insertions(+), 4 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php index 847f3e21..60c54213 100644 --- a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php +++ b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php @@ -8,6 +8,7 @@ namespace Spryker\Zed\Development\Business\Codeception\Argument\Builder; use Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments; +use SprykerTest\Shared\Testify\Helper\SuiteFilterHelper; class CodeceptionArgumentsBuilder implements CodeceptionArgumentsBuilderInterface { @@ -15,6 +16,7 @@ class CodeceptionArgumentsBuilder implements CodeceptionArgumentsBuilderInterfac protected const OPTION_GROUP_INCLUDE = 'group'; protected const OPTION_GROUP_EXCLUDE = 'exclude'; protected const OPTION_VERBOSE = 'verbose'; + protected const OPTION_MODULE = 'module'; /** * @var string[] @@ -22,10 +24,17 @@ class CodeceptionArgumentsBuilder implements CodeceptionArgumentsBuilderInterfac protected $codeceptionConfigurationFiles; /** + * @var string[] + */ + protected $defaultInclusiveTestGroups; + + /** + * @param array $defaultInclusiveTestGroups * @param array $codeceptionConfigurationFiles */ - public function __construct(array $codeceptionConfigurationFiles) + public function __construct(array $defaultInclusiveTestGroups, array $codeceptionConfigurationFiles) { + $this->defaultInclusiveTestGroups = $defaultInclusiveTestGroups; $this->codeceptionConfigurationFiles = $codeceptionConfigurationFiles; } @@ -39,6 +48,7 @@ public function build(array $options): CodeceptionArguments $codeceptionArguments = new CodeceptionArguments(); $codeceptionArguments = $this->buildConfigPath($codeceptionArguments, $options); + $codeceptionArguments = $this->buildInclusiveGroups($codeceptionArguments, $options); $codeceptionArguments = $this->buildIncludeGroups($codeceptionArguments, $options); $codeceptionArguments = $this->buildExcludeGroups($codeceptionArguments, $options); $codeceptionArguments = $this->buildVerboseMode($codeceptionArguments, $options); @@ -123,4 +133,63 @@ protected function buildVerboseMode(CodeceptionArguments $codeceptionArguments, return $codeceptionArguments->addArgument('-v'); } + + /** + * @param \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments $codeceptionArguments + * @param array $options + * + * @return \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments + */ + protected function buildInclusiveGroups(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments + { + if (!$options[static::OPTION_MODULE]) { + return $codeceptionArguments; + } + + $codeceptionArguments = $this->enableSuiteFilterExtension($codeceptionArguments); + $codeceptionArguments = $this->buildInlineExtensionConfig($codeceptionArguments, $options); + + return $codeceptionArguments; + } + + /** + * @param \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments $codeceptionArguments + * + * @return \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments + */ + protected function enableSuiteFilterExtension(CodeceptionArguments $codeceptionArguments): CodeceptionArguments + { + return $codeceptionArguments->addArgument( + '--ext', + ['\\\\' . str_replace('\\', '\\\\', SuiteFilterHelper::class)] + ); + } + + /** + * @param \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments $codeceptionArguments + * @param array $options + * + * @return \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments + */ + protected function buildInlineExtensionConfig(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments + { + $extensionInlineConfigTemplate = '"extensions: config: %s: inclusive: [%s]"'; + + $inclusiveGroups = $this->defaultInclusiveTestGroups; + $inclusiveGroups[] = $options[static::OPTION_MODULE]; + + $suiteFilterHelperClassName = '\\' . SuiteFilterHelper::class; + $inclusiveGroupsAsString = implode(',', $inclusiveGroups); + + $extensionInlineConfig = sprintf( + $extensionInlineConfigTemplate, + $suiteFilterHelperClassName, + $inclusiveGroupsAsString + ); + + return $codeceptionArguments->addArgument( + '-o', + [$extensionInlineConfig] + ); + } } diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index 924b3474..e8ce2627 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -227,6 +227,7 @@ public function createCodeTester() $this->getConfig()->getPathToRoot(), $this->getConfig()->getPathToCore(), $this->createConfigArgumentCollectionBuilder( + $this->getConfig()->getDefaultInclusiveTestGroups(), $this->getConfig()->getCodeceptionConfigurationFiles() ) ); @@ -1957,12 +1958,15 @@ protected function getConfigLoader(): Loader } /** + * @param array $defaultIncludeTestGroups * @param array $codeceptionConfigurationFiles * * @return \Spryker\Zed\Development\Business\Codeception\Argument\Builder\CodeceptionArgumentsBuilderInterface */ - public function createConfigArgumentCollectionBuilder(array $codeceptionConfigurationFiles): CodeceptionArgumentsBuilderInterface - { - return new CodeceptionArgumentsBuilder($codeceptionConfigurationFiles); + public function createConfigArgumentCollectionBuilder( + array $defaultIncludeTestGroups, + array $codeceptionConfigurationFiles + ): CodeceptionArgumentsBuilderInterface { + return new CodeceptionArgumentsBuilder($defaultIncludeTestGroups, $codeceptionConfigurationFiles); } } diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index f1c24e71..51aa3f28 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -24,6 +24,8 @@ class DevelopmentConfig extends AbstractBundleConfig protected const NAMESPACE_SPRYKER_SDK = 'SprykerSdk'; protected const NAMESPACE_SPRYKER_MERCHANT_PORTAL = 'SprykerMerchantPortal'; + protected const GROUP_SPRYKER_TEST = 'SprykerTest'; + public const APPLICATION_NAMESPACES = [ 'Orm', ]; @@ -565,4 +567,14 @@ public function getCodeceptionConfigurationFiles(): array { return []; } + + /** + * @return array + */ + public function getDefaultInclusiveTestGroups(): array + { + return [ + static::GROUP_SPRYKER_TEST, + ]; + } } From d85329fc1691610337c76d843361e7639cdf8e39 Mon Sep 17 00:00:00 2001 From: Filip Sushko Date: Tue, 4 Jun 2019 14:00:46 +0300 Subject: [PATCH 011/336] SC-776: deleted code:sniff:all command. Moved all command into recipe for vendor/bin/install script --- .../Console/CodeAllSnifferConsole.php | 85 ------------------- 1 file changed, 85 deletions(-) delete mode 100644 src/Spryker/Zed/Development/Communication/Console/CodeAllSnifferConsole.php diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeAllSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeAllSnifferConsole.php deleted file mode 100644 index 339fed2a..00000000 --- a/src/Spryker/Zed/Development/Communication/Console/CodeAllSnifferConsole.php +++ /dev/null @@ -1,85 +0,0 @@ -setName(static::COMMAND_NAME) - ->setDescription('Run checks for validation code base.'); - } - - /** - * @param \Symfony\Component\Console\Input\InputInterface $input - * @param \Symfony\Component\Console\Output\OutputInterface $output - * - * @return int|null - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - foreach ($this->getProcessCollection() as $process) { - $exitCode = $process->run(function ($type, $buffer) { - echo $buffer; - }); - - if ($exitCode > 0) { - return $exitCode; - } - } - - return 0; - } - - /** - * @return \Symfony\Component\Process\Process[] - */ - protected function getProcessCollection(): array - { - return [ - $this->createProcess('vendor/bin/console dev:ide:generate-auto-completion'), - $this->createProcess('vendor/bin/phpstan analyze -c phpstan.neon src/ -l 4'), - $this->createProcess('vendor/bin/console propel:schema:validate'), - $this->createProcess('vendor/bin/console propel:schema:validate-xml-names'), - $this->createProcess('vendor/bin/console transfer:validate'), - $this->createProcess('vendor/bin/console code:sniff:style'), - $this->createProcess('vendor/bin/phpmd src/ text vendor/spryker/architecture-sniffer/src/ruleset.xml --minimumpriority 2'), - ]; - } - - /** - * @param string $command - * - * @return \Symfony\Component\Process\Process - */ - protected function createProcess(string $command): Process - { - return new Process( - $command, - null, - null, - 4800, - 0 - ); - } -} From 2114af25ee804b35b758830a682a9ec325fcf7ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Tue, 4 Jun 2019 11:23:28 +0000 Subject: [PATCH 012/336] TE-3458 Deprecated code, use ModuleFinderFacade. --- composer.json | 1 + .../BehaviorDependencyFinder.php | 14 ++--- .../ExtensionDependencyFinder.php | 14 ++--- .../Business/DevelopmentBusinessFactory.php | 25 +++++++-- .../Business/DevelopmentFacade.php | 6 +++ .../DependencyProviderUsedPluginFinder.php | 14 ++--- .../Module/ModuleFinder/ModuleFinder.php | 3 ++ .../ModuleFinder/ModuleFinderInterface.php | 3 ++ .../Module/ModuleMatcher/ModuleMatcher.php | 3 ++ .../ModuleMatcher/ModuleMatcherInterface.php | 3 ++ .../Business/Module/ModuleOverview.php | 24 +++------ .../ProjectModuleFinder.php | 3 ++ .../ProjectModuleFinderInterface.php | 3 ++ .../Package/PackageFinder/PackageFinder.php | 3 ++ .../PackageFinder/PackageFinderInterface.php | 3 ++ .../DevelopmentToModuleFinderFacadeBridge.php | 54 +++++++++++++++++++ ...velopmentToModuleFinderFacadeInterface.php | 32 +++++++++++ .../Zed/Development/DevelopmentConfig.php | 2 + .../DevelopmentDependencyProvider.php | 22 ++++++++ 19 files changed, 191 insertions(+), 41 deletions(-) create mode 100644 src/Spryker/Zed/Development/Dependency/Facade/DevelopmentToModuleFinderFacadeBridge.php create mode 100644 src/Spryker/Zed/Development/Dependency/Facade/DevelopmentToModuleFinderFacadeInterface.php diff --git a/composer.json b/composer.json index 372c5c8a..84af25eb 100644 --- a/composer.json +++ b/composer.json @@ -9,6 +9,7 @@ "spryker/config": "^3.0.0", "spryker/graph": "^3.0.0", "spryker/kernel": "^3.22.0", + "spryker/module-finder": "^1.0.0", "spryker/symfony": "^3.0.0", "spryker/twig": "^3.0.0", "spryker/zend": "^2.0.0" diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/BehaviorDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/BehaviorDependencyFinder.php index e938221e..7c35e567 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/BehaviorDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/BehaviorDependencyFinder.php @@ -9,7 +9,7 @@ use Spryker\Zed\Development\Business\Dependency\DependencyContainer\DependencyContainerInterface; use Spryker\Zed\Development\Business\Dependency\DependencyFinder\Context\DependencyFinderContextInterface; -use Spryker\Zed\Development\Business\Module\ModuleFinder\ModuleFinderInterface; +use Spryker\Zed\Development\Dependency\Facade\DevelopmentToModuleFinderFacadeInterface; use Zend\Filter\FilterChain; use Zend\Filter\Word\DashToCamelCase; @@ -23,16 +23,16 @@ class BehaviorDependencyFinder implements DependencyFinderInterface protected $filter; /** - * @var \Spryker\Zed\Development\Business\Module\ModuleFinder\ModuleFinderInterface + * @var \Spryker\Zed\Development\Dependency\Facade\DevelopmentToModuleFinderFacadeInterface */ - protected $moduleFinder; + protected $moduleFinderFacade; /** - * @param \Spryker\Zed\Development\Business\Module\ModuleFinder\ModuleFinderInterface $moduleFinder + * @param \Spryker\Zed\Development\Dependency\Facade\DevelopmentToModuleFinderFacadeInterface $moduleFinderFacade */ - public function __construct(ModuleFinderInterface $moduleFinder) + public function __construct(DevelopmentToModuleFinderFacadeInterface $moduleFinderFacade) { - $this->moduleFinder = $moduleFinder; + $this->moduleFinderFacade = $moduleFinderFacade; } /** @@ -113,7 +113,7 @@ protected function getFilter(): FilterChain */ protected function isModule(string $moduleName): bool { - $moduleTransferCollection = $this->moduleFinder->getModules(); + $moduleTransferCollection = $this->moduleFinderFacade->getModules(); return isset($moduleTransferCollection['Spryker.' . $moduleName]); } diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php index 2847457a..4aef9211 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php @@ -9,7 +9,7 @@ use Spryker\Zed\Development\Business\Dependency\DependencyContainer\DependencyContainerInterface; use Spryker\Zed\Development\Business\Dependency\DependencyFinder\Context\DependencyFinderContextInterface; -use Spryker\Zed\Development\Business\Module\ModuleFinder\ModuleFinderInterface; +use Spryker\Zed\Development\Dependency\Facade\DevelopmentToModuleFinderFacadeInterface; class ExtensionDependencyFinder extends AbstractFileDependencyFinder { @@ -21,16 +21,16 @@ class ExtensionDependencyFinder extends AbstractFileDependencyFinder protected $executedModules = []; /** - * @var \Spryker\Zed\Development\Business\Module\ModuleFinder\ModuleFinderInterface + * @var \Spryker\Zed\Development\Dependency\Facade\DevelopmentToModuleFinderFacadeInterface */ - protected $moduleFinder; + protected $moduleFinderFacade; /** - * @param \Spryker\Zed\Development\Business\Module\ModuleFinder\ModuleFinderInterface $moduleFinder + * @param \Spryker\Zed\Development\Dependency\Facade\DevelopmentToModuleFinderFacadeInterface $moduleFinderFacade */ - public function __construct(ModuleFinderInterface $moduleFinder) + public function __construct(DevelopmentToModuleFinderFacadeInterface $moduleFinderFacade) { - $this->moduleFinder = $moduleFinder; + $this->moduleFinderFacade = $moduleFinderFacade; } /** @@ -82,7 +82,7 @@ public function findDependencies(DependencyFinderContextInterface $context, Depe */ protected function hasExtensionModule(string $moduleExtensionKey): bool { - $moduleTransferCollection = $this->moduleFinder->getModules(); + $moduleTransferCollection = $this->moduleFinderFacade->getModules(); return isset($moduleTransferCollection[$moduleExtensionKey]); } diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index abcaa74f..5f3ebcb4 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -173,6 +173,7 @@ use Spryker\Zed\Development\Business\SnifferConfiguration\ConfigurationReader\ConfigurationReader; use Spryker\Zed\Development\Business\SnifferConfiguration\ConfigurationReader\ConfigurationReaderInterface; use Spryker\Zed\Development\Business\Stability\StabilityCalculator; +use Spryker\Zed\Development\Dependency\Facade\DevelopmentToModuleFinderFacadeInterface; use Spryker\Zed\Development\DevelopmentDependencyProvider; use Spryker\Zed\Kernel\Business\AbstractBusinessFactory; use Symfony\Component\Filesystem\Filesystem; @@ -434,7 +435,7 @@ public function createExternalDependencyFinder(): DependencyFinderInterface public function createExtensionDependencyFinder(): DependencyFinderInterface { return new ExtensionDependencyFinder( - $this->createModuleFinder() + $this->getModuleFinderFacade() ); } @@ -462,7 +463,7 @@ public function createPersistenceDependencyFinder(): DependencyFinderInterface public function createBehaviorDependencyFinder(): DependencyFinderInterface { return new BehaviorDependencyFinder( - $this->createModuleFinder() + $this->getModuleFinderFacade() ); } @@ -792,6 +793,8 @@ public function createValidationRuleInRequireAndRequireDev(): ValidationRuleInte } /** + * @deprecated Use `spryker/module-finder` instead. + * * @return \Spryker\Zed\Development\Business\Module\ModuleFinder\ModuleFinderInterface */ public function createModuleFinder(): ModuleFinderInterface @@ -800,6 +803,8 @@ public function createModuleFinder(): ModuleFinderInterface } /** + * @deprecated Use `spryker/module-finder` instead. + * * @return \Spryker\Zed\Development\Business\Module\ModuleMatcher\ModuleMatcherInterface */ public function createModuleMatcher(): ModuleMatcherInterface @@ -841,7 +846,7 @@ public function createComposerJsonUnboundRequireConstraintValidator(): ComposerJ public function createDependencyProviderUsedPluginFinder(): DependencyProviderUsedPluginFinderInterface { return new DependencyProviderUsedPluginFinder( - $this->createProjectModuleFinder(), + $this->getModuleFinderFacade(), $this->getConfig() ); } @@ -851,7 +856,7 @@ public function createDependencyProviderUsedPluginFinder(): DependencyProviderUs */ public function createModuleOverview(): ModuleOverviewInterface { - return new ModuleOverview($this->createProjectModuleFinder(), $this->createModuleFinder()); + return new ModuleOverview($this->getModuleFinderFacade()); } /** @@ -1875,6 +1880,8 @@ protected function createCamelCaseToDashFilter() } /** + * @deprecated Use `spryker/module-finder` instead. + * * @return \Spryker\Zed\Development\Business\Module\ProjectModuleFinder\ProjectModuleFinderInterface */ public function createProjectModuleFinder(): ProjectModuleFinderInterface @@ -1883,6 +1890,8 @@ public function createProjectModuleFinder(): ProjectModuleFinderInterface } /** + * @deprecated Use `spryker/module-finder` instead. + * * @return \Spryker\Zed\Development\Business\Package\PackageFinder\PackageFinderInterface */ public function createPackageFinder(): PackageFinderInterface @@ -1950,4 +1959,12 @@ protected function getConfigLoader(): Loader { return $this->getProvidedDependency(DevelopmentDependencyProvider::CONFIG_LOADER); } + + /** + * @return \Spryker\Zed\Development\Dependency\Facade\DevelopmentToModuleFinderFacadeInterface + */ + public function getModuleFinderFacade(): DevelopmentToModuleFinderFacadeInterface + { + return $this->getProvidedDependency(DevelopmentDependencyProvider::FACADE_MODULE_FINDER); + } } diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php index b3cc2bb0..438cca5b 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php @@ -463,6 +463,8 @@ public function getInProjectDependencyProviderUsedPlugins(?ModuleFilterTransfer } /** + * @deprecated Use `\Spryker\Zed\ModuleFinder\Business\ModuleFinderFacade::getProjectModules()` instead. + * * {@inheritdoc} * * @api @@ -477,6 +479,8 @@ public function getProjectModules(?ModuleFilterTransfer $moduleFilterTransfer = } /** + * @deprecated Use `\Spryker\Zed\ModuleFinder\Business\ModuleFinderFacade::getModules()` instead. + * * {@inheritdoc} * * @api @@ -491,6 +495,8 @@ public function getModules(?ModuleFilterTransfer $moduleFilterTransfer = null): } /** + * @deprecated Use `\Spryker\Zed\ModuleFinder\Business\ModuleFinderFacade::getPackages()` instead. + * * {@inheritdoc} * * @api diff --git a/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php b/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php index 5d14e52d..22944b7c 100644 --- a/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php +++ b/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php @@ -14,7 +14,7 @@ use Generated\Shared\Transfer\ModuleTransfer; use Generated\Shared\Transfer\OrganizationTransfer; use Generated\Shared\Transfer\PluginTransfer; -use Spryker\Zed\Development\Business\Module\ProjectModuleFinder\ProjectModuleFinderInterface; +use Spryker\Zed\Development\Dependency\Facade\DevelopmentToModuleFinderFacadeInterface; use Spryker\Zed\Development\DevelopmentConfig; use Symfony\Component\Finder\Finder; use Symfony\Component\Finder\SplFileInfo; @@ -22,9 +22,9 @@ class DependencyProviderUsedPluginFinder implements DependencyProviderUsedPluginFinderInterface { /** - * @var \Spryker\Zed\Development\Business\Module\ProjectModuleFinder\ProjectModuleFinderInterface + * @var \Spryker\Zed\Development\Dependency\Facade\DevelopmentToModuleFinderFacadeInterface */ - protected $projectModuleFinder; + protected $moduleFinderFacade; /** * @var \Spryker\Zed\Development\DevelopmentConfig @@ -32,12 +32,12 @@ class DependencyProviderUsedPluginFinder implements DependencyProviderUsedPlugin protected $config; /** - * @param \Spryker\Zed\Development\Business\Module\ProjectModuleFinder\ProjectModuleFinderInterface $projectModuleFinder + * @param \Spryker\Zed\Development\Dependency\Facade\DevelopmentToModuleFinderFacadeInterface $moduleFinderFacade * @param \Spryker\Zed\Development\DevelopmentConfig $config */ - public function __construct(ProjectModuleFinderInterface $projectModuleFinder, DevelopmentConfig $config) + public function __construct(DevelopmentToModuleFinderFacadeInterface $moduleFinderFacade, DevelopmentConfig $config) { - $this->projectModuleFinder = $projectModuleFinder; + $this->moduleFinderFacade = $moduleFinderFacade; $this->config = $config; } @@ -48,7 +48,7 @@ public function __construct(ProjectModuleFinderInterface $projectModuleFinder, D */ public function getUsedPlugins(?ModuleFilterTransfer $moduleFilterTransfer = null): DependencyProviderCollectionTransfer { - $projectModules = $this->projectModuleFinder->getProjectModules($moduleFilterTransfer); + $projectModules = $this->moduleFinderFacade->getProjectModules($moduleFilterTransfer); $dependencyProviderCollectionTransfer = new DependencyProviderCollectionTransfer(); foreach ($projectModules as $moduleTransfer) { diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php b/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php index a2da497d..8cca3bd9 100644 --- a/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php +++ b/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php @@ -20,6 +20,9 @@ use Zend\Filter\Word\CamelCaseToDash; use Zend\Filter\Word\DashToCamelCase; +/** + * @deprecated Use `spryker/module-finder` instead. + */ class ModuleFinder implements ModuleFinderInterface { /** diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinderInterface.php b/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinderInterface.php index 98a4f8a2..18092306 100644 --- a/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinderInterface.php +++ b/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinderInterface.php @@ -9,6 +9,9 @@ use Generated\Shared\Transfer\ModuleFilterTransfer; +/** + * @deprecated Use `spryker/module-finder` instead. + */ interface ModuleFinderInterface { /** diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleMatcher/ModuleMatcher.php b/src/Spryker/Zed/Development/Business/Module/ModuleMatcher/ModuleMatcher.php index 0dc1760d..010c8028 100644 --- a/src/Spryker/Zed/Development/Business/Module/ModuleMatcher/ModuleMatcher.php +++ b/src/Spryker/Zed/Development/Business/Module/ModuleMatcher/ModuleMatcher.php @@ -11,6 +11,9 @@ use Generated\Shared\Transfer\ModuleTransfer; use Generated\Shared\Transfer\OrganizationTransfer; +/** + * @deprecated Use `spryker/module-finder` instead. + */ class ModuleMatcher implements ModuleMatcherInterface { /** diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleMatcher/ModuleMatcherInterface.php b/src/Spryker/Zed/Development/Business/Module/ModuleMatcher/ModuleMatcherInterface.php index 4ef58af7..4f58dab8 100644 --- a/src/Spryker/Zed/Development/Business/Module/ModuleMatcher/ModuleMatcherInterface.php +++ b/src/Spryker/Zed/Development/Business/Module/ModuleMatcher/ModuleMatcherInterface.php @@ -10,6 +10,9 @@ use Generated\Shared\Transfer\ModuleFilterTransfer; use Generated\Shared\Transfer\ModuleTransfer; +/** + * @deprecated Use `spryker/module-finder` instead. + */ interface ModuleMatcherInterface { /** diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleOverview.php b/src/Spryker/Zed/Development/Business/Module/ModuleOverview.php index 4b2e2e3a..24c41e59 100644 --- a/src/Spryker/Zed/Development/Business/Module/ModuleOverview.php +++ b/src/Spryker/Zed/Development/Business/Module/ModuleOverview.php @@ -8,29 +8,21 @@ namespace Spryker\Zed\Development\Business\Module; use Generated\Shared\Transfer\ModuleOverviewTransfer; -use Spryker\Zed\Development\Business\Module\ModuleFinder\ModuleFinderInterface; -use Spryker\Zed\Development\Business\Module\ProjectModuleFinder\ProjectModuleFinderInterface; +use Spryker\Zed\Development\Dependency\Facade\DevelopmentToModuleFinderFacadeInterface; class ModuleOverview implements ModuleOverviewInterface { /** - * @var \Spryker\Zed\Development\Business\Module\ProjectModuleFinder\ProjectModuleFinderInterface + * @var \Spryker\Zed\Development\Dependency\Facade\DevelopmentToModuleFinderFacadeInterface */ - protected $projectModuleFinder; + protected $moduleFinderFacade; /** - * @var \Spryker\Zed\Development\Business\Module\ModuleFinder\ModuleFinderInterface + * @param \Spryker\Zed\Development\Dependency\Facade\DevelopmentToModuleFinderFacadeInterface $moduleFinderFacade */ - protected $moduleFinder; - - /** - * @param \Spryker\Zed\Development\Business\Module\ProjectModuleFinder\ProjectModuleFinderInterface $projectModuleFinder - * @param \Spryker\Zed\Development\Business\Module\ModuleFinder\ModuleFinderInterface $moduleFinder - */ - public function __construct(ProjectModuleFinderInterface $projectModuleFinder, ModuleFinderInterface $moduleFinder) + public function __construct(DevelopmentToModuleFinderFacadeInterface $moduleFinderFacade) { - $this->projectModuleFinder = $projectModuleFinder; - $this->moduleFinder = $moduleFinder; + $this->moduleFinderFacade = $moduleFinderFacade; } /** @@ -54,7 +46,7 @@ public function getOverview(): array */ protected function addProjectModules(array $moduleOverviewTransferCollection): array { - $projectModules = $this->projectModuleFinder->getProjectModules(); + $projectModules = $this->moduleFinderFacade->getProjectModules(); foreach (array_keys($projectModules) as $moduleKey) { $moduleName = $this->getModuleNameFromModuleKey($moduleKey); @@ -78,7 +70,7 @@ protected function addProjectModules(array $moduleOverviewTransferCollection): a */ protected function addCoreModules(array $moduleOverviewTransferCollection): array { - $coreModules = $this->moduleFinder->getModules(); + $coreModules = $this->moduleFinderFacade->getModules(); foreach (array_keys($coreModules) as $moduleKey) { $moduleName = $this->getModuleNameFromModuleKey($moduleKey); diff --git a/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php b/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php index 3502944b..360ae85b 100644 --- a/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php +++ b/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php @@ -16,6 +16,9 @@ use Symfony\Component\Finder\Finder; use Symfony\Component\Finder\SplFileInfo; +/** + * @deprecated Use `spryker/module-finder` instead. + */ class ProjectModuleFinder implements ProjectModuleFinderInterface { /** diff --git a/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinderInterface.php b/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinderInterface.php index da8ceedb..1783b418 100644 --- a/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinderInterface.php +++ b/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinderInterface.php @@ -9,6 +9,9 @@ use Generated\Shared\Transfer\ModuleFilterTransfer; +/** + * @deprecated Use `spryker/module-finder` instead. + */ interface ProjectModuleFinderInterface { /** diff --git a/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php b/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php index e3a7eb12..98b02217 100644 --- a/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php +++ b/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php @@ -14,6 +14,9 @@ use Zend\Filter\FilterChain; use Zend\Filter\Word\DashToCamelCase; +/** + * @deprecated Use `spryker/module-finder` instead. + */ class PackageFinder implements PackageFinderInterface { /** diff --git a/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinderInterface.php b/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinderInterface.php index ab450c71..9f83a7e2 100644 --- a/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinderInterface.php +++ b/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinderInterface.php @@ -7,6 +7,9 @@ namespace Spryker\Zed\Development\Business\Package\PackageFinder; +/** + * @deprecated Use `spryker/module-finder` instead. + */ interface PackageFinderInterface { /** diff --git a/src/Spryker/Zed/Development/Dependency/Facade/DevelopmentToModuleFinderFacadeBridge.php b/src/Spryker/Zed/Development/Dependency/Facade/DevelopmentToModuleFinderFacadeBridge.php new file mode 100644 index 00000000..b7c916dd --- /dev/null +++ b/src/Spryker/Zed/Development/Dependency/Facade/DevelopmentToModuleFinderFacadeBridge.php @@ -0,0 +1,54 @@ +moduleFinderFacade = $moduleFinderFacade; + } + + /** + * @param \Generated\Shared\Transfer\ModuleFilterTransfer|null $moduleFilterTransfer + * + * @return \Generated\Shared\Transfer\ModuleTransfer[] + */ + public function getProjectModules(?ModuleFilterTransfer $moduleFilterTransfer = null): array + { + return $this->moduleFinderFacade->getProjectModules($moduleFilterTransfer); + } + + /** + * @param \Generated\Shared\Transfer\ModuleFilterTransfer|null $moduleFilterTransfer + * + * @return \Generated\Shared\Transfer\ModuleTransfer[] + */ + public function getModules(?ModuleFilterTransfer $moduleFilterTransfer = null): array + { + return $this->moduleFinderFacade->getModules($moduleFilterTransfer); + } + + /** + * @return \Generated\Shared\Transfer\PackageTransfer[] + */ + public function getPackages(): array + { + return $this->moduleFinderFacade->getPackages(); + } +} diff --git a/src/Spryker/Zed/Development/Dependency/Facade/DevelopmentToModuleFinderFacadeInterface.php b/src/Spryker/Zed/Development/Dependency/Facade/DevelopmentToModuleFinderFacadeInterface.php new file mode 100644 index 00000000..785bb81e --- /dev/null +++ b/src/Spryker/Zed/Development/Dependency/Facade/DevelopmentToModuleFinderFacadeInterface.php @@ -0,0 +1,32 @@ +createTwigLoaderFilesystem(); }; + $container = $this->addModuleFinderFacade($container); + return $container; } @@ -109,4 +113,22 @@ protected function createTwigLoaderFilesystem() { return new FilesystemLoader(); } + + /** + * @param \Spryker\Zed\Kernel\Container $container + * + * @return \Spryker\Zed\Kernel\Container + */ + protected function addModuleFinderFacade(Container $container): Container + { + $container->set(static::FACADE_MODULE_FINDER, function (Container $container) { + $developmentToModuleFinderFacadeBridge = new DevelopmentToModuleFinderFacadeBridge( + $container->getLocator()->moduleFinder()->facade() + ); + + return $developmentToModuleFinderFacadeBridge; + }); + + return $container; + } } From f22056dd8110fc063b7e6001fb161c48deae2b52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Wed, 5 Jun 2019 07:52:29 +0000 Subject: [PATCH 013/336] TE-3458 Derpecated code, use ModuleFinder, renamed transfer.xml, removed ModuleFinderConstants --- .../Development/Business/DevelopmentFacade.php | 18 +++++++++--------- .../Controller/DependencyController.php | 4 +--- .../Presentation/Dependency/index.twig | 16 ++++++++-------- 3 files changed, 18 insertions(+), 20 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php index 438cca5b..73282f5f 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php @@ -139,6 +139,10 @@ public function showIncomingDependenciesForModule($moduleName) } /** + * {@inheritdoc} + * + * @deprecated Please use `getModules()` instead. + * * @api * * @return array @@ -149,6 +153,8 @@ public function getAllModules() } /** + * {@inheritdoc} + * * @api * * @deprecated Use `getAllModules()` instead. @@ -463,8 +469,6 @@ public function getInProjectDependencyProviderUsedPlugins(?ModuleFilterTransfer } /** - * @deprecated Use `\Spryker\Zed\ModuleFinder\Business\ModuleFinderFacade::getProjectModules()` instead. - * * {@inheritdoc} * * @api @@ -475,12 +479,10 @@ public function getInProjectDependencyProviderUsedPlugins(?ModuleFilterTransfer */ public function getProjectModules(?ModuleFilterTransfer $moduleFilterTransfer = null): array { - return $this->getFactory()->createProjectModuleFinder()->getProjectModules($moduleFilterTransfer); + return $this->getFactory()->getModuleFinderFacade()->getProjectModules($moduleFilterTransfer); } /** - * @deprecated Use `\Spryker\Zed\ModuleFinder\Business\ModuleFinderFacade::getModules()` instead. - * * {@inheritdoc} * * @api @@ -491,12 +493,10 @@ public function getProjectModules(?ModuleFilterTransfer $moduleFilterTransfer = */ public function getModules(?ModuleFilterTransfer $moduleFilterTransfer = null): array { - return $this->getFactory()->createModuleFinder()->getModules($moduleFilterTransfer); + return $this->getFactory()->getModuleFinderFacade()->getModules($moduleFilterTransfer); } /** - * @deprecated Use `\Spryker\Zed\ModuleFinder\Business\ModuleFinderFacade::getPackages()` instead. - * * {@inheritdoc} * * @api @@ -507,7 +507,7 @@ public function getModules(?ModuleFilterTransfer $moduleFilterTransfer = null): */ public function getPackages(): array { - return $this->getFactory()->createPackageFinder()->getPackages(); + return $this->getFactory()->getModuleFinderFacade()->getPackages(); } /** diff --git a/src/Spryker/Zed/Development/Communication/Controller/DependencyController.php b/src/Spryker/Zed/Development/Communication/Controller/DependencyController.php index 124f9abd..3238326d 100644 --- a/src/Spryker/Zed/Development/Communication/Controller/DependencyController.php +++ b/src/Spryker/Zed/Development/Communication/Controller/DependencyController.php @@ -28,10 +28,8 @@ class DependencyController extends AbstractController */ public function indexAction() { - $bundles = $this->getFacade()->getAllModules(); - return $this->viewResponse([ - 'bundles' => $bundles, + 'modules' => $this->getFacade()->getModules(), ]); } diff --git a/src/Spryker/Zed/Development/Presentation/Dependency/index.twig b/src/Spryker/Zed/Development/Presentation/Dependency/index.twig index d93c12c0..e0ed82c7 100644 --- a/src/Spryker/Zed/Development/Presentation/Dependency/index.twig +++ b/src/Spryker/Zed/Development/Presentation/Dependency/index.twig @@ -10,16 +10,16 @@ {{ 'Adjacency Matrix' | trans }}

- {% for bundle in bundles %} + {% for module in modules %} - + {% endfor %} From aba4600f8dd062b482aef45ff919045d31c5d72b Mon Sep 17 00:00:00 2001 From: Filip Sushko Date: Wed, 5 Jun 2019 16:48:48 +0300 Subject: [PATCH 014/336] SC-988: refactoring after CR --- .../Development/DevelopmentConstants.php | 3 - .../Builder/CodeceptionArgumentsBuilder.php | 30 ++----- .../Business/DevelopmentBusinessFactory.php | 12 +-- .../Communication/Console/CodeTestConsole.php | 79 +++---------------- .../Zed/Development/DevelopmentConfig.php | 8 -- 5 files changed, 23 insertions(+), 109 deletions(-) diff --git a/src/Spryker/Shared/Development/DevelopmentConstants.php b/src/Spryker/Shared/Development/DevelopmentConstants.php index 6cf0ff12..cab1da5d 100644 --- a/src/Spryker/Shared/Development/DevelopmentConstants.php +++ b/src/Spryker/Shared/Development/DevelopmentConstants.php @@ -33,7 +33,4 @@ interface DevelopmentConstants * @api */ public const DIRECTORY_PERMISSION = 'DEVELOPMENT:DIRECTORY_PERMISSION'; - - public const TYPE_TEST_ACCEPTANCE = 'acceptance'; - public const TYPE_TEST_FUNCTIONAL = 'functional'; } diff --git a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php index 60c54213..067ff641 100644 --- a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php +++ b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php @@ -12,17 +12,15 @@ class CodeceptionArgumentsBuilder implements CodeceptionArgumentsBuilderInterface { - protected const ARGUMENT_TYPE = 'type'; + /** + * @see \Spryker\Zed\Development\Communication\Console\CodeTestConsole::OPTION_CONFIG_PATH + */ + protected const OPTION_CONFIG_PATH = 'config'; protected const OPTION_GROUP_INCLUDE = 'group'; protected const OPTION_GROUP_EXCLUDE = 'exclude'; protected const OPTION_VERBOSE = 'verbose'; protected const OPTION_MODULE = 'module'; - /** - * @var string[] - */ - protected $codeceptionConfigurationFiles; - /** * @var string[] */ @@ -30,12 +28,10 @@ class CodeceptionArgumentsBuilder implements CodeceptionArgumentsBuilderInterfac /** * @param array $defaultInclusiveTestGroups - * @param array $codeceptionConfigurationFiles */ - public function __construct(array $defaultInclusiveTestGroups, array $codeceptionConfigurationFiles) + public function __construct(array $defaultInclusiveTestGroups) { $this->defaultInclusiveTestGroups = $defaultInclusiveTestGroups; - $this->codeceptionConfigurationFiles = $codeceptionConfigurationFiles; } /** @@ -64,23 +60,11 @@ public function build(array $options): CodeceptionArguments */ protected function buildConfigPath(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments { - if (!array_key_exists(static::ARGUMENT_TYPE, $options)) { + if (!array_key_exists(static::OPTION_CONFIG_PATH, $options)) { return $codeceptionArguments; } - $testType = $options[static::ARGUMENT_TYPE]; - - if (!array_key_exists($testType, $this->codeceptionConfigurationFiles)) { - return $codeceptionArguments; - } - - $filePath = $this->codeceptionConfigurationFiles[$testType]; - - if ($filePath[0] !== DIRECTORY_SEPARATOR) { - $filePath = APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . $filePath; - } - - return $codeceptionArguments->addArgument('-c', [$filePath]); + return $codeceptionArguments->addArgument('-c', [$options[static::OPTION_CONFIG_PATH]]); } /** diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index e8ce2627..0ae9dff7 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -227,8 +227,7 @@ public function createCodeTester() $this->getConfig()->getPathToRoot(), $this->getConfig()->getPathToCore(), $this->createConfigArgumentCollectionBuilder( - $this->getConfig()->getDefaultInclusiveTestGroups(), - $this->getConfig()->getCodeceptionConfigurationFiles() + $this->getConfig()->getDefaultInclusiveTestGroups() ) ); } @@ -1959,14 +1958,11 @@ protected function getConfigLoader(): Loader /** * @param array $defaultIncludeTestGroups - * @param array $codeceptionConfigurationFiles * * @return \Spryker\Zed\Development\Business\Codeception\Argument\Builder\CodeceptionArgumentsBuilderInterface */ - public function createConfigArgumentCollectionBuilder( - array $defaultIncludeTestGroups, - array $codeceptionConfigurationFiles - ): CodeceptionArgumentsBuilderInterface { - return new CodeceptionArgumentsBuilder($defaultIncludeTestGroups, $codeceptionConfigurationFiles); + public function createConfigArgumentCollectionBuilder(array $defaultIncludeTestGroups): CodeceptionArgumentsBuilderInterface + { + return new CodeceptionArgumentsBuilder($defaultIncludeTestGroups); } } diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php index d17e10e3..4a21373a 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php @@ -8,7 +8,6 @@ namespace Spryker\Zed\Development\Communication\Console; use Spryker\Zed\Kernel\Communication\Console\Console; -use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; @@ -20,12 +19,16 @@ class CodeTestConsole extends Console { public const COMMAND_NAME = 'code:test'; + public const OPTION_MODULE = 'module'; public const OPTION_MODULE_ALL = 'all'; public const OPTION_INITIALIZE = 'initialize'; public const OPTION_GROUP = 'group'; public const OPTION_TYPE_EXCLUDE = 'exclude'; - public const ARGUMENT_TYPE = 'type'; + + public const OPTION_CONFIG_PATH = 'config'; + + protected const CODECEPT_CONFIG_FILE_NAME = 'codeception.yml'; /** * @return void @@ -34,18 +37,15 @@ protected function configure() { parent::configure(); - $testType = $this->getTestTypeByCommandName(); $this - ->setName($this->buildCommandName($testType)) + ->setName(static::COMMAND_NAME) ->setHelp('' . static::COMMAND_NAME . ' -h') - ->setDescription($this->buildCommandDescription($testType)); + ->setDescription('Run codecept tests for project or core'); $this->addOption(static::OPTION_MODULE, 'm', InputOption::VALUE_OPTIONAL, 'Name of core module to run tests for (or "all")'); $this->addOption(static::OPTION_GROUP, 'g', InputOption::VALUE_OPTIONAL, 'Groups of tests to be executed (multiple values allowed, comma separated)'); $this->addOption(static::OPTION_TYPE_EXCLUDE, 'x', InputOption::VALUE_OPTIONAL, 'Types of tests to be skipped (e.g. Presentation; multiple values allowed, comma separated)'); $this->addOption(static::OPTION_INITIALIZE, 'i', InputOption::VALUE_NONE, 'Initialize test suite by (re)generating required test classes'); - - $this->addTestTypeArgument($testType); } /** @@ -71,84 +71,29 @@ public function execute(InputInterface $input, OutputInterface $output) $this->getFacade()->runTest( $module, - $this->buildTestConfig($input) + $this->extendOptions($input) ); } - /** - * @return string|null - */ - protected function getTestTypeByCommandName(): ?string - { - $commandName = $this->getName(); - - if ($commandName === static::COMMAND_NAME) { - return null; - } - - $commandNameParts = explode(':', $commandName); - - return array_pop($commandNameParts); - } - /** * @param \Symfony\Component\Console\Input\InputInterface $input * * @return array */ - protected function buildTestConfig(InputInterface $input): array + protected function extendOptions(InputInterface $input): array { $options = $input->getOptions(); - $testType = $this->getTestTypeByCommandName(); - if ($input->hasArgument(static::ARGUMENT_TYPE)) { - $testType = $input->getArgument(static::ARGUMENT_TYPE) ?? $testType; - } - - if ($testType !== null) { - $options[static::ARGUMENT_TYPE] = $testType; - } + $options[static::OPTION_CONFIG_PATH] = $this->getCodeceptionConfigPath(); return $options; } /** - * @param string|null $testType - * * @return string */ - protected function buildCommandName(?string $testType): string + protected function getCodeceptionConfigPath(): string { - return $testType - ? static::COMMAND_NAME . ':' . $testType - : static::COMMAND_NAME; - } - - /** - * @param string|null $testType - * - * @return void - */ - protected function addTestTypeArgument(?string $testType): void - { - if ($testType) { - return; - } - - $this->addArgument(self::ARGUMENT_TYPE, InputArgument::OPTIONAL); - } - - /** - * @param string|null $testType - * - * @return string - */ - protected function buildCommandDescription(?string $testType): string - { - if (!$testType) { - return 'Run codecept tests for project or core'; - } - - return sprintf('Run codecept %s tests for project or core', $testType); + return APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . static::CODECEPT_CONFIG_FILE_NAME; } } diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 51aa3f28..60e98bc5 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -560,14 +560,6 @@ public function getInternalPackageDirectories(): array return static::INTERNAL_PACKAGE_DIRECTORIES; } - /** - * @return array - */ - public function getCodeceptionConfigurationFiles(): array - { - return []; - } - /** * @return array */ From ff807a22fd4a2096e8524f4680b7c53dfc86f133 Mon Sep 17 00:00:00 2001 From: Filip Sushko Date: Thu, 6 Jun 2019 12:44:03 +0300 Subject: [PATCH 015/336] SC-776: refactoring after CR --- .../Codeception/Argument/CodeceptionArguments.php | 4 ++-- .../Business/DevelopmentBusinessFactory.php | 12 +++++------- src/Spryker/Zed/Development/DevelopmentConfig.php | 2 +- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Codeception/Argument/CodeceptionArguments.php b/src/Spryker/Zed/Development/Business/Codeception/Argument/CodeceptionArguments.php index d2ddbe56..ffe930f8 100644 --- a/src/Spryker/Zed/Development/Business/Codeception/Argument/CodeceptionArguments.php +++ b/src/Spryker/Zed/Development/Business/Codeception/Argument/CodeceptionArguments.php @@ -10,7 +10,7 @@ class CodeceptionArguments { /** - * @var array + * @var string[] */ protected $arguments = []; @@ -48,7 +48,7 @@ public function getArguments(): array */ public function asString(): string { - if (empty($this->arguments)) { + if (count($this->arguments) === 0) { return ''; } diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index 0ae9dff7..cecf157e 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -226,9 +226,7 @@ public function createCodeTester() return new CodeTester( $this->getConfig()->getPathToRoot(), $this->getConfig()->getPathToCore(), - $this->createConfigArgumentCollectionBuilder( - $this->getConfig()->getDefaultInclusiveTestGroups() - ) + $this->createConfigArgumentCollectionBuilder() ); } @@ -1957,12 +1955,12 @@ protected function getConfigLoader(): Loader } /** - * @param array $defaultIncludeTestGroups - * * @return \Spryker\Zed\Development\Business\Codeception\Argument\Builder\CodeceptionArgumentsBuilderInterface */ - public function createConfigArgumentCollectionBuilder(array $defaultIncludeTestGroups): CodeceptionArgumentsBuilderInterface + public function createConfigArgumentCollectionBuilder(): CodeceptionArgumentsBuilderInterface { - return new CodeceptionArgumentsBuilder($defaultIncludeTestGroups); + return new CodeceptionArgumentsBuilder( + $this->getConfig()->getDefaultInclusiveTestGroups() + ); } } diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 60e98bc5..7a059f63 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -561,7 +561,7 @@ public function getInternalPackageDirectories(): array } /** - * @return array + * @return string[] */ public function getDefaultInclusiveTestGroups(): array { From 64ea212106814aa19708c5ceb802b610692b463a Mon Sep 17 00:00:00 2001 From: Filip Sushko Date: Thu, 6 Jun 2019 12:47:07 +0300 Subject: [PATCH 016/336] SC-775: updated php doc --- .../Argument/Builder/CodeceptionArgumentsBuilder.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php index 067ff641..7eb3b27f 100644 --- a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php +++ b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php @@ -27,7 +27,7 @@ class CodeceptionArgumentsBuilder implements CodeceptionArgumentsBuilderInterfac protected $defaultInclusiveTestGroups; /** - * @param array $defaultInclusiveTestGroups + * @param string[] $defaultInclusiveTestGroups */ public function __construct(array $defaultInclusiveTestGroups) { From e782e3c50eebe3e7856956eccb5615dfbc89371e Mon Sep 17 00:00:00 2001 From: Filip Sushko Date: Thu, 6 Jun 2019 13:18:06 +0300 Subject: [PATCH 017/336] SC-775: renamed few build methods, updated phpdoc --- .../Argument/Builder/CodeceptionArgumentsBuilder.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php index 7eb3b27f..9ae6cb7c 100644 --- a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php +++ b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php @@ -43,11 +43,11 @@ public function build(array $options): CodeceptionArguments { $codeceptionArguments = new CodeceptionArguments(); - $codeceptionArguments = $this->buildConfigPath($codeceptionArguments, $options); + $codeceptionArguments = $this->addConfigPath($codeceptionArguments, $options); $codeceptionArguments = $this->buildInclusiveGroups($codeceptionArguments, $options); $codeceptionArguments = $this->buildIncludeGroups($codeceptionArguments, $options); $codeceptionArguments = $this->buildExcludeGroups($codeceptionArguments, $options); - $codeceptionArguments = $this->buildVerboseMode($codeceptionArguments, $options); + $codeceptionArguments = $this->addVerboseMode($codeceptionArguments, $options); return $codeceptionArguments; } @@ -58,7 +58,7 @@ public function build(array $options): CodeceptionArguments * * @return \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments */ - protected function buildConfigPath(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments + protected function addConfigPath(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments { if (!array_key_exists(static::OPTION_CONFIG_PATH, $options)) { return $codeceptionArguments; @@ -109,7 +109,7 @@ protected function buildExcludeGroups(CodeceptionArguments $codeceptionArguments * * @return \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments */ - protected function buildVerboseMode(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments + protected function addVerboseMode(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments { if (!(bool)$options[static::OPTION_VERBOSE]) { return $codeceptionArguments; From f1e3c5548ec1b2d07710c951a044843abc8a44a4 Mon Sep 17 00:00:00 2001 From: mscherer Date: Fri, 7 Jun 2019 14:18:58 +0200 Subject: [PATCH 018/336] TE-3696 Fix composer validator. --- .../ComposerJsonUnboundRequireConstraintValidator.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonUnboundRequireConstraintValidator.php b/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonUnboundRequireConstraintValidator.php index 0de5da4d..5b940e22 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonUnboundRequireConstraintValidator.php +++ b/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonUnboundRequireConstraintValidator.php @@ -27,6 +27,9 @@ public function validate(array $composerJsonArray, ComposerJsonValidationRespons } foreach ($composerJsonArray[static::REQUIRE] as $packageName => $version) { + if (preg_match('/^ext-/', $packageName)) { + continue; + } if ($version === '*') { $validationMessageTransfer = new ValidationMessageTransfer(); $validationMessageTransfer->setMessage(sprintf('Package "%s" has an unbound version constraint (*).', $packageName)); From 678739ca25786f88b892e202727306434d477d9c Mon Sep 17 00:00:00 2001 From: Vitaliy Kirichenko Date: Fri, 14 Jun 2019 16:43:59 +0300 Subject: [PATCH 019/336] PS-3058: [Travis] Fixed code sniffer complains in PropelAbstractClassValidator (Spryker.Propel) --- .../Development/Business/Propel/PropelAbstractClassValidator.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php b/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php index 7bffafbf..e894325f 100644 --- a/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php +++ b/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php @@ -274,6 +274,7 @@ protected function getSimpleXmlTableElements(SimpleXMLElement $simpleXmlElement) { if ($this->hasNamespaceInSchema($simpleXmlElement)) { $simpleXmlElement->registerXPathNamespace('s', 'spryker:schema-01'); + return $simpleXmlElement->xpath('//s:table'); } From 100763b721ac8d564511c10dd6b56634a8be9825 Mon Sep 17 00:00:00 2001 From: Dmitriy Krainiy Date: Mon, 24 Jun 2019 16:41:25 +0300 Subject: [PATCH 020/336] PS-9692: added internal tag --- .../Communication/Console/PropelAbstractValidateConsole.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Spryker/Zed/Development/Communication/Console/PropelAbstractValidateConsole.php b/src/Spryker/Zed/Development/Communication/Console/PropelAbstractValidateConsole.php index 396cc3f0..fff14a04 100644 --- a/src/Spryker/Zed/Development/Communication/Console/PropelAbstractValidateConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/PropelAbstractValidateConsole.php @@ -13,6 +13,8 @@ use Symfony\Component\Console\Output\OutputInterface; /** + * @internal Core Development internal only. + * * @method \Spryker\Zed\Development\Business\DevelopmentFacadeInterface getFacade() * @method \Spryker\Zed\Development\Communication\DevelopmentCommunicationFactory getFactory() */ From ef41ac5cf0d1bb0bfb374bb715c46d5ef25b8808 Mon Sep 17 00:00:00 2001 From: mscherer Date: Mon, 24 Jun 2019 15:43:47 +0200 Subject: [PATCH 021/336] Fix internal notes and wrong split merge. --- .../Communication/Console/ComposerJsonValidatorConsole.php | 2 ++ .../Communication/Console/DependencyTreeBuilderConsole.php | 2 ++ .../Communication/Console/DependencyViolationFinderConsole.php | 2 ++ .../Communication/Console/DependencyViolationFixConsole.php | 2 ++ 4 files changed, 8 insertions(+) diff --git a/src/Spryker/Zed/Development/Communication/Console/ComposerJsonValidatorConsole.php b/src/Spryker/Zed/Development/Communication/Console/ComposerJsonValidatorConsole.php index 7a2a5108..6aa2c875 100644 --- a/src/Spryker/Zed/Development/Communication/Console/ComposerJsonValidatorConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/ComposerJsonValidatorConsole.php @@ -14,6 +14,8 @@ use Symfony\Component\Console\Output\OutputInterface; /** + * @internal + * * @method \Spryker\Zed\Development\Business\DevelopmentFacadeInterface getFacade() */ class ComposerJsonValidatorConsole extends AbstractCoreModuleAwareConsole diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php index 7d8ac4c9..ac4ba4fa 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php @@ -13,6 +13,8 @@ use Symfony\Component\Console\Output\OutputInterface; /** + * @internal + * * @method \Spryker\Zed\Development\Business\DevelopmentFacadeInterface getFacade() * @method \Spryker\Zed\Development\Communication\DevelopmentCommunicationFactory getFactory() */ diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php index 0582c052..6949356c 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php @@ -17,6 +17,8 @@ use Symfony\Component\Console\Output\OutputInterface; /** + * @internal + * * @method \Spryker\Zed\Development\Business\DevelopmentFacadeInterface getFacade() * @method \Spryker\Zed\Development\Business\DevelopmentBusinessFactory getFactory() */ diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php index 964de536..9fb57970 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php @@ -16,6 +16,8 @@ use Symfony\Component\Console\Output\OutputInterface; /** + * @internal + * * @method \Spryker\Zed\Development\Business\DevelopmentFacadeInterface getFacade() * @method \Spryker\Zed\Development\Business\DevelopmentBusinessFactory getFactory() */ From 4798e4581146cb14105b9068896ad5d0944c52d5 Mon Sep 17 00:00:00 2001 From: Ahmed Sabaa Date: Tue, 25 Jun 2019 13:07:25 +0200 Subject: [PATCH 022/336] GLUE-1623 fix cs --- .../Development/Communication/Console/CodeFixturesConsole.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php index 48f5d75a..96c74218 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php @@ -47,7 +47,7 @@ protected function configure() * @param \Symfony\Component\Console\Input\InputInterface $input * @param \Symfony\Component\Console\Output\OutputInterface $output * - * @return void + * @return int|null */ public function execute(InputInterface $input, OutputInterface $output) { From b8291cb2b7b2370177c21b4f09752aaefc4eef73 Mon Sep 17 00:00:00 2001 From: Ahmed Sabaa Date: Tue, 25 Jun 2019 14:37:05 +0200 Subject: [PATCH 023/336] GLUE-1623 added facade function specification --- .../Zed/Development/Business/DevelopmentFacadeInterface.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php index ed838c68..0756797c 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php @@ -41,6 +41,10 @@ public function checkCodeStyle($module = null, array $options = []); public function runTest($module, array $options = []); /** + * Specification: + * - Runs the vendor/bin/codecept fixtures command with options + * - If options contains "initialize", it will also run vendor/bin/codecept build + * * @api * * @param string|null $module From c9d7e11937a2dcab8ef1020b4fec87955be7fe41 Mon Sep 17 00:00:00 2001 From: Ahmed Sabaa Date: Wed, 3 Jul 2019 12:28:40 +0200 Subject: [PATCH 024/336] GLUE-1623 updated condition to avoid BC break --- src/Spryker/Zed/Development/DevelopmentConfig.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index ba010d7b..f81e72b8 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -275,6 +275,8 @@ public function getExternalToInternalNamespaceMap() 'Egulias\\EmailValidator\\' => 'spryker/egulias', 'Ramsey\\Uuid' => 'spryker/ramsey-uuid', 'Doctrine\\Common\\Inflector' => 'spryker/doctrine-inflector', + 'JsonPath\\' => 'spryker/json-path', + 'JsonSchema\\' => 'spryker/json-schema', ]; } From c001620c9f6d02932b1b37ff78b290d9d8a0449c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Tue, 25 Jun 2019 07:41:37 +0000 Subject: [PATCH 025/336] TE-3688 Added required arguments for SplFileInfo. --- .../Bundle/MethodBuilder/AbstractBundleMethodBuilder.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/AbstractBundleMethodBuilder.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/AbstractBundleMethodBuilder.php index 9f44cef9..e61bbdb4 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/AbstractBundleMethodBuilder.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/AbstractBundleMethodBuilder.php @@ -147,7 +147,7 @@ protected function findFileByName($fileName, $searchPath) $filePath = $searchPath . $fileName; if (file_exists($filePath)) { - return new SplFileInfo($filePath, null, null); + return new SplFileInfo($filePath, dirname($filePath), basename($filePath)); } return null; @@ -189,6 +189,6 @@ protected function getFileDirectory(SplFileInfo $file) { $classFileDirectory = str_replace($file->getFilename(), '', $file->getPath()); - return new SplFileInfo($classFileDirectory, null, null); + return new SplFileInfo($classFileDirectory, $file->getRelativePath(), $file->getFilename()); } } From 4a49e6b8b63ef1b412092f51e39af92cdb80ec35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Tue, 25 Jun 2019 12:52:52 +0000 Subject: [PATCH 026/336] TE-3688 Updated tests. --- .../MethodBuilder/ClientMethodBuilderTest.php | 2 +- .../MethodBuilder/FacadeMethodBuilderTest.php | 8 ++++---- .../QueryContainerMethodBuilderTest.php | 2 +- .../MethodBuilder/ServiceMethodBuilderTest.php | 2 +- .../Bundle/NamespaceExtractorTest.php | 14 +++++++------- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php index 2096ef51..5636a8ed 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php @@ -39,7 +39,7 @@ public function testMethodNameIsClient() $methodBuilderMock ->expects($this->any()) ->method('findFileByName') - ->willReturn(new SplFileInfo(static::BUNDLE_DIRECTORY . 'FooBundle/FooBundleClientInterface.php', null, null)); + ->willReturn(new SplFileInfo(static::BUNDLE_DIRECTORY . 'FooBundle/FooBundleClientInterface.php', 'foo', 'bar')); $bundleMethodTransfer = $methodBuilderMock->getMethod($this->getBundleTransfer()); diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php index d93200b8..f253ff66 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php @@ -40,7 +40,7 @@ public function testMethodNameIsFacade() $methodBuilderMock ->expects($this->any()) ->method('findFileByName') - ->willReturn(new SplFileInfo(static::BUNDLE_DIRECTORY . 'FooBundle/Business/FooBundleFacadeInterface.php', null, null)); + ->willReturn(new SplFileInfo(static::BUNDLE_DIRECTORY . 'FooBundle/Business/FooBundleFacadeInterface.php', 'foo', 'bar')); $bundleMethodTransfer = $methodBuilderMock->getMethod($this->getBundleTransfer()); @@ -74,8 +74,8 @@ public function testFileLookupPrefersInterface() [$this->equalTo('FooBundleFacadeInterface.php'), $this->anything()] ) ->will($this->onConsecutiveCalls( - new SplFileInfo(static::BUNDLE_DIRECTORY . 'FooBundle/Business/FooBundleFacadeInterface.php', null, null), - new SplFileInfo(static::BUNDLE_DIRECTORY . 'FooBundle/Business/FooBundleFacade.php', null, null) + new SplFileInfo(static::BUNDLE_DIRECTORY . 'FooBundle/Business/FooBundleFacadeInterface.php', 'foo', 'bar'), + new SplFileInfo(static::BUNDLE_DIRECTORY . 'FooBundle/Business/FooBundleFacade.php', 'foo', 'bar') )); $bundleMethodTransfer = $methodBuilderMock->getMethod($this->getBundleTransfer()); @@ -98,7 +98,7 @@ public function testFileLookupFallsBackToConcreteClassIfInterfaceIsMissing() ) ->will($this->onConsecutiveCalls( null, - new SplFileInfo(static::BUNDLE_DIRECTORY . 'FooBundle/Business/FooBundleFacade.php', null, null) + new SplFileInfo(static::BUNDLE_DIRECTORY . 'FooBundle/Business/FooBundleFacade.php', 'foo', 'bar') )); $bundleMethodTransfer = $methodBuilderMock->getMethod($this->getBundleTransfer()); diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php index 97493e62..c87b1957 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php @@ -39,7 +39,7 @@ public function testMethodNameIsQueryConntainer() $methodBuilderMock ->expects($this->any()) ->method('findFileByName') - ->willReturn(new SplFileInfo(static::BUNDLE_DIRECTORY . 'FooBundle/Persistence/FooBundleQueryContainerInterface.php', null, null)); + ->willReturn(new SplFileInfo(static::BUNDLE_DIRECTORY . 'FooBundle/Persistence/FooBundleQueryContainerInterface.php', 'foo', 'bar')); $bundleMethodTransfer = $methodBuilderMock->getMethod($this->getBundleTransfer()); diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php index c3ad545a..82fd6b98 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php @@ -39,7 +39,7 @@ public function testMethodNameIsClient() $methodBuilderMock ->expects($this->any()) ->method('findFileByName') - ->willReturn(new SplFileInfo(static::BUNDLE_DIRECTORY . 'FooBundle/FooBundleServiceInterface.php', null, null)); + ->willReturn(new SplFileInfo(static::BUNDLE_DIRECTORY . 'FooBundle/FooBundleServiceInterface.php', 'foo', 'bar')); $bundleMethodTransfer = $methodBuilderMock->getMethod($this->getBundleTransfer()); diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/NamespaceExtractorTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/NamespaceExtractorTest.php index 5c0e9e4d..7fbda995 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/NamespaceExtractorTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/NamespaceExtractorTest.php @@ -30,7 +30,7 @@ class NamespaceExtractorTest extends Unit public function testReplacementOfRegularBaseDirectory() { $baseDirectory = '/foo/bar/baz/Bundle/src/'; - $directory = new SplFileInfo('/foo/bar/baz/Bundle/src/Spryker/Application/Bundle', null, null); + $directory = new SplFileInfo('/foo/bar/baz/Bundle/src/Spryker/Application/Bundle', 'foo', 'bar'); $namespaceExtractor = new NamespaceExtractor(); $namespace = $namespaceExtractor->fromDirectory($directory, $baseDirectory); @@ -43,7 +43,7 @@ public function testReplacementOfRegularBaseDirectory() public function testReplacementOfAsteriskGlobPatternBaseDirectory() { $baseDirectory = '/foo/bar/baz/*/src/'; - $directory = new SplFileInfo('/foo/bar/baz/Bundle/src/Spryker/Application/Bundle', null, null); + $directory = new SplFileInfo('/foo/bar/baz/Bundle/src/Spryker/Application/Bundle', 'foo', 'bar'); $namespaceExtractor = new NamespaceExtractor(); $namespace = $namespaceExtractor->fromDirectory($directory, $baseDirectory); @@ -56,7 +56,7 @@ public function testReplacementOfAsteriskGlobPatternBaseDirectory() public function testReplacementOfQuestionMarkGlobPatternBaseDirectory() { $baseDirectory = '/foo/bar/?az/Bundle/src/'; - $directory = new SplFileInfo('/foo/bar/baz/Bundle/src/Spryker/Application/Bundle', null, null); + $directory = new SplFileInfo('/foo/bar/baz/Bundle/src/Spryker/Application/Bundle', 'foo', 'bar'); $namespaceExtractor = new NamespaceExtractor(); $namespace = $namespaceExtractor->fromDirectory($directory, $baseDirectory); @@ -71,11 +71,11 @@ public function testReplacementOfBraceGlobPatternBaseDirectory() $baseDirectory = '/foo/bar/{baz,spryker}/Bundle/src/'; $namespaceExtractor = new NamespaceExtractor(); - $directory = new SplFileInfo('/foo/bar/baz/Bundle/src/Spryker/Application/Bundle', null, null); + $directory = new SplFileInfo('/foo/bar/baz/Bundle/src/Spryker/Application/Bundle', 'foo', 'bar'); $namespace = $namespaceExtractor->fromDirectory($directory, $baseDirectory); $this->assertSame('Spryker\Application\Bundle', $namespace); - $directory = new SplFileInfo('/foo/bar/spryker/Bundle/src/Spryker/Application/Bundle', null, null); + $directory = new SplFileInfo('/foo/bar/spryker/Bundle/src/Spryker/Application/Bundle', 'foo', 'bar'); $namespace = $namespaceExtractor->fromDirectory($directory, $baseDirectory); $this->assertSame('Spryker\Application\Bundle', $namespace); } @@ -88,11 +88,11 @@ public function testReplacementOfCharacterClassGlobPatternBasePath() $baseDirectory = '/foo/bar/[bf]az/Bundle/src/'; $namespaceExtractor = new NamespaceExtractor(); - $directory = new SplFileInfo('/foo/bar/baz/Bundle/src/Spryker/Application/Bundle', null, null); + $directory = new SplFileInfo('/foo/bar/baz/Bundle/src/Spryker/Application/Bundle', 'foo', 'bar'); $namespace = $namespaceExtractor->fromDirectory($directory, $baseDirectory); $this->assertSame('Spryker\Application\Bundle', $namespace); - $directory = new SplFileInfo('/foo/bar/faz/Bundle/src/Spryker/Application/Bundle', null, null); + $directory = new SplFileInfo('/foo/bar/faz/Bundle/src/Spryker/Application/Bundle', 'foo', 'bar'); $namespace = $namespaceExtractor->fromDirectory($directory, $baseDirectory); $this->assertSame('Spryker\Application\Bundle', $namespace); } From 43b084aefd032795cc488c5648e119e6efe79a9c Mon Sep 17 00:00:00 2001 From: Vitaliy Kirichenko Date: Fri, 5 Jul 2019 11:32:03 +0300 Subject: [PATCH 027/336] PS-3058: Fixed PropelSchemaParserTest after Symfony Finder component was updated on recent master --- .../Dependency/SchemaParser/PropelSchemaParserTest.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/SprykerTest/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParserTest.php b/tests/SprykerTest/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParserTest.php index 36ebac78..4d23637d 100644 --- a/tests/SprykerTest/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParserTest.php +++ b/tests/SprykerTest/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParserTest.php @@ -43,7 +43,7 @@ public function testGetForeignColumnNamesForSchemaWithNamespaceReturnsForeignRef { // Arrange $propelSchemaParser = $this->getPropelSchemaParser(); - $fileInfo = new SplFileInfo(Configuration::dataDir() . 'SchemaWithDependencies/test.schema.xml', null, null); + $fileInfo = new SplFileInfo(Configuration::dataDir() . 'SchemaWithDependencies/test.schema.xml', '', ''); $expectedResult = [ 0 => 'spy_zip_zap.id_zip_zap', 1 => 'spy_qux_quux.id_qux_quux', @@ -63,7 +63,7 @@ public function testGetForeignColumnNamesForStaleSchemaReturnsForeignReferenceCo { // Arrange $propelSchemaParser = $this->getPropelSchemaParser(); - $fileInfo = new SplFileInfo(Configuration::dataDir() . 'StaleSchemaWithDependencies/test.schema.xml', null, null); + $fileInfo = new SplFileInfo(Configuration::dataDir() . 'StaleSchemaWithDependencies/test.schema.xml', '', ''); $expectedResult = [ 0 => 'spy_zip_zap.id_zip_zap', 1 => 'spy_qux_quux.id_qux_quux', From 6f7e3a17fb6d3839224bda00d4e3f16bec777302 Mon Sep 17 00:00:00 2001 From: Ahmed Sabaa Date: Fri, 5 Jul 2019 17:41:13 +0200 Subject: [PATCH 028/336] GLUE-1623 fixed AutoloadUpdater --- .../Development/Business/Composer/Updater/AutoloadUpdater.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php index 6ff9f365..a8a8e5b7 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php @@ -21,6 +21,8 @@ class AutoloadUpdater implements UpdaterInterface public const BASE_SRC_DIRECTORY = 'src'; public const BASE_SUPPORT_DIRECTORY = '_support'; public const BASE_HELPER_DIRECTORY = 'Helper'; + public const BASE_TESTER_DIRECTORY = 'Tester'; + public const BASE_FIXTURES_DIRECTORY = 'Fixtures'; public const SPRYKER_TEST_NAMESPACE = 'SprykerTest'; public const SPRYKER_SDK_TEST_NAMESPACE = 'SprykerSdkTest'; @@ -70,6 +72,8 @@ class AutoloadUpdater implements UpdaterInterface self::SPRYKER_SHOP_NAMESPACE, self::SPRYKER_ECO_NAMESPACE, self::BASE_HELPER_DIRECTORY, + self::BASE_TESTER_DIRECTORY, + self::BASE_FIXTURES_DIRECTORY, self::SPRYKER_SDK_NAMESPACE, self::SPRYKER_MERCHANT_PORTAL_NAMESPACE, ]; From e7e11cf869d5028e6a154540e425578627245bf4 Mon Sep 17 00:00:00 2001 From: Ahmed Sabaa Date: Fri, 5 Jul 2019 18:12:14 +0200 Subject: [PATCH 029/336] GLUE-1623 added StepOverride folder in PSR4 white list, added StepOverride folder to PSR-4 autoload --- .../Development/Business/Composer/Updater/AutoloadUpdater.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php index a8a8e5b7..4ae054da 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php @@ -23,6 +23,7 @@ class AutoloadUpdater implements UpdaterInterface public const BASE_HELPER_DIRECTORY = 'Helper'; public const BASE_TESTER_DIRECTORY = 'Tester'; public const BASE_FIXTURES_DIRECTORY = 'Fixtures'; + public const BASE_STEP_OVERRIDE_DIRECTORY = 'StepOverride'; public const SPRYKER_TEST_NAMESPACE = 'SprykerTest'; public const SPRYKER_SDK_TEST_NAMESPACE = 'SprykerSdkTest'; @@ -73,6 +74,7 @@ class AutoloadUpdater implements UpdaterInterface self::SPRYKER_ECO_NAMESPACE, self::BASE_HELPER_DIRECTORY, self::BASE_TESTER_DIRECTORY, + self::BASE_STEP_OVERRIDE_DIRECTORY, self::BASE_FIXTURES_DIRECTORY, self::SPRYKER_SDK_NAMESPACE, self::SPRYKER_MERCHANT_PORTAL_NAMESPACE, From 4f2943fc5006dd5160287b40eb49209910b0324d Mon Sep 17 00:00:00 2001 From: mscherer Date: Mon, 8 Jul 2019 10:25:34 +0200 Subject: [PATCH 030/336] Adjust to Kernel minor for container set() availability. --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 84af25eb..9417561b 100644 --- a/composer.json +++ b/composer.json @@ -8,7 +8,7 @@ "php": ">=7.1", "spryker/config": "^3.0.0", "spryker/graph": "^3.0.0", - "spryker/kernel": "^3.22.0", + "spryker/kernel": "^3.30.0", "spryker/module-finder": "^1.0.0", "spryker/symfony": "^3.0.0", "spryker/twig": "^3.0.0", From c104bb269096eecfa1aeaa27630af3b415cb6d9d Mon Sep 17 00:00:00 2001 From: Filip Sushko Date: Mon, 8 Jul 2019 21:17:17 +0300 Subject: [PATCH 031/336] SC-776: updated constant and method names --- .../Business/CodeTest/CodeTester.php | 37 +++++++++++-------- .../Builder/CodeceptionArgumentsBuilder.php | 12 +++--- .../Argument/CodeceptionArguments.php | 12 ------ .../Business/DevelopmentBusinessFactory.php | 5 ++- .../Communication/Console/CodeTestConsole.php | 4 +- .../Zed/Development/DevelopmentConfig.php | 17 ++++++++- 6 files changed, 48 insertions(+), 39 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php b/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php index 74c7f826..e825daa9 100644 --- a/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php +++ b/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php @@ -30,26 +30,34 @@ class CodeTester /** * @var string */ - protected $pathToBundles; + protected $pathToModules; /** * @var \Spryker\Zed\Development\Business\Codeception\Argument\Builder\CodeceptionArgumentsBuilderInterface */ protected $argumentBuilder; + /** + * @var int + */ + protected $processTimeout; + /** * @param string $applicationRoot - * @param string $pathToBundles + * @param string $pathToModules * @param \Spryker\Zed\Development\Business\Codeception\Argument\Builder\CodeceptionArgumentsBuilderInterface $argumentBuilder + * @param int $processTimeout */ public function __construct( string $applicationRoot, - string $pathToBundles, - CodeceptionArgumentsBuilderInterface $argumentBuilder + string $pathToModules, + CodeceptionArgumentsBuilderInterface $argumentBuilder, + int $processTimeout ) { $this->applicationRoot = $applicationRoot; - $this->pathToBundles = $pathToBundles; + $this->pathToModules = $pathToModules; $this->argumentBuilder = $argumentBuilder; + $this->processTimeout = $processTimeout; } /** @@ -115,7 +123,7 @@ protected function normalizeBundleName($bundle) */ protected function getPathToBundle($bundle) { - return $this->pathToBundles . $bundle . DIRECTORY_SEPARATOR; + return $this->pathToModules . $bundle . DIRECTORY_SEPARATOR; } /** @@ -126,17 +134,16 @@ protected function getPathToBundle($bundle) */ protected function runTestCommand($path, array $options) { - $commandArguments = $this->argumentBuilder - ->build($options) - ->asString(); - if ($options[static::OPTION_INITIALIZE]) { $this->runCodeceptionBuild($options); } - $command = 'vendor/bin/codecept run' . $this->extractOptions($path, $options) . $commandArguments; + $commandLine[] = 'vendor/bin/codecept run' . $this->extractOptions($path, $options); + $commandLine = array_merge($commandLine, $this->argumentBuilder + ->build($options) + ->getArguments()); - $process = new Process($command, $this->applicationRoot, null, null, 4800); + $process = new Process($commandLine, $this->applicationRoot, null, null, $this->processTimeout); $process->run(function ($type, $buffer) { echo $buffer; }); @@ -156,7 +163,7 @@ protected function runFixturesCommand($path, array $options) $command = 'vendor/bin/codecept fixtures' . $this->extractOptions($path, $options); - $process = new Process($command, $this->applicationRoot, null, null, 4800); + $process = new Process([$command], $this->applicationRoot, null, null, $this->processTimeout); $process->run(function ($type, $buffer) { echo $buffer; }); @@ -220,13 +227,11 @@ protected function extractOptions(string $path, array $options): string protected function runCodeceptionBuild(array $options): void { $command = 'vendor/bin/codecept build'; - $process = new Process($command, $this->applicationRoot, null, null, 4800); + $process = new Process([$command], $this->applicationRoot, null, null, $this->processTimeout); $process->run(function ($type, $buffer) use ($options) { if ($options[static::OPTION_VERBOSE]) { echo $buffer; } }); - - echo 'Test classes generated.'; } } diff --git a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php index 9ae6cb7c..74d01d46 100644 --- a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php +++ b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php @@ -44,9 +44,9 @@ public function build(array $options): CodeceptionArguments $codeceptionArguments = new CodeceptionArguments(); $codeceptionArguments = $this->addConfigPath($codeceptionArguments, $options); - $codeceptionArguments = $this->buildInclusiveGroups($codeceptionArguments, $options); - $codeceptionArguments = $this->buildIncludeGroups($codeceptionArguments, $options); - $codeceptionArguments = $this->buildExcludeGroups($codeceptionArguments, $options); + $codeceptionArguments = $this->addInclusiveGroups($codeceptionArguments, $options); + $codeceptionArguments = $this->addIncludeGroups($codeceptionArguments, $options); + $codeceptionArguments = $this->addExcludeGroups($codeceptionArguments, $options); $codeceptionArguments = $this->addVerboseMode($codeceptionArguments, $options); return $codeceptionArguments; @@ -73,7 +73,7 @@ protected function addConfigPath(CodeceptionArguments $codeceptionArguments, arr * * @return \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments */ - protected function buildIncludeGroups(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments + protected function addIncludeGroups(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments { if ($options[static::OPTION_GROUP_INCLUDE]) { $codeceptionArguments->addArgument( @@ -91,7 +91,7 @@ protected function buildIncludeGroups(CodeceptionArguments $codeceptionArguments * * @return \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments */ - protected function buildExcludeGroups(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments + protected function addExcludeGroups(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments { if ($options[static::OPTION_GROUP_EXCLUDE]) { $codeceptionArguments->addArgument( @@ -124,7 +124,7 @@ protected function addVerboseMode(CodeceptionArguments $codeceptionArguments, ar * * @return \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments */ - protected function buildInclusiveGroups(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments + protected function addInclusiveGroups(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments { if (!$options[static::OPTION_MODULE]) { return $codeceptionArguments; diff --git a/src/Spryker/Zed/Development/Business/Codeception/Argument/CodeceptionArguments.php b/src/Spryker/Zed/Development/Business/Codeception/Argument/CodeceptionArguments.php index ffe930f8..4a7b7fd0 100644 --- a/src/Spryker/Zed/Development/Business/Codeception/Argument/CodeceptionArguments.php +++ b/src/Spryker/Zed/Development/Business/Codeception/Argument/CodeceptionArguments.php @@ -42,16 +42,4 @@ public function getArguments(): array { return $this->arguments; } - - /** - * @return string - */ - public function asString(): string - { - if (count($this->arguments) === 0) { - return ''; - } - - return ' ' . implode(' ', $this->arguments); - } } diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index 480d011a..6f0c0577 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -227,7 +227,8 @@ public function createCodeTester() return new CodeTester( $this->getConfig()->getPathToRoot(), $this->getConfig()->getPathToCore(), - $this->createConfigArgumentCollectionBuilder() + $this->createConfigArgumentCollectionBuilder(), + $this->getConfig()->getProcessTimeout() ); } @@ -1977,7 +1978,7 @@ public function getModuleFinderFacade(): DevelopmentToModuleFinderFacadeInterfac public function createConfigArgumentCollectionBuilder(): CodeceptionArgumentsBuilderInterface { return new CodeceptionArgumentsBuilder( - $this->getConfig()->getDefaultInclusiveTestGroups() + $this->getConfig()->getDefaultInclusiveGroups() ); } } diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php index 4a21373a..118b9fa5 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php @@ -28,7 +28,7 @@ class CodeTestConsole extends Console public const OPTION_CONFIG_PATH = 'config'; - protected const CODECEPT_CONFIG_FILE_NAME = 'codeception.yml'; + protected const CODECEPTION_CONFIG_FILE_NAME = 'codeception.yml'; /** * @return void @@ -94,6 +94,6 @@ protected function extendOptions(InputInterface $input): array */ protected function getCodeceptionConfigPath(): string { - return APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . static::CODECEPT_CONFIG_FILE_NAME; + return APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . static::CODECEPTION_CONFIG_FILE_NAME; } } diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index c436feb5..c3a1b36e 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -55,6 +55,8 @@ class DevelopmentConfig extends AbstractBundleConfig protected const INTERNAL_PACKAGE_DIRECTORIES = ['spryker', 'spryker-shop', 'spryker-merchant-portal']; + protected const TIMEOUT_DEFAULT = 4800; + /** * @return int */ @@ -565,12 +567,25 @@ public function getInternalPackageDirectories(): array } /** + * Specification: + * - Returns group names for inclusive tests. + * + * @api + * * @return string[] */ - public function getDefaultInclusiveTestGroups(): array + public function getDefaultInclusiveGroups(): array { return [ static::GROUP_SPRYKER_TEST, ]; } + + /** + * @return int + */ + public function getProcessTimeout(): int + { + return static::TIMEOUT_DEFAULT; + } } From 4253031267069ace047aec047227351d29b6ec9a Mon Sep 17 00:00:00 2001 From: Filip Sushko Date: Mon, 8 Jul 2019 22:09:32 +0300 Subject: [PATCH 032/336] SC-776: added simple test for CodeceptionArguments --- .../Argument/CodeceptionArgumentsTest.php | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 tests/SprykerTest/Zed/Development/Business/Codeception/Argument/CodeceptionArgumentsTest.php diff --git a/tests/SprykerTest/Zed/Development/Business/Codeception/Argument/CodeceptionArgumentsTest.php b/tests/SprykerTest/Zed/Development/Business/Codeception/Argument/CodeceptionArgumentsTest.php new file mode 100644 index 00000000..cecb864d --- /dev/null +++ b/tests/SprykerTest/Zed/Development/Business/Codeception/Argument/CodeceptionArgumentsTest.php @@ -0,0 +1,54 @@ +addArgument($argumentName, $argumentValues); + $this->assertSame($result, $codeceptionArgument->getArguments()); + } + + /** + * @return array + */ + public function argumentsDataProvider(): array + { + return [ + 'without value' => ['group', [], ['group']], + 'with value' => ['group', [1], ['group 1']], + 'multiple value' => ['group', [1, 2, 3], ['group 1', 'group 2', 'group 3']], + ]; + } +} From d8575abb4d51cf6d41ef47baf7f0a968c76f08f0 Mon Sep 17 00:00:00 2001 From: Filip Sushko Date: Mon, 8 Jul 2019 22:33:32 +0300 Subject: [PATCH 033/336] SC-776: refactoring after CR --- .../Argument/Builder/CodeceptionArgumentsBuilder.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php index 74d01d46..a91a7331 100644 --- a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php +++ b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php @@ -75,7 +75,7 @@ protected function addConfigPath(CodeceptionArguments $codeceptionArguments, arr */ protected function addIncludeGroups(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments { - if ($options[static::OPTION_GROUP_INCLUDE]) { + if (array_key_exists(static::OPTION_GROUP_INCLUDE, $options)) { $codeceptionArguments->addArgument( '-g', explode(',', $options[static::OPTION_GROUP_INCLUDE]) @@ -93,7 +93,7 @@ protected function addIncludeGroups(CodeceptionArguments $codeceptionArguments, */ protected function addExcludeGroups(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments { - if ($options[static::OPTION_GROUP_EXCLUDE]) { + if (array_key_exists(static::OPTION_GROUP_EXCLUDE, $options)) { $codeceptionArguments->addArgument( '-x', explode(',', $options[static::OPTION_GROUP_EXCLUDE]) From 356d7b1991de180d2e7d21758c650d8df73ba3b7 Mon Sep 17 00:00:00 2001 From: Filip Sushko Date: Mon, 8 Jul 2019 23:15:22 +0300 Subject: [PATCH 034/336] SC-776: refactoring after CR --- .../Argument/Builder/CodeceptionArgumentsBuilder.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php index a91a7331..a921dc1d 100644 --- a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php +++ b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php @@ -111,11 +111,11 @@ protected function addExcludeGroups(CodeceptionArguments $codeceptionArguments, */ protected function addVerboseMode(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments { - if (!(bool)$options[static::OPTION_VERBOSE]) { - return $codeceptionArguments; + if (array_key_exists(static::OPTION_VERBOSE, $options) && $options[static::OPTION_VERBOSE]) { + return $codeceptionArguments->addArgument('-v'); } - return $codeceptionArguments->addArgument('-v'); + return $codeceptionArguments; } /** @@ -126,7 +126,7 @@ protected function addVerboseMode(CodeceptionArguments $codeceptionArguments, ar */ protected function addInclusiveGroups(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments { - if (!$options[static::OPTION_MODULE]) { + if (!array_key_exists(static::OPTION_MODULE, $options)) { return $codeceptionArguments; } From 7a6d590318ff059a4a9ccb3c77e3b8bef25001ad Mon Sep 17 00:00:00 2001 From: Filip Sushko Date: Tue, 9 Jul 2019 00:23:36 +0300 Subject: [PATCH 035/336] SC-776: updated argument preparation for Codeception --- .../Business/CodeTest/CodeTester.php | 59 ++++++++----------- .../Builder/CodeceptionArgumentsBuilder.php | 22 ++++--- .../Argument/CodeceptionArguments.php | 11 ++-- 3 files changed, 39 insertions(+), 53 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php b/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php index e825daa9..db38b2a6 100644 --- a/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php +++ b/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php @@ -138,10 +138,17 @@ protected function runTestCommand($path, array $options) $this->runCodeceptionBuild($options); } - $commandLine[] = 'vendor/bin/codecept run' . $this->extractOptions($path, $options); - $commandLine = array_merge($commandLine, $this->argumentBuilder - ->build($options) - ->getArguments()); + $commandLine = []; + + $commandLine[] = 'vendor/bin/codecept'; + $commandLine[] = 'run'; + + $commandLine = array_merge( + $commandLine, + $this->argumentBuilder + ->build($options) + ->getArguments() + ); $process = new Process($commandLine, $this->applicationRoot, null, null, $this->processTimeout); $process->run(function ($type, $buffer) { @@ -161,9 +168,19 @@ protected function runFixturesCommand($path, array $options) $this->runCodeceptionBuild($options); } - $command = 'vendor/bin/codecept fixtures' . $this->extractOptions($path, $options); + $commandLine = []; - $process = new Process([$command], $this->applicationRoot, null, null, $this->processTimeout); + $commandLine[] = 'vendor/bin/codecept'; + $commandLine[] = 'fixtures'; + + $commandLine = array_merge( + $commandLine, + $this->argumentBuilder + ->build($options) + ->getArguments() + ); + + $process = new Process($commandLine, $this->applicationRoot, null, null, $this->processTimeout); $process->run(function ($type, $buffer) { echo $buffer; }); @@ -189,36 +206,6 @@ protected function assertPath($bundle, string $path): void } } - /** - * @param string $path - * @param array $options - * - * @return string - */ - protected function extractOptions(string $path, array $options): string - { - $pathToFiles = rtrim($path, DIRECTORY_SEPARATOR); - $config = []; - - if ($pathToFiles) { - $config[] = '-c ' . $pathToFiles; - } - - if ($options[static::OPTION_GROUP]) { - $config[] = '-g ' . $options[static::OPTION_GROUP]; - } - - if ($options[static::OPTION_TYPE_EXCLUDE]) { - $config[] = '-x ' . $options[static::OPTION_TYPE_EXCLUDE]; - } - - if ($options[static::OPTION_VERBOSE]) { - $config[] = '-v'; - } - - return ' ' . implode(' ', $config); - } - /** * @param array $options * diff --git a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php index a921dc1d..a6e761ed 100644 --- a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php +++ b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php @@ -60,11 +60,11 @@ public function build(array $options): CodeceptionArguments */ protected function addConfigPath(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments { - if (!array_key_exists(static::OPTION_CONFIG_PATH, $options)) { - return $codeceptionArguments; + if (array_key_exists(static::OPTION_CONFIG_PATH, $options) && $options[static::OPTION_CONFIG_PATH]) { + return $codeceptionArguments->addArgument('-c', [$options[static::OPTION_CONFIG_PATH]]); } - return $codeceptionArguments->addArgument('-c', [$options[static::OPTION_CONFIG_PATH]]); + return $codeceptionArguments; } /** @@ -75,7 +75,7 @@ protected function addConfigPath(CodeceptionArguments $codeceptionArguments, arr */ protected function addIncludeGroups(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments { - if (array_key_exists(static::OPTION_GROUP_INCLUDE, $options)) { + if (array_key_exists(static::OPTION_GROUP_INCLUDE, $options) && $options[static::OPTION_GROUP_INCLUDE]) { $codeceptionArguments->addArgument( '-g', explode(',', $options[static::OPTION_GROUP_INCLUDE]) @@ -93,7 +93,7 @@ protected function addIncludeGroups(CodeceptionArguments $codeceptionArguments, */ protected function addExcludeGroups(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments { - if (array_key_exists(static::OPTION_GROUP_EXCLUDE, $options)) { + if (array_key_exists(static::OPTION_GROUP_EXCLUDE, $options) && $options[static::OPTION_GROUP_EXCLUDE]) { $codeceptionArguments->addArgument( '-x', explode(',', $options[static::OPTION_GROUP_EXCLUDE]) @@ -126,13 +126,11 @@ protected function addVerboseMode(CodeceptionArguments $codeceptionArguments, ar */ protected function addInclusiveGroups(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments { - if (!array_key_exists(static::OPTION_MODULE, $options)) { - return $codeceptionArguments; + if (array_key_exists(static::OPTION_MODULE, $options) && $options[static::OPTION_MODULE]) { + $codeceptionArguments = $this->enableSuiteFilterExtension($codeceptionArguments); + $codeceptionArguments = $this->buildInlineExtensionConfig($codeceptionArguments, $options); } - $codeceptionArguments = $this->enableSuiteFilterExtension($codeceptionArguments); - $codeceptionArguments = $this->buildInlineExtensionConfig($codeceptionArguments, $options); - return $codeceptionArguments; } @@ -145,7 +143,7 @@ protected function enableSuiteFilterExtension(CodeceptionArguments $codeceptionA { return $codeceptionArguments->addArgument( '--ext', - ['\\\\' . str_replace('\\', '\\\\', SuiteFilterHelper::class)] + ['\\' . SuiteFilterHelper::class] ); } @@ -157,7 +155,7 @@ protected function enableSuiteFilterExtension(CodeceptionArguments $codeceptionA */ protected function buildInlineExtensionConfig(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments { - $extensionInlineConfigTemplate = '"extensions: config: %s: inclusive: [%s]"'; + $extensionInlineConfigTemplate = 'extensions: config: %s: inclusive: [%s]'; $inclusiveGroups = $this->defaultInclusiveTestGroups; $inclusiveGroups[] = $options[static::OPTION_MODULE]; diff --git a/src/Spryker/Zed/Development/Business/Codeception/Argument/CodeceptionArguments.php b/src/Spryker/Zed/Development/Business/Codeception/Argument/CodeceptionArguments.php index 4a7b7fd0..6c83028f 100644 --- a/src/Spryker/Zed/Development/Business/Codeception/Argument/CodeceptionArguments.php +++ b/src/Spryker/Zed/Development/Business/Codeception/Argument/CodeceptionArguments.php @@ -16,20 +16,21 @@ class CodeceptionArguments /** * @param string $argumentName - * @param array $argumentValue + * @param array $argumentValues * * @return $this */ - public function addArgument(string $argumentName, array $argumentValue = []) + public function addArgument(string $argumentName, array $argumentValues = []) { - if (empty($argumentValue)) { + if (empty($argumentValues)) { $this->arguments[] = $argumentName; return $this; } - foreach ($argumentValue as $value) { - $this->arguments[] = $argumentName . ' ' . $value; + foreach ($argumentValues as $value) { + $this->arguments[] = $argumentName; + $this->arguments[] = $value; } return $this; From c363b7dd2f9b8ed696d3af88cddfee68de25f9c1 Mon Sep 17 00:00:00 2001 From: Filip Sushko Date: Tue, 9 Jul 2019 01:10:22 +0300 Subject: [PATCH 036/336] SC-776: updated tests after Process argument updates --- .../Zed/Development/Business/CodeTest/CodeTester.php | 8 ++++++-- .../Codeception/Argument/CodeceptionArgumentsTest.php | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php b/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php index db38b2a6..3a4ba2c8 100644 --- a/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php +++ b/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php @@ -213,8 +213,12 @@ protected function assertPath($bundle, string $path): void */ protected function runCodeceptionBuild(array $options): void { - $command = 'vendor/bin/codecept build'; - $process = new Process([$command], $this->applicationRoot, null, null, $this->processTimeout); + $commandLine = []; + + $commandLine[] = 'vendor/bin/codecept'; + $commandLine[] = 'build'; + + $process = new Process([$commandLine], $this->applicationRoot, null, null, $this->processTimeout); $process->run(function ($type, $buffer) use ($options) { if ($options[static::OPTION_VERBOSE]) { echo $buffer; diff --git a/tests/SprykerTest/Zed/Development/Business/Codeception/Argument/CodeceptionArgumentsTest.php b/tests/SprykerTest/Zed/Development/Business/Codeception/Argument/CodeceptionArgumentsTest.php index cecb864d..ad077a69 100644 --- a/tests/SprykerTest/Zed/Development/Business/Codeception/Argument/CodeceptionArgumentsTest.php +++ b/tests/SprykerTest/Zed/Development/Business/Codeception/Argument/CodeceptionArgumentsTest.php @@ -47,8 +47,8 @@ public function argumentsDataProvider(): array { return [ 'without value' => ['group', [], ['group']], - 'with value' => ['group', [1], ['group 1']], - 'multiple value' => ['group', [1, 2, 3], ['group 1', 'group 2', 'group 3']], + 'with value' => ['group', [1], ['group', 1]], + 'multiple value' => ['group', [1, 2, 3], ['group', 1, 'group', 2, 'group', 3]], ]; } } From 0332217ea041d1ae00c1282e1e1132b4418c292d Mon Sep 17 00:00:00 2001 From: Filip Sushko Date: Tue, 9 Jul 2019 01:14:22 +0300 Subject: [PATCH 037/336] SC-776: fixed typo --- src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php b/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php index 3a4ba2c8..ab87ef28 100644 --- a/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php +++ b/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php @@ -218,7 +218,7 @@ protected function runCodeceptionBuild(array $options): void $commandLine[] = 'vendor/bin/codecept'; $commandLine[] = 'build'; - $process = new Process([$commandLine], $this->applicationRoot, null, null, $this->processTimeout); + $process = new Process($commandLine, $this->applicationRoot, null, null, $this->processTimeout); $process->run(function ($type, $buffer) use ($options) { if ($options[static::OPTION_VERBOSE]) { echo $buffer; From cdefff1a1bbcf5daf74961952a27ac701b613de2 Mon Sep 17 00:00:00 2001 From: Filip Sushko Date: Tue, 9 Jul 2019 11:13:51 +0300 Subject: [PATCH 038/336] SC-776: updated phpDoc --- .../Argument/Builder/CodeceptionArgumentsBuilder.php | 10 +++++----- src/Spryker/Zed/Development/DevelopmentConfig.php | 3 ++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php index a6e761ed..5cb6e239 100644 --- a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php +++ b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php @@ -60,7 +60,7 @@ public function build(array $options): CodeceptionArguments */ protected function addConfigPath(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments { - if (array_key_exists(static::OPTION_CONFIG_PATH, $options) && $options[static::OPTION_CONFIG_PATH]) { + if (!empty($options[static::OPTION_CONFIG_PATH])) { return $codeceptionArguments->addArgument('-c', [$options[static::OPTION_CONFIG_PATH]]); } @@ -75,7 +75,7 @@ protected function addConfigPath(CodeceptionArguments $codeceptionArguments, arr */ protected function addIncludeGroups(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments { - if (array_key_exists(static::OPTION_GROUP_INCLUDE, $options) && $options[static::OPTION_GROUP_INCLUDE]) { + if (!empty($options[static::OPTION_GROUP_INCLUDE])) { $codeceptionArguments->addArgument( '-g', explode(',', $options[static::OPTION_GROUP_INCLUDE]) @@ -93,7 +93,7 @@ protected function addIncludeGroups(CodeceptionArguments $codeceptionArguments, */ protected function addExcludeGroups(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments { - if (array_key_exists(static::OPTION_GROUP_EXCLUDE, $options) && $options[static::OPTION_GROUP_EXCLUDE]) { + if (!empty($options[static::OPTION_GROUP_EXCLUDE])) { $codeceptionArguments->addArgument( '-x', explode(',', $options[static::OPTION_GROUP_EXCLUDE]) @@ -111,7 +111,7 @@ protected function addExcludeGroups(CodeceptionArguments $codeceptionArguments, */ protected function addVerboseMode(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments { - if (array_key_exists(static::OPTION_VERBOSE, $options) && $options[static::OPTION_VERBOSE]) { + if (!empty($options[static::OPTION_VERBOSE])) { return $codeceptionArguments->addArgument('-v'); } @@ -126,7 +126,7 @@ protected function addVerboseMode(CodeceptionArguments $codeceptionArguments, ar */ protected function addInclusiveGroups(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments { - if (array_key_exists(static::OPTION_MODULE, $options) && $options[static::OPTION_MODULE]) { + if (!empty($options[static::OPTION_MODULE])) { $codeceptionArguments = $this->enableSuiteFilterExtension($codeceptionArguments); $codeceptionArguments = $this->buildInlineExtensionConfig($codeceptionArguments, $options); } diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index c3a1b36e..aceae464 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -568,7 +568,8 @@ public function getInternalPackageDirectories(): array /** * Specification: - * - Returns group names for inclusive tests. + * - Returns group names to run only tests that have all of the groups. + * - Example: ['Customer', 'Communication'] inclusive parameter runs tests Communication suite in Customer module. * * @api * From 81f300ce6839b24011ed291fff90eb5bf652291e Mon Sep 17 00:00:00 2001 From: Filip Sushko Date: Tue, 9 Jul 2019 15:05:49 +0300 Subject: [PATCH 039/336] SC-776: Updated array annotations --- .../Business/Codeception/Argument/CodeceptionArguments.php | 4 ++-- .../Codeception/Argument/CodeceptionArgumentsTest.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Codeception/Argument/CodeceptionArguments.php b/src/Spryker/Zed/Development/Business/Codeception/Argument/CodeceptionArguments.php index 6c83028f..f84e1f5b 100644 --- a/src/Spryker/Zed/Development/Business/Codeception/Argument/CodeceptionArguments.php +++ b/src/Spryker/Zed/Development/Business/Codeception/Argument/CodeceptionArguments.php @@ -16,7 +16,7 @@ class CodeceptionArguments /** * @param string $argumentName - * @param array $argumentValues + * @param string[] $argumentValues * * @return $this */ @@ -37,7 +37,7 @@ public function addArgument(string $argumentName, array $argumentValues = []) } /** - * @return array + * @return string[] */ public function getArguments(): array { diff --git a/tests/SprykerTest/Zed/Development/Business/Codeception/Argument/CodeceptionArgumentsTest.php b/tests/SprykerTest/Zed/Development/Business/Codeception/Argument/CodeceptionArgumentsTest.php index ad077a69..a8e0b46d 100644 --- a/tests/SprykerTest/Zed/Development/Business/Codeception/Argument/CodeceptionArgumentsTest.php +++ b/tests/SprykerTest/Zed/Development/Business/Codeception/Argument/CodeceptionArgumentsTest.php @@ -27,8 +27,8 @@ class CodeceptionArgumentsTest extends Unit * @dataProvider argumentsDataProvider * * @param string $argumentName - * @param array $argumentValues - * @param array $result + * @param string[] $argumentValues + * @param string[] $result * * @return void */ From 48b596f70ac4661983cc4a5e01c6e4464551fc51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Fri, 28 Jun 2019 10:16:48 +0000 Subject: [PATCH 040/336] TE-3787 Removed choices_as_values usages, replaced OptionsResolverInterface with OptionResolver. --- .../Zed/Development/Communication/Form/BundlesFormType.php | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php b/src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php index dc4021eb..1bc77ca2 100644 --- a/src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php +++ b/src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php @@ -47,7 +47,6 @@ public function buildForm(FormBuilderInterface $builder, array $options) 'expanded' => true, 'multiple' => true, 'choices' => array_flip($options[static::BUNDLE_NAME_CHOICES]), - 'choices_as_values' => true, ]); $builder->add(static::SHOW_INCOMING, CheckboxType::class, [ From 6fc025619c71dc68a494c23a7a786c2009911779 Mon Sep 17 00:00:00 2001 From: Pavlo Asaulenko Date: Wed, 17 Jul 2019 15:12:05 +0300 Subject: [PATCH 041/336] TE-3742 Adjusted several modules Zed config classes to add the ability to set timeout value --- .../Development/Business/CodeStyleSniffer/CodeStyleSniffer.php | 2 +- src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php index 6cc786af..30f8a22d 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php @@ -267,7 +267,7 @@ protected function runSnifferCommand($path, CodeStyleSnifferConfigurationInterfa return static::CODE_SUCCESS; } - $process = new Process($command, $this->config->getPathToRoot(), null, null, 4800); + $process = new Process($command, $this->config->getPathToRoot(), null, null, $this->config->getProcessTimeout()); $process->run(function ($type, $buffer) { echo $buffer; }); diff --git a/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php b/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php index 8a222e96..fb5a5001 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php @@ -158,7 +158,7 @@ protected function runPhpMdCommand($path, array $options) return static::CODE_SUCCESS; } - $process = new Process($command, $this->config->getPathToRoot(), null, null, 4800); + $process = new Process($command, $this->config->getPathToRoot(), null, null, $this->config->getProcessTimeout()); $process->run(function ($type, $buffer) { echo $buffer; }); From d0a4f261eb2661088bbca2351548f7c86a1d6402 Mon Sep 17 00:00:00 2001 From: Spryker CI Date: Thu, 18 Jul 2019 08:26:28 +0000 Subject: [PATCH 042/336] Update Zed translations. --- data/translation/Zed/de_DE.csv | 2 +- data/translation/Zed/en_US.csv | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/data/translation/Zed/de_DE.csv b/data/translation/Zed/de_DE.csv index dbd1b442..1a550d25 100644 --- a/data/translation/Zed/de_DE.csv +++ b/data/translation/Zed/de_DE.csv @@ -30,8 +30,8 @@ Incoming,Incoming "Indirect Outgoing","Indirect Outgoing" "Indirect Stability","Indirect Stability" "List all used plugins","Alle verwendeten Plug-ins auflisten" -Module,Modul module,Modul +Module,Modul "Module name",Modulname "Module overview",Modulübersicht Namespace,Namespace diff --git a/data/translation/Zed/en_US.csv b/data/translation/Zed/en_US.csv index 9bfb2d42..32d5e9c4 100644 --- a/data/translation/Zed/en_US.csv +++ b/data/translation/Zed/en_US.csv @@ -30,8 +30,8 @@ Incoming,Incoming "Indirect Outgoing","Indirect Outgoing" "Indirect Stability","Indirect Stability" "List all used plugins","List all used plugins" -Module,module module,module +Module,module "Module name","Module name" "Module overview","Module overview" Namespace,Namespace From 390a361bff9ee947f34cd484cc6e9765825153c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Thu, 11 Jul 2019 10:32:31 +0000 Subject: [PATCH 043/336] TE-3794 Use array instead of string for Process. --- .../ArchitectureSniffer.php | 32 +++++++++---------- .../CodeStyleSniffer/CodeStyleSniffer.php | 2 +- .../Business/PhpMd/PhpMdRunner.php | 2 +- .../Business/Phpstan/PhpstanRunner.php | 2 +- 4 files changed, 18 insertions(+), 20 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php index e5f6da87..b2150952 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php @@ -128,13 +128,13 @@ public function run($directory, array $options = []) } /** - * @param string $command + * @param array $command * * @return \Symfony\Component\Process\Process */ - protected function getProcess($command) + protected function getProcess(array $command) { - return new Process($command, null, null, null, 0); + return new Process($command, APPLICATION_ROOT_DIR, null, null, 0); } /** @@ -147,39 +147,37 @@ protected function getProcess($command) */ protected function runCommand($directory, array $options = []) { - $command = str_replace(DevelopmentConfig::BUNDLE_PLACEHOLDER, $directory, $this->command); - - $command .= ' --minimumpriority ' . $options[static::OPTION_PRIORITY]; + $command = [str_replace(DevelopmentConfig::BUNDLE_PLACEHOLDER, $directory, $this->command)]; + $command[] = '--minimumpriority'; + $command[] = $options[static::OPTION_PRIORITY]; if (!empty($options[static::OPTION_STRICT])) { - $command .= ' --strict'; + $command[] = '--strict'; } if (!empty($options[static::OPTION_DRY_RUN])) { $this->displayAndExit($command); } - $p = $this->getProcess($command); - - $p->setWorkingDirectory(APPLICATION_ROOT_DIR); - $p->run(); - if (substr($p->getOutput(), 0, 5) !== 'getExitCodeText()); + $process = $this->getProcess($command); + $process->run(); + if (substr($process->getOutput(), 0, 5) !== 'getExitCodeText()); } - $output = $p->getOutput(); + $output = $process->getOutput(); return $output; } /** - * @param string $command + * @param array $command * * @return void */ - protected function displayAndExit($command) + protected function displayAndExit(array $command) { - exit($command . PHP_EOL); + exit(implode(' ', $command) . PHP_EOL); } /** diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php index 6cc786af..ffea2eea 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php @@ -267,7 +267,7 @@ protected function runSnifferCommand($path, CodeStyleSnifferConfigurationInterfa return static::CODE_SUCCESS; } - $process = new Process($command, $this->config->getPathToRoot(), null, null, 4800); + $process = new Process(explode(' ', $command), $this->config->getPathToRoot(), null, null, 4800); $process->run(function ($type, $buffer) { echo $buffer; }); diff --git a/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php b/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php index 8a222e96..b57f5aae 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php @@ -158,7 +158,7 @@ protected function runPhpMdCommand($path, array $options) return static::CODE_SUCCESS; } - $process = new Process($command, $this->config->getPathToRoot(), null, null, 4800); + $process = new Process(explode(' ', $command), $this->config->getPathToRoot(), null, null, 4800); $process->run(function ($type, $buffer) { echo $buffer; }); diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index 980ffd7b..f77bacc2 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -178,7 +178,7 @@ protected function runCommand($path, $configFilePath, InputInterface $input, Out */ protected function getProcess($command) { - return new Process($command, null, null, null, 0); + return new Process(explode(' ', $command), null, null, null, 0); } /** From 2f25c85baffdbccf7bc2e10d1417812cdddcb840 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Fri, 26 Jul 2019 10:35:04 +0000 Subject: [PATCH 044/336] TE-3891 Reduced output for PHPStan runs. --- .../Business/Phpstan/PhpstanRunner.php | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index 980ffd7b..26db200e 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -155,15 +155,31 @@ protected function runCommand($path, $configFilePath, InputInterface $input, Out return static::CODE_SUCCESS; } - $output->writeln(sprintf('Checking %s (level %s)', $path, $level)); + if ($output->isVerbose()) { + $output->writeln(sprintf('Checking %s (level %s)', $path, $level)); + } $process = $this->getProcess($command); - $process->run(function ($type, $buffer) use ($output) { + + $processOutputBuffer = ''; + + $process->run(function ($type, $buffer) use ($output, &$processOutputBuffer) { $this->addErrors($buffer); - $output->write($buffer); + preg_match('#\[ERROR\] Found (\d+) error#i', $buffer, $matches); + if (!$matches && !$output->isVeryVerbose()) { + $processOutputBuffer .= $buffer; + + return; + } + + $processOutputBuffer .= $buffer; + $output->write($processOutputBuffer); + $processOutputBuffer = ''; }); + $processOutputBuffer = ''; + if ($this->phpstanConfigFileManager->isMergedConfigFile($configFilePath)) { $this->phpstanConfigFileManager->deleteConfigFile($configFilePath); } From 5955b81c1be9f2a7a0471ce29a1c0cba905cc91d Mon Sep 17 00:00:00 2001 From: Filip Sushko Date: Tue, 30 Jul 2019 14:21:25 +0300 Subject: [PATCH 045/336] SC-1813: added Testify\Filter to composer autoload --- .../Development/Business/Composer/Updater/AutoloadUpdater.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php index 4ae054da..c745238d 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php @@ -24,6 +24,7 @@ class AutoloadUpdater implements UpdaterInterface public const BASE_TESTER_DIRECTORY = 'Tester'; public const BASE_FIXTURES_DIRECTORY = 'Fixtures'; public const BASE_STEP_OVERRIDE_DIRECTORY = 'StepOverride'; + public const BASE_FILTER_DIRECTORY = 'Filter'; public const SPRYKER_TEST_NAMESPACE = 'SprykerTest'; public const SPRYKER_SDK_TEST_NAMESPACE = 'SprykerSdkTest'; @@ -76,6 +77,7 @@ class AutoloadUpdater implements UpdaterInterface self::BASE_TESTER_DIRECTORY, self::BASE_STEP_OVERRIDE_DIRECTORY, self::BASE_FIXTURES_DIRECTORY, + self::BASE_FILTER_DIRECTORY, self::SPRYKER_SDK_NAMESPACE, self::SPRYKER_MERCHANT_PORTAL_NAMESPACE, ]; From b0f6e1193c93b8e7a05e054ebc0f2a9963946a1c Mon Sep 17 00:00:00 2001 From: AntonKhabiuk Date: Fri, 9 Aug 2019 16:55:50 +0300 Subject: [PATCH 046/336] GLUE-8743 Fix architecture sniffer exceptions --- .../ArchitectureSniffer/AllBundleFinder.php | 53 ++++++++++--------- .../ArchitectureSniffer.php | 2 +- 2 files changed, 29 insertions(+), 26 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php index 1497126b..cc2f8a84 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php @@ -53,11 +53,11 @@ public function __construct(Finder $finder, FilterInterface $filter, $projectNam public function find() { $allBundles = []; - $allBundles = $this->loadProjectBundles($allBundles); - $allBundles = $this->loadCoreDevelopmentBundles($allBundles); - $allBundles = $this->loadOtherCoreBundles($allBundles); + $allBundles[] = $this->loadProjectBundles(); + $allBundles[] = $this->loadCoreDevelopmentBundles(); + $allBundles[] = $this->loadOtherCoreBundles(); - $allBundles = $this->addApplication($allBundles); + $allBundles = $this->addApplication(array_merge(...$allBundles)); return $allBundles; } @@ -65,11 +65,10 @@ public function find() /** * @param string $path * @param string $namespace - * @param array $allBundles * * @return array */ - protected function findBundles($path, $namespace, array $allBundles) + protected function findBundles($path, $namespace): array { $directories = []; @@ -82,62 +81,66 @@ protected function findBundles($path, $namespace, array $allBundles) // ~ Directory does not exist. It's not an error. } + if (!$directories) { + return []; + } + + $bundles = []; foreach ($directories as $dir) { - $allBundles[] = [ + $bundles[] = [ 'bundle' => $dir->getFileName(), 'namespace' => $namespace, 'directory' => $dir->getPathName(), ]; } - return $allBundles; + return $bundles; } /** - * @param array $allBundles - * * @return array */ - protected function loadProjectBundles(array $allBundles) + protected function loadProjectBundles(): array { + $bundles = []; foreach ($this->projectNamespaces as $projectNamespace) { $path = APPLICATION_SOURCE_DIR . '/' . $projectNamespace . '/*'; - $allBundles = $this->findBundles($path, $projectNamespace, $allBundles); + $bundles = $this->findBundles($path, $projectNamespace); } - return $allBundles; + return $bundles; } /** - * @param array $allBundles - * * @return array */ - protected function loadCoreDevelopmentBundles(array $allBundles) + protected function loadCoreDevelopmentBundles(): array { - $path = APPLICATION_VENDOR_DIR . '/spryker/spryker/Bundles/*/src/Spryker/*'; - $namespace = 'Spryker'; - $allBundles = $this->findBundles($path, $namespace, $allBundles); + $bundles = []; + foreach (range('A', 'Z') as $letter) { + $path = sprintf('%s/spryker/spryker/Bundles/%s*/src/Spryker/*', APPLICATION_VENDOR_DIR, $letter); + $namespace = 'Spryker'; + $bundles[] = $this->findBundles($path, $namespace); + } - return $allBundles; + return array_merge(...$bundles); } /** - * @param array $allBundles - * * @return array */ - protected function loadOtherCoreBundles(array $allBundles) + protected function loadOtherCoreBundles(): array { + $bundles = []; foreach ($this->coreNamespaces as $coreNamespace) { $namespaceDir = $this->filter->filter($coreNamespace); $namespaceDir = strtolower($namespaceDir); $path = APPLICATION_VENDOR_DIR . '/' . $namespaceDir . '/*/src/*/*'; - $allBundles = $this->findBundles($path, $coreNamespace, $allBundles); + $bundles = $this->findBundles($path, $coreNamespace); } - return $allBundles; + return $bundles; } /** diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php index b2150952..10d388ed 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php @@ -147,7 +147,7 @@ protected function getProcess(array $command) */ protected function runCommand($directory, array $options = []) { - $command = [str_replace(DevelopmentConfig::BUNDLE_PLACEHOLDER, $directory, $this->command)]; + $command = explode(' ', str_replace(DevelopmentConfig::BUNDLE_PLACEHOLDER, $directory, $this->command)); $command[] = '--minimumpriority'; $command[] = $options[static::OPTION_PRIORITY]; From da3533bedbae3a139caa54041f2ac7eb6f305ef8 Mon Sep 17 00:00:00 2001 From: AntonKhabiuk Date: Tue, 13 Aug 2019 14:02:31 +0300 Subject: [PATCH 047/336] GLUE-8743 Refactoring after TL review --- .../ArchitectureSniffer/AllBundleFinder.php | 3 + .../AllBundleFinderInterface.php | 3 + .../ArchitectureSniffer/AllModuleFinder.php | 153 ++++++++++++++++++ .../AllModuleFinderInterface.php | 16 ++ .../Business/DevelopmentBusinessFactory.php | 16 ++ .../Business/DevelopmentFacade.php | 2 +- 6 files changed, 192 insertions(+), 1 deletion(-) create mode 100644 src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php create mode 100644 src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinderInterface.php diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php index cc2f8a84..f47b70f9 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php @@ -11,6 +11,9 @@ use Symfony\Component\Finder\Finder; use Zend\Filter\FilterInterface; +/** + * @deprecated Use `AllModuleFinder` instead. + */ class AllBundleFinder implements AllBundleFinderInterface { /** diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinderInterface.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinderInterface.php index 18ffb6fb..cb40281e 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinderInterface.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinderInterface.php @@ -7,6 +7,9 @@ namespace Spryker\Zed\Development\Business\ArchitectureSniffer; +/** + * @deprecated Use `AllModuleFinderInterface` instead. + */ interface AllBundleFinderInterface { /** diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php new file mode 100644 index 00000000..3885342d --- /dev/null +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php @@ -0,0 +1,153 @@ +finder = $finder; + $this->filter = $filter; + $this->developmentConfig = $developmentConfig; + } + + /** + * @return array + */ + public function find(): array + { + $modules = []; + $modules[] = $this->loadProjectModules(); + $modules[] = $this->loadCoreDevelopmentModules(); + $modules[] = $this->loadOtherCoreModules(); + + return $this->addApplication(array_merge(...$modules)); + } + + /** + * @return array + */ + protected function loadProjectModules(): array + { + $modules = []; + foreach ($this->developmentConfig->getProjectNamespaces() as $projectNamespace) { + $path = APPLICATION_SOURCE_DIR . '/' . $projectNamespace . '/*'; + $modules = $this->findModules($path, $projectNamespace); + } + + return $modules; + } + + /** + * @return array + */ + protected function loadCoreDevelopmentModules(): array + { + $modules = []; + foreach (range('A', 'Z') as $letter) { + $path = sprintf('%s/spryker/spryker/Bundles/%s*/src/Spryker/*', APPLICATION_VENDOR_DIR, $letter); + $namespace = 'Spryker'; + $modules[] = $this->findModules($path, $namespace); + } + + return array_merge(...$modules); + } + + /** + * @return array + */ + protected function loadOtherCoreModules(): array + { + $modules = []; + foreach ($this->developmentConfig->getCoreNamespaces() as $coreNamespace) { + $namespaceDir = $this->filter->filter($coreNamespace); + $namespaceDir = strtolower($namespaceDir); + + $path = APPLICATION_VENDOR_DIR . '/' . $namespaceDir . '/*/src/*/*'; + $modules = $this->findModules($path, $coreNamespace); + } + + return $modules; + } + + /** + * @param string $path + * @param string $namespace + * + * @return array + */ + protected function findModules($path, $namespace): array + { + $directories = []; + $finder = clone $this->finder; + + try { + $directories = $finder + ->directories() + ->in($path) + ->depth('== 0'); + } catch (InvalidArgumentException $e) { + // ~ Directory does not exist. It's not an error. + } + + if (!$directories) { + return []; + } + + $modules = []; + foreach ($directories as $dir) { + $modules[] = [ + 'bundle' => $dir->getFileName(), + 'namespace' => $namespace, + 'directory' => $dir->getPathName(), + ]; + } + + return $modules; + } + + /** + * @param array $modules + * + * @return mixed + */ + protected function addApplication(array $modules) + { + foreach ($modules as $i => $moduleData) { + $moduleDataExploded = explode('/', $moduleData['directory']); + $modules[$i]['application'] = $moduleDataExploded[count($moduleDataExploded) - 2]; + } + + return $modules; + } +} diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinderInterface.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinderInterface.php new file mode 100644 index 00000000..c5dc82fc --- /dev/null +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinderInterface.php @@ -0,0 +1,16 @@ +createFinder(), + $this->createCamelCaseToDashFilter(), + $this->getConfig() + ); + } + /** * @return \Zend\Filter\FilterInterface */ diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php index 81776b40..c077443a 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php @@ -382,7 +382,7 @@ public function runArchitectureSniffer($directory, array $options = []) */ public function listAllModules() { - return $this->getFactory()->createArchitectureBundleFinder()->find(); + return $this->getFactory()->createAllModuleFinder()->find(); } /** From c7ec2f7c738967d1ec26a9ff7b5cd27421a3c3db Mon Sep 17 00:00:00 2001 From: AntonKhabiuk Date: Wed, 14 Aug 2019 10:21:28 +0300 Subject: [PATCH 048/336] Revert "GLUE-8743 Fix architecture sniffer exceptions" This reverts commit 42960b9c --- .../ArchitectureSniffer/AllBundleFinder.php | 53 +++++++++---------- 1 file changed, 25 insertions(+), 28 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php index f47b70f9..fac74599 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php @@ -56,11 +56,11 @@ public function __construct(Finder $finder, FilterInterface $filter, $projectNam public function find() { $allBundles = []; - $allBundles[] = $this->loadProjectBundles(); - $allBundles[] = $this->loadCoreDevelopmentBundles(); - $allBundles[] = $this->loadOtherCoreBundles(); + $allBundles = $this->loadProjectBundles($allBundles); + $allBundles = $this->loadCoreDevelopmentBundles($allBundles); + $allBundles = $this->loadOtherCoreBundles($allBundles); - $allBundles = $this->addApplication(array_merge(...$allBundles)); + $allBundles = $this->addApplication($allBundles); return $allBundles; } @@ -68,10 +68,11 @@ public function find() /** * @param string $path * @param string $namespace + * @param array $allBundles * * @return array */ - protected function findBundles($path, $namespace): array + protected function findBundles($path, $namespace, array $allBundles) { $directories = []; @@ -84,66 +85,62 @@ protected function findBundles($path, $namespace): array // ~ Directory does not exist. It's not an error. } - if (!$directories) { - return []; - } - - $bundles = []; foreach ($directories as $dir) { - $bundles[] = [ + $allBundles[] = [ 'bundle' => $dir->getFileName(), 'namespace' => $namespace, 'directory' => $dir->getPathName(), ]; } - return $bundles; + return $allBundles; } /** + * @param array $allBundles + * * @return array */ - protected function loadProjectBundles(): array + protected function loadProjectBundles(array $allBundles) { - $bundles = []; foreach ($this->projectNamespaces as $projectNamespace) { $path = APPLICATION_SOURCE_DIR . '/' . $projectNamespace . '/*'; - $bundles = $this->findBundles($path, $projectNamespace); + $allBundles = $this->findBundles($path, $projectNamespace, $allBundles); } - return $bundles; + return $allBundles; } /** + * @param array $allBundles + * * @return array */ - protected function loadCoreDevelopmentBundles(): array + protected function loadCoreDevelopmentBundles(array $allBundles) { - $bundles = []; - foreach (range('A', 'Z') as $letter) { - $path = sprintf('%s/spryker/spryker/Bundles/%s*/src/Spryker/*', APPLICATION_VENDOR_DIR, $letter); - $namespace = 'Spryker'; - $bundles[] = $this->findBundles($path, $namespace); - } + $path = APPLICATION_VENDOR_DIR . '/spryker/spryker/Bundles/*/src/Spryker/*'; + $namespace = 'Spryker'; + $allBundles = $this->findBundles($path, $namespace, $allBundles); - return array_merge(...$bundles); + return $allBundles; } /** + * @param array $allBundles + * * @return array */ - protected function loadOtherCoreBundles(): array + protected function loadOtherCoreBundles(array $allBundles) { - $bundles = []; foreach ($this->coreNamespaces as $coreNamespace) { $namespaceDir = $this->filter->filter($coreNamespace); $namespaceDir = strtolower($namespaceDir); $path = APPLICATION_VENDOR_DIR . '/' . $namespaceDir . '/*/src/*/*'; - $bundles = $this->findBundles($path, $coreNamespace); + $allBundles = $this->findBundles($path, $coreNamespace, $allBundles); } - return $bundles; + return $allBundles; } /** From 653ae9192924bf159818bfc19de34db3659b0e3c Mon Sep 17 00:00:00 2001 From: Pavlo Asaulenko Date: Wed, 14 Aug 2019 14:32:39 +0300 Subject: [PATCH 049/336] TE-3742 Cleanup - Removed redundant timeout infrastructural code from Queue module - Refactor most of Process instantiations to have cleaner constructor argument list --- .../Development/Business/CodeStyleSniffer/CodeStyleSniffer.php | 3 ++- src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php index 84f353ae..34c8d34c 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php @@ -267,7 +267,8 @@ protected function runSnifferCommand($path, CodeStyleSnifferConfigurationInterfa return static::CODE_SUCCESS; } - $process = new Process(explode(' ', $command), $this->config->getPathToRoot(), null, null, $this->config->getProcessTimeout()); + $process = new Process(explode(' ', $command), $this->config->getPathToRoot()); + $process->setTimeout($this->config->getProcessTimeout()); $process->run(function ($type, $buffer) { echo $buffer; }); diff --git a/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php b/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php index 97ab7b48..56d08578 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php @@ -158,7 +158,8 @@ protected function runPhpMdCommand($path, array $options) return static::CODE_SUCCESS; } - $process = new Process(explode(' ', $command), $this->config->getPathToRoot(), null, null, $this->config->getProcessTimeout()); + $process = new Process(explode(' ', $command), $this->config->getPathToRoot()); + $process->setTimeout($this->config->getProcessTimeout()); $process->run(function ($type, $buffer) { echo $buffer; }); From 3c72ba4d2d251ac4a08f6ab45b0f4f62d5a07679 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Mon, 12 Aug 2019 11:28:53 +0000 Subject: [PATCH 050/336] TE-3940 Use composer names instead of plain module name. TE-3940 Updated dependency.json files. --- .../Transfer/development.transfer.xml | 9 +- .../Business/Composer/ComposerNameFinder.php | 178 ++++++++++++++++++ .../Composer/ComposerNameFinderInterface.php | 18 ++ .../DependencyContainer.php | 31 ++- .../DependencyContainerInterface.php | 4 +- .../AbstractFileDependencyFinder.php | 45 ++++- .../ExtensionDependencyFinder.php | 8 +- .../InternalDependencyFinder.php | 32 ++-- .../Validator/DependencyValidator.php | 18 +- .../ValidationRuleAmbiguousModuleName.php | 33 ++++ .../ComposerDependencyParser.php | 133 +++++++------ .../Business/DevelopmentBusinessFactory.php | 27 ++- .../Business/DevelopmentFacade.php | 14 ++ .../Business/DevelopmentFacadeInterface.php | 13 ++ .../DependencyViolationFinderConsole.php | 9 +- .../Console/DependencyViolationFixConsole.php | 132 +------------ .../Helper/DependencyValidatorModule.php | 119 ++++++++---- 17 files changed, 573 insertions(+), 250 deletions(-) create mode 100644 src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php create mode 100644 src/Spryker/Zed/Development/Business/Composer/ComposerNameFinderInterface.php create mode 100644 src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleAmbiguousModuleName.php diff --git a/src/Spryker/Shared/Development/Transfer/development.transfer.xml b/src/Spryker/Shared/Development/Transfer/development.transfer.xml index 18d433bc..09420b84 100644 --- a/src/Spryker/Shared/Development/Transfer/development.transfer.xml +++ b/src/Spryker/Shared/Development/Transfer/development.transfer.xml @@ -27,11 +27,13 @@ + + @@ -53,7 +55,8 @@ - + + @@ -82,7 +85,9 @@ - + + + diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php b/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php new file mode 100644 index 00000000..370be488 --- /dev/null +++ b/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php @@ -0,0 +1,178 @@ +moduleFinderFacade = $moduleFinderFacade; + } + + /** + * @param string $moduleName + * + * @return string|null + */ + public function findComposerNameByModuleName(string $moduleName): ?string + { + $composerName = $this->getComposerNameFromModuleCollection($moduleName); + if ($composerName !== null) { + return $composerName; + } + + $composerName = $this->getComposerNameFromPackageCollection($moduleName); + if ($composerName !== null) { + return $composerName; + } + + return null; + } + + /** + * @param string $moduleName + * + * @return string|null + */ + protected function getComposerNameFromModuleCollection(string $moduleName): ?string + { + if ($this->isNamespacedModuleName($moduleName)) { + $moduleTransfer = $this->getModuleTransferCollection()[$moduleName]; + + return sprintf('%s/%s', $moduleTransfer->getOrganization()->getNameDashed(), $moduleTransfer->getNameDashed()); + } + + $moduleTransferCollection = $this->getModuleTransferCollectionGroupedByModuleName(); + + if (!isset($moduleTransferCollection[$moduleName])) { + return null; + } + + if (count($moduleTransferCollection[$moduleName]) > 1) { + return null; + } + + $moduleTransfer = $this->getCurrentModuleTransfer($moduleTransferCollection[$moduleName]); + + return sprintf('%s/%s', $moduleTransfer->getOrganization()->getNameDashed(), $moduleTransfer->getNameDashed()); + } + + /** + * @return \Generated\Shared\Transfer\ModuleTransfer[] + */ + protected function getModuleTransferCollection(): array + { + if (!$this->moduleTransferCollection) { + $this->moduleTransferCollection = $this->moduleFinderFacade->getModules(); + } + + return $this->moduleTransferCollection; + } + + /** + * @param string $module + * + * @return bool + */ + protected function isNamespacedModuleName(string $module): bool + { + return (strpos($module, '.') !== false); + } + + /** + * @param string $moduleName + * + * @return string|null + */ + protected function getComposerNameFromPackageCollection(string $moduleName): ?string + { + $packageTransferCollection = $this->getPackageTransferCollectionGroupedByPackageName(); + + if (isset($packageTransferCollection[$moduleName])) { + $packageTransfer = $packageTransferCollection[$moduleName]; + + return $packageTransfer->getComposerName(); + } + + return null; + } + + /** + * @param array $moduleTransferCollection + * + * @return \Generated\Shared\Transfer\ModuleTransfer + */ + protected function getCurrentModuleTransfer(array $moduleTransferCollection): ModuleTransfer + { + return current($moduleTransferCollection); + } + + /** + * @return \Generated\Shared\Transfer\ModuleTransfer[][] + */ + protected function getModuleTransferCollectionGroupedByModuleName(): array + { + if ($this->moduleTransferCollectionGroupedByModuleName !== null) { + return $this->moduleTransferCollectionGroupedByModuleName; + } + + $moduleTransferCollection = $this->getModuleTransferCollection(); + $this->moduleTransferCollectionGroupedByModuleName = []; + + foreach ($moduleTransferCollection as $moduleTransfer) { + $this->moduleTransferCollectionGroupedByModuleName[$moduleTransfer->getName()][] = $moduleTransfer; + } + + return $this->moduleTransferCollectionGroupedByModuleName; + } + + /** + * @return \Generated\Shared\Transfer\PackageTransfer[] + */ + protected function getPackageTransferCollectionGroupedByPackageName(): array + { + if ($this->packageTransferCollectionGroupedByPackageName !== null) { + return $this->packageTransferCollectionGroupedByPackageName; + } + + $packageTransferCollection = $this->moduleFinderFacade->getPackages(); + $this->packageTransferCollectionGroupedByPackageName = []; + + foreach ($packageTransferCollection as $packageTransfer) { + $this->packageTransferCollectionGroupedByPackageName[$packageTransfer->getPackageName()] = $packageTransfer; + } + + return $this->packageTransferCollectionGroupedByPackageName; + } +} diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinderInterface.php b/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinderInterface.php new file mode 100644 index 00000000..587e02b1 --- /dev/null +++ b/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinderInterface.php @@ -0,0 +1,18 @@ +getModuleNameFromComposerName($composerName); + } + $dependencyTransfer = new DependencyTransfer(); $dependencyTransfer - ->setModule($module) + ->setModule($moduleName) + ->setComposerName($composerName) ->setType($type) ->setIsOptional($isOptional) ->setIsInTest($isTest); @@ -71,6 +81,7 @@ protected function getDependencyModuleTransfer(DependencyTransfer $dependencyTra $dependencyModuleTransfer = new DependencyModuleTransfer(); $dependencyModuleTransfer->setModule($dependencyTransfer->getModule()); + $dependencyModuleTransfer->setComposerName($dependencyTransfer->getComposerName()); $this->dependencyCollectionTransfer->addDependencyModule($dependencyModuleTransfer); @@ -108,4 +119,18 @@ protected function sortDependencies(DependencyCollectionTransfer $dependencyColl return $dependencyCollectionTransfer; } + + /** + * @param string $composerName + * + * @return string + */ + protected function getModuleNameFromComposerName(string $composerName): string + { + [$organizationName, $moduleName] = explode('/', $composerName); + + $filter = new DashToCamelCase(); + + return ucfirst($filter->filter($moduleName)); + } } diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyContainer/DependencyContainerInterface.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyContainer/DependencyContainerInterface.php index 600f20de..8a331048 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyContainer/DependencyContainerInterface.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyContainer/DependencyContainerInterface.php @@ -20,14 +20,14 @@ interface DependencyContainerInterface public function initialize(ModuleTransfer $moduleTransfer); /** - * @param string $module + * @param string $moduleOrComposerName * @param string $type * @param bool $isOptional * @param bool $isTest * * @return $this */ - public function addDependency(string $module, string $type, bool $isOptional = false, bool $isTest = false); + public function addDependency(string $moduleOrComposerName, string $type, bool $isOptional = false, bool $isTest = false); /** * @return \Generated\Shared\Transfer\DependencyCollectionTransfer diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/AbstractFileDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/AbstractFileDependencyFinder.php index f1ff67a3..a57a787f 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/AbstractFileDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/AbstractFileDependencyFinder.php @@ -7,16 +7,25 @@ namespace Spryker\Zed\Development\Business\Dependency\DependencyFinder; +use Zend\Filter\FilterChain; +use Zend\Filter\StringToLower; +use Zend\Filter\Word\CamelCaseToDash; + abstract class AbstractFileDependencyFinder implements DependencyFinderInterface { /** - * @param string $module + * @var \Zend\Filter\FilterChain|null + */ + protected $filter; + + /** + * @param string $moduleOrComposerName * * @return bool */ - protected function isExtensionModule(string $module): bool + protected function isExtensionModule(string $moduleOrComposerName): bool { - return preg_match('/Extension$/', $module); + return preg_match('/Extension$|-extension$/', $moduleOrComposerName); } /** @@ -38,4 +47,34 @@ protected function isTestFile(string $filePath) { return !strpos($filePath, '/src/'); } + + /** + * @param string $organizationName + * @param string $moduleName + * + * @return string + */ + protected function buildComposerName(string $organizationName, string $moduleName): string + { + $filter = $this->getFilter(); + $composerName = sprintf('%s/%s', $filter->filter($organizationName), $filter->filter($moduleName)); + + return $composerName; + } + + /** + * @return \Zend\Filter\FilterChain + */ + protected function getFilter(): FilterChain + { + if (!$this->filter) { + $filter = new FilterChain(); + $filter->attach(new CamelCaseToDash()) + ->attach(new StringToLower()); + + $this->filter = $filter; + } + + return $this->filter; + } } diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php index 4aef9211..935787b3 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php @@ -25,6 +25,11 @@ class ExtensionDependencyFinder extends AbstractFileDependencyFinder */ protected $moduleFinderFacade; + /** + * @var \Zend\Filter\FilterChain|null + */ + protected $filter; + /** * @param \Spryker\Zed\Development\Dependency\Facade\DevelopmentToModuleFinderFacadeInterface $moduleFinderFacade */ @@ -67,7 +72,8 @@ public function findDependencies(DependencyFinderContextInterface $context, Depe $moduleExtensionKey = sprintf('%s.%sExtension', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName()); if ($this->hasExtensionModule($moduleExtensionKey)) { - $dependencyContainer->addDependency(sprintf('%sExtension', $moduleTransfer->getName()), $this->getType()); + $composerName = $this->buildComposerName($moduleTransfer->getOrganization()->getName(), sprintf('%sExtension', $moduleTransfer->getName())); + $dependencyContainer->addDependency($composerName, $this->getType()); } $this->executedModules[spl_object_hash($moduleTransfer)] = true; diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/InternalDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/InternalDependencyFinder.php index 10deef8d..99c0773e 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/InternalDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/InternalDependencyFinder.php @@ -72,12 +72,12 @@ public function findDependencies(DependencyFinderContextInterface $context, Depe { $dependencyModules = $this->getDependencyModules($context); - foreach ($dependencyModules as $filePath => $modules) { - foreach ($modules as $dependentModule) { + foreach ($dependencyModules as $filePath => $composerNames) { + foreach ($composerNames as $composerName) { $dependencyContainer->addDependency( - $dependentModule, + $composerName, $this->getType(), - $this->isOptional($filePath, $dependentModule), + $this->isOptional($filePath, $composerName), $this->isTestFile($filePath) ); } @@ -107,10 +107,10 @@ protected function getDependencyModules(DependencyFinderContextInterface $contex $dependencyModules = []; $useStatements = $this->useStatementParser->getUseStatements($context->getFileInfo()); - $modules = $this->getModuleNamesFromUseStatements($useStatements, $context->getModule()->getName()); + $composerNames = $this->getNamesFromUseStatements($useStatements, $context->getModule()->getName()); - if (count($modules) > 0) { - $dependencyModules[$context->getFileInfo()->getRealPath()] = array_unique($modules); + if (count($composerNames) > 0) { + $dependencyModules[$context->getFileInfo()->getRealPath()] = array_unique($composerNames); } return $dependencyModules; @@ -122,21 +122,29 @@ protected function getDependencyModules(DependencyFinderContextInterface $contex * * @return array */ - protected function getModuleNamesFromUseStatements(array $useStatements, string $module): array + protected function getNamesFromUseStatements(array $useStatements, string $module): array { - $dependentModules = []; + $dependentComposerNames = []; foreach ($useStatements as $useStatement) { $useStatementFragments = explode('\\', $useStatement); if ($this->isIgnorableUseStatement($useStatementFragments)) { continue; } + $foreignModule = $useStatementFragments[2]; - if ($foreignModule !== $module) { - $dependentModules[] = $foreignModule; + if ($foreignModule === $module) { + continue; + } + + if ($useStatementFragments[0] === 'Orm') { + $dependentComposerNames[] = $useStatementFragments[2]; + continue; } + + $dependentComposerNames[] = $this->buildComposerName($useStatementFragments[0], $useStatementFragments[2]); } - return $dependentModules; + return $dependentComposerNames; } /** diff --git a/src/Spryker/Zed/Development/Business/Dependency/Validator/DependencyValidator.php b/src/Spryker/Zed/Development/Business/Dependency/Validator/DependencyValidator.php index d3b7c252..c7058ceb 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/Validator/DependencyValidator.php +++ b/src/Spryker/Zed/Development/Business/Dependency/Validator/DependencyValidator.php @@ -10,6 +10,7 @@ use Generated\Shared\Transfer\DependencyValidationRequestTransfer; use Generated\Shared\Transfer\DependencyValidationResponseTransfer; use Generated\Shared\Transfer\ModuleDependencyTransfer; +use Spryker\Zed\Development\Business\Composer\ComposerNameFinderInterface; use Spryker\Zed\Development\Business\Dependency\ModuleDependencyParserInterface; use Spryker\Zed\Development\Business\Dependency\Validator\ValidationRules\ValidationRuleInterface; use Spryker\Zed\Development\Business\DependencyTree\ComposerDependencyParserInterface; @@ -31,19 +32,27 @@ class DependencyValidator implements DependencyValidatorInterface */ protected $validationRule; + /** + * @var \Spryker\Zed\Development\Business\Composer\ComposerNameFinderInterface + */ + protected $composerNameFinder; + /** * @param \Spryker\Zed\Development\Business\Dependency\ModuleDependencyParserInterface $moduleDependencyParser * @param \Spryker\Zed\Development\Business\DependencyTree\ComposerDependencyParserInterface $composerDependencyParser * @param \Spryker\Zed\Development\Business\Dependency\Validator\ValidationRules\ValidationRuleInterface $validationRule + * @param \Spryker\Zed\Development\Business\Composer\ComposerNameFinderInterface $composerNameFinder */ public function __construct( ModuleDependencyParserInterface $moduleDependencyParser, ComposerDependencyParserInterface $composerDependencyParser, - ValidationRuleInterface $validationRule + ValidationRuleInterface $validationRule, + ComposerNameFinderInterface $composerNameFinder ) { $this->moduleDependencyParser = $moduleDependencyParser; $this->composerDependencyParser = $composerDependencyParser; $this->validationRule = $validationRule; + $this->composerNameFinder = $composerNameFinder; } /** @@ -86,6 +95,10 @@ protected function getComposerDependencies(DependencyValidationRequestTransfer $ $dependencyValidationRequestTransfer->getModule(), $dependencyValidationRequestTransfer->getDependencyType() ); + foreach ($moduleDependencies->getDependencyModules() as $dependencyModuleTransfer) { + $composerName = $dependencyModuleTransfer->getComposerName() ?? $this->composerNameFinder->findComposerNameByModuleName($dependencyModuleTransfer->getModule()); + $dependencyModuleTransfer->setComposerName($composerName); + } $composerDependencies = $this->composerDependencyParser->getComposerDependencyComparison($moduleDependencies); return $composerDependencies; @@ -102,7 +115,8 @@ protected function formatDependencies(array $composerDependencies): array foreach ($composerDependencies as $composerDependency) { $moduleDependencyTransfer = new ModuleDependencyTransfer(); $moduleDependencyTransfer - ->setModule($composerDependency['dependencyModule']) + ->setModuleName($composerDependency['moduleName']) + ->setComposerName($composerDependency['composerName']) ->setIsValid(true) ->setDependencyTypes($this->getDependencyTypes($composerDependency)) ->setIsOptionalDependency($composerDependency['isOptional']) diff --git a/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleAmbiguousModuleName.php b/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleAmbiguousModuleName.php new file mode 100644 index 00000000..0c8c044b --- /dev/null +++ b/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleAmbiguousModuleName.php @@ -0,0 +1,33 @@ +getComposerName() === null) { + $moduleDependencyTransfer->setIsValid(false); + $validationMessageTransfer = new ValidationMessageTransfer(); + $validationMessageTransfer->setMessage('Module name was found in more than one organization. Find the correct composer name manually and add it to your dependency.json.'); + $validationMessageTransfer->setFixType(static::MANUAL_FIX); + + $moduleDependencyTransfer->addValidationMessage($validationMessageTransfer); + } + + return $moduleDependencyTransfer; + } +} diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php b/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php index 5da3112e..67ba57dc 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php @@ -14,6 +14,7 @@ use Generated\Shared\Transfer\DependencyModuleTransfer; use Generated\Shared\Transfer\DependencyTransfer; use Generated\Shared\Transfer\ModuleTransfer; +use Spryker\Zed\Development\Business\Composer\ComposerNameFinderInterface; use Spryker\Zed\Development\Business\Exception\DependencyTree\InvalidComposerJsonException; use Symfony\Component\Finder\SplFileInfo; use Zend\Filter\FilterChain; @@ -27,6 +28,19 @@ class ComposerDependencyParser implements ComposerDependencyParserInterface public const TYPE_INCLUDE_DEV = 'include-dev'; public const TYPE_EXCLUDE_DEV = 'exclude-dev'; + /** + * @var \Spryker\Zed\Development\Business\Composer\ComposerNameFinderInterface + */ + protected $composerNameFinder; + + /** + * @param \Spryker\Zed\Development\Business\Composer\ComposerNameFinderInterface $composerNameFinder + */ + public function __construct(ComposerNameFinderInterface $composerNameFinder) + { + $this->composerNameFinder = $composerNameFinder; + } + /** * @param \Generated\Shared\Transfer\DependencyCollectionTransfer $dependencyCollectionTransfer * @@ -37,34 +51,37 @@ public function getComposerDependencyComparison(DependencyCollectionTransfer $de $dependencyCollectionTransfer = $this->getOverwrittenDependenciesForBundle($dependencyCollectionTransfer); $composerDependencyCollectionTransfer = $this->getParsedComposerDependenciesForBundle($dependencyCollectionTransfer->getModule()); - $moduleNames = $this->getBundleDependencyNames($dependencyCollectionTransfer); - $moduleNamesInSrc = $this->getBundleDependencyNamesInSrc($dependencyCollectionTransfer); - $moduleNamesInTests = $this->getBundleDependencyNamesInTests($dependencyCollectionTransfer); + $composerNames = $this->getComposerNames($dependencyCollectionTransfer); + $composerNamesInSrc = $this->getComposerNamesForInSrcUsedModules($dependencyCollectionTransfer); + $composerNamesInTests = $this->getComposerNamesForInTestsUsedModules($dependencyCollectionTransfer); $suggestedNames = $this->getSuggested($composerDependencyCollectionTransfer); $requireNames = $this->getRequireNames($composerDependencyCollectionTransfer); $requireDevNames = $this->getRequireNames($composerDependencyCollectionTransfer, true); - $allModuleNames = array_unique(array_merge($moduleNames, $requireNames, $requireDevNames, $suggestedNames)); - sort($allModuleNames); + $allComposerNames = $composerNames + $requireNames + $requireDevNames + $suggestedNames; + asort($allComposerNames); $dependencies = []; - foreach ($allModuleNames as $moduleName) { - if ($dependencyCollectionTransfer->getModule()->getName() === $moduleName) { + $currentComposerName = sprintf('%s/%s', $dependencyCollectionTransfer->getModule()->getOrganization()->getNameDashed(), $dependencyCollectionTransfer->getModule()->getNameDashed()); + + foreach ($allComposerNames as $moduleName => $composerName) { + if ($currentComposerName === $composerName) { continue; } $dependencies[] = [ - 'dependencyModule' => $moduleName, - 'types' => $this->getDependencyTypes($moduleName, $dependencyCollectionTransfer), - 'isOptional' => $this->getIsOptional($moduleName, $dependencyCollectionTransfer), - 'src' => in_array($moduleName, $moduleNamesInSrc) ? $moduleName : '', - 'tests' => in_array($moduleName, $moduleNamesInTests) ? $moduleName : '', - 'composerRequire' => in_array($moduleName, $requireNames) ? $moduleName : '', - 'composerRequireDev' => in_array($moduleName, $requireDevNames) ? $moduleName : '', - 'suggested' => in_array($moduleName, $suggestedNames) ? $moduleName : '', - 'isOwnExtensionModule' => $this->isOwnExtensionModule($moduleName, $dependencyCollectionTransfer), + 'moduleName' => $moduleName, + 'composerName' => $composerName, + 'types' => $this->getDependencyTypes($composerName, $dependencyCollectionTransfer), + 'isOptional' => $this->getIsOptional($composerName, $dependencyCollectionTransfer), + 'src' => in_array($composerName, $composerNamesInSrc) ? $composerName : '', + 'tests' => in_array($composerName, $composerNamesInTests) ? $composerName : '', + 'composerRequire' => in_array($composerName, $requireNames) ? $composerName : '', + 'composerRequireDev' => in_array($composerName, $requireDevNames) ? $composerName : '', + 'suggested' => in_array($composerName, $suggestedNames) ? $composerName : '', + 'isOwnExtensionModule' => $this->isOwnExtensionModule($composerName, $dependencyCollectionTransfer), ]; } @@ -72,17 +89,17 @@ public function getComposerDependencyComparison(DependencyCollectionTransfer $de } /** - * @param string $moduleName + * @param string $composerName * @param \Generated\Shared\Transfer\DependencyCollectionTransfer $moduleDependencyCollectionTransfer * * @return bool */ - protected function getIsOptional($moduleName, DependencyCollectionTransfer $moduleDependencyCollectionTransfer) + protected function getIsOptional($composerName, DependencyCollectionTransfer $moduleDependencyCollectionTransfer) { $isOptional = true; $isInTestsOnly = true; foreach ($moduleDependencyCollectionTransfer->getDependencyModules() as $moduleDependencyTransfer) { - if ($moduleDependencyTransfer->getModule() === $moduleName) { + if ($moduleDependencyTransfer->getComposerName() === $composerName) { foreach ($moduleDependencyTransfer->getDependencies() as $dependencyTransfer) { if (!$dependencyTransfer->getIsInTest()) { $isInTestsOnly = false; @@ -98,16 +115,16 @@ protected function getIsOptional($moduleName, DependencyCollectionTransfer $modu } /** - * @param string $moduleName + * @param string $composerName * @param \Generated\Shared\Transfer\DependencyCollectionTransfer $moduleDependencyCollectionTransfer * * @return string[] */ - protected function getDependencyTypes($moduleName, DependencyCollectionTransfer $moduleDependencyCollectionTransfer): array + protected function getDependencyTypes($composerName, DependencyCollectionTransfer $moduleDependencyCollectionTransfer): array { $dependencyTypes = []; foreach ($moduleDependencyCollectionTransfer->getDependencyModules() as $moduleDependencyTransfer) { - if ($moduleDependencyTransfer->getModule() !== $moduleName) { + if ($moduleDependencyTransfer->getComposerName() !== $composerName) { continue; } @@ -124,14 +141,14 @@ protected function getDependencyTypes($moduleName, DependencyCollectionTransfer * * @return array */ - protected function getBundleDependencyNames(DependencyCollectionTransfer $moduleDependencyCollectionTransfer) + protected function getComposerNames(DependencyCollectionTransfer $moduleDependencyCollectionTransfer): array { - $moduleNames = []; + $composerNames = []; foreach ($moduleDependencyCollectionTransfer->getDependencyModules() as $moduleDependencyTransfer) { - $moduleNames[] = $moduleDependencyTransfer->getModule(); + $composerNames[$moduleDependencyTransfer->getModule()] = $moduleDependencyTransfer->getComposerName(); } - return $moduleNames; + return array_unique($composerNames); } /** @@ -139,18 +156,18 @@ protected function getBundleDependencyNames(DependencyCollectionTransfer $module * * @return array */ - protected function getBundleDependencyNamesInSrc(DependencyCollectionTransfer $moduleDependencyCollectionTransfer) + protected function getComposerNamesForInSrcUsedModules(DependencyCollectionTransfer $moduleDependencyCollectionTransfer) { - $moduleNames = []; + $composerNames = []; foreach ($moduleDependencyCollectionTransfer->getDependencyModules() as $moduleDependencyTransfer) { foreach ($moduleDependencyTransfer->getDependencies() as $dependencyTransfer) { if (!$dependencyTransfer->getIsInTest()) { - $moduleNames[] = $moduleDependencyTransfer->getModule(); + $composerNames[$moduleDependencyTransfer->getModule()] = $moduleDependencyTransfer->getComposerName(); } } } - return $moduleNames; + return $composerNames; } /** @@ -158,23 +175,23 @@ protected function getBundleDependencyNamesInSrc(DependencyCollectionTransfer $m * * @return array */ - protected function getBundleDependencyNamesInTests(DependencyCollectionTransfer $moduleDependencyCollectionTransfer) + protected function getComposerNamesForInTestsUsedModules(DependencyCollectionTransfer $moduleDependencyCollectionTransfer) { - $moduleNames = []; - foreach ($moduleDependencyCollectionTransfer->getDependencyModules() as $dependencyBundleTransfer) { - foreach ($dependencyBundleTransfer->getDependencies() as $dependencyTransfer) { + $composerNames = []; + foreach ($moduleDependencyCollectionTransfer->getDependencyModules() as $moduleDependencyTransfer) { + foreach ($moduleDependencyTransfer->getDependencies() as $dependencyTransfer) { if ($dependencyTransfer->getIsInTest()) { - $moduleNames[] = $dependencyBundleTransfer->getModule(); + $composerNames[$moduleDependencyTransfer->getModule()] = $moduleDependencyTransfer->getComposerName(); } } } - return $moduleNames; + return $composerNames; } /** * If a dependency is optional it needs to be in suggest. - * Return all module names which are marked as optional. + * Return all composer names which are marked as optional. * * @param \Generated\Shared\Transfer\ComposerDependencyCollectionTransfer $composerDependencyCollectionTransfer * @@ -182,14 +199,14 @@ protected function getBundleDependencyNamesInTests(DependencyCollectionTransfer */ protected function getSuggested(ComposerDependencyCollectionTransfer $composerDependencyCollectionTransfer) { - $composerModuleNames = []; + $composerNames = []; foreach ($composerDependencyCollectionTransfer->getComposerDependencies() as $composerDependency) { if ($composerDependency->getName() && $composerDependency->getIsOptional()) { - $composerModuleNames[] = $composerDependency->getName(); + $composerNames[$composerDependency->getModuleName()] = $composerDependency->getName(); } } - return $composerModuleNames; + return $composerNames; } /** @@ -200,14 +217,14 @@ protected function getSuggested(ComposerDependencyCollectionTransfer $composerDe */ protected function getRequireNames(ComposerDependencyCollectionTransfer $composerDependencyCollectionTransfer, $isDev = false) { - $composerModuleNames = []; + $composerNames = []; foreach ($composerDependencyCollectionTransfer->getComposerDependencies() as $composerDependency) { if ($composerDependency->getName() && $composerDependency->getIsDev() === $isDev) { - $composerModuleNames[] = $composerDependency->getName(); + $composerNames[$composerDependency->getModuleName()] = $composerDependency->getName(); } } - return $composerModuleNames; + return $composerNames; } /** @@ -228,7 +245,7 @@ protected function getOverwrittenDependenciesForBundle(DependencyCollectionTrans $dependencyCollectionTransfer->setDependencyModules(new ArrayObject()); foreach ($dependencyModulesCollectionTransfer as $moduleDependencyTransfer) { - if (!in_array($moduleDependencyTransfer->getModule(), $excluded)) { + if (!in_array($moduleDependencyTransfer->getComposerName(), $excluded)) { $dependencyCollectionTransfer->addDependencyModule($moduleDependencyTransfer); } } @@ -329,11 +346,12 @@ protected function addComposerDependencies(array $require, ComposerDependencyCol if (strpos($package, 'spryker') !== 0) { continue; } - $bundle = $this->getBundleName($package); + $module = $this->getBundleName($package); $composerDependencyTransfer = new ComposerDependencyTransfer(); $composerDependencyTransfer - ->setName($bundle) + ->setName($package) + ->setModuleName($module) ->setIsDev($isDev); $composerDependencyCollectionTransfer->addComposerDependency($composerDependencyTransfer); @@ -341,22 +359,23 @@ protected function addComposerDependencies(array $require, ComposerDependencyCol } /** - * @param array $require + * @param array $suggested * @param \Generated\Shared\Transfer\ComposerDependencyCollectionTransfer $composerDependencyCollectionTransfer * * @return void */ - protected function addSuggestedDependencies(array $require, ComposerDependencyCollectionTransfer $composerDependencyCollectionTransfer) + protected function addSuggestedDependencies(array $suggested, ComposerDependencyCollectionTransfer $composerDependencyCollectionTransfer) { - foreach ($require as $package => $version) { + foreach ($suggested as $package => $description) { if (strpos($package, 'spryker') !== 0) { continue; } - $bundle = $this->getBundleName($package); + $module = $this->getBundleName($package); $composerDependencyTransfer = new ComposerDependencyTransfer(); $composerDependencyTransfer - ->setName($bundle) + ->setName($package) + ->setModuleName($module) ->setIsOptional(true); $composerDependencyCollectionTransfer->addComposerDependency($composerDependencyTransfer); @@ -405,19 +424,23 @@ protected function isOwnExtensionModule($moduleName, $dependencyCollectionTransf /** * @param \Generated\Shared\Transfer\DependencyCollectionTransfer $moduleDependencyCollectionTransfer - * @param string $declaredDependency + * @param string $composerName * @param bool $isInTest * * @return \Generated\Shared\Transfer\DependencyCollectionTransfer */ - protected function addDeclaredDependency(DependencyCollectionTransfer $moduleDependencyCollectionTransfer, $declaredDependency, $isInTest = false) + protected function addDeclaredDependency(DependencyCollectionTransfer $moduleDependencyCollectionTransfer, string $composerName, $isInTest = false) { + $moduleName = $this->getBundleName($composerName); + $dependencyModuleTransfer = new DependencyModuleTransfer(); $dependencyTransfer = new DependencyTransfer(); - $dependencyTransfer->setModule($declaredDependency); + $dependencyTransfer->setModule($moduleName); + $dependencyTransfer->setComposerName($composerName); $dependencyTransfer->setIsInTest($isInTest); $dependencyModuleTransfer->addDependency($dependencyTransfer); - $dependencyModuleTransfer->setModule($declaredDependency); + $dependencyModuleTransfer->setModule($moduleName); + $dependencyModuleTransfer->setComposerName($composerName); $moduleDependencyCollectionTransfer->addDependencyModule($dependencyModuleTransfer); return $moduleDependencyCollectionTransfer; diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index 6f0c0577..78e02bb5 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -27,6 +27,8 @@ use Spryker\Zed\Development\Business\Composer\ComposerJsonInterface; use Spryker\Zed\Development\Business\Composer\ComposerJsonUpdater; use Spryker\Zed\Development\Business\Composer\ComposerJsonUpdaterInterface; +use Spryker\Zed\Development\Business\Composer\ComposerNameFinder; +use Spryker\Zed\Development\Business\Composer\ComposerNameFinderInterface; use Spryker\Zed\Development\Business\Composer\Updater\AutoloadUpdater; use Spryker\Zed\Development\Business\Composer\Updater\BranchAliasUpdater; use Spryker\Zed\Development\Business\Composer\Updater\ComposerUpdaterComposite; @@ -71,6 +73,7 @@ use Spryker\Zed\Development\Business\Dependency\TwigFileFinder\TwigFileFinderInterface; use Spryker\Zed\Development\Business\Dependency\Validator\DependencyValidator; use Spryker\Zed\Development\Business\Dependency\Validator\DependencyValidatorInterface; +use Spryker\Zed\Development\Business\Dependency\Validator\ValidationRules\ValidationRuleAmbiguousModuleName; use Spryker\Zed\Development\Business\Dependency\Validator\ValidationRules\ValidationRuleComposite; use Spryker\Zed\Development\Business\Dependency\Validator\ValidationRules\ValidationRuleDevelopmentOnlyDependency; use Spryker\Zed\Development\Business\Dependency\Validator\ValidationRules\ValidationRuleInRequireAndRequireDev; @@ -693,7 +696,8 @@ public function createDependencyValidator(): DependencyValidatorInterface return new DependencyValidator( $this->createModuleDependencyParser(), $this->createComposerDependencyParser(), - $this->createDependencyValidationRules() + $this->createDependencyValidationRules(), + $this->createComposerNameFinder() ); } @@ -703,6 +707,7 @@ public function createDependencyValidator(): DependencyValidatorInterface public function createDependencyValidationRules(): ValidationRuleInterface { return new ValidationRuleComposite([ + $this->createValidationRuleAmbiguousModuleName(), $this->createValidationRuleDevelopmentOnlyDependency(), $this->createValidationRuleInSourceNotInRequire(), $this->createValidationRuleNotInSourceButInRequire(), @@ -716,6 +721,14 @@ public function createDependencyValidationRules(): ValidationRuleInterface ]); } + /** + * @return \Spryker\Zed\Development\Business\Dependency\Validator\ValidationRules\ValidationRuleInterface + */ + public function createValidationRuleAmbiguousModuleName(): ValidationRuleInterface + { + return new ValidationRuleAmbiguousModuleName(); + } + /** * @return \Spryker\Zed\Development\Business\Dependency\Validator\ValidationRules\ValidationRuleInterface */ @@ -1530,7 +1543,9 @@ protected function createComposerJsonRequireUpdaterTreeFilter() */ public function createComposerDependencyParser() { - return new ComposerDependencyParser(); + return new ComposerDependencyParser( + $this->createComposerNameFinder() + ); } /** @@ -1981,4 +1996,12 @@ public function createConfigArgumentCollectionBuilder(): CodeceptionArgumentsBui $this->getConfig()->getDefaultInclusiveGroups() ); } + + /** + * @return \Spryker\Zed\Development\Business\Composer\ComposerNameFinderInterface + */ + public function createComposerNameFinder(): ComposerNameFinderInterface + { + return new ComposerNameFinder($this->getModuleFinderFacade()); + } } diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php index 81776b40..7e09c88a 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php @@ -534,4 +534,18 @@ public function getModuleOverview(): array { return $this->getFactory()->createModuleOverview()->getOverview(); } + + /** + * {@inheritdoc} + * + * @api + * + * @param string $moduleName + * + * @return string|null + */ + public function findComposerNameByModuleName(string $moduleName): ?string + { + return $this->getFactory()->createComposerNameFinder()->findComposerNameByModuleName($moduleName); + } } diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php index 0756797c..7bc88ca8 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php @@ -428,4 +428,17 @@ public function getPackages(): array; * @return \Generated\Shared\Transfer\ModuleOverviewTransfer[] */ public function getModuleOverview(): array; + + /** + * Specification: + * - Returns the composer name for a module if module is not ambiguous. + * - Returns null when the module name was found in more than one organization. + * + * @api + * + * @param string $moduleName + * + * @return string|null + */ + public function findComposerNameByModuleName(string $moduleName): ?string; } diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php index 6949356c..024a0b44 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php @@ -151,7 +151,8 @@ protected function printDependencyViolationErrors(string $moduleToValidate, Arra } foreach ($moduleDependencyTransfer->getValidationMessages() as $validationMessageTransfer) { - $tableRows[] = [$moduleDependencyTransfer->getModule(), $validationMessageTransfer->getMessage()]; + $composerName = $moduleDependencyTransfer->getComposerName(); + $tableRows[] = [$composerName, $validationMessageTransfer->getMessage()]; } } @@ -180,8 +181,12 @@ protected function renderTable(OutputInterface $output, array $headers, array $r */ protected function buildTableRow(ModuleDependencyTransfer $moduleDependencyTransfer): array { + $color = $moduleDependencyTransfer->getIsValid() ? 'yellow' : 'red'; + $composerName = $moduleDependencyTransfer->getComposerName(); + return [ - 'Dependency Module' => sprintf('%s', $moduleDependencyTransfer->getModule()), + 'Composer name' => sprintf('%s', $color, $composerName), + 'Module name' => $moduleDependencyTransfer->getModuleName(), 'is valid' => $this->getColoredYesOrNo($moduleDependencyTransfer->getIsValid()), 'src dependency' => $this->getYesOrNo($moduleDependencyTransfer->getIsSrcDependency()), 'test dependency' => $this->getYesOrNo($moduleDependencyTransfer->getIsTestDependency()), diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php index 9fb57970..3cc300c2 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php @@ -29,16 +29,6 @@ class DependencyViolationFixConsole extends AbstractCoreModuleAwareConsole protected const REPLACE_4_WITH_2_SPACES = '/^( +?)\\1(?=[^ ])/m'; - /** - * @var array|null - */ - protected $moduleTransferCollectionGroupedByModuleName; - - /** - * @var array|null - */ - protected $packageTransferCollectionGroupedByPackageName; - /** * @return void */ @@ -103,10 +93,10 @@ protected function fixModuleDependencies(ModuleTransfer $moduleTransfer): void $composerJsonArray = $this->getComposerJsonAsArray($moduleTransfer); foreach ($this->getModuleDependencies($moduleTransfer) as $moduleDependencyTransfer) { - $composerNameToFix = $this->getComposerNameToFix($moduleDependencyTransfer); + $composerNameToFix = $this->getFacade()->findComposerNameByModuleName($moduleDependencyTransfer->getModuleName()); if ($composerNameToFix === null) { - $this->output->writeln(sprintf('Could not get a composer name for "%s"', $moduleDependencyTransfer->getModule())); + $this->output->writeln(sprintf('Could not get a composer name for "%s"', $moduleDependencyTransfer->getModuleName())); $this->output->writeln(sprintf('Please check the module %s.%s manually.', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName())); continue; } @@ -119,124 +109,6 @@ protected function fixModuleDependencies(ModuleTransfer $moduleTransfer): void $this->saveComposerJsonArray($moduleTransfer, $composerJsonArray); } - /** - * @param \Generated\Shared\Transfer\ModuleDependencyTransfer $moduleDependencyTransfer - * - * @return string|null - */ - protected function getComposerNameToFix(ModuleDependencyTransfer $moduleDependencyTransfer): ?string - { - $moduleName = $moduleDependencyTransfer->getModule(); - - $composerName = $this->getComposerNameFromModuleCollection($moduleName); - if ($composerName !== null) { - return $composerName; - } - - $composerName = $this->getComposerNameFromPackageCollection($moduleName); - if ($composerName !== null) { - return $composerName; - } - - return null; - } - - /** - * @param string $moduleName - * - * @return string|null - */ - protected function getComposerNameFromModuleCollection(string $moduleName): ?string - { - if ($this->isNamespacedModuleName($moduleName)) { - $moduleTransfer = $this->getModuleTransferCollection()[$moduleName]; - - return sprintf('%s/%s', $moduleTransfer->getOrganization()->getNameDashed(), $moduleTransfer->getNameDashed()); - } - - $moduleTransferCollection = $this->getModuleTransferCollectionGroupedByModuleName(); - - if (!isset($moduleTransferCollection[$moduleName])) { - return null; - } - - if (count($moduleTransferCollection[$moduleName]) > 1) { - $this->output->writeln(sprintf('Found more than one moduleTransfer for the module name "%s"', $moduleName)); - - return null; - } - - $moduleTransfer = $this->getCurrentModuleTransfer($moduleTransferCollection[$moduleName]); - - return sprintf('%s/%s', $moduleTransfer->getOrganization()->getNameDashed(), $moduleTransfer->getNameDashed()); - } - - /** - * @param string $moduleName - * - * @return string|null - */ - protected function getComposerNameFromPackageCollection(string $moduleName): ?string - { - $packageTransferCollection = $this->getPackageTransferCollectionGroupedByPackageName(); - - if (isset($packageTransferCollection[$moduleName])) { - $packageTransfer = $packageTransferCollection[$moduleName]; - - return $packageTransfer->getComposerName(); - } - - return null; - } - - /** - * @param array $moduleTransferCollection - * - * @return \Generated\Shared\Transfer\ModuleTransfer - */ - protected function getCurrentModuleTransfer(array $moduleTransferCollection): ModuleTransfer - { - return current($moduleTransferCollection); - } - - /** - * @return array - */ - protected function getModuleTransferCollectionGroupedByModuleName(): array - { - if ($this->moduleTransferCollectionGroupedByModuleName !== null) { - return $this->moduleTransferCollectionGroupedByModuleName; - } - - $moduleTransferCollection = $this->getModuleTransferCollection(); - $this->moduleTransferCollectionGroupedByModuleName = []; - - foreach ($moduleTransferCollection as $moduleTransfer) { - $this->moduleTransferCollectionGroupedByModuleName[$moduleTransfer->getName()][] = $moduleTransfer; - } - - return $this->moduleTransferCollectionGroupedByModuleName; - } - - /** - * @return \Generated\Shared\Transfer\PackageTransfer[] - */ - protected function getPackageTransferCollectionGroupedByPackageName(): array - { - if ($this->packageTransferCollectionGroupedByPackageName !== null) { - return $this->packageTransferCollectionGroupedByPackageName; - } - - $packageTransferCollection = $this->getFacade()->getPackages(); - $this->packageTransferCollectionGroupedByPackageName = []; - - foreach ($packageTransferCollection as $packageTransfer) { - $this->packageTransferCollectionGroupedByPackageName[$packageTransfer->getPackageName()] = $packageTransfer; - } - - return $this->packageTransferCollectionGroupedByPackageName; - } - /** * @param \Generated\Shared\Transfer\ModuleTransfer $moduleTransfer * diff --git a/tests/SprykerTest/Zed/Development/_support/Helper/DependencyValidatorModule.php b/tests/SprykerTest/Zed/Development/_support/Helper/DependencyValidatorModule.php index 71016058..49329e06 100644 --- a/tests/SprykerTest/Zed/Development/_support/Helper/DependencyValidatorModule.php +++ b/tests/SprykerTest/Zed/Development/_support/Helper/DependencyValidatorModule.php @@ -9,6 +9,7 @@ use Codeception\Module; use Codeception\Stub; +use Generated\Shared\Transfer\DependencyCollectionTransfer; use Generated\Shared\Transfer\DependencyValidationRequestTransfer; use Generated\Shared\Transfer\DependencyValidationResponseTransfer; use Generated\Shared\Transfer\ModuleTransfer; @@ -18,6 +19,8 @@ use Spryker\Zed\Development\Business\DevelopmentBusinessFactory; use Spryker\Zed\Development\Business\DevelopmentFacade; use Spryker\Zed\Development\Business\DevelopmentFacadeInterface; +use Spryker\Zed\Development\DevelopmentDependencyProvider; +use Spryker\Zed\Kernel\Container; class DependencyValidatorModule extends Module { @@ -28,10 +31,30 @@ class DependencyValidatorModule extends Module */ public function getFacadeForDependencyTests(array $composerDependency): DevelopmentFacadeInterface { + /** @var \Spryker\Zed\Development\Business\DevelopmentBusinessFactory $developmentFactory */ + $developmentFactory = $this->getDevelopmentFactory($composerDependency); + $developmentFactory->setContainer($this->getContainerWithProvidedDependencies()); + $developmentFacade = new DevelopmentFacade(); + $developmentFacade->setFactory($developmentFactory); + + return $developmentFacade; + } + + /** + * @param array $composerDependency + * + * @return \Spryker\Zed\Development\Business\DevelopmentBusinessFactory|object + */ + protected function getDevelopmentFactory(array $composerDependency) + { $developmentFactory = Stub::make(DevelopmentBusinessFactory::class, [ 'createModuleDependencyParser' => function () { - return Stub::makeEmpty(ModuleDependencyParserInterface::class); + return Stub::makeEmpty(ModuleDependencyParserInterface::class, [ + 'parseOutgoingDependencies' => function () { + return new DependencyCollectionTransfer(); + }, + ]); }, 'createComposerDependencyParser' => function () use ($composerDependency) { return Stub::makeEmpty(ComposerDependencyParserInterface::class, [ @@ -42,9 +65,19 @@ public function getFacadeForDependencyTests(array $composerDependency): Developm }, ]); - $developmentFacade->setFactory($developmentFactory); + return $developmentFactory; + } - return $developmentFacade; + /** + * @return \Spryker\Zed\Kernel\Container + */ + protected function getContainerWithProvidedDependencies(): Container + { + $container = new Container(); + $developmentDependencyProvider = new DevelopmentDependencyProvider(); + $container = $developmentDependencyProvider->provideBusinessLayerDependencies($container); + + return $container; } /** @@ -57,11 +90,13 @@ public function getDependencyValidationRequestTransfer(string $moduleName = 'Def { $organizationTransfer = new OrganizationTransfer(); $organizationTransfer - ->setName('Spryker'); + ->setName('Spryker') + ->setNameDashed('spryker'); $moduleTransfer = new ModuleTransfer(); $moduleTransfer ->setName($moduleName) + ->setNameDashed(strtolower($moduleName)) ->setOrganization($organizationTransfer); $dependencyValidationRequestTransfer = new DependencyValidationRequestTransfer(); @@ -78,13 +113,14 @@ public function getDependencyValidationRequestTransfer(string $moduleName = 'Def public function getDevOnlyComposerDependency(): array { return [ - 'dependencyModule' => 'Foo', + 'moduleName' => 'Foo', + 'composerName' => 'bar/foo', 'types' => [], 'isOptional' => true, 'src' => '', 'tests' => '', 'composerRequire' => '', - 'composerRequireDev' => 'Foo', + 'composerRequireDev' => 'bar/foo', 'suggested' => '', 'isOwnExtensionModule' => false, ]; @@ -98,10 +134,11 @@ public function getDevOnlyComposerDependency(): array public function getInvalidSourceDependency(): array { return [ - 'dependencyModule' => 'Foo', + 'moduleName' => 'Foo', + 'composerName' => 'bar/foo', 'types' => ['foo'], 'isOptional' => false, - 'src' => 'Foo', + 'src' => 'bar/foo', 'tests' => '', 'composerRequire' => '', 'composerRequireDev' => '', @@ -118,12 +155,13 @@ public function getInvalidSourceDependency(): array public function getInvalidRequireDependency(): array { return [ - 'dependencyModule' => 'Foo', + 'moduleName' => 'Foo', + 'composerName' => 'bar/foo', 'types' => ['foo'], 'isOptional' => false, 'src' => '', 'tests' => '', - 'composerRequire' => 'Foo', + 'composerRequire' => 'bar/foo', 'composerRequireDev' => '', 'suggested' => '', 'isOwnExtensionModule' => false, @@ -138,12 +176,13 @@ public function getInvalidRequireDependency(): array public function getValidSourceDependency(): array { return [ - 'dependencyModule' => 'Foo', + 'moduleName' => 'Foo', + 'composerName' => 'bar/foo', 'types' => ['foo'], 'isOptional' => false, - 'src' => 'Foo', + 'src' => 'bar/foo', 'tests' => '', - 'composerRequire' => 'Foo', + 'composerRequire' => 'bar/foo', 'composerRequireDev' => '', 'suggested' => '', 'isOwnExtensionModule' => false, @@ -158,11 +197,12 @@ public function getValidSourceDependency(): array public function getInvalidTestDependency(): array { return [ - 'dependencyModule' => 'Foo', + 'moduleName' => 'Foo', + 'composerName' => 'bar/foo', 'types' => ['foo'], 'isOptional' => false, 'src' => '', - 'tests' => 'Foo', + 'tests' => 'bar/foo', 'composerRequire' => '', 'composerRequireDev' => '', 'suggested' => '', @@ -178,13 +218,14 @@ public function getInvalidTestDependency(): array public function getInvalidRequireDevDependency(): array { return [ - 'dependencyModule' => 'Foo', + 'moduleName' => 'Foo', + 'composerName' => 'bar/foo', 'types' => ['foo'], 'isOptional' => false, 'src' => '', 'tests' => '', 'composerRequire' => '', - 'composerRequireDev' => 'Foo', + 'composerRequireDev' => 'bar/foo', 'suggested' => '', 'isOwnExtensionModule' => false, ]; @@ -198,13 +239,14 @@ public function getInvalidRequireDevDependency(): array public function getValidTestDependency(): array { return [ - 'dependencyModule' => 'Foo', + 'moduleName' => 'Foo', + 'composerName' => 'bar/foo', 'types' => ['foo'], 'isOptional' => false, 'src' => '', - 'tests' => 'Foo', + 'tests' => 'bar/foo', 'composerRequire' => '', - 'composerRequireDev' => 'Foo', + 'composerRequireDev' => 'bar/foo', 'suggested' => '', 'isOwnExtensionModule' => false, ]; @@ -218,12 +260,13 @@ public function getValidTestDependency(): array public function getInvalidOptionalRequiredDependency(): array { return [ - 'dependencyModule' => 'Foo', + 'moduleName' => 'Foo', + 'composerName' => 'bar/foo', 'types' => ['foo'], 'isOptional' => true, 'src' => '', 'tests' => '', - 'composerRequire' => 'Foo', + 'composerRequire' => 'bar/foo', 'composerRequireDev' => '', 'suggested' => '', 'isOwnExtensionModule' => false, @@ -238,27 +281,29 @@ public function getInvalidOptionalRequiredDependency(): array public function getValidOptionalRequiredDevDependency(): array { return [ - 'dependencyModule' => 'Foo', + 'moduleName' => 'Foo', + 'composerName' => 'bar/foo', 'types' => ['foo'], 'isOptional' => true, 'src' => '', 'tests' => '', 'composerRequire' => '', - 'composerRequireDev' => 'Foo', + 'composerRequireDev' => 'bar/foo', 'suggested' => '', 'isOwnExtensionModule' => false, ]; } /** - * Invalid dependency marked as optional not found in require-de + * Invalid dependency marked as optional not found in require-dev * * @return array */ public function getInvalidOptionalNotRequiredDevDependency(): array { return [ - 'dependencyModule' => 'Foo', + 'moduleName' => 'Foo', + 'composerName' => 'bar/foo', 'types' => ['foo'], 'isOptional' => true, 'src' => '', @@ -278,13 +323,14 @@ public function getInvalidOptionalNotRequiredDevDependency(): array public function getInvalidOptionalNotSuggestedDependency(): array { return [ - 'dependencyModule' => 'Foo', + 'moduleName' => 'Foo', + 'composerName' => 'bar/foo', 'types' => ['foo'], 'isOptional' => true, - 'src' => 'Foo', + 'src' => 'bar/foo', 'tests' => '', 'composerRequire' => '', - 'composerRequireDev' => 'Foo', + 'composerRequireDev' => 'bar/foo', 'suggested' => '', 'isOwnExtensionModule' => false, ]; @@ -298,13 +344,14 @@ public function getInvalidOptionalNotSuggestedDependency(): array public function getInvalidRequireAndRequireDevDependency(): array { return [ - 'dependencyModule' => 'Foo', + 'moduleName' => 'Foo', + 'composerName' => 'bar/foo', 'types' => ['foo'], 'isOptional' => false, - 'src' => 'Foo', - 'tests' => 'Foo', - 'composerRequire' => 'Foo', - 'composerRequireDev' => 'Foo', + 'src' => 'bar/foo', + 'tests' => 'bar/foo', + 'composerRequire' => 'bar/foo', + 'composerRequireDev' => 'bar/foo', 'suggested' => '', 'isOwnExtensionModule' => false, ]; @@ -318,7 +365,7 @@ public function getInvalidRequireAndRequireDevDependency(): array public function assertValidDependencies(DependencyValidationResponseTransfer $dependencyValidationResponseTransfer): void { foreach ($dependencyValidationResponseTransfer->getModuleDependencies() as $moduleDependency) { - $this->assertTrue($moduleDependency->getIsValid(), sprintf('Expected valid dependency but "%s" is marked as invalid', $moduleDependency->getModule())); + $this->assertTrue($moduleDependency->getIsValid(), sprintf('Expected valid dependency but "%s" is marked as invalid', $moduleDependency->getModuleName())); } } @@ -330,7 +377,7 @@ public function assertValidDependencies(DependencyValidationResponseTransfer $de public function assertInvalidDependencies(DependencyValidationResponseTransfer $dependencyValidationResponseTransfer): void { foreach ($dependencyValidationResponseTransfer->getModuleDependencies() as $moduleDependency) { - $this->assertFalse($moduleDependency->getIsValid(), sprintf('Expected invalid dependency but "%s" is marked as valid', $moduleDependency->getModule())); + $this->assertFalse($moduleDependency->getIsValid(), sprintf('Expected invalid dependency but "%s" is marked as valid', $moduleDependency->getModuleName())); } } } From 9a867e71230c41587003b7889c5504eab35543a0 Mon Sep 17 00:00:00 2001 From: mscherer Date: Fri, 23 Aug 2019 18:10:08 +0200 Subject: [PATCH 051/336] TE-3969 Fix regression of broken architecture sniffer commmand invocation. --- .../Business/ArchitectureSniffer/ArchitectureSniffer.php | 4 ++-- .../Console/CodeArchitectureSnifferConsole.php | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php index b2150952..e961fdcb 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php @@ -103,7 +103,7 @@ public function run($directory, array $options = []) $options = $this->configurationBuilder->getConfiguration($directory, $options); if ($options === []) { - return $this->formatResult($options); + return []; } if ($this->isCoreModule($options)) { @@ -147,7 +147,7 @@ protected function getProcess(array $command) */ protected function runCommand($directory, array $options = []) { - $command = [str_replace(DevelopmentConfig::BUNDLE_PLACEHOLDER, $directory, $this->command)]; + $command = explode(' ', str_replace(DevelopmentConfig::BUNDLE_PLACEHOLDER, $directory, $this->command)); $command[] = '--minimumpriority'; $command[] = $options[static::OPTION_PRIORITY]; diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php index 9066c29d..6e3a5eeb 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php @@ -109,6 +109,10 @@ public function execute(InputInterface $input, OutputInterface $output) protected function runForCore(OutputInterface $output, $moduleArgument, $subPath): bool { $moduleTransferCollection = $this->getModulesToExecute($moduleArgument); + if (!$moduleTransferCollection) { + $output->writeln(sprintf('No module(s) found: `%s`.', $moduleArgument)); + return false; + } $count = 0; @@ -116,7 +120,7 @@ protected function runForCore(OutputInterface $output, $moduleArgument, $subPath $path = $this->getCorePath($moduleTransfer, $subPath); if (!is_dir($path)) { - $output->writeln(sprintf('Path not found: %s', $path)); + $output->writeln(sprintf('Path not found: `%s`', $path)); return false; } From 16bbd6aaf154a6514794e482f364a8d671823905 Mon Sep 17 00:00:00 2001 From: mscherer Date: Fri, 23 Aug 2019 18:49:44 +0200 Subject: [PATCH 052/336] Fix CS. --- .../Communication/Console/CodeArchitectureSnifferConsole.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php index 6e3a5eeb..024b3ad8 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php @@ -111,6 +111,7 @@ protected function runForCore(OutputInterface $output, $moduleArgument, $subPath $moduleTransferCollection = $this->getModulesToExecute($moduleArgument); if (!$moduleTransferCollection) { $output->writeln(sprintf('No module(s) found: `%s`.', $moduleArgument)); + return false; } From ba51cb1ba169108f9ccdc78d74fba066cc35b2a5 Mon Sep 17 00:00:00 2001 From: Eugenia Poidenko Date: Tue, 3 Sep 2019 18:01:18 +0300 Subject: [PATCH 053/336] GLUE-7809 whitelisted the PageObject dir. --- .../Development/Business/Composer/Updater/AutoloadUpdater.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php index c745238d..1016b172 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php @@ -21,6 +21,7 @@ class AutoloadUpdater implements UpdaterInterface public const BASE_SRC_DIRECTORY = 'src'; public const BASE_SUPPORT_DIRECTORY = '_support'; public const BASE_HELPER_DIRECTORY = 'Helper'; + protected const BASE_PAGE_OBJECT_DIRECTORY = 'PageObject'; public const BASE_TESTER_DIRECTORY = 'Tester'; public const BASE_FIXTURES_DIRECTORY = 'Fixtures'; public const BASE_STEP_OVERRIDE_DIRECTORY = 'StepOverride'; @@ -74,6 +75,7 @@ class AutoloadUpdater implements UpdaterInterface self::SPRYKER_SHOP_NAMESPACE, self::SPRYKER_ECO_NAMESPACE, self::BASE_HELPER_DIRECTORY, + self::BASE_PAGE_OBJECT_DIRECTORY, self::BASE_TESTER_DIRECTORY, self::BASE_STEP_OVERRIDE_DIRECTORY, self::BASE_FIXTURES_DIRECTORY, @@ -211,7 +213,7 @@ protected function updateAutoloadWithSupportTestClasses(array $composerJson, $mo */ protected function getNonEmptyDirectoriesWithHelpers($directory) { - $files = (new Finder())->files()->in($directory)->name('/Helper.php$/'); + $files = (new Finder())->files()->in($directory)->name(['/Helper.php$/', '/Page.php$/']); $directories = []; foreach ($files as $file) { $directoryName = dirname(str_replace('//', '/', $file)); From f86e3c733db21aa7a08d7f7290d79a54e71cf311 Mon Sep 17 00:00:00 2001 From: Eugenia Poidenko Date: Tue, 3 Sep 2019 18:23:15 +0300 Subject: [PATCH 054/336] GLUE-7809 removed the addition of PageObject dir to psr4 autoload. --- .../Development/Business/Composer/Updater/AutoloadUpdater.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php index 1016b172..9c5100b2 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php @@ -213,7 +213,7 @@ protected function updateAutoloadWithSupportTestClasses(array $composerJson, $mo */ protected function getNonEmptyDirectoriesWithHelpers($directory) { - $files = (new Finder())->files()->in($directory)->name(['/Helper.php$/', '/Page.php$/']); + $files = (new Finder())->files()->in($directory)->name('/Helper.php$/'); $directories = []; foreach ($files as $file) { $directoryName = dirname(str_replace('//', '/', $file)); From 153cbe88a5160b848271416658ebc32b2c87f82c Mon Sep 17 00:00:00 2001 From: mscherer Date: Tue, 10 Sep 2019 15:46:02 +0200 Subject: [PATCH 055/336] Fix CS. --- src/Spryker/Zed/Development/Business/DevelopmentFacade.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php index 7e09c88a..72054e89 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php @@ -124,6 +124,7 @@ public function updateComposerJsonInModules(array $modules, $dryRun = false): ar * {@inheritdoc} * * @api + * * @internal * * @param \Generated\Shared\Transfer\ModuleTransfer $moduleTransfer @@ -140,6 +141,7 @@ public function showOutgoingDependenciesForModule(ModuleTransfer $moduleTransfer * {@inheritdoc} * * @api + * * @internal * * @param string $moduleName From 43bdcc4b2aa83130e80c57f6e83516ea304b281f Mon Sep 17 00:00:00 2001 From: mscherer Date: Tue, 17 Sep 2019 18:39:48 +0200 Subject: [PATCH 056/336] Fix CS. --- .../Business/CodeStyleSniffer/CodeStyleSnifferTest.php | 1 + .../Business/Codeception/Argument/CodeceptionArgumentsTest.php | 1 + .../Business/Composer/Updater/AutoloadUpdaterTest.php | 1 + .../Development/Business/Composer/Updater/TypeUpdaterTest.php | 1 + .../Business/Dependency/SchemaParser/PropelSchemaParserTest.php | 1 + .../Business/Dependency/Validator/DependencyValidatorTest.php | 1 + .../DependencyTree/DependencyFinder/ExternalDependencyTest.php | 1 + .../Zed/Development/Business/DevelopmentFacadeTest.php | 1 + .../Bundle/MethodBuilder/ClientMethodBuilderTest.php | 1 + .../Bundle/MethodBuilder/FacadeMethodBuilderTest.php | 1 + .../Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php | 1 + .../Bundle/MethodBuilder/ServiceMethodBuilderTest.php | 1 + .../Business/IdeAutoCompletion/Bundle/NamespaceExtractorTest.php | 1 + .../Business/IdeAutoCompletion/Generator/BundleGeneratorTest.php | 1 + .../Business/IdeAutoCompletion/IdeAutoCompletionWriterTest.php | 1 + .../Business/PhpMd/Rules/Design/CouplingBetweenObjectsTest.php | 1 + .../Business/PhpMd/Rules/Design/NumberOfChildrenTest.php | 1 + .../Business/PhpMd/Rules/Design/TooManyMethodsTest.php | 1 + .../Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php | 1 + .../Builder/ArchitectureSnifferConfigurationBuilderTest.php | 1 + .../ConfigurationReader/ConfigurationReaderTest.php | 1 + .../Zed/Development/_support/DevelopmentBusinessTester.php | 1 + 22 files changed, 22 insertions(+) diff --git a/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php b/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php index 49e0e7f7..de0d7983 100644 --- a/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php +++ b/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php @@ -12,6 +12,7 @@ /** * Auto-generated group annotations + * * @group SprykerTest * @group Zed * @group Development diff --git a/tests/SprykerTest/Zed/Development/Business/Codeception/Argument/CodeceptionArgumentsTest.php b/tests/SprykerTest/Zed/Development/Business/Codeception/Argument/CodeceptionArgumentsTest.php index a8e0b46d..78245f50 100644 --- a/tests/SprykerTest/Zed/Development/Business/Codeception/Argument/CodeceptionArgumentsTest.php +++ b/tests/SprykerTest/Zed/Development/Business/Codeception/Argument/CodeceptionArgumentsTest.php @@ -12,6 +12,7 @@ /** * Auto-generated group annotations + * * @group SprykerTest * @group Zed * @group Development diff --git a/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php b/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php index 971c54a8..5e520f9c 100644 --- a/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php +++ b/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php @@ -13,6 +13,7 @@ /** * Auto-generated group annotations + * * @group SprykerTest * @group Zed * @group Development diff --git a/tests/SprykerTest/Zed/Development/Business/Composer/Updater/TypeUpdaterTest.php b/tests/SprykerTest/Zed/Development/Business/Composer/Updater/TypeUpdaterTest.php index 29f8138c..da169e4d 100644 --- a/tests/SprykerTest/Zed/Development/Business/Composer/Updater/TypeUpdaterTest.php +++ b/tests/SprykerTest/Zed/Development/Business/Composer/Updater/TypeUpdaterTest.php @@ -13,6 +13,7 @@ /** * Auto-generated group annotations + * * @group SprykerTest * @group Zed * @group Development diff --git a/tests/SprykerTest/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParserTest.php b/tests/SprykerTest/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParserTest.php index 4d23637d..bff32e5f 100644 --- a/tests/SprykerTest/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParserTest.php +++ b/tests/SprykerTest/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParserTest.php @@ -17,6 +17,7 @@ /** * Auto-generated group annotations + * * @group SprykerTest * @group Zed * @group Development diff --git a/tests/SprykerTest/Zed/Development/Business/Dependency/Validator/DependencyValidatorTest.php b/tests/SprykerTest/Zed/Development/Business/Dependency/Validator/DependencyValidatorTest.php index ea15dec4..368bb844 100644 --- a/tests/SprykerTest/Zed/Development/Business/Dependency/Validator/DependencyValidatorTest.php +++ b/tests/SprykerTest/Zed/Development/Business/Dependency/Validator/DependencyValidatorTest.php @@ -11,6 +11,7 @@ /** * Auto-generated group annotations + * * @group SprykerTest * @group Zed * @group Development diff --git a/tests/SprykerTest/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependencyTest.php b/tests/SprykerTest/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependencyTest.php index 5735006c..dea778e9 100644 --- a/tests/SprykerTest/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependencyTest.php +++ b/tests/SprykerTest/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependencyTest.php @@ -17,6 +17,7 @@ /** * Auto-generated group annotations + * * @group SprykerTest * @group Zed * @group Development diff --git a/tests/SprykerTest/Zed/Development/Business/DevelopmentFacadeTest.php b/tests/SprykerTest/Zed/Development/Business/DevelopmentFacadeTest.php index d67ec783..b5276036 100644 --- a/tests/SprykerTest/Zed/Development/Business/DevelopmentFacadeTest.php +++ b/tests/SprykerTest/Zed/Development/Business/DevelopmentFacadeTest.php @@ -15,6 +15,7 @@ /** * Auto-generated group annotations + * * @group SprykerTest * @group Zed * @group Development diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php index 5636a8ed..78fc39b7 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php @@ -15,6 +15,7 @@ /** * Auto-generated group annotations + * * @group SprykerTest * @group Zed * @group Development diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php index f253ff66..aeb8fbdf 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php @@ -15,6 +15,7 @@ /** * Auto-generated group annotations + * * @group SprykerTest * @group Zed * @group Development diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php index c87b1957..0768adaf 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php @@ -15,6 +15,7 @@ /** * Auto-generated group annotations + * * @group SprykerTest * @group Zed * @group Development diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php index 82fd6b98..26eaf764 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php @@ -15,6 +15,7 @@ /** * Auto-generated group annotations + * * @group SprykerTest * @group Zed * @group Development diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/NamespaceExtractorTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/NamespaceExtractorTest.php index 7fbda995..fa55b206 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/NamespaceExtractorTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/NamespaceExtractorTest.php @@ -13,6 +13,7 @@ /** * Auto-generated group annotations + * * @group SprykerTest * @group Zed * @group Development diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Generator/BundleGeneratorTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Generator/BundleGeneratorTest.php index 680c7df7..ace831b1 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Generator/BundleGeneratorTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Generator/BundleGeneratorTest.php @@ -16,6 +16,7 @@ /** * Auto-generated group annotations + * * @group SprykerTest * @group Zed * @group Development diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriterTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriterTest.php index 9a1760db..5b371427 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriterTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriterTest.php @@ -19,6 +19,7 @@ /** * Auto-generated group annotations + * * @group SprykerTest * @group Zed * @group Development diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjectsTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjectsTest.php index b0e1cc8c..c0913925 100644 --- a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjectsTest.php +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjectsTest.php @@ -13,6 +13,7 @@ /** * Auto-generated group annotations + * * @group SprykerTest * @group Zed * @group Development diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildrenTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildrenTest.php index 1841e96a..3d7da66c 100644 --- a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildrenTest.php +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildrenTest.php @@ -13,6 +13,7 @@ /** * Auto-generated group annotations + * * @group SprykerTest * @group Zed * @group Development diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php index 09bed260..c55fc051 100644 --- a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php @@ -13,6 +13,7 @@ /** * Auto-generated group annotations + * * @group SprykerTest * @group Zed * @group Development diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php index 58087d30..69531a05 100644 --- a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php @@ -13,6 +13,7 @@ /** * Auto-generated group annotations + * * @group SprykerTest * @group Zed * @group Development diff --git a/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilderTest.php index f037777c..e86afa8b 100644 --- a/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilderTest.php @@ -11,6 +11,7 @@ /** * Auto-generated group annotations + * * @group SprykerTest * @group Zed * @group Development diff --git a/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/ConfigurationReader/ConfigurationReaderTest.php b/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/ConfigurationReader/ConfigurationReaderTest.php index a8bf6a13..260cca2c 100644 --- a/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/ConfigurationReader/ConfigurationReaderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/ConfigurationReader/ConfigurationReaderTest.php @@ -11,6 +11,7 @@ /** * Auto-generated group annotations + * * @group SprykerTest * @group Zed * @group Development diff --git a/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php b/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php index 597b01ed..c796a941 100644 --- a/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php +++ b/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php @@ -19,6 +19,7 @@ /** * Inherited Methods + * * @method void wantToTest($text) * @method void wantTo($text) * @method void execute($callable) From 1c597a3e27c742a4484f419a7c71a1a153e63e34 Mon Sep 17 00:00:00 2001 From: mscherer Date: Wed, 18 Sep 2019 12:03:29 +0200 Subject: [PATCH 057/336] Fix php74 deprecations. --- .../Development/Business/Composer/Updater/AutoloadUpdater.php | 2 +- .../Business/Composer/Updater/AutoloadUpdaterTest.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php index 9c5100b2..0b15cc21 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php @@ -334,7 +334,7 @@ protected function buildTestDirectoryKeys() */ protected function getPath(array $pathParts) { - return implode($pathParts, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR; + return implode(DIRECTORY_SEPARATOR, $pathParts) . DIRECTORY_SEPARATOR; } /** diff --git a/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php b/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php index 5e520f9c..ffd58790 100644 --- a/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php +++ b/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php @@ -112,7 +112,7 @@ public function testWhenSupportFolderExistsWithHelpersItGetsAddedToAutoload() [ [ $pathParts, - implode($pathParts, DIRECTORY_SEPARATOR) . '/', + implode(DIRECTORY_SEPARATOR, $pathParts) . '/', ], ] ); @@ -141,7 +141,7 @@ protected function updateJsonForTests(array $composerJson) [ [ $pathParts, - implode($pathParts, DIRECTORY_SEPARATOR) . '/', + implode(DIRECTORY_SEPARATOR, $pathParts) . '/', ], ] ); From 290bfd50dc8b34708e8e455c813730eb291b9cd2 Mon Sep 17 00:00:00 2001 From: mscherer Date: Thu, 19 Sep 2019 15:29:44 +0200 Subject: [PATCH 058/336] Fix CS. --- src/Spryker/Zed/Development/Business/DevelopmentFacade.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php index 72054e89..92b3f5a6 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php @@ -156,10 +156,10 @@ public function showIncomingDependenciesForModule($moduleName) /** * {@inheritdoc} * - * @deprecated Please use `getModules()` instead. - * * @api * + * @deprecated Please use `getModules()` instead. + * * @return array */ public function getAllModules() From 88e050a85cbacaf969a9aadac35e6584890a8176 Mon Sep 17 00:00:00 2001 From: mscherer Date: Tue, 24 Sep 2019 17:47:24 +0200 Subject: [PATCH 059/336] Fix XML syntax. --- .../Development/Business/PhpMd/ruleset.xml | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/PhpMd/ruleset.xml b/src/Spryker/Zed/Development/Business/PhpMd/ruleset.xml index 71f488b4..4020d7e6 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/ruleset.xml +++ b/src/Spryker/Zed/Development/Business/PhpMd/ruleset.xml @@ -19,13 +19,13 @@ */Generated/* - - + + - - + + 2 - + @@ -59,14 +59,14 @@ maintainability and understandability 2 - + - - - + + + - + - - + + - + + value="false"/> + value="false"/> Date: Wed, 25 Sep 2019 11:39:09 +0300 Subject: [PATCH 060/336] GLUE-8743 Fixed return types --- .../Business/ArchitectureSniffer/AllModuleFinder.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php index 3885342d..98cfefaa 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php @@ -139,9 +139,9 @@ protected function findModules($path, $namespace): array /** * @param array $modules * - * @return mixed + * @return array */ - protected function addApplication(array $modules) + protected function addApplication(array $modules): array { foreach ($modules as $i => $moduleData) { $moduleDataExploded = explode('/', $moduleData['directory']); From 0f90455a731977130f69bed91caff71d992c59cb Mon Sep 17 00:00:00 2001 From: mscherer Date: Wed, 25 Sep 2019 16:45:37 +0200 Subject: [PATCH 061/336] Fix CS. --- .../Config/CodeStyleSnifferConfiguration.php | 18 +++++----- .../Business/DevelopmentFacade.php | 34 +++++++++---------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php index 75c198a7..e1d4dcdb 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php @@ -104,7 +104,7 @@ public function setConfigurationOptions(array $configurationOptions) } /** - * {@inheritdoc} + * {@inheritDoc} * * @return string */ @@ -118,7 +118,7 @@ public function getCodingStandard(): string } /** - * {@inheritdoc} + * {@inheritDoc} * * @return string|null */ @@ -128,7 +128,7 @@ public function getIgnoredPaths(): ?string } /** - * {@inheritdoc} + * {@inheritDoc} * * @return bool */ @@ -138,7 +138,7 @@ public function isFixing(): bool } /** - * {@inheritdoc} + * {@inheritDoc} * * @return bool */ @@ -148,7 +148,7 @@ public function isQuiet(): bool } /** - * {@inheritdoc} + * {@inheritDoc} * * @return bool */ @@ -158,7 +158,7 @@ public function isDryRun(): bool } /** - * {@inheritdoc} + * {@inheritDoc} * * @return bool */ @@ -168,7 +168,7 @@ public function isExplaining(): bool } /** - * {@inheritdoc} + * {@inheritDoc} * * @return string|null */ @@ -178,7 +178,7 @@ public function getSpecificSniffs(): ?string } /** - * {@inheritdoc} + * {@inheritDoc} * * @return bool */ @@ -188,7 +188,7 @@ public function isVerbose(): bool } /** - * {@inheritdoc} + * {@inheritDoc} * * @throws \InvalidArgumentException * diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php index 92b3f5a6..0c97704c 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php @@ -121,7 +121,7 @@ public function updateComposerJsonInModules(array $modules, $dryRun = false): ar } /** - * {@inheritdoc} + * {@inheritDoc} * * @api * @@ -138,7 +138,7 @@ public function showOutgoingDependenciesForModule(ModuleTransfer $moduleTransfer } /** - * {@inheritdoc} + * {@inheritDoc} * * @api * @@ -154,7 +154,7 @@ public function showIncomingDependenciesForModule($moduleName) } /** - * {@inheritdoc} + * {@inheritDoc} * * @api * @@ -168,7 +168,7 @@ public function getAllModules() } /** - * {@inheritdoc} + * {@inheritDoc} * * @api * @@ -361,7 +361,7 @@ public function generateGlueIdeAutoCompletion() } /** - * {@inheritdoc} + * {@inheritDoc} * * @api * @@ -376,7 +376,7 @@ public function runArchitectureSniffer($directory, array $options = []) } /** - * {@inheritdoc} + * {@inheritDoc} * * @api * @@ -400,7 +400,7 @@ public function listAllBundles() } /** - * {@inheritdoc} + * {@inheritDoc} * * @api * @@ -412,7 +412,7 @@ public function getArchitectureRules() } /** - * {@inheritdoc} + * {@inheritDoc} * * @api * @@ -427,7 +427,7 @@ public function runPhpstan(InputInterface $input, OutputInterface $output) } /** - * {@inheritdoc} + * {@inheritDoc} * * @api * @@ -442,7 +442,7 @@ public function runPropelAbstractValidation(OutputInterface $output, ?string $mo } /** - * {@inheritdoc} + * {@inheritDoc} * * @api * @@ -456,7 +456,7 @@ public function validateModuleDependencies(DependencyValidationRequestTransfer $ } /** - * {@inheritdoc} + * {@inheritDoc} * * @api * @@ -470,7 +470,7 @@ public function validateComposerJson(ComposerJsonValidationRequestTransfer $comp } /** - * {@inheritdoc} + * {@inheritDoc} * * @api * @@ -484,7 +484,7 @@ public function getInProjectDependencyProviderUsedPlugins(?ModuleFilterTransfer } /** - * {@inheritdoc} + * {@inheritDoc} * * @api * @@ -498,7 +498,7 @@ public function getProjectModules(?ModuleFilterTransfer $moduleFilterTransfer = } /** - * {@inheritdoc} + * {@inheritDoc} * * @api * @@ -512,7 +512,7 @@ public function getModules(?ModuleFilterTransfer $moduleFilterTransfer = null): } /** - * {@inheritdoc} + * {@inheritDoc} * * @api * @@ -526,7 +526,7 @@ public function getPackages(): array } /** - * {@inheritdoc} + * {@inheritDoc} * * @api * @@ -538,7 +538,7 @@ public function getModuleOverview(): array } /** - * {@inheritdoc} + * {@inheritDoc} * * @api * From e4db4d1d43575f5b31ea810b4a9e0edb9a5b7528 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Thu, 25 Apr 2019 14:16:15 +0000 Subject: [PATCH 062/336] TE-1211 Added StorageRouter, StorageRouterExtension, added ShopRouter to StorageRouter migrator --- .../Business/Module/ModuleFileFinder/ModuleFileFinder.php | 2 +- src/Spryker/Zed/Development/DevelopmentConfig.php | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinder.php b/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinder.php index 556b688d..23b508aa 100644 --- a/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinder.php +++ b/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinder.php @@ -52,7 +52,7 @@ public function find(ModuleTransfer $moduleTransfer): Finder $directories = $this->getModuleDirectories($moduleTransfer); $finder = new Finder(); - $finder->files()->in($directories)->ignoreDotFiles(false); + $finder->files()->in($directories)->ignoreDotFiles(false)->exclude('migrate'); return $finder; } diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index aceae464..7394e6dc 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -272,6 +272,7 @@ public function getExternalToInternalNamespaceMap() 'Monolog\\' => 'spryker/monolog', 'Elastica\\' => 'spryker/elastica', 'Symfony\\Component\\' => 'spryker/symfony', + 'Symfony\Cmf\Component\Routing' => 'spryker/symfony', 'Twig_' => 'spryker/twig', 'Twig\\' => 'spryker/twig', 'Zend\\' => 'spryker/zend', From 9e87928d470ed3492fd0750d0443b599daf1aa1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Fri, 3 May 2019 10:44:15 +0000 Subject: [PATCH 063/336] TE-1211 Removed dead code, self review changes --- .../Business/Module/ModuleFileFinder/ModuleFileFinder.php | 2 +- src/Spryker/Zed/Development/DevelopmentConfig.php | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinder.php b/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinder.php index 23b508aa..556b688d 100644 --- a/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinder.php +++ b/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinder.php @@ -52,7 +52,7 @@ public function find(ModuleTransfer $moduleTransfer): Finder $directories = $this->getModuleDirectories($moduleTransfer); $finder = new Finder(); - $finder->files()->in($directories)->ignoreDotFiles(false)->exclude('migrate'); + $finder->files()->in($directories)->ignoreDotFiles(false); return $finder; } diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 7394e6dc..aceae464 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -272,7 +272,6 @@ public function getExternalToInternalNamespaceMap() 'Monolog\\' => 'spryker/monolog', 'Elastica\\' => 'spryker/elastica', 'Symfony\\Component\\' => 'spryker/symfony', - 'Symfony\Cmf\Component\Routing' => 'spryker/symfony', 'Twig_' => 'spryker/twig', 'Twig\\' => 'spryker/twig', 'Zend\\' => 'spryker/zend', From 05164b944532803e9bcba1cf25f2df3317e06c55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Thu, 26 Sep 2019 05:27:00 +0000 Subject: [PATCH 064/336] TE-1211 Fixed dependency finder. --- .../ComposerDependencyFinder.php | 62 +++++++++++++++++++ .../TravisDependencyFinder.php | 2 +- .../Business/DevelopmentBusinessFactory.php | 10 +++ 3 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ComposerDependencyFinder.php diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ComposerDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ComposerDependencyFinder.php new file mode 100644 index 00000000..a84caf1d --- /dev/null +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ComposerDependencyFinder.php @@ -0,0 +1,62 @@ +getDependencyType() !== null && $context->getDependencyType() !== $this->getType()) { + return false; + } + + if ($context->getFileInfo()->getFilename() !== 'composer.json') { + return false; + } + + return true; + } + + /** + * @param \Spryker\Zed\Development\Business\Dependency\DependencyFinder\Context\DependencyFinderContextInterface $context + * @param \Spryker\Zed\Development\Business\Dependency\DependencyContainer\DependencyContainerInterface $dependencyContainer + * + * @return \Spryker\Zed\Development\Business\Dependency\DependencyContainer\DependencyContainerInterface + */ + public function findDependencies(DependencyFinderContextInterface $context, DependencyContainerInterface $dependencyContainer): DependencyContainerInterface + { + $fileContent = $context->getFileInfo()->getContents(); + if (preg_match('/code-sniffer\/(Spryker|SprykerStrict)\/ruleset.xml/', $fileContent)) { + $dependencyContainer->addDependency('CodeSniffer', $this->getType(), false, true); + } + + if (strpos($fileContent, 'vendor/bin/codecept') !== false) { + $dependencyContainer->addDependency('Testify', $this->getType(), false, true); + } + + return $dependencyContainer; + } +} diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TravisDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TravisDependencyFinder.php index eb45933f..adda2dfc 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TravisDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TravisDependencyFinder.php @@ -49,7 +49,7 @@ public function accept(DependencyFinderContextInterface $context): bool public function findDependencies(DependencyFinderContextInterface $context, DependencyContainerInterface $dependencyContainer): DependencyContainerInterface { $fileContent = $context->getFileInfo()->getContents(); - if (strpos($fileContent, 'code-sniffer/Spryker/ruleset.xml') !== false) { + if (preg_match('/code-sniffer\/(Spryker|SprykerStrict)\/ruleset.xml/', $fileContent)) { $dependencyContainer->addDependency('CodeSniffer', $this->getType(), false, true); } diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index 78e02bb5..7ab7c586 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -44,6 +44,7 @@ use Spryker\Zed\Development\Business\Dependency\DependencyContainer\DependencyContainerInterface; use Spryker\Zed\Development\Business\Dependency\DependencyFinder\BehaviorDependencyFinder; use Spryker\Zed\Development\Business\Dependency\DependencyFinder\CodeceptionDependencyFinder; +use Spryker\Zed\Development\Business\Dependency\DependencyFinder\ComposerDependencyFinder; use Spryker\Zed\Development\Business\Dependency\DependencyFinder\ComposerScriptDependencyFinder; use Spryker\Zed\Development\Business\Dependency\DependencyFinder\DependencyFinderComposite; use Spryker\Zed\Development\Business\Dependency\DependencyFinder\DependencyFinderInterface; @@ -396,6 +397,7 @@ public function createDependencyFinder(): DependencyFinderInterface $this->createPersistenceDependencyFinder(), $this->createBehaviorDependencyFinder(), $this->createTwigDependencyFinder(), + $this->createComposerDependencyFinder(), $this->createTravisDependencyFinder(), $this->createComposerScriptDependencyFinder(), $this->createCodeceptionDependencyFinder(), @@ -502,6 +504,14 @@ public function createTwigDependencyFinder(): DependencyFinderInterface ); } + /** + * @return \Spryker\Zed\Development\Business\Dependency\DependencyFinder\DependencyFinderInterface + */ + public function createComposerDependencyFinder(): DependencyFinderInterface + { + return new ComposerDependencyFinder(); + } + /** * @return \Spryker\Zed\Development\Business\Dependency\DependencyFinder\DependencyFinderInterface */ From 141bb79ad38cab7281f59acb885c8924d23d6999 Mon Sep 17 00:00:00 2001 From: Eugenia Poidenko Date: Mon, 30 Sep 2019 13:51:52 +0300 Subject: [PATCH 065/336] GLUE-8743 upped the phpstan level to 5. --- phpstan.json | 2 +- phpstan.neon | 1 + .../DependencyTree/DependencyGraph/OutgoingGraphBuilder.php | 2 +- .../Development/Business/Stability/StabilityCalculator.php | 4 ++-- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/phpstan.json b/phpstan.json index fab1ce92..5853d235 100644 --- a/phpstan.json +++ b/phpstan.json @@ -1,3 +1,3 @@ { - "defaultLevel": 3 + "defaultLevel": 5 } diff --git a/phpstan.neon b/phpstan.neon index a9f2469b..18be9240 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -3,3 +3,4 @@ parameters: - '#Constant T_SEMICOLON not found.#' - '#Constant T_OPEN_PARENTHESIS not found.#' - '#Constant T_OPEN_SQUARE_BRACKET not found.#' + - '#If condition is always false.#' diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php index 9113e0e3..fa79b268 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php @@ -140,7 +140,7 @@ protected function buildGraph($moduleName, ArrayObject $allDependencies) $allDependencies[$moduleName] = $dependencies; foreach ($dependencies as $dependentBundle) { - if (array_key_exists($dependentBundle, $allDependencies)) { + if ($allDependencies->offsetExists($dependentBundle)) { continue; } $this->buildGraph($dependentBundle, $allDependencies); diff --git a/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php b/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php index 11b43663..bcf20f33 100644 --- a/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php +++ b/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php @@ -169,7 +169,7 @@ protected function buildIndirectOutgoingDependencies($bundleName, ArrayObject $i $dependencies = $this->bundles[$bundleName]['out']; foreach ($dependencies as $dependentBundle) { - if (array_key_exists($dependentBundle, $indirectOutgoingDependencies)) { + if ($indirectOutgoingDependencies->offsetExists($dependentBundle)) { continue; } $indirectOutgoingDependencies[$dependentBundle] = $dependentBundle; @@ -188,7 +188,7 @@ protected function buildIndirectIncomingDependencies($bundleName, ArrayObject $i $dependencies = $this->bundles[$bundleName]['in']; foreach ($dependencies as $dependentBundle) { - if (array_key_exists($dependentBundle, $indirectIncomingDependencies)) { + if ($indirectIncomingDependencies->offsetExists($dependentBundle)) { continue; } $indirectIncomingDependencies[$dependentBundle] = $dependentBundle; From 5a5872a6749555a1a12bd4cb4d40d249640f4960 Mon Sep 17 00:00:00 2001 From: Eugenia Poidenko Date: Mon, 30 Sep 2019 14:57:42 +0300 Subject: [PATCH 066/336] GLUE-8743 ignored for path, not for the whole module. --- phpstan.neon | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/phpstan.neon b/phpstan.neon index 18be9240..f91a767a 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -3,4 +3,6 @@ parameters: - '#Constant T_SEMICOLON not found.#' - '#Constant T_OPEN_PARENTHESIS not found.#' - '#Constant T_OPEN_SQUARE_BRACKET not found.#' - - '#If condition is always false.#' + - + message: '#If condition is always false.#' + path: 'vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php' From 4f690f83dea973ebeae445122c05da6862ec9f15 Mon Sep 17 00:00:00 2001 From: Eugenia Poidenko Date: Mon, 30 Sep 2019 15:29:33 +0300 Subject: [PATCH 067/336] GLUE-8743 removed dead method. --- .../Console/CodeArchitectureSnifferConsole.php | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php index 024b3ad8..b67d0927 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php @@ -136,16 +136,6 @@ protected function runForCore(OutputInterface $output, $moduleArgument, $subPath return $count === 0; } - /** - * @param string $namespace - * - * @return bool - */ - protected function getNamespaceIsSpryker(string $namespace): bool - { - return $namespace === static::NAMESPACE_SPRYKER || $namespace === static::NAMESPACE_SPRYKER_SHOP; - } - /** * @param string $moduleArgument * From 5f10c6836b41745f6034ae704f77d253b4571d89 Mon Sep 17 00:00:00 2001 From: Eugenia Poidenko Date: Mon, 30 Sep 2019 23:42:06 +0300 Subject: [PATCH 068/336] GLUE-8743 fixed the issue with split or nonsplit variant of installation. --- .../ArchitectureSniffer/AllModuleFinder.php | 35 ++++++------------- 1 file changed, 11 insertions(+), 24 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php index 98cfefaa..05e014b9 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php @@ -48,8 +48,7 @@ public function find(): array { $modules = []; $modules[] = $this->loadProjectModules(); - $modules[] = $this->loadCoreDevelopmentModules(); - $modules[] = $this->loadOtherCoreModules(); + $modules[] = $this->loadCoreModules(); return $this->addApplication(array_merge(...$modules)); } @@ -71,33 +70,21 @@ protected function loadProjectModules(): array /** * @return array */ - protected function loadCoreDevelopmentModules(): array - { - $modules = []; - foreach (range('A', 'Z') as $letter) { - $path = sprintf('%s/spryker/spryker/Bundles/%s*/src/Spryker/*', APPLICATION_VENDOR_DIR, $letter); - $namespace = 'Spryker'; - $modules[] = $this->findModules($path, $namespace); - } - - return array_merge(...$modules); - } - - /** - * @return array - */ - protected function loadOtherCoreModules(): array + protected function loadCoreModules(): array { $modules = []; foreach ($this->developmentConfig->getCoreNamespaces() as $coreNamespace) { - $namespaceDir = $this->filter->filter($coreNamespace); - $namespaceDir = strtolower($namespaceDir); - - $path = APPLICATION_VENDOR_DIR . '/' . $namespaceDir . '/*/src/*/*'; - $modules = $this->findModules($path, $coreNamespace); + $pathToNamespace = $this->developmentConfig->getPathToInternalNamespace($coreNamespace); + foreach (range('a', 'z') as $letter) { + if (mb_strpos($pathToNamespace, 'Bundles') !== false) { + $letter = strtoupper((string)$letter); + } + $path = $pathToNamespace . sprintf('%s*/src/*/*', $letter); + $modules[] = $this->findModules($path, $coreNamespace); + } } - return $modules; + return array_merge(...$modules); } /** From 534b006bdb2e525a8682a48218ba4750069a6908 Mon Sep 17 00:00:00 2001 From: Eugenia Poidenko Date: Mon, 30 Sep 2019 23:59:08 +0300 Subject: [PATCH 069/336] GLUE-8743 fixed the dependencies of the AllModuleFinder. --- .../Business/ArchitectureSniffer/AllModuleFinder.php | 10 +--------- .../Business/DevelopmentBusinessFactory.php | 1 - 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php index 05e014b9..71ecf3cd 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php @@ -10,7 +10,6 @@ use InvalidArgumentException; use Spryker\Zed\Development\DevelopmentConfig; use Symfony\Component\Finder\Finder; -use Zend\Filter\FilterInterface; class AllModuleFinder implements AllModuleFinderInterface { @@ -19,11 +18,6 @@ class AllModuleFinder implements AllModuleFinderInterface */ protected $finder; - /** - * @var \Zend\Filter\FilterInterface - */ - protected $filter; - /** * @var \Spryker\Zed\Development\DevelopmentConfig */ @@ -31,13 +25,11 @@ class AllModuleFinder implements AllModuleFinderInterface /** * @param \Symfony\Component\Finder\Finder $finder - * @param \Zend\Filter\FilterInterface $filter * @param \Spryker\Zed\Development\DevelopmentConfig $developmentConfig */ - public function __construct(Finder $finder, FilterInterface $filter, DevelopmentConfig $developmentConfig) + public function __construct(Finder $finder, DevelopmentConfig $developmentConfig) { $this->finder = $finder; - $this->filter = $filter; $this->developmentConfig = $developmentConfig; } diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index 187fc3b1..162e4aa6 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -1911,7 +1911,6 @@ public function createAllModuleFinder(): AllModuleFinderInterface { return new AllModuleFinder( $this->createFinder(), - $this->createCamelCaseToDashFilter(), $this->getConfig() ); } From fcac82785f1ff45f4e3b04b614ee9aaa2b678db7 Mon Sep 17 00:00:00 2001 From: Eugenia Poidenko Date: Tue, 1 Oct 2019 08:47:06 +0300 Subject: [PATCH 070/336] GLUE-8743 updated composer. --- .../ArchitectureSniffer/AllModuleFinder.php | 43 +++++++++++++++---- .../Business/DevelopmentBusinessFactory.php | 3 +- 2 files changed, 37 insertions(+), 9 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php index 71ecf3cd..a2aa1daf 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php @@ -10,6 +10,7 @@ use InvalidArgumentException; use Spryker\Zed\Development\DevelopmentConfig; use Symfony\Component\Finder\Finder; +use Zend\Filter\FilterInterface; class AllModuleFinder implements AllModuleFinderInterface { @@ -23,14 +24,21 @@ class AllModuleFinder implements AllModuleFinderInterface */ protected $developmentConfig; + /** + * @var \Zend\Filter\FilterInterface + */ + protected $filter; + /** * @param \Symfony\Component\Finder\Finder $finder * @param \Spryker\Zed\Development\DevelopmentConfig $developmentConfig + * @param \Zend\Filter\FilterInterface $filter */ - public function __construct(Finder $finder, DevelopmentConfig $developmentConfig) + public function __construct(Finder $finder, DevelopmentConfig $developmentConfig, FilterInterface $filter) { $this->finder = $finder; $this->developmentConfig = $developmentConfig; + $this->filter = $filter; } /** @@ -40,7 +48,8 @@ public function find(): array { $modules = []; $modules[] = $this->loadProjectModules(); - $modules[] = $this->loadCoreModules(); + $modules[] = $this->loadCoreDevelopmentModules(); + $modules[] = $this->loadOtherCoreModules(); return $this->addApplication(array_merge(...$modules)); } @@ -62,16 +71,34 @@ protected function loadProjectModules(): array /** * @return array */ - protected function loadCoreModules(): array + protected function loadCoreDevelopmentModules(): array + { + $modules = []; + foreach ($this->developmentConfig->getInternalNamespacesList() as $internalNamespace) { + foreach (range('A', 'Z') as $letter) { + $namespaceDir = $this->filter->filter($internalNamespace); + $namespaceDir = strtolower($namespaceDir); + + $path = sprintf('%s/spryker/%s/Bundles/%s*/src/*/*', APPLICATION_VENDOR_DIR, $namespaceDir, $letter); + $modules[] = $this->findModules($path, $internalNamespace); + } + } + + return array_merge(...$modules); + } + + /** + * @return array + */ + protected function loadOtherCoreModules(): array { $modules = []; foreach ($this->developmentConfig->getCoreNamespaces() as $coreNamespace) { - $pathToNamespace = $this->developmentConfig->getPathToInternalNamespace($coreNamespace); foreach (range('a', 'z') as $letter) { - if (mb_strpos($pathToNamespace, 'Bundles') !== false) { - $letter = strtoupper((string)$letter); - } - $path = $pathToNamespace . sprintf('%s*/src/*/*', $letter); + $namespaceDir = $this->filter->filter($coreNamespace); + $namespaceDir = strtolower($namespaceDir); + + $path = sprintf('%s/%s/%s*/src/*/*', APPLICATION_VENDOR_DIR, $namespaceDir, $letter); $modules[] = $this->findModules($path, $coreNamespace); } } diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index 162e4aa6..f71561de 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -1911,7 +1911,8 @@ public function createAllModuleFinder(): AllModuleFinderInterface { return new AllModuleFinder( $this->createFinder(), - $this->getConfig() + $this->getConfig(), + $this->createCamelCaseToDashFilter() ); } From a5aa685b1422f3ef8e5837910cc989605f3e5025 Mon Sep 17 00:00:00 2001 From: Eugenia Poidenko Date: Tue, 1 Oct 2019 13:54:25 +0300 Subject: [PATCH 071/336] GLUE-8743 removed ignore of the phpstan.neon, fixed accessing arrayObjects as array. --- phpstan.neon | 3 --- .../DependencyTree/DependencyGraph/OutgoingGraphBuilder.php | 2 +- .../Development/Business/Stability/StabilityCalculator.php | 4 ++-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/phpstan.neon b/phpstan.neon index f91a767a..a9f2469b 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -3,6 +3,3 @@ parameters: - '#Constant T_SEMICOLON not found.#' - '#Constant T_OPEN_PARENTHESIS not found.#' - '#Constant T_OPEN_SQUARE_BRACKET not found.#' - - - message: '#If condition is always false.#' - path: 'vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php' diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php index fa79b268..64e67db4 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php @@ -138,7 +138,7 @@ protected function buildGraph($moduleName, ArrayObject $allDependencies) $dependencies = $this->filterBundles($dependencies); } - $allDependencies[$moduleName] = $dependencies; + $allDependencies->offsetSet($moduleName, $dependencies); foreach ($dependencies as $dependentBundle) { if ($allDependencies->offsetExists($dependentBundle)) { continue; diff --git a/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php b/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php index bcf20f33..03d3ec68 100644 --- a/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php +++ b/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php @@ -172,7 +172,7 @@ protected function buildIndirectOutgoingDependencies($bundleName, ArrayObject $i if ($indirectOutgoingDependencies->offsetExists($dependentBundle)) { continue; } - $indirectOutgoingDependencies[$dependentBundle] = $dependentBundle; + $indirectOutgoingDependencies->offsetSet($dependentBundle, $dependentBundle); $this->buildIndirectOutgoingDependencies($dependentBundle, $indirectOutgoingDependencies); } } @@ -191,7 +191,7 @@ protected function buildIndirectIncomingDependencies($bundleName, ArrayObject $i if ($indirectIncomingDependencies->offsetExists($dependentBundle)) { continue; } - $indirectIncomingDependencies[$dependentBundle] = $dependentBundle; + $indirectIncomingDependencies->offsetSet($dependentBundle, $dependentBundle); $this->buildIndirectIncomingDependencies($dependentBundle, $indirectIncomingDependencies); } } From 23eeb28ee3ed6f069d4b9daf0335be48771e03f3 Mon Sep 17 00:00:00 2001 From: Eugenia Poidenko Date: Tue, 1 Oct 2019 14:40:18 +0300 Subject: [PATCH 072/336] GLUE-8743 fixed phpstan error. --- .../Zed/Development/Business/Phpstan/PhpstanRunner.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index 65d8eac0..2b6b7943 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -114,13 +114,21 @@ public function run(InputInterface $input, OutputInterface $output) $output->writeln(sprintf('Finished %s/%s.', $count, $total)); } } - if ($this->errorCount) { + if ($this->getErrorCount()) { $output->writeln('Total errors found: ' . $this->errorCount . ''); } return $resultCode; } + /** + * @return int + */ + protected function getErrorCount(): int + { + return $this->errorCount; + } + /** * @param string $path * @param string $configFilePath From ccf29f1ff8e7eaa385db972dc0d7ff78d5242ff4 Mon Sep 17 00:00:00 2001 From: Ahmed Sabaa Date: Thu, 3 Oct 2019 13:29:05 +0200 Subject: [PATCH 073/336] GLUE-7681 added Glue application in development module composer autoload updater, fixed composer for AuthRestApi --- .../Development/Business/Composer/Updater/AutoloadUpdater.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php index 0b15cc21..5d766136 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php @@ -65,6 +65,7 @@ class AutoloadUpdater implements UpdaterInterface 'Shared', 'Yves', 'Zed', + 'Glue', ]; /** From a03da12187cb62052987b65bf2074e4bc0d47e4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Tue, 8 Oct 2019 07:11:19 +0200 Subject: [PATCH 074/336] Merged ComposerScriptDependencyFinder and ComposerDependencyFinder, updated detecting CodeSniffer dependencies. (#6132) --- .../ComposerDependencyFinder.php | 7 ++- .../ComposerScriptDependencyFinder.php | 58 ------------------- .../TravisDependencyFinder.php | 7 ++- .../Business/DevelopmentBusinessFactory.php | 10 ---- 4 files changed, 12 insertions(+), 70 deletions(-) delete mode 100644 src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ComposerScriptDependencyFinder.php diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ComposerDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ComposerDependencyFinder.php index a84caf1d..36cb882d 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ComposerDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ComposerDependencyFinder.php @@ -49,7 +49,12 @@ public function accept(DependencyFinderContextInterface $context): bool public function findDependencies(DependencyFinderContextInterface $context, DependencyContainerInterface $dependencyContainer): DependencyContainerInterface { $fileContent = $context->getFileInfo()->getContents(); - if (preg_match('/code-sniffer\/(Spryker|SprykerStrict)\/ruleset.xml/', $fileContent)) { + + if (strpos($fileContent, 'cs-check') !== false) { + $dependencyContainer->addDependency('CodeSniffer', $this->getType(), false, true); + } + + if (preg_match('/code-sniffer\/(Spryker|SprykerStrict)/', $fileContent)) { $dependencyContainer->addDependency('CodeSniffer', $this->getType(), false, true); } diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ComposerScriptDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ComposerScriptDependencyFinder.php deleted file mode 100644 index 0ba28f07..00000000 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ComposerScriptDependencyFinder.php +++ /dev/null @@ -1,58 +0,0 @@ -getDependencyType() !== null && $context->getDependencyType() !== $this->getType()) { - return false; - } - - if ($context->getFileInfo()->getFilename() !== 'composer.json') { - return false; - } - - return true; - } - - /** - * @param \Spryker\Zed\Development\Business\Dependency\DependencyFinder\Context\DependencyFinderContextInterface $context - * @param \Spryker\Zed\Development\Business\Dependency\DependencyContainer\DependencyContainerInterface $dependencyContainer - * - * @return \Spryker\Zed\Development\Business\Dependency\DependencyContainer\DependencyContainerInterface - */ - public function findDependencies(DependencyFinderContextInterface $context, DependencyContainerInterface $dependencyContainer): DependencyContainerInterface - { - $fileContent = $context->getFileInfo()->getContents(); - if (strpos($fileContent, 'code-sniffer/Spryker/ruleset.xml') !== false) { - $dependencyContainer->addDependency('CodeSniffer', $this->getType(), false, true); - } - - return $dependencyContainer; - } -} diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TravisDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TravisDependencyFinder.php index adda2dfc..77d5fc8d 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TravisDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TravisDependencyFinder.php @@ -49,7 +49,12 @@ public function accept(DependencyFinderContextInterface $context): bool public function findDependencies(DependencyFinderContextInterface $context, DependencyContainerInterface $dependencyContainer): DependencyContainerInterface { $fileContent = $context->getFileInfo()->getContents(); - if (preg_match('/code-sniffer\/(Spryker|SprykerStrict)\/ruleset.xml/', $fileContent)) { + + if (preg_match('/composer cs-check/', $fileContent)) { + $dependencyContainer->addDependency('CodeSniffer', $this->getType(), false, true); + } + + if (preg_match('/code-sniffer\/(Spryker|SprykerStrict)/', $fileContent)) { $dependencyContainer->addDependency('CodeSniffer', $this->getType(), false, true); } diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index f71561de..12359a37 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -47,7 +47,6 @@ use Spryker\Zed\Development\Business\Dependency\DependencyFinder\BehaviorDependencyFinder; use Spryker\Zed\Development\Business\Dependency\DependencyFinder\CodeceptionDependencyFinder; use Spryker\Zed\Development\Business\Dependency\DependencyFinder\ComposerDependencyFinder; -use Spryker\Zed\Development\Business\Dependency\DependencyFinder\ComposerScriptDependencyFinder; use Spryker\Zed\Development\Business\Dependency\DependencyFinder\DependencyFinderComposite; use Spryker\Zed\Development\Business\Dependency\DependencyFinder\DependencyFinderInterface; use Spryker\Zed\Development\Business\Dependency\DependencyFinder\ExtensionDependencyFinder; @@ -401,7 +400,6 @@ public function createDependencyFinder(): DependencyFinderInterface $this->createTwigDependencyFinder(), $this->createComposerDependencyFinder(), $this->createTravisDependencyFinder(), - $this->createComposerScriptDependencyFinder(), $this->createCodeceptionDependencyFinder(), $this->createModuleAnnotationDependencyFinder(), ]); @@ -522,14 +520,6 @@ public function createTravisDependencyFinder(): DependencyFinderInterface return new TravisDependencyFinder(); } - /** - * @return \Spryker\Zed\Development\Business\Dependency\DependencyFinder\DependencyFinderInterface - */ - public function createComposerScriptDependencyFinder(): DependencyFinderInterface - { - return new ComposerScriptDependencyFinder(); - } - /** * @return \Spryker\Zed\Development\Business\Dependency\DependencyFinder\DependencyFinderInterface */ From 549fdfb3aa88066e701defb5b577ed4a411900ef Mon Sep 17 00:00:00 2001 From: mscherer Date: Wed, 9 Oct 2019 15:48:07 +0200 Subject: [PATCH 075/336] TE-4264 Fix transfer definitions to include missing uses. --- .../Communication/Console/ComposerJsonUpdaterConsole.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php b/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php index 5430c45c..15d43bed 100644 --- a/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php @@ -86,7 +86,7 @@ public function execute(InputInterface $input, OutputInterface $output) $commands = []; foreach ($modifiedModules as $modifiedModule) { - $commands[] = 'console ' . static::COMMAND_NAME . ' ' . $modifiedModule; + $commands[] = 'vendor/bin/console ' . static::COMMAND_NAME . ' ' . $modifiedModule; } $this->info( From 6889a263498279ddd8eaf6147484ada3b7511dad Mon Sep 17 00:00:00 2001 From: mscherer Date: Mon, 14 Oct 2019 19:44:50 +0200 Subject: [PATCH 076/336] TE-4264 Fix transfer definitions to include missing singular. --- .../Shared/Development/Transfer/development.transfer.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Spryker/Shared/Development/Transfer/development.transfer.xml b/src/Spryker/Shared/Development/Transfer/development.transfer.xml index 09420b84..0f44e626 100644 --- a/src/Spryker/Shared/Development/Transfer/development.transfer.xml +++ b/src/Spryker/Shared/Development/Transfer/development.transfer.xml @@ -72,7 +72,7 @@ - + @@ -96,7 +96,7 @@ - + @@ -156,7 +156,7 @@ - + From 284741943ed91fd5cb40510229c544dcd7ae0830 Mon Sep 17 00:00:00 2001 From: Mahmoud Ali Date: Thu, 17 Oct 2019 03:03:13 +0200 Subject: [PATCH 077/336] CC-5750 Add spryker/decimal-object to external development --- src/Spryker/Zed/Development/DevelopmentConfig.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index aceae464..f4061688 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -264,6 +264,7 @@ public function getExternalToInternalNamespaceMap() 'Psr\\Container\\' => 'spryker/container', 'Propel\\' => 'spryker/propel-orm', 'Silex\\' => 'spryker/silex', + 'Spryker\\DecimalObject\\' => 'spryker/decimal-object', 'Pimple' => 'spryker/container', 'Predis\\' => 'spryker/redis', 'Guzzle\\' => 'spryker/guzzle', From b1de182422d26cf793b9bfa4f7b89ed112b5a3dd Mon Sep 17 00:00:00 2001 From: mscherer Date: Thu, 17 Oct 2019 12:56:53 +0200 Subject: [PATCH 078/336] Fix php74 and cs issues. --- .../Business/CodeBuilder/Bridge/BridgeBuilder.php | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php b/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php index 733563f1..9b9731f1 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php @@ -547,13 +547,11 @@ protected function addMethodsToTemplate(ReflectionClass $reflectionClass, array '{parametersWithoutTypes}' => $this->getParameterNames($method), ]; - $methods .= - str_replace( - array_keys($replacements), - array_values($replacements), - $methodTemplate - ) - . PHP_EOL . PHP_EOL . str_repeat(' ', 4); + $methods .= str_replace( + array_keys($replacements), + array_values($replacements), + $methodTemplate + ) . PHP_EOL . PHP_EOL . str_repeat(' ', 4); } $useStatements = array_keys($useStatements); From 09fb31154ad40e272ebd1ac4df4ee9f589b1a807 Mon Sep 17 00:00:00 2001 From: mscherer Date: Mon, 4 Nov 2019 16:56:08 +0100 Subject: [PATCH 079/336] TE-4409 Composer package validation for casing. --- .../ComposerJsonUnboundRequireConstraintValidator.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonUnboundRequireConstraintValidator.php b/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonUnboundRequireConstraintValidator.php index 5b940e22..36275374 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonUnboundRequireConstraintValidator.php +++ b/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonUnboundRequireConstraintValidator.php @@ -27,6 +27,12 @@ public function validate(array $composerJsonArray, ComposerJsonValidationRespons } foreach ($composerJsonArray[static::REQUIRE] as $packageName => $version) { + if (strtolower($packageName) !== $packageName) { + $validationMessageTransfer = new ValidationMessageTransfer(); + $validationMessageTransfer->setMessage(sprintf('Package name `%s` is not in valid lowercase only format.', $packageName)); + $composerJsonValidationResponseTransfer->addValidationMessage($validationMessageTransfer); + } + if (preg_match('/^ext-/', $packageName)) { continue; } From 92b14300f307e00cf8e279ff9f521fa47343e526 Mon Sep 17 00:00:00 2001 From: mscherer Date: Tue, 5 Nov 2019 10:58:43 +0100 Subject: [PATCH 080/336] TE-4409 Composer package validation for casing. --- .../ComposerJsonPackageNameValidator.php | 55 +++++++++++++++++++ ...rJsonUnboundRequireConstraintValidator.php | 6 -- .../Business/DevelopmentBusinessFactory.php | 10 ++++ 3 files changed, 65 insertions(+), 6 deletions(-) create mode 100644 src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonPackageNameValidator.php diff --git a/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonPackageNameValidator.php b/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonPackageNameValidator.php new file mode 100644 index 00000000..8f3f8669 --- /dev/null +++ b/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonPackageNameValidator.php @@ -0,0 +1,55 @@ + $version) { + $composerJsonValidationResponseTransfer = $this->assertPackageName($packageName, $composerJsonValidationResponseTransfer); + } + + $requireDev = $composerJsonArray[static::REQUIRE_DEV] ?? []; + foreach ($requireDev as $packageName => $version) { + $composerJsonValidationResponseTransfer = $this->assertPackageName($packageName, $composerJsonValidationResponseTransfer); + } + + return $composerJsonValidationResponseTransfer; + } + + /** + * @param string $packageName + * @param \Generated\Shared\Transfer\ComposerJsonValidationResponseTransfer $composerJsonValidationResponseTransfer + * + * @return \Generated\Shared\Transfer\ComposerJsonValidationResponseTransfer + */ + protected function assertPackageName(string $packageName, ComposerJsonValidationResponseTransfer $composerJsonValidationResponseTransfer): ComposerJsonValidationResponseTransfer + { + if (mb_strtolower($packageName) !== $packageName) { + $validationMessageTransfer = new ValidationMessageTransfer(); + $validationMessageTransfer->setMessage(sprintf('Package name `%s` is not in valid lowercase only format.', $packageName)); + $composerJsonValidationResponseTransfer->addValidationMessage($validationMessageTransfer); + } + + return $composerJsonValidationResponseTransfer; + } +} diff --git a/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonUnboundRequireConstraintValidator.php b/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonUnboundRequireConstraintValidator.php index 36275374..5b940e22 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonUnboundRequireConstraintValidator.php +++ b/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonUnboundRequireConstraintValidator.php @@ -27,12 +27,6 @@ public function validate(array $composerJsonArray, ComposerJsonValidationRespons } foreach ($composerJsonArray[static::REQUIRE] as $packageName => $version) { - if (strtolower($packageName) !== $packageName) { - $validationMessageTransfer = new ValidationMessageTransfer(); - $validationMessageTransfer->setMessage(sprintf('Package name `%s` is not in valid lowercase only format.', $packageName)); - $composerJsonValidationResponseTransfer->addValidationMessage($validationMessageTransfer); - } - if (preg_match('/^ext-/', $packageName)) { continue; } diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index 12359a37..946b049e 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -39,6 +39,7 @@ use Spryker\Zed\Development\Business\Composer\Updater\RequireUpdater; use Spryker\Zed\Development\Business\Composer\Updater\StabilityUpdater; use Spryker\Zed\Development\Business\Composer\Updater\TypeUpdater; +use Spryker\Zed\Development\Business\Composer\Validator\ComposerJsonPackageNameValidator; use Spryker\Zed\Development\Business\Composer\Validator\ComposerJsonUnboundRequireConstraintValidator; use Spryker\Zed\Development\Business\Composer\Validator\ComposerJsonValidatorComposite; use Spryker\Zed\Development\Business\Composer\Validator\ComposerJsonValidatorInterface; @@ -847,6 +848,7 @@ public function createComposerJsonValidator(): ComposerJsonInterface public function createComposerJsonValidatorComposite(): ComposerJsonValidatorInterface { return new ComposerJsonValidatorComposite([ + $this->createComposerJsonPackageNameValidator(), $this->createComposerJsonUnboundRequireConstraintValidator(), ]); } @@ -859,6 +861,14 @@ public function createComposerJsonUnboundRequireConstraintValidator(): ComposerJ return new ComposerJsonUnboundRequireConstraintValidator(); } + /** + * @return \Spryker\Zed\Development\Business\Composer\Validator\ComposerJsonValidatorInterface + */ + public function createComposerJsonPackageNameValidator(): ComposerJsonValidatorInterface + { + return new ComposerJsonPackageNameValidator(); + } + /** * @return \Spryker\Zed\Development\Business\Integration\DependencyProviderUsedPluginFinderInterface */ From f95db8570602ca84c047f3dd07d51f128f88cdae Mon Sep 17 00:00:00 2001 From: mscherer Date: Fri, 1 Nov 2019 12:53:33 +0100 Subject: [PATCH 081/336] TE-4334 PHP72+ for core. TE-4334 raised minimum version of php to 7.2 TE-4334 updated travis file TE-4334 updated travis file TE-4334 Fix travis.yml TE-4334 composer.json update TE-4334 Change updater logic TE-4334 Comment back require updater --- .travis.yml | 2 +- composer.json | 2 +- .../Business/CodeBuilder/Module/Templates/.gitignore.tpl | 3 ++- .../Business/CodeBuilder/Module/Templates/.travis.yml.tpl | 4 ++-- .../Development/Business/Composer/Updater/RequireUpdater.php | 2 +- 5 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0d7fcc78..b6d6d9c4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,7 @@ language: php dist: trusty php: - - 7.1 + - 7.2 cache: directories: diff --git a/composer.json b/composer.json index 9417561b..01071b52 100644 --- a/composer.json +++ b/composer.json @@ -5,7 +5,7 @@ "license": "proprietary", "require": { "nette/di": "^2.4.7 || ^3.0", - "php": ">=7.1", + "php": ">=7.2", "spryker/config": "^3.0.0", "spryker/graph": "^3.0.0", "spryker/kernel": "^3.30.0", diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitignore.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitignore.tpl index 0d27ebd1..1fd247d6 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitignore.tpl +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitignore.tpl @@ -13,7 +13,8 @@ .DS_Store /vendor -/composer.lock +composer.lock +.phpunit.result.cache /tests/_output/* !/tests/_output/.gitkeep diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.travis.yml.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.travis.yml.tpl index 9a96a68a..2ea39a5a 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.travis.yml.tpl +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.travis.yml.tpl @@ -1,7 +1,7 @@ language: php php: - - 7.1 + - 7.2 - 7.3 cache: @@ -15,7 +15,7 @@ env: - APPLICATION_STORE=DE install: - - composer install --no-interaction --prefer-dist + - COMPOSER_MEMORY_LIMIT=-1 composer install --no-interaction --prefer-dist script: - vendor/bin/phpcs src --standard=vendor/spryker/code-sniffer/Spryker/ruleset.xml diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php index 7aaceceb..5fb055ad 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php @@ -13,7 +13,7 @@ class RequireUpdater implements UpdaterInterface { public const KEY_REQUIRE = 'require'; public const KEY_REQUIRE_PHP = 'php'; - public const PHP_MINIMUM = '>=7.1'; + public const PHP_MINIMUM = '>=7.2'; /** * @param array $composerJson From 727bc0b118d2a225d220bbeee73042f5feddccf2 Mon Sep 17 00:00:00 2001 From: mscherer Date: Thu, 14 Nov 2019 15:53:56 +0100 Subject: [PATCH 082/336] Add middleware to tooling for split level. --- src/Spryker/Zed/Development/DevelopmentConfig.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index aceae464..49e9f359 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -22,6 +22,7 @@ class DevelopmentConfig extends AbstractBundleConfig protected const NAMESPACE_SPRYKER_SHOP = 'SprykerShop'; protected const NAMESPACE_SPRYKER_ECO = 'SprykerEco'; protected const NAMESPACE_SPRYKER_SDK = 'SprykerSdk'; + protected const NAMESPACE_SPRYKER_MIDDLEWARE = 'SprykerMiddleware'; protected const NAMESPACE_SPRYKER_MERCHANT_PORTAL = 'SprykerMerchantPortal'; protected const GROUP_SPRYKER_TEST = 'SprykerTest'; @@ -50,6 +51,7 @@ class DevelopmentConfig extends AbstractBundleConfig self::NAMESPACE_SPRYKER_SHOP => APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . 'vendor/spryker-shop/', self::NAMESPACE_SPRYKER_ECO => APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . 'vendor/spryker-eco/', self::NAMESPACE_SPRYKER_SDK => APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . 'vendor/spryker-sdk/', + self::NAMESPACE_SPRYKER_MIDDLEWARE => APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . 'vendor/spryker-middleware/', self::NAMESPACE_SPRYKER_MERCHANT_PORTAL => APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . 'vendor/spryker-merchant-portal/', ]; From 145603dabd20a7b86869d0e17e56d57004b77d2b Mon Sep 17 00:00:00 2001 From: mscherer Date: Fri, 15 Nov 2019 17:09:22 +0100 Subject: [PATCH 083/336] Remove unused code as per scrut report. --- .../Business/ArchitectureSniffer/AllBundleFinder.php | 4 ++-- .../Business/ArchitectureSniffer/AllModuleFinder.php | 3 ++- .../Business/Dependency/TwigFileFinder/TwigFileFinder.php | 2 +- .../Zed/Development/Business/Phpstan/PhpstanRunner.php | 2 -- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php index fac74599..61a694ad 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php @@ -74,15 +74,15 @@ public function find() */ protected function findBundles($path, $namespace, array $allBundles) { - $directories = []; - try { + /** @var \SplFileInfo[] $directories */ $directories = (new Finder()) ->directories() ->in($path) ->depth('== 0'); } catch (InvalidArgumentException $e) { // ~ Directory does not exist. It's not an error. + return $allBundles; } foreach ($directories as $dir) { diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php index a2aa1daf..c4a8cbd0 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php @@ -114,16 +114,17 @@ protected function loadOtherCoreModules(): array */ protected function findModules($path, $namespace): array { - $directories = []; $finder = clone $this->finder; try { + /** @var \SplFileInfo[] $directories */ $directories = $finder ->directories() ->in($path) ->depth('== 0'); } catch (InvalidArgumentException $e) { // ~ Directory does not exist. It's not an error. + return []; } if (!$directories) { diff --git a/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php b/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php index 65591f79..23617daf 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php @@ -62,6 +62,6 @@ protected function buildTwigFilePaths(string $module): array $twigFilePaths[] = sprintf($pathPattern, $module); } - return $twigFilePaths = array_filter($twigFilePaths, 'glob'); + return array_filter($twigFilePaths, 'glob'); } } diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index 2b6b7943..ccf01ea6 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -186,8 +186,6 @@ protected function runCommand($path, $configFilePath, InputInterface $input, Out $processOutputBuffer = ''; }); - $processOutputBuffer = ''; - if ($this->phpstanConfigFileManager->isMergedConfigFile($configFilePath)) { $this->phpstanConfigFileManager->deleteConfigFile($configFilePath); } From f412051c67d57a59060887b2b3ddfb545a5723cd Mon Sep 17 00:00:00 2001 From: mscherer Date: Mon, 18 Nov 2019 14:07:35 +0100 Subject: [PATCH 084/336] Fix code smell. --- .../DependencyTree/DependencyFinder/UseStatement.php | 12 ++++++++---- .../Development/Business/Phpstan/PhpstanRunner.php | 10 ++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/UseStatement.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/UseStatement.php index 86d6c301..6edca2e3 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/UseStatement.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/UseStatement.php @@ -29,8 +29,10 @@ public function addDependencies(SplFileInfo $fileInfo) $className = str_replace(['use ', ';'], '', $match[0]); $toBundle = $match[static::BUNDLE]; $layer = $this->getLayerFromUseStatement($match); - $dependencyInformation[DependencyTree::META_FOREIGN_LAYER] = $layer; - $dependencyInformation[DependencyTree::META_FOREIGN_CLASS_NAME] = $className; + $dependencyInformation = [ + DependencyTree::META_FOREIGN_LAYER => $layer, + DependencyTree::META_FOREIGN_CLASS_NAME => $className, + ]; $this->addDependency($fileInfo, $toBundle, $dependencyInformation); } @@ -38,8 +40,10 @@ public function addDependencies(SplFileInfo $fileInfo) if (preg_match('/use Spryker\\\Shared\\\Config/', $content)) { $toBundle = 'Config'; - $dependencyInformation[DependencyTree::META_FOREIGN_LAYER] = ''; - $dependencyInformation[DependencyTree::META_FOREIGN_CLASS_NAME] = 'Spryker\\Shared\\Config'; + $dependencyInformation = [ + DependencyTree::META_FOREIGN_LAYER => '', + DependencyTree::META_FOREIGN_CLASS_NAME => 'Spryker\\Shared\\Config', + ]; $this->addDependency($fileInfo, $toBundle, $dependencyInformation); } diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index ccf01ea6..1ab114f9 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -93,11 +93,13 @@ public function run(InputInterface $input, OutputInterface $output) if ($module) { $paths = $this->getPaths($module); + if (empty($paths)) { + throw new RuntimeException('No path found for module ' . $module); + } } else { - $paths[$this->config->getPathToRoot()] = $this->config->getPathToRoot(); - } - if (empty($paths)) { - throw new RuntimeException('No path found for module ' . $module); + $paths = [ + $this->config->getPathToRoot() => $this->config->getPathToRoot(), + ]; } $resultCode = 0; From 215fc5a6304c6302ffc61bec00915d4d121095c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Wed, 20 Nov 2019 10:11:16 +0100 Subject: [PATCH 085/336] Fixed composer.json updater. (#6380) --- .../Development/Business/Composer/Updater/AutoloadUpdater.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php index 5d766136..e61730de 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php @@ -61,6 +61,7 @@ class AutoloadUpdater implements UpdaterInterface * @var array */ protected $applications = [ + 'Service', 'Client', 'Shared', 'Yves', From 2590220a329df7ffe7b6b23f248af6c172e76478 Mon Sep 17 00:00:00 2001 From: mscherer Date: Tue, 19 Nov 2019 15:58:46 +0100 Subject: [PATCH 086/336] Fix CS strict for tests. --- .../CodeStyleSniffer/CodeStyleSnifferTest.php | 12 +++++----- .../Composer/Updater/AutoloadUpdaterTest.php | 22 ++++++++--------- .../Composer/Updater/TypeUpdaterTest.php | 6 ++--- .../Validator/DependencyValidatorTest.php | 24 +++++++++---------- .../ExternalDependencyTest.php | 5 ++-- .../MethodBuilder/ClientMethodBuilderTest.php | 6 ++--- .../MethodBuilder/FacadeMethodBuilderTest.php | 10 ++++---- .../QueryContainerMethodBuilderTest.php | 6 ++--- .../ServiceMethodBuilderTest.php | 6 ++--- .../Bundle/NamespaceExtractorTest.php | 10 ++++---- .../Generator/BundleGeneratorTest.php | 6 ++--- .../IdeAutoCompletionWriterTest.php | 21 ++++++++-------- .../Design/CouplingBetweenObjectsTest.php | 8 +++---- .../Rules/Design/NumberOfChildrenTest.php | 8 +++---- .../PhpMd/Rules/Design/TooManyMethodsTest.php | 10 ++++---- .../Rules/Design/TooManyPublicMethodsTest.php | 10 ++++---- .../_support/Helper/IdeAutoCompletion.php | 12 +++++----- tests/dd.php | 2 +- 18 files changed, 93 insertions(+), 91 deletions(-) diff --git a/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php b/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php index de0d7983..abf29b88 100644 --- a/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php +++ b/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php @@ -60,7 +60,7 @@ class CodeStyleSnifferTest extends Unit /** * @return void */ - public function testCheckCodeStyleRunsCommandInProject() + public function testCheckCodeStyleRunsCommandInProject(): void { $options = ['ignore' => 'vendor/'] + $this->defaultOptions; $pathToApplicationRoot = APPLICATION_ROOT_DIR . '/'; @@ -72,7 +72,7 @@ public function testCheckCodeStyleRunsCommandInProject() /** * @return void */ - public function testCheckCodeStyleRunsCommandInProjectModule() + public function testCheckCodeStyleRunsCommandInProjectModule(): void { $options = ['ignore' => 'vendor/'] + $this->defaultOptions; $pathToApplicationRoot = APPLICATION_ROOT_DIR . '/src/Pyz/Zed/Development/'; @@ -84,7 +84,7 @@ public function testCheckCodeStyleRunsCommandInProjectModule() /** * @return void */ - public function testCheckCodeStyleRunsCommandInCore() + public function testCheckCodeStyleRunsCommandInCore(): void { $module = 'Spryker.all'; $options = [ @@ -101,7 +101,7 @@ public function testCheckCodeStyleRunsCommandInCore() /** * @return void */ - public function testCheckCodeStyleRunsCommandInCoreModuleForLevelOne() + public function testCheckCodeStyleRunsCommandInCoreModuleForLevelOne(): void { $module = 'Spryker.Development'; $options = [ @@ -119,7 +119,7 @@ public function testCheckCodeStyleRunsCommandInCoreModuleForLevelOne() /** * @return void */ - public function testCheckCodeStyleRunsCommandInCoreModuleForLevelTwo() + public function testCheckCodeStyleRunsCommandInCoreModuleForLevelTwo(): void { $module = 'Spryker.Development'; $options = [ @@ -140,7 +140,7 @@ public function testCheckCodeStyleRunsCommandInCoreModuleForLevelTwo() * * @return \PHPUnit\Framework\MockObject\MockObject|\Spryker\Zed\Development\Business\CodeStyleSniffer\CodeStyleSniffer */ - protected function getCodeStyleSnifferMock($expectedPathToRunCommandWith, array $options) + protected function getCodeStyleSnifferMock(string $expectedPathToRunCommandWith, array $options) { $developmentConfig = $this->tester->createDevelopmentConfig(); $codingStandard = $developmentConfig->getCodingStandard(); diff --git a/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php b/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php index ffd58790..6d1b5710 100644 --- a/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php +++ b/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php @@ -28,7 +28,7 @@ class AutoloadUpdaterTest extends Unit /** * @return void */ - public function testWhenTestsFolderExistsDefaultAutoloadDevIsAddedToComposer() + public function testWhenTestsFolderExistsDefaultAutoloadDevIsAddedToComposer(): void { $updatedJson = $this->updateJsonForTests($this->getComposerJson()); $this->assertSame($this->getComposerJson()['autoload-dev'], $updatedJson['autoload-dev']); @@ -41,7 +41,7 @@ public function testWhenTestsFolderExistsDefaultAutoloadDevIsAddedToComposer() * * @return void */ - public function testWhenDeprecatedDirExistsAutoloadDevAddedToComposer($autoloadKey) + public function testWhenDeprecatedDirExistsAutoloadDevAddedToComposer(string $autoloadKey): void { $updatedJson = $this->getJsonAfterUpdate( [ @@ -56,7 +56,7 @@ public function testWhenDeprecatedDirExistsAutoloadDevAddedToComposer($autoloadK /** * @return void */ - public function testWhenTestFolderDoesNotExistNothingAddedToComposer() + public function testWhenTestFolderDoesNotExistNothingAddedToComposer(): void { $splFileInfo = $this->getSplFile(); $composerJson = $this->getComposerJson(); @@ -71,7 +71,7 @@ public function testWhenTestFolderDoesNotExistNothingAddedToComposer() /** * @return void */ - public function testWhenAutoloadDevNamespaceIsInvalidGetsRemoved() + public function testWhenAutoloadDevNamespaceIsInvalidGetsRemoved(): void { $composerJson = $this->getComposerJson(); $composerJson['autoload-dev']['psr-4']['invalidNamespace'] = 'validDirectory/'; @@ -84,7 +84,7 @@ public function testWhenAutoloadDevNamespaceIsInvalidGetsRemoved() /** * @return void */ - public function testWhenAutoloadPathIsInvalidGetsRemoved() + public function testWhenAutoloadPathIsInvalidGetsRemoved(): void { $composerJson = $this->getComposerJson(); $composerJson['autoload']['psr-4']['validNamespace'] = 'invalidDirectory/'; @@ -97,7 +97,7 @@ public function testWhenAutoloadPathIsInvalidGetsRemoved() /** * @return void */ - public function testWhenSupportFolderExistsWithHelpersItGetsAddedToAutoload() + public function testWhenSupportFolderExistsWithHelpersItGetsAddedToAutoload(): void { $pathParts = [ AutoloadUpdater::BASE_SRC_DIRECTORY, @@ -125,7 +125,7 @@ public function testWhenSupportFolderExistsWithHelpersItGetsAddedToAutoload() * * @return array */ - protected function updateJsonForTests(array $composerJson) + protected function updateJsonForTests(array $composerJson): array { $pathParts = [ AutoloadUpdater::BASE_TESTS_DIRECTORY, @@ -154,7 +154,7 @@ protected function updateJsonForTests(array $composerJson) * * @return array */ - protected function getJsonAfterUpdate(array $pathParts, array $composerJson, array $dirMapAdditions = []) + protected function getJsonAfterUpdate(array $pathParts, array $composerJson, array $dirMapAdditions = []): array { $splFileInfo = $this->getSplFile(); @@ -183,7 +183,7 @@ protected function getJsonAfterUpdate(array $pathParts, array $composerJson, arr /** * @return array */ - public function autoloadKeys() + public function autoloadKeys(): array { return [ ['Acceptance'], @@ -210,7 +210,7 @@ protected function getAutoloadUpdaterMock() * * @return array */ - protected function getComposerJson($autoloadKey = '') + protected function getComposerJson(string $autoloadKey = ''): array { $composerArray = [ 'autoload' => [ @@ -236,7 +236,7 @@ protected function getComposerJson($autoloadKey = '') /** * @return \Symfony\Component\Finder\SplFileInfo */ - protected function getSplFile() + protected function getSplFile(): SplFileInfo { return new SplFileInfo(__FILE__, __DIR__, __DIR__); } diff --git a/tests/SprykerTest/Zed/Development/Business/Composer/Updater/TypeUpdaterTest.php b/tests/SprykerTest/Zed/Development/Business/Composer/Updater/TypeUpdaterTest.php index da169e4d..b73007fb 100644 --- a/tests/SprykerTest/Zed/Development/Business/Composer/Updater/TypeUpdaterTest.php +++ b/tests/SprykerTest/Zed/Development/Business/Composer/Updater/TypeUpdaterTest.php @@ -28,7 +28,7 @@ class TypeUpdaterTest extends Unit /** * @return void */ - public function testSetsTypeToPropelBehaviorWhenPackageNameContainsBehavior() + public function testSetsTypeToPropelBehaviorWhenPackageNameContainsBehavior(): void { $typeUpdater = new TypeUpdater(); $updatedJson = $typeUpdater->update($this->getComposerJson('foo-behavior'), $this->getSplFile()); @@ -39,7 +39,7 @@ public function testSetsTypeToPropelBehaviorWhenPackageNameContainsBehavior() /** * @return void */ - public function testSetsTypeToLibraryBehaviorWhenPackageNameNotContainsBehavior() + public function testSetsTypeToLibraryBehaviorWhenPackageNameNotContainsBehavior(): void { $typeUpdater = new TypeUpdater(); $updatedJson = $typeUpdater->update($this->getComposerJson('foo'), $this->getSplFile()); @@ -65,7 +65,7 @@ protected function getComposerJson(string $packageName): array /** * @return \Symfony\Component\Finder\SplFileInfo */ - protected function getSplFile() + protected function getSplFile(): SplFileInfo { return new SplFileInfo(__FILE__, __DIR__, __DIR__); } diff --git a/tests/SprykerTest/Zed/Development/Business/Dependency/Validator/DependencyValidatorTest.php b/tests/SprykerTest/Zed/Development/Business/Dependency/Validator/DependencyValidatorTest.php index 368bb844..ae88ca06 100644 --- a/tests/SprykerTest/Zed/Development/Business/Dependency/Validator/DependencyValidatorTest.php +++ b/tests/SprykerTest/Zed/Development/Business/Dependency/Validator/DependencyValidatorTest.php @@ -31,7 +31,7 @@ class DependencyValidatorTest extends Unit /** * @return void */ - public function testDependencyIsValidWhenDependencyTypeIsDevOnly() + public function testDependencyIsValidWhenDependencyTypeIsDevOnly(): void { $developmentFacade = $this->tester->getFacadeForDependencyTests($this->tester->getDevOnlyComposerDependency()); $dependencyValidationResponseTransfer = $developmentFacade->validateModuleDependencies($this->tester->getDependencyValidationRequestTransfer()); @@ -42,7 +42,7 @@ public function testDependencyIsValidWhenDependencyTypeIsDevOnly() /** * @return void */ - public function testDependencyIsInvalidWhenDependencyInSourceButMissingInComposerRequire() + public function testDependencyIsInvalidWhenDependencyInSourceButMissingInComposerRequire(): void { $developmentFacade = $this->tester->getFacadeForDependencyTests($this->tester->getInvalidSourceDependency()); $dependencyValidationResponseTransfer = $developmentFacade->validateModuleDependencies($this->tester->getDependencyValidationRequestTransfer()); @@ -53,7 +53,7 @@ public function testDependencyIsInvalidWhenDependencyInSourceButMissingInCompose /** * @return void */ - public function testDependencyIsInvalidWhenDependencyNotInSourceButInComposerRequire() + public function testDependencyIsInvalidWhenDependencyNotInSourceButInComposerRequire(): void { $developmentFacade = $this->tester->getFacadeForDependencyTests($this->tester->getInvalidRequireDependency()); $dependencyValidationResponseTransfer = $developmentFacade->validateModuleDependencies($this->tester->getDependencyValidationRequestTransfer()); @@ -64,7 +64,7 @@ public function testDependencyIsInvalidWhenDependencyNotInSourceButInComposerReq /** * @return void */ - public function testDependencyIsValidWhenDependencyInSourceAndInComposerRequire() + public function testDependencyIsValidWhenDependencyInSourceAndInComposerRequire(): void { $developmentFacade = $this->tester->getFacadeForDependencyTests($this->tester->getValidSourceDependency()); $dependencyValidationResponseTransfer = $developmentFacade->validateModuleDependencies($this->tester->getDependencyValidationRequestTransfer()); @@ -75,7 +75,7 @@ public function testDependencyIsValidWhenDependencyInSourceAndInComposerRequire( /** * @return void */ - public function testDependencyIsInvalidWhenDependencyInTestButMissingInComposerRequireDev() + public function testDependencyIsInvalidWhenDependencyInTestButMissingInComposerRequireDev(): void { $developmentFacade = $this->tester->getFacadeForDependencyTests($this->tester->getInvalidTestDependency()); $dependencyValidationResponseTransfer = $developmentFacade->validateModuleDependencies($this->tester->getDependencyValidationRequestTransfer()); @@ -86,7 +86,7 @@ public function testDependencyIsInvalidWhenDependencyInTestButMissingInComposerR /** * @return void */ - public function testDependencyIsInvalidWhenDependencyNotInTestButInComposerRequireDev() + public function testDependencyIsInvalidWhenDependencyNotInTestButInComposerRequireDev(): void { $developmentFacade = $this->tester->getFacadeForDependencyTests($this->tester->getInvalidRequireDevDependency()); $dependencyValidationResponseTransfer = $developmentFacade->validateModuleDependencies($this->tester->getDependencyValidationRequestTransfer()); @@ -97,7 +97,7 @@ public function testDependencyIsInvalidWhenDependencyNotInTestButInComposerRequi /** * @return void */ - public function testDependencyIsValidWhenDependencyInTestAndInComposerRequireDev() + public function testDependencyIsValidWhenDependencyInTestAndInComposerRequireDev(): void { $developmentFacade = $this->tester->getFacadeForDependencyTests($this->tester->getInvalidTestDependency()); $dependencyValidationResponseTransfer = $developmentFacade->validateModuleDependencies($this->tester->getDependencyValidationRequestTransfer()); @@ -108,7 +108,7 @@ public function testDependencyIsValidWhenDependencyInTestAndInComposerRequireDev /** * @return void */ - public function testDependencyIsValidWhenDependencyIsOptionalAndNotInRequire() + public function testDependencyIsValidWhenDependencyIsOptionalAndNotInRequire(): void { $developmentFacade = $this->tester->getFacadeForDependencyTests($this->tester->getValidOptionalRequiredDevDependency()); $dependencyValidationResponseTransfer = $developmentFacade->validateModuleDependencies($this->tester->getDependencyValidationRequestTransfer()); @@ -119,7 +119,7 @@ public function testDependencyIsValidWhenDependencyIsOptionalAndNotInRequire() /** * @return void */ - public function testDependencyIsInvalidWhenDependencyIsOptionalButInRequire() + public function testDependencyIsInvalidWhenDependencyIsOptionalButInRequire(): void { $developmentFacade = $this->tester->getFacadeForDependencyTests($this->tester->getInvalidOptionalRequiredDependency()); $dependencyValidationResponseTransfer = $developmentFacade->validateModuleDependencies($this->tester->getDependencyValidationRequestTransfer()); @@ -130,7 +130,7 @@ public function testDependencyIsInvalidWhenDependencyIsOptionalButInRequire() /** * @return void */ - public function testDependencyIsInvalidWhenDependencyIsOptionalButNotInRequireDev() + public function testDependencyIsInvalidWhenDependencyIsOptionalButNotInRequireDev(): void { $developmentFacade = $this->tester->getFacadeForDependencyTests($this->tester->getInvalidOptionalNotRequiredDevDependency()); $dependencyValidationResponseTransfer = $developmentFacade->validateModuleDependencies($this->tester->getDependencyValidationRequestTransfer()); @@ -141,7 +141,7 @@ public function testDependencyIsInvalidWhenDependencyIsOptionalButNotInRequireDe /** * @return void */ - public function testDependencyIsInvalidWhenDependencyIsOptionalButNotSuggested() + public function testDependencyIsInvalidWhenDependencyIsOptionalButNotSuggested(): void { $developmentFacade = $this->tester->getFacadeForDependencyTests($this->tester->getInvalidOptionalNotSuggestedDependency()); $dependencyValidationResponseTransfer = $developmentFacade->validateModuleDependencies($this->tester->getDependencyValidationRequestTransfer()); @@ -152,7 +152,7 @@ public function testDependencyIsInvalidWhenDependencyIsOptionalButNotSuggested() /** * @return void */ - public function testDependencyIsInvalidWhenDependencyInRequireAndInRequireDev() + public function testDependencyIsInvalidWhenDependencyInRequireAndInRequireDev(): void { $developmentFacade = $this->tester->getFacadeForDependencyTests($this->tester->getInvalidRequireAndRequireDevDependency()); $dependencyValidationResponseTransfer = $developmentFacade->validateModuleDependencies($this->tester->getDependencyValidationRequestTransfer()); diff --git a/tests/SprykerTest/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependencyTest.php b/tests/SprykerTest/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependencyTest.php index dea778e9..58a75437 100644 --- a/tests/SprykerTest/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependencyTest.php +++ b/tests/SprykerTest/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependencyTest.php @@ -14,6 +14,7 @@ use Spryker\Zed\Development\Business\DependencyTree\FileInfoExtractor; use Spryker\Zed\Development\DevelopmentConfig; use Symfony\Component\Finder\Finder; +use Symfony\Component\Finder\SplFileInfo; /** * Auto-generated group annotations @@ -34,7 +35,7 @@ class ExternalDependencyTest extends Unit * * @return \Symfony\Component\Finder\SplFileInfo */ - public function getTestFile() + public function getTestFile(): SplFileInfo { $finder = new Finder(); $finder->files()->in(__DIR__ . '/test_files'); @@ -49,7 +50,7 @@ public function getTestFile() /** * @return void */ - public function testAddDependency() + public function testAddDependency(): void { $developmentConfig = new DevelopmentConfig(); $testFile = $this->getTestFile(); diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php index 78fc39b7..057cf98d 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php @@ -34,7 +34,7 @@ class ClientMethodBuilderTest extends Unit /** * @return void */ - public function testMethodNameIsClient() + public function testMethodNameIsClient(): void { $methodBuilderMock = $this->getClientMethodBuilderMock(); $methodBuilderMock @@ -50,7 +50,7 @@ public function testMethodNameIsClient() /** * @return void */ - public function testFileLookupIsPerformedInClientApplication() + public function testFileLookupIsPerformedInClientApplication(): void { $methodBuilderMock = $this->getClientMethodBuilderMock(); $methodBuilderMock @@ -93,7 +93,7 @@ protected function getNamespaceExtractorMock() /** * @return \Generated\Shared\Transfer\IdeAutoCompletionBundleTransfer */ - protected function getBundleTransfer() + protected function getBundleTransfer(): IdeAutoCompletionBundleTransfer { $bundleTransfer = new IdeAutoCompletionBundleTransfer(); $bundleTransfer->setName('FooBundle'); diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php index aeb8fbdf..9f78e7b8 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php @@ -35,7 +35,7 @@ class FacadeMethodBuilderTest extends Unit /** * @return void */ - public function testMethodNameIsFacade() + public function testMethodNameIsFacade(): void { $methodBuilderMock = $this->getFacadeMethodBuilderMock(); $methodBuilderMock @@ -51,7 +51,7 @@ public function testMethodNameIsFacade() /** * @return void */ - public function testFileLookupIsPerformedInBusinessLayer() + public function testFileLookupIsPerformedInBusinessLayer(): void { $methodBuilderMock = $this->getFacadeMethodBuilderMock(); $methodBuilderMock @@ -65,7 +65,7 @@ public function testFileLookupIsPerformedInBusinessLayer() /** * @return void */ - public function testFileLookupPrefersInterface() + public function testFileLookupPrefersInterface(): void { $methodBuilderMock = $this->getFacadeMethodBuilderMock(); $methodBuilderMock @@ -87,7 +87,7 @@ public function testFileLookupPrefersInterface() /** * @return void */ - public function testFileLookupFallsBackToConcreteClassIfInterfaceIsMissing() + public function testFileLookupFallsBackToConcreteClassIfInterfaceIsMissing(): void { $methodBuilderMock = $this->getFacadeMethodBuilderMock(); $methodBuilderMock @@ -139,7 +139,7 @@ protected function getNamespaceExtractorMock() /** * @return \Generated\Shared\Transfer\IdeAutoCompletionBundleTransfer */ - protected function getBundleTransfer() + protected function getBundleTransfer(): IdeAutoCompletionBundleTransfer { $bundleTransfer = new IdeAutoCompletionBundleTransfer(); $bundleTransfer->setName('FooBundle'); diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php index 0768adaf..98e97f2c 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php @@ -34,7 +34,7 @@ class QueryContainerMethodBuilderTest extends Unit /** * @return void */ - public function testMethodNameIsQueryConntainer() + public function testMethodNameIsQueryConntainer(): void { $methodBuilderMock = $this->getQueryContainerMethodBuilderMock(); $methodBuilderMock @@ -50,7 +50,7 @@ public function testMethodNameIsQueryConntainer() /** * @return void */ - public function testFileLookupIsPerformedInPersistenceLayer() + public function testFileLookupIsPerformedInPersistenceLayer(): void { $methodBuilderMock = $this->getQueryContainerMethodBuilderMock(); $methodBuilderMock @@ -93,7 +93,7 @@ protected function getNamespaceExtractorMock() /** * @return \Generated\Shared\Transfer\IdeAutoCompletionBundleTransfer */ - protected function getBundleTransfer() + protected function getBundleTransfer(): IdeAutoCompletionBundleTransfer { $bundleTransfer = new IdeAutoCompletionBundleTransfer(); $bundleTransfer->setName('FooBundle'); diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php index 26eaf764..7d99cbc8 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php @@ -34,7 +34,7 @@ class ServiceMethodBuilderTest extends Unit /** * @return void */ - public function testMethodNameIsClient() + public function testMethodNameIsClient(): void { $methodBuilderMock = $this->getServiceMethodBuilderMock(); $methodBuilderMock @@ -50,7 +50,7 @@ public function testMethodNameIsClient() /** * @return void */ - public function testFileLookupIsPerformedInClientApplication() + public function testFileLookupIsPerformedInClientApplication(): void { $methodBuilderMock = $this->getServiceMethodBuilderMock(); $methodBuilderMock @@ -93,7 +93,7 @@ protected function getNamespaceExtractorMock() /** * @return \Generated\Shared\Transfer\IdeAutoCompletionBundleTransfer */ - protected function getBundleTransfer() + protected function getBundleTransfer(): IdeAutoCompletionBundleTransfer { $bundleTransfer = new IdeAutoCompletionBundleTransfer(); $bundleTransfer->setName('FooBundle'); diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/NamespaceExtractorTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/NamespaceExtractorTest.php index fa55b206..70e563a9 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/NamespaceExtractorTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/NamespaceExtractorTest.php @@ -28,7 +28,7 @@ class NamespaceExtractorTest extends Unit /** * @return void */ - public function testReplacementOfRegularBaseDirectory() + public function testReplacementOfRegularBaseDirectory(): void { $baseDirectory = '/foo/bar/baz/Bundle/src/'; $directory = new SplFileInfo('/foo/bar/baz/Bundle/src/Spryker/Application/Bundle', 'foo', 'bar'); @@ -41,7 +41,7 @@ public function testReplacementOfRegularBaseDirectory() /** * @return void */ - public function testReplacementOfAsteriskGlobPatternBaseDirectory() + public function testReplacementOfAsteriskGlobPatternBaseDirectory(): void { $baseDirectory = '/foo/bar/baz/*/src/'; $directory = new SplFileInfo('/foo/bar/baz/Bundle/src/Spryker/Application/Bundle', 'foo', 'bar'); @@ -54,7 +54,7 @@ public function testReplacementOfAsteriskGlobPatternBaseDirectory() /** * @return void */ - public function testReplacementOfQuestionMarkGlobPatternBaseDirectory() + public function testReplacementOfQuestionMarkGlobPatternBaseDirectory(): void { $baseDirectory = '/foo/bar/?az/Bundle/src/'; $directory = new SplFileInfo('/foo/bar/baz/Bundle/src/Spryker/Application/Bundle', 'foo', 'bar'); @@ -67,7 +67,7 @@ public function testReplacementOfQuestionMarkGlobPatternBaseDirectory() /** * @return void */ - public function testReplacementOfBraceGlobPatternBaseDirectory() + public function testReplacementOfBraceGlobPatternBaseDirectory(): void { $baseDirectory = '/foo/bar/{baz,spryker}/Bundle/src/'; $namespaceExtractor = new NamespaceExtractor(); @@ -84,7 +84,7 @@ public function testReplacementOfBraceGlobPatternBaseDirectory() /** * @return void */ - public function testReplacementOfCharacterClassGlobPatternBasePath() + public function testReplacementOfCharacterClassGlobPatternBasePath(): void { $baseDirectory = '/foo/bar/[bf]az/Bundle/src/'; $namespaceExtractor = new NamespaceExtractor(); diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Generator/BundleGeneratorTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Generator/BundleGeneratorTest.php index ace831b1..742883b3 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Generator/BundleGeneratorTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Generator/BundleGeneratorTest.php @@ -31,7 +31,7 @@ class BundleGeneratorTest extends Unit /** * @return void */ - public function testTemplateNameIsDerivedFromGeneratorName() + public function testTemplateNameIsDerivedFromGeneratorName(): void { $twigEnvironmentMock = $this->createTwigEnvironmentMock(); $twigEnvironmentMock @@ -47,7 +47,7 @@ public function testTemplateNameIsDerivedFromGeneratorName() /** * @return void */ - public function testNamespacePatternIsFilledWithApplicationName() + public function testNamespacePatternIsFilledWithApplicationName(): void { $twigEnvironmentMock = $this->createTwigEnvironmentMock(); $twigEnvironmentMock @@ -67,7 +67,7 @@ public function testNamespacePatternIsFilledWithApplicationName() /** * @return array */ - protected function getGeneratorOptions() + protected function getGeneratorOptions(): array { return [ IdeAutoCompletionOptionConstants::APPLICATION_NAME => 'FooApplication', diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriterTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriterTest.php index 5b371427..803d5fe1 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriterTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriterTest.php @@ -14,6 +14,7 @@ use Spryker\Zed\Development\DevelopmentConfig; use Spryker\Zed\Development\DevelopmentDependencyProvider; use Spryker\Zed\Kernel\Container; +use SprykerTest\Zed\Development\DevelopmentBusinessTester; use SprykerTest\Zed\Development\Helper\IdeAutoCompletion; use Symfony\Component\Finder\Finder; @@ -38,11 +39,11 @@ class IdeAutoCompletionWriterTest extends Unit /** * @return void */ - public function testWriterCreatesYvesAutoCompletionFiles() + public function testWriterCreatesYvesAutoCompletionFiles(): void { $tester = $this->createFunctionalTester(); - $tester->execute(function () { + $tester->execute(function (): void { $this ->getDevelopmentBusinessFactory() ->createYvesIdeAutoCompletionWriter() @@ -59,11 +60,11 @@ public function testWriterCreatesYvesAutoCompletionFiles() /** * @return void */ - public function testWriterCreatesZedAutoCompletionFiles() + public function testWriterCreatesZedAutoCompletionFiles(): void { $tester = $this->createFunctionalTester(); - $tester->execute(function () { + $tester->execute(function (): void { $this ->getDevelopmentBusinessFactory() ->createZedIdeAutoCompletionWriter() @@ -81,11 +82,11 @@ public function testWriterCreatesZedAutoCompletionFiles() /** * @return void */ - public function testWriterCreatesClientAutoCompletionFiles() + public function testWriterCreatesClientAutoCompletionFiles(): void { $tester = $this->createFunctionalTester(); - $tester->execute(function () { + $tester->execute(function (): void { $this ->getDevelopmentBusinessFactory() ->createClientIdeAutoCompletionWriter() @@ -103,11 +104,11 @@ public function testWriterCreatesClientAutoCompletionFiles() /** * @return void */ - public function testWriterCreatesServiceAutoCompletionFiles() + public function testWriterCreatesServiceAutoCompletionFiles(): void { $tester = $this->createFunctionalTester(); - $tester->execute(function () { + $tester->execute(function (): void { $this ->getDevelopmentBusinessFactory() ->createServiceIdeAutoCompletionWriter() @@ -120,7 +121,7 @@ public function testWriterCreatesServiceAutoCompletionFiles() /** * @return \SprykerTest\Zed\Development\DevelopmentBusinessTester */ - protected function createFunctionalTester() + protected function createFunctionalTester(): DevelopmentBusinessTester { return $this->tester; } @@ -128,7 +129,7 @@ protected function createFunctionalTester() /** * @return \Spryker\Zed\Development\Business\DevelopmentBusinessFactory */ - protected function getDevelopmentBusinessFactory() + protected function getDevelopmentBusinessFactory(): DevelopmentBusinessFactory { $container = new Container(); $dependencyProvider = new DevelopmentDependencyProvider(); diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjectsTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjectsTest.php index c0913925..7446761a 100644 --- a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjectsTest.php +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjectsTest.php @@ -37,7 +37,7 @@ class CouplingBetweenObjectsTest extends Unit * * @return void */ - public function testApplyDoesNotAddViolationIfNodeIsIgnorable($fullyQualifiedClassName, $nodeName) + public function testApplyDoesNotAddViolationIfNodeIsIgnorable(string $fullyQualifiedClassName, string $nodeName): void { $nodeMock = $this->getNodeMock($fullyQualifiedClassName, $nodeName); @@ -49,7 +49,7 @@ public function testApplyDoesNotAddViolationIfNodeIsIgnorable($fullyQualifiedCla /** * @return array */ - public function ignorableNodesProvider() + public function ignorableNodesProvider(): array { return [ ['Zed\Foo\BarDependencyProvider', 'BarDependencyProvider'], @@ -64,7 +64,7 @@ public function ignorableNodesProvider() /** * @return void */ - public function testApplyAddsViolationWhenClassIsNotIgnorable() + public function testApplyAddsViolationWhenClassIsNotIgnorable(): void { $nodeMock = $this->getNodeMock('Foo', 'Bar'); @@ -93,7 +93,7 @@ protected function getCouplingBetweenObjectsMock() * * @return \PHPUnit\Framework\MockObject\MockObject|\PHPMD\AbstractNode */ - protected function getNodeMock($fullyQualifiedClassName, $nodeName) + protected function getNodeMock(string $fullyQualifiedClassName, string $nodeName) { $mockBuilder = $this->getMockBuilder(AbstractNode::class); $mockBuilder->setMethods(['getMetric', 'getName', 'getNamespace', 'getNamespaceName', 'hasSuppressWarningsAnnotationFor', 'getFullQualifiedName', 'getParentName']) diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildrenTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildrenTest.php index 3d7da66c..a6e21c7c 100644 --- a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildrenTest.php +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildrenTest.php @@ -36,7 +36,7 @@ class NumberOfChildrenTest extends Unit * * @return void */ - public function testApplyDoesNotAddViolationIfNodeIsIgnorable($fullyQualifiedClassName) + public function testApplyDoesNotAddViolationIfNodeIsIgnorable(string $fullyQualifiedClassName): void { $nodeMock = $this->getNodeMock($fullyQualifiedClassName); @@ -48,7 +48,7 @@ public function testApplyDoesNotAddViolationIfNodeIsIgnorable($fullyQualifiedCla /** * @return array */ - public function ignorableNodesProvider() + public function ignorableNodesProvider(): array { return [ ['Zed\\Importer\\Business\\Importer\\AbstractImporter'], @@ -59,7 +59,7 @@ public function ignorableNodesProvider() /** * @return void */ - public function testApplyAddsViolationWhenClassIsNotIgnorable() + public function testApplyAddsViolationWhenClassIsNotIgnorable(): void { $nodeMock = $this->getNodeMock('Foo'); @@ -87,7 +87,7 @@ protected function getNumberOfChildrenMock() * * @return \PHPUnit\Framework\MockObject\MockObject|\PHPMD\AbstractNode */ - protected function getNodeMock($fullyQualifiedClassName) + protected function getNodeMock(string $fullyQualifiedClassName) { $mockBuilder = $this->getMockBuilder(AbstractNode::class); $mockBuilder->setMethods(['getMetric', 'getName', 'getNamespace', 'getNamespaceName', 'hasSuppressWarningsAnnotationFor', 'getFullQualifiedName', 'getParentName']) diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php index c55fc051..65a513a7 100644 --- a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php @@ -38,7 +38,7 @@ class TooManyMethodsTest extends Unit * * @return void */ - public function testApplyDoesNotAddViolationIfNodeIsIgnorable($fullyQualifiedClassName, $nodeName) + public function testApplyDoesNotAddViolationIfNodeIsIgnorable(string $fullyQualifiedClassName, string $nodeName): void { $nodeMock = $this->getNodeMock($fullyQualifiedClassName, $nodeName); @@ -51,7 +51,7 @@ public function testApplyDoesNotAddViolationIfNodeIsIgnorable($fullyQualifiedCla /** * @return array */ - public function ignorableNodesProvider() + public function ignorableNodesProvider(): array { return [ ['Client\\Foo\\BarFacade', 'BarFacade'], @@ -66,7 +66,7 @@ public function ignorableNodesProvider() /** * @return void */ - public function testApplyAddsViolationWhenClassIsNotIgnorable() + public function testApplyAddsViolationWhenClassIsNotIgnorable(): void { $nodeMock = $this->getNodeMock('Foo', 'Bar'); @@ -79,7 +79,7 @@ public function testApplyAddsViolationWhenClassIsNotIgnorable() /** * @return void */ - public function testApplyDoesNotAddViolationIfNumberOfMethodsLowerThenThreshold() + public function testApplyDoesNotAddViolationIfNumberOfMethodsLowerThenThreshold(): void { $nodeMock = $this->getNodeMock('Foo', 'Bar'); @@ -109,7 +109,7 @@ protected function getTooManyMethodsMock() * * @return \PHPUnit\Framework\MockObject\MockObject|\PHPMD\AbstractNode */ - protected function getNodeMock($fullyQualifiedClassName, $nodeName) + protected function getNodeMock(string $fullyQualifiedClassName, string $nodeName) { $mockBuilder = $this->getMockBuilder(AbstractTypeNode::class); $mockBuilder->setMethods(['getMetric', 'getName', 'getNamespace', 'getNamespaceName', 'hasSuppressWarningsAnnotationFor', 'getFullQualifiedName', 'getParentName', 'getMethodNames']) diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php index 69531a05..6255cddd 100644 --- a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php @@ -38,7 +38,7 @@ class TooManyPublicMethodsTest extends Unit * * @return void */ - public function testApplyDoesNotAddViolationIfNodeIsIgnorable($fullyQualifiedClassName, $nodeName) + public function testApplyDoesNotAddViolationIfNodeIsIgnorable(string $fullyQualifiedClassName, string $nodeName): void { $nodeMock = $this->getNodeMock($fullyQualifiedClassName, $nodeName); @@ -51,7 +51,7 @@ public function testApplyDoesNotAddViolationIfNodeIsIgnorable($fullyQualifiedCla /** * @return array */ - public function ignorableNodesProvider() + public function ignorableNodesProvider(): array { return [ ['Client\\Foo\\BarFacade', 'BarFacade'], @@ -64,7 +64,7 @@ public function ignorableNodesProvider() /** * @return void */ - public function testApplyAddsViolationWhenClassIsNotIgnorable() + public function testApplyAddsViolationWhenClassIsNotIgnorable(): void { $nodeMock = $this->getNodeMock('Foo', 'Bar'); $nodeMock->method('getMethods')->willReturn([]); @@ -78,7 +78,7 @@ public function testApplyAddsViolationWhenClassIsNotIgnorable() /** * @return void */ - public function testApplyDoesNotAddViolationIfNumberOfMethodsLowerThenThreshold() + public function testApplyDoesNotAddViolationIfNumberOfMethodsLowerThenThreshold(): void { $nodeMock = $this->getNodeMock('Foo', 'Bar'); @@ -108,7 +108,7 @@ protected function getTooManyPublicMethodsMock() * * @return \PHPUnit\Framework\MockObject\MockObject|\PHPMD\AbstractNode */ - protected function getNodeMock($fullyQualifiedClassName, $nodeName) + protected function getNodeMock(string $fullyQualifiedClassName, string $nodeName) { $mockBuilder = $this->getMockBuilder(AbstractTypeNode::class); $mockBuilder->setMethods(['getMetric', 'getName', 'getNamespace', 'getNamespaceName', 'hasSuppressWarningsAnnotationFor', 'getFullQualifiedName', 'getParentName', 'getMethods']) diff --git a/tests/SprykerTest/Zed/Development/_support/Helper/IdeAutoCompletion.php b/tests/SprykerTest/Zed/Development/_support/Helper/IdeAutoCompletion.php index 012032d1..638102da 100644 --- a/tests/SprykerTest/Zed/Development/_support/Helper/IdeAutoCompletion.php +++ b/tests/SprykerTest/Zed/Development/_support/Helper/IdeAutoCompletion.php @@ -19,7 +19,7 @@ class IdeAutoCompletion extends Module * * @return void */ - public function _before(TestInterface $test) + public function _before(TestInterface $test): void { parent::_before($test); @@ -30,7 +30,7 @@ public function _before(TestInterface $test) /** * @return void */ - protected function removeTestTargetDirectory() + protected function removeTestTargetDirectory(): void { if (!is_dir(static::TEST_TARGET_DIRECTORY)) { return; @@ -50,7 +50,7 @@ protected function getFilesystem() /** * @return void */ - protected function createTestTargetDirectory() + protected function createTestTargetDirectory(): void { mkdir(static::TEST_TARGET_DIRECTORY, 0777, true); } @@ -60,7 +60,7 @@ protected function createTestTargetDirectory() * * @return void */ - public function _after(TestInterface $test) + public function _after(TestInterface $test): void { parent::_after($test); @@ -69,11 +69,11 @@ public function _after(TestInterface $test) /** * @param \Codeception\TestInterface $test - * @param bool $fail + * @param \Exception $fail * * @return void */ - public function _failed(TestInterface $test, $fail) + public function _failed(TestInterface $test, $fail): void { parent::_failed($test, $fail); diff --git a/tests/dd.php b/tests/dd.php index e4cf4fb3..f85b91f6 100644 --- a/tests/dd.php +++ b/tests/dd.php @@ -1,7 +1,7 @@ Date: Tue, 17 Dec 2019 14:13:39 +0100 Subject: [PATCH 087/336] Deprecate internal old code generators. --- .../Communication/Console/ModuleBridgeCreateConsole.php | 2 ++ .../Development/Communication/Console/ModuleCreateConsole.php | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php b/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php index f52a6f14..0ec2fb43 100644 --- a/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php @@ -14,6 +14,8 @@ use Symfony\Component\Console\Output\OutputInterface; /** + * @deprecated Will be removed, use Spryks instead. + * * @method \Spryker\Zed\Development\Business\DevelopmentFacadeInterface getFacade() * @method \Spryker\Zed\Development\Communication\DevelopmentCommunicationFactory getFactory() */ diff --git a/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php b/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php index 55be3667..66904f8e 100644 --- a/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php @@ -14,6 +14,8 @@ use Symfony\Component\Console\Output\OutputInterface; /** + * @deprecated Will be removed, use Spryks instead. + * * @method \Spryker\Zed\Development\Business\DevelopmentFacadeInterface getFacade() * @method \Spryker\Zed\Development\Communication\DevelopmentCommunicationFactory getFactory() */ From b0c46bf7bf721b0dc42376755c548accdfb34658 Mon Sep 17 00:00:00 2001 From: mscherer Date: Tue, 17 Dec 2019 16:57:28 +0100 Subject: [PATCH 088/336] Fix meta files --- .editorconfig | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..43fecdb3 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,16 @@ +; This file is for unifying the coding style for different editors and IDEs. +; More information at https://editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 4 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.bat] +end_of_line = crlf + +[composer.json] +indent_size = 2 From 2a5570b8d78ccddcd879dae4adf6a8adcdde1093 Mon Sep 17 00:00:00 2001 From: mscherer Date: Wed, 18 Dec 2019 17:44:24 +0100 Subject: [PATCH 089/336] Fix missing cs commands. --- composer.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/composer.json b/composer.json index 01071b52..fbf31f63 100644 --- a/composer.json +++ b/composer.json @@ -35,6 +35,10 @@ }, "minimum-stability": "dev", "prefer-stable": true, + "scripts": { + "cs-check": "phpcs -p -s --standard=vendor/spryker/code-sniffer/Spryker/ruleset.xml src/ tests/", + "cs-fix": "phpcbf -p --standard=vendor/spryker/code-sniffer/Spryker/ruleset.xml src/ tests/" + }, "extra": { "branch-alias": { "dev-master": "3.0.x-dev" From f50c29ce65a84b15c08cf11d7666565a98a032ad Mon Sep 17 00:00:00 2001 From: mscherer Date: Thu, 19 Dec 2019 10:44:12 +0100 Subject: [PATCH 090/336] Sync meta files. --- .../Business/CodeBuilder/Module/Templates/.travis.yml.tpl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.travis.yml.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.travis.yml.tpl index 2ea39a5a..b1e29ef8 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.travis.yml.tpl +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.travis.yml.tpl @@ -2,11 +2,10 @@ language: php php: - 7.2 - - 7.3 + - 7.4 cache: directories: - - vendor - $HOME/.composer/cache env: From ab36adf35a8963b37fc1438e82db91efdf33ee8f Mon Sep 17 00:00:00 2001 From: mscherer Date: Thu, 19 Dec 2019 10:48:04 +0100 Subject: [PATCH 091/336] Fix JSON updater to keep empty object. --- .gitattributes | 7 ++-- .gitignore | 36 +++++++++++++------ .travis.yml | 29 +++++++++------ .../Module/Templates/.gitattributes.tpl | 3 +- .../Module/Templates/composer.json.tpl | 1 + .../Module/Templates/phpstan.json.tpl | 2 +- .../Module/Templates/tooling.yml.tpl | 4 +-- .../Business/Composer/ComposerJsonUpdater.php | 4 +++ .../Console/ComposerJsonUpdaterConsole.php | 2 ++ .../Console/DependencyViolationFixConsole.php | 4 +++ 10 files changed, 64 insertions(+), 28 deletions(-) diff --git a/.gitattributes b/.gitattributes index 83517436..76427734 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,6 +1,5 @@ # Set the default behavior, in case people don't have core.autocrlf set. -* eol=lf -* text=auto +* eol=lf text=auto # Denote all files that are truly binary and should not be modified. *.png binary @@ -23,9 +22,11 @@ # Remove files for archives generated using `git archive` codeception.yml export-ignore dependency.json export-ignore +phpstan.json export-ignore +phpstan.neon export-ignore +tooling.yml export-ignore .coveralls.yml export-ignore .travis.yml export-ignore .editorconfig export-ignore .gitattributes export-ignore .gitignore export-ignore -tooling.yml export-ignore diff --git a/.gitignore b/.gitignore index 0d27ebd1..b7cad6ad 100644 --- a/.gitignore +++ b/.gitignore @@ -1,19 +1,35 @@ -# IDEs -/.idea -/.project -/nbproject -/.buildpath -/.settings +# IDE +.idea/ +.project/ +nbproject/ +.buildpath/ +.settings/ *.sublime-* + +# OS +.DS_Store *.AppleDouble *.AppleDB *.AppleDesktop -# OS -.DS_Store +# grunt stuff +.grunt +.sass-cache +/node_modules/ + +# tooling +vendor/ +composer.lock +.phpunit.result.cache + +# built client resources +/src/*/Zed/*/Static/Public +/src/*/Zed/*/Static/Assets/sprite -/vendor -/composer.lock +# Propel classes +/src/*/Zed/*/Persistence/Propel/Base/* +/src/*/Zed/*/Persistence/Propel/Map/* +# tests /tests/_output/* !/tests/_output/.gitkeep diff --git a/.travis.yml b/.travis.yml index b6d6d9c4..184b3e68 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,28 +1,37 @@ language: php -dist: trusty php: - 7.2 + - 7.4 -cache: - directories: - - vendor - - $HOME/.composer/cache +matrix: + fast_finish: true + + include: + - php: 7.2 + env: PREFER_LOWEST=1 env: global: - APPLICATION_ENV=development - APPLICATION_STORE=DE +before_install: + - phpenv config-rm xdebug.ini + install: - - composer install --no-interaction --prefer-dist + - COMPOSER_MEMORY_LIMIT=-1 composer install --prefer-dist --no-interaction + - if [[ $PREFER_LOWEST == 1 ]]; then COMPOSER_MEMORY_LIMIT=-1 composer update --prefer-lowest --prefer-stable --prefer-dist --no-interaction ; fi + - if [[ $PREFER_LOWEST == 1 ]]; then COMPOSER_MEMORY_LIMIT=-1 composer require --dev dereuromark/composer-prefer-lowest; fi script: - - vendor/bin/phpcs src --standard=vendor/spryker/code-sniffer/Spryker/ruleset.xml - - vendor/bin/codecept run --env isolated --coverage-xml + - find ./src -path src -prune -o -type f -name '*.php' -print0 | xargs -0 -n1 -P4 php -l -n | (! grep -v "No syntax errors detected" ) -after_success: - - vendor/bin/coveralls -vvv + - if [[ $PREFER_LOWEST == 1 ]]; then vendor/bin/validate-prefer-lowest || true; fi + +cache: + directories: + - $HOME/.composer/cache/ notifications: email: false diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl index 88c9701a..db7251d5 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl @@ -1,6 +1,5 @@ # Set the default behavior, in case people don't have core.autocrlf set. -* eol=lf -* text=auto +* eol=lf text=auto # Denote all files that are truly binary and should not be modified. *.png binary diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/composer.json.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/composer.json.tpl index a658a83d..88131606 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/composer.json.tpl +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/composer.json.tpl @@ -21,6 +21,7 @@ }, "minimum-stability": "dev", "prefer-stable": true, + "scripts: {}, "extra": { "branch-alias": { "dev-master": "1.0.x-dev" diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/phpstan.json.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/phpstan.json.tpl index 5853d235..1032bef5 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/phpstan.json.tpl +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/phpstan.json.tpl @@ -1,3 +1,3 @@ { - "defaultLevel": 5 + "defaultLevel": 5 } diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/tooling.yml.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/tooling.yml.tpl index 85edd114..669cf465 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/tooling.yml.tpl +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/tooling.yml.tpl @@ -1,5 +1,5 @@ architecture-sniffer: - priority: 2 + priority: 2 code-sniffer: - level: 2 + level: 2 diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php index 6b86db6f..67514f37 100644 --- a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php @@ -10,6 +10,7 @@ use RuntimeException; use Spryker\Zed\Development\Business\Composer\Updater\UpdaterInterface; use Spryker\Zed\Development\Business\Exception\DependencyTree\InvalidComposerJsonException; +use stdClass; use Symfony\Component\Finder\SplFileInfo; use Zend\Filter\Word\CamelCaseToDash; @@ -80,6 +81,9 @@ protected function updateComposerJsonFile(SplFileInfo $composerJsonFile, $dryRun $composerJsonArray = $this->clean($composerJsonArray); $composerJsonArray = $this->order($composerJsonArray); + if (isset($composerJsonArray['scripts']) && empty($composerJsonArray['scripts'])) { + $composerJsonArray['scripts'] = new stdClass(); + } $modifiedComposerJson = json_encode($composerJsonArray, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT); $modifiedComposerJson = preg_replace(static::REPLACE_4_WITH_2_SPACES, '$1', $modifiedComposerJson) . PHP_EOL; diff --git a/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php b/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php index 15d43bed..175d3cc0 100644 --- a/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php @@ -12,6 +12,8 @@ use Symfony\Component\Console\Output\OutputInterface; /** + * @internal + * * @method \Spryker\Zed\Development\Business\DevelopmentFacadeInterface getFacade() * @method \Spryker\Zed\Development\Communication\DevelopmentCommunicationFactory getFactory() */ diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php index 3cc300c2..c24a278a 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php @@ -11,6 +11,7 @@ use Generated\Shared\Transfer\ModuleTransfer; use Generated\Shared\Transfer\ValidationMessageTransfer; use Spryker\Zed\Development\Business\Dependency\Validator\ValidationRules\ValidationRuleInterface; +use stdClass; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; @@ -139,6 +140,9 @@ protected function saveComposerJsonArray(ModuleTransfer $moduleTransfer, array $ $composerJsonArray = $this->orderEntriesInComposerJsonArray($composerJsonArray); $composerJsonArray = $this->removeEmptyEntriesInComposerJsonArray($composerJsonArray); + if (isset($composerJsonArray['scripts']) && empty($composerJsonArray['scripts'])) { + $composerJsonArray['scripts'] = new stdClass(); + } $modifiedComposerJson = json_encode($composerJsonArray, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT); $modifiedComposerJson = preg_replace(static::REPLACE_4_WITH_2_SPACES, '$1', $modifiedComposerJson) . PHP_EOL; From c57238e3088d79bfa343ccb00e30aa96929301ab Mon Sep 17 00:00:00 2001 From: mscherer Date: Thu, 19 Dec 2019 11:08:29 +0100 Subject: [PATCH 092/336] Fix JSON updater to assert scripts. --- .../Business/Composer/ComposerJsonUpdater.php | 4 - .../Composer/Updater/ScriptsUpdater.php | 80 +++++++++++++++++++ .../Business/DevelopmentBusinessFactory.php | 10 +++ 3 files changed, 90 insertions(+), 4 deletions(-) create mode 100644 src/Spryker/Zed/Development/Business/Composer/Updater/ScriptsUpdater.php diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php index 67514f37..6b86db6f 100644 --- a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php @@ -10,7 +10,6 @@ use RuntimeException; use Spryker\Zed\Development\Business\Composer\Updater\UpdaterInterface; use Spryker\Zed\Development\Business\Exception\DependencyTree\InvalidComposerJsonException; -use stdClass; use Symfony\Component\Finder\SplFileInfo; use Zend\Filter\Word\CamelCaseToDash; @@ -81,9 +80,6 @@ protected function updateComposerJsonFile(SplFileInfo $composerJsonFile, $dryRun $composerJsonArray = $this->clean($composerJsonArray); $composerJsonArray = $this->order($composerJsonArray); - if (isset($composerJsonArray['scripts']) && empty($composerJsonArray['scripts'])) { - $composerJsonArray['scripts'] = new stdClass(); - } $modifiedComposerJson = json_encode($composerJsonArray, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT); $modifiedComposerJson = preg_replace(static::REPLACE_4_WITH_2_SPACES, '$1', $modifiedComposerJson) . PHP_EOL; diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/ScriptsUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/ScriptsUpdater.php new file mode 100644 index 00000000..4cbb3605 --- /dev/null +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/ScriptsUpdater.php @@ -0,0 +1,80 @@ +assertScripts($path, $composerJson); + + if (isset($composerJson['scripts']) && empty($composerJson['scripts'])) { + $composerJson['scripts'] = new stdClass(); + } + + return $composerJson; + } + + + /** + * @param string $path + * @param array $jsonArray + * + * @return array + */ + protected function assertScripts(string $path, array $jsonArray): array + { + $standard = $this->extractStandard($path); + $folders = [ + 'src/', + ]; + if (is_dir($path . 'tests')) { + $folders[] = 'tests/'; + } + + $newCsCheck = 'phpcs -p -s --standard=vendor/spryker/code-sniffer/' . $standard . '/ruleset.xml ' . implode(' ', $folders); + $newCsFix = 'phpcbf -p --standard=vendor/spryker/code-sniffer/' . $standard . '/ruleset.xml ' . implode(' ', $folders); + + $jsonArray['scripts']['cs-check'] = $newCsCheck; + $jsonArray['scripts']['cs-fix'] = $newCsFix; + + return $jsonArray; + } + + /** + * @param string $path + * + * @return string + */ + protected function extractStandard(string $path): string + { + $standard = 'Spryker'; + if (file_exists($path . 'tooling.yml')) { + $yamlParser = new Parser(); + $config = $yamlParser->parseFile($path . 'tooling.yml'); + if (!empty($config['code-sniffer']['level']) && $config['code-sniffer']['level'] === 2) { + return 'SprykerStrict'; + } + } + + return $standard; + } +} diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index 946b049e..0f1e1559 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -37,6 +37,7 @@ use Spryker\Zed\Development\Business\Composer\Updater\DescriptionUpdater; use Spryker\Zed\Development\Business\Composer\Updater\LicenseUpdater; use Spryker\Zed\Development\Business\Composer\Updater\RequireUpdater; +use Spryker\Zed\Development\Business\Composer\Updater\ScriptsUpdater; use Spryker\Zed\Development\Business\Composer\Updater\StabilityUpdater; use Spryker\Zed\Development\Business\Composer\Updater\TypeUpdater; use Spryker\Zed\Development\Business\Composer\Validator\ComposerJsonPackageNameValidator; @@ -1468,6 +1469,7 @@ protected function createComposerJsonUpdaterComposite() ->addUpdater($this->createComposerJsonRequireUpdater()) ->addUpdater($this->createComposerJsonStabilityUpdater()) ->addUpdater($this->createComposerJsonAutoloadUpdater()) + ->addUpdater($this->createComposerJsonScriptsUpdater()) ->addUpdater($this->createComposerJsonBranchAliasUpdater()); return $updaterComposite; @@ -1489,6 +1491,14 @@ protected function createComposerJsonTypeUpdater() return new TypeUpdater(); } + /** + * @return \Spryker\Zed\Development\Business\Composer\Updater\UpdaterInterface + */ + protected function createComposerJsonScriptsUpdater() + { + return new ScriptsUpdater(); + } + /** * @return \Spryker\Zed\Development\Business\Composer\Updater\UpdaterInterface */ From 31015066aef3f97173c4364228902789eaa69c69 Mon Sep 17 00:00:00 2001 From: mscherer Date: Thu, 19 Dec 2019 11:34:43 +0100 Subject: [PATCH 093/336] Sync meta files. --- .../Business/CodeBuilder/Module/Templates/.gitattributes.tpl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl index db7251d5..b6d4f724 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl @@ -1,5 +1,6 @@ +# Define the line ending behavior of the different file extensions # Set the default behavior, in case people don't have core.autocrlf set. -* eol=lf text=auto +* text text=auto eol=lf # Denote all files that are truly binary and should not be modified. *.png binary From cd588aff3e300bac29d4d7bab03f0dc073280e4f Mon Sep 17 00:00:00 2001 From: mscherer Date: Thu, 19 Dec 2019 11:51:18 +0100 Subject: [PATCH 094/336] Allow to keep ignore list. --- .../Business/Composer/Updater/ScriptsUpdater.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/ScriptsUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/ScriptsUpdater.php index 4cbb3605..5976ac4c 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/ScriptsUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/ScriptsUpdater.php @@ -50,8 +50,17 @@ protected function assertScripts(string $path, array $jsonArray): array $folders[] = 'tests/'; } - $newCsCheck = 'phpcs -p -s --standard=vendor/spryker/code-sniffer/' . $standard . '/ruleset.xml ' . implode(' ', $folders); - $newCsFix = 'phpcbf -p --standard=vendor/spryker/code-sniffer/' . $standard . '/ruleset.xml ' . implode(' ', $folders); + $currentCsCheck = $jsonArray['scripts']['cs-check'] ?? ''; + $ignores = ''; + preg_match('/--ignore=[^ ]+/', $currentCsCheck, $matches); + if ($matches) { + $ignores = $matches[0] . ' '; + } + + $standardPath = '--standard=vendor/spryker/code-sniffer/' . $standard . '/ruleset.xml '; + + $newCsCheck = 'phpcs -p -s ' . $standardPath . $ignores . implode(' ', $folders); + $newCsFix = 'phpcbf -p ' . $standardPath . $ignores . implode(' ', $folders); $jsonArray['scripts']['cs-check'] = $newCsCheck; $jsonArray['scripts']['cs-fix'] = $newCsFix; From f6eefc7ee38d94369973b4932a49ab790099aae1 Mon Sep 17 00:00:00 2001 From: mscherer Date: Thu, 19 Dec 2019 12:40:39 +0100 Subject: [PATCH 095/336] Fix require dev dependencies. --- .../Composer/Updater/AutoloadUpdater.php | 2 +- .../Composer/Updater/BranchAliasUpdater.php | 2 +- .../Updater/ComposerUpdaterComposite.php | 2 +- .../Composer/Updater/DescriptionUpdater.php | 2 +- .../Composer/Updater/LicenseUpdater.php | 2 +- .../Composer/Updater/RequireDevUpdater.php | 53 +++++++++++++++++++ .../Updater/RequireExternalUpdater.php | 2 +- .../Composer/Updater/RequireUpdater.php | 2 +- .../Composer/Updater/ScriptsUpdater.php | 7 ++- .../Composer/Updater/StabilityUpdater.php | 2 +- .../Business/Composer/Updater/TypeUpdater.php | 2 +- .../Composer/Updater/UpdaterInterface.php | 2 +- .../ComposerDependencyFinder.php | 2 +- .../TravisDependencyFinder.php | 2 +- .../Business/DevelopmentBusinessFactory.php | 10 ++++ 15 files changed, 78 insertions(+), 16 deletions(-) create mode 100644 src/Spryker/Zed/Development/Business/Composer/Updater/RequireDevUpdater.php diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php index e61730de..5c833ea4 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php @@ -114,7 +114,7 @@ class AutoloadUpdater implements UpdaterInterface * * @return array */ - public function update(array $composerJson, SplFileInfo $composerJsonFile) + public function update(array $composerJson, SplFileInfo $composerJsonFile): array { $composerJson = $this->updateAutoload($composerJson, $composerJsonFile); diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/BranchAliasUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/BranchAliasUpdater.php index 9adabc79..e157ff88 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/BranchAliasUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/BranchAliasUpdater.php @@ -23,7 +23,7 @@ class BranchAliasUpdater implements UpdaterInterface * * @return array */ - public function update(array $composerJson, SplFileInfo $composerJsonFile) + public function update(array $composerJson, SplFileInfo $composerJsonFile): array { if (!Config::hasValue(DevelopmentConstants::COMPOSER_BRANCH_ALIAS)) { return $composerJson; diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/ComposerUpdaterComposite.php b/src/Spryker/Zed/Development/Business/Composer/Updater/ComposerUpdaterComposite.php index 08735368..ba4ec67e 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/ComposerUpdaterComposite.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/ComposerUpdaterComposite.php @@ -34,7 +34,7 @@ public function addUpdater(UpdaterInterface $updater) * * @return array */ - public function update(array $composerJson, SplFileInfo $composerJsonFile) + public function update(array $composerJson, SplFileInfo $composerJsonFile): array { foreach ($this->updater as $updater) { $composerJson = $updater->update($composerJson, $composerJsonFile); diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/DescriptionUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/DescriptionUpdater.php index e8749200..9ba13b5b 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/DescriptionUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/DescriptionUpdater.php @@ -22,7 +22,7 @@ class DescriptionUpdater implements UpdaterInterface * * @return array */ - public function update(array $composerJson, SplFileInfo $composerJsonFile) + public function update(array $composerJson, SplFileInfo $composerJsonFile): array { $composerJson[static::KEY_DESCRIPTION] = $this->getModuleNameFromFullPath($composerJsonFile->getPath()) . ' module'; diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/LicenseUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/LicenseUpdater.php index d25a1856..d3ab5f89 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/LicenseUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/LicenseUpdater.php @@ -30,7 +30,7 @@ class LicenseUpdater implements UpdaterInterface * * @return array */ - public function update(array $composerJson, SplFileInfo $composerJsonFile) + public function update(array $composerJson, SplFileInfo $composerJsonFile): array { $modulePath = dirname($composerJsonFile->getPathname()); $license = static::LICENSE_TYPE_PROPRIETARY; diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireDevUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireDevUpdater.php new file mode 100644 index 00000000..f4c745a1 --- /dev/null +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireDevUpdater.php @@ -0,0 +1,53 @@ +assertCodeSniffer($path, $composerJson); + + return $composerJson; + } + + /** + * @param string $path + * @param array $composerJson + * + * @return array + */ + protected function assertCodeSniffer(string $path, array $composerJson): array + { + $requiresCodeSniffer = is_dir($path . 'src'); + + if ($requiresCodeSniffer && isset($composerJson[static::KEY_REQUIRE_DEV][self::PACKAGE_CODE_SNIFFER])) { + return $composerJson; + } + + if ($requiresCodeSniffer && !isset($composerJson[static::KEY_REQUIRE_DEV][self::PACKAGE_CODE_SNIFFER])) { + $composerJson[static::KEY_REQUIRE_DEV][static::PACKAGE_CODE_SNIFFER] = '*'; + } else { + unset($composerJson[static::KEY_REQUIRE_DEV][static::PACKAGE_CODE_SNIFFER]); + } + + return $composerJson; + } +} diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php index 19d5c682..bb298f52 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php @@ -53,7 +53,7 @@ public function __construct(array $externalDependencyTree, array $externalToInte * * @return array */ - public function update(array $composerJson, SplFileInfo $composerJsonFile) + public function update(array $composerJson, SplFileInfo $composerJsonFile): array { $moduleName = $this->getModuleName($composerJson); diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php index 5fb055ad..bd62b93a 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php @@ -21,7 +21,7 @@ class RequireUpdater implements UpdaterInterface * * @return array */ - public function update(array $composerJson, SplFileInfo $composerJsonFile) + public function update(array $composerJson, SplFileInfo $composerJsonFile): array { $composerJson = $this->requirePhpVersion($composerJson); diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/ScriptsUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/ScriptsUpdater.php index 5976ac4c..4df9db11 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/ScriptsUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/ScriptsUpdater.php @@ -21,10 +21,10 @@ class ScriptsUpdater implements UpdaterInterface * * @return array */ - public function update(array $composerJson, SplFileInfo $composerJsonFile) + public function update(array $composerJson, SplFileInfo $composerJsonFile): array { $path = pathinfo($composerJsonFile, PATHINFO_DIRNAME) . DIRECTORY_SEPARATOR; - $composerJson = $this->assertScripts($path, $composerJson); + $composerJson = $this->assertCsScripts($path, $composerJson); if (isset($composerJson['scripts']) && empty($composerJson['scripts'])) { $composerJson['scripts'] = new stdClass(); @@ -33,14 +33,13 @@ public function update(array $composerJson, SplFileInfo $composerJsonFile) return $composerJson; } - /** * @param string $path * @param array $jsonArray * * @return array */ - protected function assertScripts(string $path, array $jsonArray): array + protected function assertCsScripts(string $path, array $jsonArray): array { $standard = $this->extractStandard($path); $folders = [ diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/StabilityUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/StabilityUpdater.php index 3e4dc43e..4ec1ef35 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/StabilityUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/StabilityUpdater.php @@ -33,7 +33,7 @@ public function __construct($stability) * * @return array */ - public function update(array $composerJson, SplFileInfo $composerJsonFile) + public function update(array $composerJson, SplFileInfo $composerJsonFile): array { $composerJson = $this->updateMinimumStability($composerJson); $composerJson = $this->updatePreferStable($composerJson); diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/TypeUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/TypeUpdater.php index 0dfe8307..693e87a1 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/TypeUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/TypeUpdater.php @@ -19,7 +19,7 @@ class TypeUpdater implements UpdaterInterface * * @return array */ - public function update(array $composerJson, SplFileInfo $composerJsonFile) + public function update(array $composerJson, SplFileInfo $composerJsonFile): array { $composerJson[static::KEY_TYPE] = 'library'; diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/UpdaterInterface.php b/src/Spryker/Zed/Development/Business/Composer/Updater/UpdaterInterface.php index 3a045754..1a681b7a 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/UpdaterInterface.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/UpdaterInterface.php @@ -17,5 +17,5 @@ interface UpdaterInterface * * @return array */ - public function update(array $composerJson, SplFileInfo $composerJsonFile); + public function update(array $composerJson, SplFileInfo $composerJsonFile): array; } diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ComposerDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ComposerDependencyFinder.php index 36cb882d..968b771a 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ComposerDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ComposerDependencyFinder.php @@ -58,7 +58,7 @@ public function findDependencies(DependencyFinderContextInterface $context, Depe $dependencyContainer->addDependency('CodeSniffer', $this->getType(), false, true); } - if (strpos($fileContent, 'vendor/bin/codecept') !== false) { + if (strpos($fileContent, 'codecept run') !== false) { $dependencyContainer->addDependency('Testify', $this->getType(), false, true); } diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TravisDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TravisDependencyFinder.php index 77d5fc8d..68c0dd6a 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TravisDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TravisDependencyFinder.php @@ -58,7 +58,7 @@ public function findDependencies(DependencyFinderContextInterface $context, Depe $dependencyContainer->addDependency('CodeSniffer', $this->getType(), false, true); } - if (strpos($fileContent, 'vendor/bin/codecept') !== false) { + if (strpos($fileContent, 'codecept run') !== false) { $dependencyContainer->addDependency('Testify', $this->getType(), false, true); } diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index 0f1e1559..9e493352 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -36,6 +36,7 @@ use Spryker\Zed\Development\Business\Composer\Updater\ComposerUpdaterComposite; use Spryker\Zed\Development\Business\Composer\Updater\DescriptionUpdater; use Spryker\Zed\Development\Business\Composer\Updater\LicenseUpdater; +use Spryker\Zed\Development\Business\Composer\Updater\RequireDevUpdater; use Spryker\Zed\Development\Business\Composer\Updater\RequireUpdater; use Spryker\Zed\Development\Business\Composer\Updater\ScriptsUpdater; use Spryker\Zed\Development\Business\Composer\Updater\StabilityUpdater; @@ -1467,6 +1468,7 @@ protected function createComposerJsonUpdaterComposite() ->addUpdater($this->createComposerJsonDescriptionUpdater()) ->addUpdater($this->createComposerJsonLicenseUpdater()) ->addUpdater($this->createComposerJsonRequireUpdater()) + ->addUpdater($this->createComposerJsonRequireDevUpdater()) ->addUpdater($this->createComposerJsonStabilityUpdater()) ->addUpdater($this->createComposerJsonAutoloadUpdater()) ->addUpdater($this->createComposerJsonScriptsUpdater()) @@ -1523,6 +1525,14 @@ protected function createComposerJsonRequireUpdater() return new RequireUpdater(); } + /** + * @return \Spryker\Zed\Development\Business\Composer\Updater\UpdaterInterface + */ + protected function createComposerJsonRequireDevUpdater() + { + return new RequireDevUpdater(); + } + /** * @return \Spryker\Zed\Development\Business\Composer\Updater\UpdaterInterface */ From 1b7aa53500dce79128e94193476f67be4fe90f95 Mon Sep 17 00:00:00 2001 From: mscherer Date: Thu, 19 Dec 2019 12:49:48 +0100 Subject: [PATCH 096/336] Fix require dev dependencies. --- .../Business/Composer/Updater/ScriptsUpdater.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/ScriptsUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/ScriptsUpdater.php index 4df9db11..d93a4fb3 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/ScriptsUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/ScriptsUpdater.php @@ -41,6 +41,14 @@ public function update(array $composerJson, SplFileInfo $composerJsonFile): arra */ protected function assertCsScripts(string $path, array $jsonArray): array { + $requiresCodeSniffer = is_dir($path . 'src'); + if (!$requiresCodeSniffer) { + unset($jsonArray['scripts']['cs-check']); + unset($jsonArray['scripts']['cs-fix']); + + return $jsonArray; + } + $standard = $this->extractStandard($path); $folders = [ 'src/', From 0f49a18bd801968810a680a4ee150046d9aeaf61 Mon Sep 17 00:00:00 2001 From: mscherer Date: Thu, 19 Dec 2019 13:02:45 +0100 Subject: [PATCH 097/336] Fix require dev dependencies tool. --- .../Development/Business/Composer/Updater/RequireDevUpdater.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireDevUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireDevUpdater.php index f4c745a1..82caed7e 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireDevUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireDevUpdater.php @@ -44,7 +44,7 @@ protected function assertCodeSniffer(string $path, array $composerJson): array if ($requiresCodeSniffer && !isset($composerJson[static::KEY_REQUIRE_DEV][self::PACKAGE_CODE_SNIFFER])) { $composerJson[static::KEY_REQUIRE_DEV][static::PACKAGE_CODE_SNIFFER] = '*'; - } else { + } elseif (!$requiresCodeSniffer) { unset($composerJson[static::KEY_REQUIRE_DEV][static::PACKAGE_CODE_SNIFFER]); } From 8e0f8c98b5db385f43881d89db794a933cb749e1 Mon Sep 17 00:00:00 2001 From: mscherer Date: Thu, 19 Dec 2019 14:39:07 +0100 Subject: [PATCH 098/336] Sync meta files. --- .gitattributes | 3 ++- .gitignore | 13 +++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.gitattributes b/.gitattributes index 76427734..190377b3 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,5 +1,6 @@ +# Define the line ending behavior of the different file extensions # Set the default behavior, in case people don't have core.autocrlf set. -* eol=lf text=auto +* text text=auto eol=lf # Denote all files that are truly binary and should not be modified. *.png binary diff --git a/.gitignore b/.gitignore index b7cad6ad..58b3e11f 100644 --- a/.gitignore +++ b/.gitignore @@ -23,13 +23,14 @@ composer.lock .phpunit.result.cache # built client resources -/src/*/Zed/*/Static/Public -/src/*/Zed/*/Static/Assets/sprite +src/*/Zed/*/Static/Public +src/*/Zed/*/Static/Assets/sprite # Propel classes -/src/*/Zed/*/Persistence/Propel/Base/* -/src/*/Zed/*/Persistence/Propel/Map/* +src/*/Zed/*/Persistence/Propel/Base/* +src/*/Zed/*/Persistence/Propel/Map/* # tests -/tests/_output/* -!/tests/_output/.gitkeep +tests/**/_generated/ +tests/_output/* +!tests/_output/.gitkeep From 3b3fa20b0ade5b1bffe4293366c5afcae5c08e86 Mon Sep 17 00:00:00 2001 From: mscherer Date: Thu, 19 Dec 2019 17:07:25 +0100 Subject: [PATCH 099/336] Sync README files. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 89c6dd2f..aac9f960 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ # Development Module +[![Build Status](https://travis-ci.org/spryker/development.svg)](https://travis-ci.org/spryker/development) +[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.2-8892BF.svg)](https://php.net/) Development is a tooling module for (local) development. From 1a9d1c13337380255b06a9f0b6ee10cc9cc80d5d Mon Sep 17 00:00:00 2001 From: mscherer Date: Tue, 12 Nov 2019 15:50:58 +0100 Subject: [PATCH 100/336] TE-4209 Fix console code:test for core testing. --- .../Business/CodeTest/CodeTester.php | 228 +++++++++++------- .../Business/DevelopmentBusinessFactory.php | 5 +- .../Business/DevelopmentFacade.php | 12 +- .../Business/DevelopmentFacadeInterface.php | 8 +- .../Business/Phpstan/PhpstanRunner.php | 1 - .../Console/CodeFixturesConsole.php | 28 ++- .../Communication/Console/CodeTestConsole.php | 43 ++-- 7 files changed, 194 insertions(+), 131 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php b/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php index ab87ef28..5110dab5 100644 --- a/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php +++ b/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php @@ -7,10 +7,14 @@ namespace Spryker\Zed\Development\Business\CodeTest; -use ErrorException; +use Generated\Shared\Transfer\ModuleFilterTransfer; +use Generated\Shared\Transfer\ModuleTransfer; +use Generated\Shared\Transfer\OrganizationTransfer; +use RuntimeException; use Spryker\Zed\Development\Business\Codeception\Argument\Builder\CodeceptionArgumentsBuilderInterface; +use Spryker\Zed\Development\Dependency\Facade\DevelopmentToModuleFinderFacadeInterface; +use Spryker\Zed\Development\DevelopmentConfig; use Symfony\Component\Process\Process; -use Zend\Filter\Word\UnderscoreToCamelCase; class CodeTester { @@ -22,15 +26,15 @@ class CodeTester public const OPTION_TYPE_EXCLUDE = 'exclude'; - /** - * @var string - */ - protected $applicationRoot; + public const OPTION_DRY_RUN = 'dry-run'; + + protected const CODE_SUCCESS = 0; + protected const CODE_ERROR = 1; /** - * @var string + * @var \Spryker\Zed\Development\Dependency\Facade\DevelopmentToModuleFinderFacadeInterface */ - protected $pathToModules; + protected $developmentToModuleFinderFacade; /** * @var \Spryker\Zed\Development\Business\Codeception\Argument\Builder\CodeceptionArgumentsBuilderInterface @@ -38,106 +42,153 @@ class CodeTester protected $argumentBuilder; /** - * @var int + * @var \Spryker\Zed\Development\DevelopmentConfig */ - protected $processTimeout; + protected $config; /** - * @param string $applicationRoot - * @param string $pathToModules + * @param \Spryker\Zed\Development\Dependency\Facade\DevelopmentToModuleFinderFacadeInterface $developmentToModuleFinderFacade * @param \Spryker\Zed\Development\Business\Codeception\Argument\Builder\CodeceptionArgumentsBuilderInterface $argumentBuilder - * @param int $processTimeout + * @param \Spryker\Zed\Development\DevelopmentConfig $config */ public function __construct( - string $applicationRoot, - string $pathToModules, + DevelopmentToModuleFinderFacadeInterface $developmentToModuleFinderFacade, CodeceptionArgumentsBuilderInterface $argumentBuilder, - int $processTimeout + DevelopmentConfig $config ) { - $this->applicationRoot = $applicationRoot; - $this->pathToModules = $pathToModules; + $this->developmentToModuleFinderFacade = $developmentToModuleFinderFacade; $this->argumentBuilder = $argumentBuilder; - $this->processTimeout = $processTimeout; + $this->config = $config; } /** - * @param string|null $bundle + * @param string|null $moduleName * @param array $options * - * @return void + * @throws \RuntimeException + * + * @return int */ - public function runTest($bundle, array $options = []) + public function runTest(?string $moduleName, array $options = []): int { - $path = $this->resolvePath($bundle); + if (!$moduleName) { + if ($options[static::OPTION_INITIALIZE] && !$options[static::OPTION_DRY_RUN]) { + $this->runCodeceptionBuild($options); + } + + return $this->runTestCommand(null, $options); + } - $this->assertPath($bundle, $path); - $this->runTestCommand($path, $options); + $moduleFilterTransfer = $this->buildModuleFilterTransfer($moduleName); + $modules = $this->developmentToModuleFinderFacade->getModules($moduleFilterTransfer); + if (!$modules) { + throw new RuntimeException('No matching core modules found.'); + } + + $result = static::CODE_SUCCESS; + foreach ($modules as $module) { + $path = $module->getPath(); + + if (!$this->runTestCommand($path, $options)) { + $result = static::CODE_ERROR; + } + } + + return $result; } /** - * @param string|null $bundle + * @param string|null $moduleName * @param array $options * - * @return void + * @throws \RuntimeException + * + * @return int */ - public function runFixtures($bundle, array $options = []) + public function runFixtures(?string $moduleName, array $options = []): int { - $path = $this->resolvePath($bundle); + if (!$moduleName) { + if ($options[static::OPTION_INITIALIZE] && !$options[static::OPTION_DRY_RUN]) { + $this->runCodeceptionBuild($options); + } - $this->assertPath($bundle, $path); - $this->runFixturesCommand($path, $options); - } + return $this->runFixturesCommand(null, $options); + } - /** - * @param string $bundle - * - * @return string - */ - protected function resolvePath($bundle) - { - if ($bundle) { - $bundle = $this->normalizeBundleName($bundle); + $moduleFilterTransfer = $this->buildModuleFilterTransfer($moduleName); + $modules = $this->developmentToModuleFinderFacade->getModules($moduleFilterTransfer); + if (!$modules) { + throw new RuntimeException('No matching core modules found.'); + } - return $this->getPathToBundle($bundle); + $result = static::CODE_SUCCESS; + foreach ($modules as $module) { + $path = $module->getPath(); + + if (!$this->runFixturesCommand($path, $options)) { + $result = static::CODE_ERROR; + } } - return $this->applicationRoot; + return $result; } /** - * @param string $bundle + * @param string|null $moduleName * - * @return string + * @return \Generated\Shared\Transfer\ModuleFilterTransfer */ - protected function normalizeBundleName($bundle) + protected function buildModuleFilterTransfer(?string $moduleName): ModuleFilterTransfer { - $filter = new UnderscoreToCamelCase(); + $moduleFilterTransfer = new ModuleFilterTransfer(); + if (strpos($moduleName, '.') === false) { + $moduleTransfer = new ModuleTransfer(); + $moduleTransfer->setName($moduleName); + $moduleFilterTransfer->setModule($moduleTransfer); + + return $moduleFilterTransfer; + } - return ucfirst($filter->filter($bundle)); + return $this->addFilterDetails($moduleName, $moduleFilterTransfer); } /** - * @param string $bundle + * @param string $moduleName + * @param \Generated\Shared\Transfer\ModuleFilterTransfer $moduleFilterTransfer * - * @return string + * @return \Generated\Shared\Transfer\ModuleFilterTransfer */ - protected function getPathToBundle($bundle) + protected function addFilterDetails(string $moduleName, ModuleFilterTransfer $moduleFilterTransfer): ModuleFilterTransfer { - return $this->pathToModules . $bundle . DIRECTORY_SEPARATOR; + $moduleFragments = explode('.', $moduleName); + + $organization = array_shift($moduleFragments); + $moduleName = array_shift($moduleFragments); + + if ($moduleName === null) { + $moduleName = $organization; + $organization = null; + } + + $moduleTransfer = new ModuleTransfer(); + $moduleTransfer->setName($moduleName); + $moduleFilterTransfer->setModule($moduleTransfer); + + $organizationTransfer = new OrganizationTransfer(); + $organizationTransfer->setName($organization); + $moduleFilterTransfer->setOrganization($organizationTransfer); + + return $moduleFilterTransfer; } /** - * @param string $path + * @param string|null $path * @param array $options * - * @return void + * @return int */ - protected function runTestCommand($path, array $options) + protected function runTestCommand(?string $path, array $options): int { - if ($options[static::OPTION_INITIALIZE]) { - $this->runCodeceptionBuild($options); - } - $commandLine = []; $commandLine[] = 'vendor/bin/codecept'; @@ -150,21 +201,27 @@ protected function runTestCommand($path, array $options) ->getArguments() ); - $process = new Process($commandLine, $this->applicationRoot, null, null, $this->processTimeout); + if ($options[static::OPTION_DRY_RUN]) { + return $this->dryRun($commandLine); + } + + $process = new Process($commandLine, $this->config->getPathToRoot(), null, null, $this->config->getProcessTimeout()); $process->run(function ($type, $buffer) { echo $buffer; }); + + return $process->getExitCode(); } /** - * @param string $path + * @param string|null $path * @param array $options * - * @return void + * @return int */ - protected function runFixturesCommand($path, array $options) + protected function runFixturesCommand(?string $path, array $options): int { - if ($options[static::OPTION_INITIALIZE]) { + if ($options[static::OPTION_INITIALIZE] && !$options[static::OPTION_DRY_RUN]) { $this->runCodeceptionBuild($options); } @@ -180,30 +237,12 @@ protected function runFixturesCommand($path, array $options) ->getArguments() ); - $process = new Process($commandLine, $this->applicationRoot, null, null, $this->processTimeout); + $process = new Process($commandLine, $this->config->getPathToRoot(), null, null, $this->config->getProcessTimeout()); $process->run(function ($type, $buffer) { echo $buffer; }); - } - - /** - * @param string|null $bundle - * @param string $path - * - * @throws \ErrorException - * - * @return void - */ - protected function assertPath($bundle, string $path): void - { - if (!is_dir($path)) { - $message = 'This path does not exist'; - if (!empty($bundle)) { - $message = 'This bundle does not exist'; - } - throw new ErrorException($message); - } + return $process->getExitCode(); } /** @@ -218,11 +257,30 @@ protected function runCodeceptionBuild(array $options): void $commandLine[] = 'vendor/bin/codecept'; $commandLine[] = 'build'; - $process = new Process($commandLine, $this->applicationRoot, null, null, $this->processTimeout); + $process = new Process($commandLine, $this->config->getPathToRoot(), null, null, $this->config->getProcessTimeout()); $process->run(function ($type, $buffer) use ($options) { if ($options[static::OPTION_VERBOSE]) { echo $buffer; } }); } + + /** + * @param string[] $command + * + * @return int + */ + protected function dryRun(array $command): int + { + $output = []; + foreach ($command as $line) { + if (strpos($line, ' ') !== false) { + $line = '"' . $line . '"'; + } + $output[] = $line; + } + echo implode(' ', $output) . PHP_EOL; + + return static::CODE_SUCCESS; + } } diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index 9e493352..5c24e3eb 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -233,10 +233,9 @@ public function createCodeStyleSnifferConfiguration(): CodeStyleSnifferConfigura public function createCodeTester() { return new CodeTester( - $this->getConfig()->getPathToRoot(), - $this->getConfig()->getPathToCore(), + $this->getModuleFinderFacade(), $this->createConfigArgumentCollectionBuilder(), - $this->getConfig()->getProcessTimeout() + $this->getConfig() ); } diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php index 17070994..77434912 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php @@ -43,11 +43,11 @@ public function checkCodeStyle($module = null, array $options = []) * @param string|null $module * @param array $options * - * @return void + * @return int */ - public function runTest($module, array $options = []) + public function runTest($module, array $options = []): int { - $this->getFactory()->createCodeTester()->runTest($module, $options); + return $this->getFactory()->createCodeTester()->runTest($module, $options); } /** @@ -56,11 +56,11 @@ public function runTest($module, array $options = []) * @param string|null $module * @param array $options * - * @return void + * @return int */ - public function runFixtures($module, array $options = []) + public function runFixtures($module, array $options = []): int { - $this->getFactory()->createCodeTester()->runFixtures($module, $options); + return $this->getFactory()->createCodeTester()->runFixtures($module, $options); } /** diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php index 7bc88ca8..13ab5b3f 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php @@ -36,9 +36,9 @@ public function checkCodeStyle($module = null, array $options = []); * @param string|null $module * @param array $options * - * @return void + * @return int */ - public function runTest($module, array $options = []); + public function runTest(?string $module, array $options = []): int; /** * Specification: @@ -50,9 +50,9 @@ public function runTest($module, array $options = []); * @param string|null $module * @param array $options * - * @return void + * @return int */ - public function runFixtures($module, array $options = []); + public function runFixtures(?string $module, array $options = []): int; /** * @api diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index 1ab114f9..c3680982 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -31,7 +31,6 @@ class PhpstanRunner implements PhpstanRunnerInterface public const DEFAULT_LEVEL = 'defaultLevel'; public const MEMORY_LIMIT = '512M'; public const CODE_SUCCESS = 0; - public const CODE_ERROR = 0; public const OPTION_DRY_RUN = 'dry-run'; public const OPTION_VERBOSE = 'verbose'; diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php index 96c74218..acd4f6e1 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php @@ -20,7 +20,6 @@ class CodeFixturesConsole extends Console { public const COMMAND_NAME = 'code:fixtures'; public const OPTION_MODULE = 'module'; - public const OPTION_MODULE_ALL = 'all'; public const OPTION_INITIALIZE = 'initialize'; public const OPTION_GROUP = 'group'; public const OPTION_TYPE_EXCLUDE = 'exclude'; @@ -47,23 +46,32 @@ protected function configure() * @param \Symfony\Component\Console\Input\InputInterface $input * @param \Symfony\Component\Console\Output\OutputInterface $output * - * @return int|null + * @return int */ - public function execute(InputInterface $input, OutputInterface $output) + public function execute(InputInterface $input, OutputInterface $output): int { $module = $this->input->getOption(static::OPTION_MODULE); - - $message = 'Build fixtures for codeception tests for project level'; - if ($module) { - $message = 'Build fixtures for codeception tests for ' . $module . ' module'; - } - $this->info($message); + $this->displayRunInfo($module); $initialize = $this->input->getOption(static::OPTION_INITIALIZE); if (!$initialize) { $this->warning('Make sure you ran `codecept build` already.'); } - $this->getFacade()->runFixtures($module, $this->input->getOptions()); + return $this->getFacade()->runFixtures($module, $this->input->getOptions()); + } + + /** + * @param string|null $module + * + * @return void + */ + protected function displayRunInfo(?string $module): void + { + $message = 'Build fixtures for codeception tests for project level'; + if ($module) { + $message = 'Build fixtures for codeception tests for module(s) ' . $module; + } + $this->info($message); } } diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php index 118b9fa5..4964c3a8 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php @@ -21,14 +21,10 @@ class CodeTestConsole extends Console public const COMMAND_NAME = 'code:test'; public const OPTION_MODULE = 'module'; - public const OPTION_MODULE_ALL = 'all'; public const OPTION_INITIALIZE = 'initialize'; public const OPTION_GROUP = 'group'; public const OPTION_TYPE_EXCLUDE = 'exclude'; - - public const OPTION_CONFIG_PATH = 'config'; - - protected const CODECEPTION_CONFIG_FILE_NAME = 'codeception.yml'; + public const OPTION_DRY_RUN = 'dry-run'; /** * @return void @@ -42,34 +38,29 @@ protected function configure() ->setHelp('' . static::COMMAND_NAME . ' -h') ->setDescription('Run codecept tests for project or core'); - $this->addOption(static::OPTION_MODULE, 'm', InputOption::VALUE_OPTIONAL, 'Name of core module to run tests for (or "all")'); + $this->addOption(static::OPTION_MODULE, 'm', InputOption::VALUE_OPTIONAL, 'Name of core module to run tests for (or "Spryker*.all")'); $this->addOption(static::OPTION_GROUP, 'g', InputOption::VALUE_OPTIONAL, 'Groups of tests to be executed (multiple values allowed, comma separated)'); $this->addOption(static::OPTION_TYPE_EXCLUDE, 'x', InputOption::VALUE_OPTIONAL, 'Types of tests to be skipped (e.g. Presentation; multiple values allowed, comma separated)'); $this->addOption(static::OPTION_INITIALIZE, 'i', InputOption::VALUE_NONE, 'Initialize test suite by (re)generating required test classes'); + $this->addOption(static::OPTION_DRY_RUN, 'd', InputOption::VALUE_NONE, 'Dry-run the command, only output the commands that would be run'); } /** * @param \Symfony\Component\Console\Input\InputInterface $input * @param \Symfony\Component\Console\Output\OutputInterface $output * - * @return int|null + * @return int */ - public function execute(InputInterface $input, OutputInterface $output) + public function execute(InputInterface $input, OutputInterface $output): int { $module = $this->input->getOption(static::OPTION_MODULE); + $this->displayRunInfo($input); - $message = 'Run codecept tests for project level'; - if ($module) { - $message = 'Run codecept tests for ' . $module . ' module'; - } - $this->info($message); - - $initialize = $this->input->getOption(static::OPTION_INITIALIZE); - if (!$initialize) { + if (!$this->input->getOption(static::OPTION_INITIALIZE) && !$input->getOption(static::OPTION_DRY_RUN)) { $this->warning('Make sure you ran `codecept build` already.'); } - $this->getFacade()->runTest( + return $this->getFacade()->runTest( $module, $this->extendOptions($input) ); @@ -84,16 +75,24 @@ protected function extendOptions(InputInterface $input): array { $options = $input->getOptions(); - $options[static::OPTION_CONFIG_PATH] = $this->getCodeceptionConfigPath(); - return $options; } /** - * @return string + * @param \Symfony\Component\Console\Input\InputInterface $input + * @param string|null $module + * + * @return void */ - protected function getCodeceptionConfigPath(): string + protected function displayRunInfo(InputInterface $input, ?string $module): void { - return APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . static::CODECEPTION_CONFIG_FILE_NAME; + $message = 'Run codecept tests for project level'; + if ($module) { + $message = 'Run codecept tests for module(s): ' . $module; + } + if ($input->getOption(static::OPTION_DRY_RUN)) { + $message .= ' [dry run]'; + } + $this->info($message); } } From fb00722ae50722bd6040c328d7b4cd50063fe59d Mon Sep 17 00:00:00 2001 From: mscherer Date: Tue, 26 Nov 2019 16:17:47 +0100 Subject: [PATCH 101/336] Adjustments as per review. --- .../Business/CodeTest/CodeTester.php | 14 +++++ .../Builder/CodeceptionArgumentsBuilder.php | 2 +- .../Business/DevelopmentFacade.php | 52 ++++++++++++++++++- .../Business/DevelopmentFacadeInterface.php | 21 +++++++- .../Communication/Console/CodeTestConsole.php | 2 +- 5 files changed, 86 insertions(+), 5 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php b/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php index 5110dab5..24e68e7f 100644 --- a/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php +++ b/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php @@ -62,6 +62,9 @@ public function __construct( } /** + * Runs `vendor/bin/codecept run`. + * If module is given, it will run over this (core) module. Otherwise runs over project level. + * * @param string|null $moduleName * @param array $options * @@ -98,6 +101,9 @@ public function runTest(?string $moduleName, array $options = []): int } /** + * Runs `vendor/bin/codecept fixtures`. + * If module is given, it will run over this (core) module. Otherwise runs over project level. + * * @param string|null $moduleName * @param array $options * @@ -141,6 +147,10 @@ public function runFixtures(?string $moduleName, array $options = []): int protected function buildModuleFilterTransfer(?string $moduleName): ModuleFilterTransfer { $moduleFilterTransfer = new ModuleFilterTransfer(); + if ($moduleName === null) { + return $moduleFilterTransfer; + } + if (strpos($moduleName, '.') === false) { $moduleTransfer = new ModuleTransfer(); $moduleTransfer->setName($moduleName); @@ -194,6 +204,10 @@ protected function runTestCommand(?string $path, array $options): int $commandLine[] = 'vendor/bin/codecept'; $commandLine[] = 'run'; + if ($path) { + $options['config'] = $path; + } + $commandLine = array_merge( $commandLine, $this->argumentBuilder diff --git a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php index 5cb6e239..72ae7531 100644 --- a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php +++ b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php @@ -126,7 +126,7 @@ protected function addVerboseMode(CodeceptionArguments $codeceptionArguments, ar */ protected function addInclusiveGroups(CodeceptionArguments $codeceptionArguments, array $options): CodeceptionArguments { - if (!empty($options[static::OPTION_MODULE])) { + if (!empty($options[static::OPTION_MODULE]) && strpos($options[static::OPTION_MODULE], '.') === false) { $codeceptionArguments = $this->enableSuiteFilterExtension($codeceptionArguments); $codeceptionArguments = $this->buildInlineExtensionConfig($codeceptionArguments, $options); } diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php index 77434912..cda0592a 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php @@ -25,6 +25,8 @@ class DevelopmentFacade extends AbstractFacade implements DevelopmentFacadeInterface { /** + * {@inheritDoc} + * * @api * * @param string|null $module @@ -38,6 +40,8 @@ public function checkCodeStyle($module = null, array $options = []) } /** + * {@inheritDoc} + * * @api * * @param string|null $module @@ -45,12 +49,14 @@ public function checkCodeStyle($module = null, array $options = []) * * @return int */ - public function runTest($module, array $options = []): int + public function runTest(?string $module, array $options = []): int { return $this->getFactory()->createCodeTester()->runTest($module, $options); } /** + * {@inheritDoc} + * * @api * * @param string|null $module @@ -64,6 +70,8 @@ public function runFixtures($module, array $options = []): int } /** + * {@inheritDoc} + * * @api * * @param string|null $module @@ -77,8 +85,12 @@ public function runPhpMd($module, array $options = []) } /** + * {@inheritDoc} + * * @api * + * @internal + * * @param string $module * @param string $toModule * @param array $methods @@ -91,6 +103,8 @@ public function createBridge($module, $toModule, array $methods) } /** + * {@inheritDoc} + * * @api * * @deprecated Use Spryk tool instead. @@ -106,6 +120,8 @@ public function createModule($module, array $options) } /** + * {@inheritDoc} + * * @api * * @internal @@ -182,6 +198,8 @@ public function getAllBundles() } /** + * {@inheritDoc} + * * @api * * @param string $module @@ -194,6 +212,8 @@ public function buildDependencyTree(string $module) } /** + * {@inheritDoc} + * * @api * * @return array @@ -204,6 +224,8 @@ public function calculateStability() } /** + * {@inheritDoc} + * * @api * * @param string $moduleToView @@ -218,6 +240,8 @@ public function drawOutgoingDependencyTreeGraph($moduleToView, array $excludedMo } /** + * {@inheritDoc} + * * @api * * @param string|bool $moduleToView @@ -230,6 +254,8 @@ public function drawDetailedDependencyTreeGraph($moduleToView) } /** + * {@inheritDoc} + * * @api * * @param bool $showEngineModule @@ -243,6 +269,8 @@ public function drawSimpleDependencyTreeGraph($showEngineModule, $moduleToView) } /** + * {@inheritDoc} + * * @api * * @param string $moduleToView @@ -255,6 +283,8 @@ public function drawExternalDependencyTreeGraph($moduleToView) } /** + * {@inheritDoc} + * * @api * * @return array @@ -265,6 +295,8 @@ public function getAdjacencyMatrixData() } /** + * {@inheritDoc} + * * @api * * @deprecated This method is not used anymore. @@ -277,6 +309,8 @@ public function getDependencyViolations() } /** + * {@inheritDoc} + * * @api * * @return array @@ -287,6 +321,8 @@ public function getEngineModuleList() } /** + * {@inheritDoc} + * * @api * * @deprecated This method is not used anymore. @@ -299,6 +335,8 @@ public function getExternalDependencyTree() } /** + * {@inheritDoc} + * * @api * * @param \Generated\Shared\Transfer\DependencyCollectionTransfer $dependencyCollectionTransfer @@ -311,6 +349,8 @@ public function getComposerDependencyComparison(DependencyCollectionTransfer $de } /** + * {@inheritDoc} + * * @api * * @return void @@ -321,6 +361,8 @@ public function generateYvesIdeAutoCompletion() } /** + * {@inheritDoc} + * * @api * * @return void @@ -331,6 +373,8 @@ public function generateZedIdeAutoCompletion() } /** + * {@inheritDoc} + * * @api * * @return void @@ -341,6 +385,8 @@ public function generateClientIdeAutoCompletion() } /** + * {@inheritDoc} + * * @api * * @return void @@ -351,6 +397,8 @@ public function generateServiceIdeAutoCompletion() } /** + * {@inheritDoc} + * * @api * * @return void @@ -388,6 +436,8 @@ public function listAllModules() } /** + * {@inheritDoc} + * * @api * * @deprecated Use `listAllModules` instead. diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php index 13ab5b3f..6abafaf1 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php @@ -21,6 +21,10 @@ interface DevelopmentFacadeInterface { /** + * Specification: + * - Runs vendor/bin/phpcs or vendor/bin/phpcbf as wrapper for easier use. + * - If no module is given, it will run over the whole repository. + * * @api * * @param string|null $module @@ -31,6 +35,10 @@ interface DevelopmentFacadeInterface public function checkCodeStyle($module = null, array $options = []); /** + * Specification: + * - Runs `vendor/bin/codecept run` as wrapper for easier use. + * - If no (core) module is given, it will run on project level. + * * @api * * @param string|null $module @@ -42,8 +50,9 @@ public function runTest(?string $module, array $options = []): int; /** * Specification: - * - Runs the vendor/bin/codecept fixtures command with options - * - If options contains "initialize", it will also run vendor/bin/codecept build + * - Runs `vendor/bin/codecept fixtures` as wrapper for easier use. + * - If no (core) module is given, it will run on project level. + * - If options contains "initialize", it will also run vendor/bin/codecept build. * * @api * @@ -55,6 +64,10 @@ public function runTest(?string $module, array $options = []): int; public function runFixtures(?string $module, array $options = []): int; /** + * Specification: + * - Runs the vendor/bin/phpmd as wrapper for easier use. + * - If no (core) module is given, it will run on project level. + * * @api * * @param string|null $module @@ -67,6 +80,8 @@ public function runPhpMd($module, array $options = []); /** * @api * + * @internal + * * @param string $module * @param string $toModule * @param array $methods @@ -78,6 +93,8 @@ public function createBridge($module, $toModule, array $methods); /** * @api * + * @deprecated Use Spryk tool instead. + * * @param string $module * @param array $options * diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php index 4964c3a8..01eed68f 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php @@ -54,7 +54,7 @@ protected function configure() public function execute(InputInterface $input, OutputInterface $output): int { $module = $this->input->getOption(static::OPTION_MODULE); - $this->displayRunInfo($input); + $this->displayRunInfo($input, $module); if (!$this->input->getOption(static::OPTION_INITIALIZE) && !$input->getOption(static::OPTION_DRY_RUN)) { $this->warning('Make sure you ran `codecept build` already.'); From 23ba3394a7a18eeab12d198d13693c4a697f0caa Mon Sep 17 00:00:00 2001 From: Roberto Filippone Date: Wed, 8 Jan 2020 11:03:53 +0100 Subject: [PATCH 102/336] Provide module dashed name correctly --- .../Dependency/ModuleDependencyParser.php | 22 +++++++++++++++++++ .../Business/DevelopmentFacade.php | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/Dependency/ModuleDependencyParser.php b/src/Spryker/Zed/Development/Business/Dependency/ModuleDependencyParser.php index 9999f5d4..f0b086eb 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/ModuleDependencyParser.php +++ b/src/Spryker/Zed/Development/Business/Dependency/ModuleDependencyParser.php @@ -13,6 +13,9 @@ use Spryker\Zed\Development\Business\Dependency\DependencyFinder\Context\DependencyFinderContext; use Spryker\Zed\Development\Business\Dependency\DependencyFinder\DependencyFinderInterface; use Spryker\Zed\Development\Business\Module\ModuleFileFinder\ModuleFileFinderInterface; +use Zend\Filter\FilterChain; +use Zend\Filter\StringToLower; +use Zend\Filter\Word\CamelCaseToDash; class ModuleDependencyParser implements ModuleDependencyParserInterface { @@ -51,6 +54,10 @@ public function __construct(ModuleFileFinderInterface $moduleFileFinder, Depende */ public function parseOutgoingDependencies(ModuleTransfer $moduleTransfer, ?string $dependencyType = null): DependencyCollectionTransfer { + if ($moduleTransfer->getNameDashed() == null) { + $moduleTransfer->setNameDashed($this->dasherize($moduleTransfer->getName())); + } + $dependencyContainer = $this->dependencyContainer->initialize($moduleTransfer); if (!$this->moduleFileFinder->hasFiles($moduleTransfer)) { @@ -66,4 +73,19 @@ public function parseOutgoingDependencies(ModuleTransfer $moduleTransfer, ?strin return $dependencyContainer->getDependencyCollection(); } + + /** + * @param string $value + * + * @return string + */ + protected function dasherize(string $value): string + { + $filterChain = new FilterChain(); + $filterChain + ->attach(new CamelCaseToDash()) + ->attach(new StringToLower()); + + return $filterChain->filter($value); + } } diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php index cda0592a..66dd1345 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php @@ -64,7 +64,7 @@ public function runTest(?string $module, array $options = []): int * * @return int */ - public function runFixtures($module, array $options = []): int + public function runFixtures(?string $module, array $options = []): int { return $this->getFactory()->createCodeTester()->runFixtures($module, $options); } From ba3011b632efa4096a9abfd42899afbe5823849d Mon Sep 17 00:00:00 2001 From: mscherer Date: Tue, 7 Jan 2020 16:52:24 +0100 Subject: [PATCH 103/336] TE-4649 Fix Mock usage. --- src/Spryker/Zed/Development/DevelopmentConfig.php | 2 +- .../Business/CodeStyleSniffer/CodeStyleSnifferTest.php | 2 +- .../Business/Composer/Updater/AutoloadUpdaterTest.php | 2 +- .../Bundle/MethodBuilder/ClientMethodBuilderTest.php | 5 +++-- .../Bundle/MethodBuilder/FacadeMethodBuilderTest.php | 7 ++++--- .../MethodBuilder/QueryContainerMethodBuilderTest.php | 7 ++++--- .../Bundle/MethodBuilder/ServiceMethodBuilderTest.php | 7 ++++--- .../IdeAutoCompletion/Generator/BundleGeneratorTest.php | 2 +- .../IdeAutoCompletion/IdeAutoCompletionWriterTest.php | 2 +- .../PhpMd/Rules/Design/CouplingBetweenObjectsTest.php | 4 ++-- .../Business/PhpMd/Rules/Design/NumberOfChildrenTest.php | 4 ++-- .../Business/PhpMd/Rules/Design/TooManyMethodsTest.php | 5 +++-- .../PhpMd/Rules/Design/TooManyPublicMethodsTest.php | 5 +++-- 13 files changed, 30 insertions(+), 24 deletions(-) diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 095d6520..994817f8 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -57,7 +57,7 @@ class DevelopmentConfig extends AbstractBundleConfig protected const INTERNAL_PACKAGE_DIRECTORIES = ['spryker', 'spryker-shop', 'spryker-merchant-portal']; - protected const TIMEOUT_DEFAULT = 4800; + protected const TIMEOUT_DEFAULT = 9000; /** * @return int diff --git a/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php b/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php index abf29b88..fb430df8 100644 --- a/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php +++ b/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php @@ -140,7 +140,7 @@ public function testCheckCodeStyleRunsCommandInCoreModuleForLevelTwo(): void * * @return \PHPUnit\Framework\MockObject\MockObject|\Spryker\Zed\Development\Business\CodeStyleSniffer\CodeStyleSniffer */ - protected function getCodeStyleSnifferMock(string $expectedPathToRunCommandWith, array $options) + protected function getCodeStyleSnifferMock(string $expectedPathToRunCommandWith, array $options): CodeStyleSniffer { $developmentConfig = $this->tester->createDevelopmentConfig(); $codingStandard = $developmentConfig->getCodingStandard(); diff --git a/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php b/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php index 6d1b5710..7117dc80 100644 --- a/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php +++ b/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php @@ -196,7 +196,7 @@ public function autoloadKeys(): array /** * @return \PHPUnit\Framework\MockObject\MockObject|\Spryker\Zed\Development\Business\Composer\Updater\AutoloadUpdater */ - protected function getAutoloadUpdaterMock() + protected function getAutoloadUpdaterMock(): AutoloadUpdater { $autoloadUpdaterMock = $this->getMockBuilder(AutoloadUpdater::class) ->setMethods(['pathExists', 'getPath']) diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php index 057cf98d..957ff386 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php @@ -11,6 +11,7 @@ use Generated\Shared\Transfer\IdeAutoCompletionBundleTransfer; use Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\ClientMethodBuilder; use Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\NamespaceExtractor; +use Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\NamespaceExtractorInterface; use Symfony\Component\Finder\SplFileInfo; /** @@ -64,7 +65,7 @@ public function testFileLookupIsPerformedInClientApplication(): void /** * @return \PHPUnit\Framework\MockObject\MockObject|\Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\ClientMethodBuilder */ - protected function getClientMethodBuilderMock() + protected function getClientMethodBuilderMock(): ClientMethodBuilder { $methodBuilderMock = $this ->getMockBuilder(ClientMethodBuilder::class) @@ -83,7 +84,7 @@ protected function getClientMethodBuilderMock() /** * @return \PHPUnit\Framework\MockObject\MockObject|\Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\NamespaceExtractorInterface */ - protected function getNamespaceExtractorMock() + protected function getNamespaceExtractorMock(): NamespaceExtractorInterface { return $this ->getMockBuilder(NamespaceExtractor::class) diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php index 9f78e7b8..f9200ec0 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php @@ -11,6 +11,7 @@ use Generated\Shared\Transfer\IdeAutoCompletionBundleTransfer; use Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\FacadeMethodBuilder; use Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\NamespaceExtractor; +use Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\NamespaceExtractorInterface; use Symfony\Component\Finder\SplFileInfo; /** @@ -108,9 +109,9 @@ public function testFileLookupFallsBackToConcreteClassIfInterfaceIsMissing(): vo } /** - * @return \PHPUnit\Framework\MockObject\MockObject|\Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\ClientMethodBuilder + * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\FacadeMethodBuilder|\PHPUnit\Framework\MockObject\MockObject */ - protected function getFacadeMethodBuilderMock() + protected function getFacadeMethodBuilderMock(): FacadeMethodBuilder { $methodBuilderMock = $this ->getMockBuilder(FacadeMethodBuilder::class) @@ -129,7 +130,7 @@ protected function getFacadeMethodBuilderMock() /** * @return \PHPUnit\Framework\MockObject\MockObject|\Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\NamespaceExtractorInterface */ - protected function getNamespaceExtractorMock() + protected function getNamespaceExtractorMock(): NamespaceExtractorInterface { return $this ->getMockBuilder(NamespaceExtractor::class) diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php index 98e97f2c..e4805639 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php @@ -11,6 +11,7 @@ use Generated\Shared\Transfer\IdeAutoCompletionBundleTransfer; use Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\QueryContainerMethodBuilder; use Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\NamespaceExtractor; +use Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\NamespaceExtractorInterface; use Symfony\Component\Finder\SplFileInfo; /** @@ -62,9 +63,9 @@ public function testFileLookupIsPerformedInPersistenceLayer(): void } /** - * @return \PHPUnit\Framework\MockObject\MockObject|\Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\ClientMethodBuilder + * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\QueryContainerMethodBuilder|\PHPUnit\Framework\MockObject\MockObject */ - protected function getQueryContainerMethodBuilderMock() + protected function getQueryContainerMethodBuilderMock(): QueryContainerMethodBuilder { $methodBuilderMock = $this ->getMockBuilder(QueryContainerMethodBuilder::class) @@ -83,7 +84,7 @@ protected function getQueryContainerMethodBuilderMock() /** * @return \PHPUnit\Framework\MockObject\MockObject|\Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\NamespaceExtractorInterface */ - protected function getNamespaceExtractorMock() + protected function getNamespaceExtractorMock(): NamespaceExtractorInterface { return $this ->getMockBuilder(NamespaceExtractor::class) diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php index 7d99cbc8..8643d039 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php @@ -11,6 +11,7 @@ use Generated\Shared\Transfer\IdeAutoCompletionBundleTransfer; use Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\ServiceMethodBuilder; use Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\NamespaceExtractor; +use Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\NamespaceExtractorInterface; use Symfony\Component\Finder\SplFileInfo; /** @@ -62,9 +63,9 @@ public function testFileLookupIsPerformedInClientApplication(): void } /** - * @return \PHPUnit\Framework\MockObject\MockObject|\Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\ClientMethodBuilder + * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\ServiceMethodBuilder|\PHPUnit\Framework\MockObject\MockObject */ - protected function getServiceMethodBuilderMock() + protected function getServiceMethodBuilderMock(): ServiceMethodBuilder { $methodBuilderMock = $this ->getMockBuilder(ServiceMethodBuilder::class) @@ -83,7 +84,7 @@ protected function getServiceMethodBuilderMock() /** * @return \PHPUnit\Framework\MockObject\MockObject|\Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\NamespaceExtractorInterface */ - protected function getNamespaceExtractorMock() + protected function getNamespaceExtractorMock(): NamespaceExtractorInterface { return $this ->getMockBuilder(NamespaceExtractor::class) diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Generator/BundleGeneratorTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Generator/BundleGeneratorTest.php index 742883b3..d082f89a 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Generator/BundleGeneratorTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Generator/BundleGeneratorTest.php @@ -83,7 +83,7 @@ protected function getGeneratorOptions(): array /** * @return \PHPUnit\Framework\MockObject\MockObject|\Twig\Environment */ - protected function createTwigEnvironmentMock() + protected function createTwigEnvironmentMock(): Environment { return $this ->getMockBuilder(Environment::class) diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriterTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriterTest.php index 803d5fe1..02a07503 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriterTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriterTest.php @@ -146,7 +146,7 @@ protected function getDevelopmentBusinessFactory(): DevelopmentBusinessFactory /** * @return \PHPUnit\Framework\MockObject\MockObject|\Spryker\Zed\Development\DevelopmentConfig */ - protected function getDevelopmentConfigMock() + protected function getDevelopmentConfigMock(): DevelopmentConfig { $configMock = $this ->getMockBuilder(DevelopmentConfig::class) diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjectsTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjectsTest.php index 7446761a..98a7277d 100644 --- a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjectsTest.php +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjectsTest.php @@ -76,7 +76,7 @@ public function testApplyAddsViolationWhenClassIsNotIgnorable(): void /** * @return \PHPUnit\Framework\MockObject\MockObject|\Spryker\Zed\Development\Business\PhpMd\Rules\Design\CouplingBetweenObjects */ - protected function getCouplingBetweenObjectsMock() + protected function getCouplingBetweenObjectsMock(): CouplingBetweenObjects { $mockBuilder = $this->getMockBuilder(CouplingBetweenObjects::class); $mockBuilder->setMethods(['addViolation', 'getIntProperty']); @@ -93,7 +93,7 @@ protected function getCouplingBetweenObjectsMock() * * @return \PHPUnit\Framework\MockObject\MockObject|\PHPMD\AbstractNode */ - protected function getNodeMock(string $fullyQualifiedClassName, string $nodeName) + protected function getNodeMock(string $fullyQualifiedClassName, string $nodeName): AbstractNode { $mockBuilder = $this->getMockBuilder(AbstractNode::class); $mockBuilder->setMethods(['getMetric', 'getName', 'getNamespace', 'getNamespaceName', 'hasSuppressWarningsAnnotationFor', 'getFullQualifiedName', 'getParentName']) diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildrenTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildrenTest.php index a6e21c7c..87da5089 100644 --- a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildrenTest.php +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildrenTest.php @@ -71,7 +71,7 @@ public function testApplyAddsViolationWhenClassIsNotIgnorable(): void /** * @return \PHPUnit\Framework\MockObject\MockObject|\Spryker\Zed\Development\Business\PhpMd\Rules\Design\NumberOfChildren */ - protected function getNumberOfChildrenMock() + protected function getNumberOfChildrenMock(): NumberOfChildren { $mockBuilder = $this->getMockBuilder(NumberOfChildren::class); $mockBuilder->setMethods(['addViolation', 'getIntProperty']); @@ -87,7 +87,7 @@ protected function getNumberOfChildrenMock() * * @return \PHPUnit\Framework\MockObject\MockObject|\PHPMD\AbstractNode */ - protected function getNodeMock(string $fullyQualifiedClassName) + protected function getNodeMock(string $fullyQualifiedClassName): AbstractNode { $mockBuilder = $this->getMockBuilder(AbstractNode::class); $mockBuilder->setMethods(['getMetric', 'getName', 'getNamespace', 'getNamespaceName', 'hasSuppressWarningsAnnotationFor', 'getFullQualifiedName', 'getParentName']) diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php index 65a513a7..2e0e8a20 100644 --- a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php @@ -8,6 +8,7 @@ namespace SprykerTest\Zed\Development\Business\PhpMd\Rules\Design; use Codeception\Test\Unit; +use PHPMD\AbstractNode; use PHPMD\Node\AbstractTypeNode; use Spryker\Zed\Development\Business\PhpMd\Rules\Design\TooManyMethods; @@ -92,7 +93,7 @@ public function testApplyDoesNotAddViolationIfNumberOfMethodsLowerThenThreshold( /** * @return \PHPUnit\Framework\MockObject\MockObject|\Spryker\Zed\Development\Business\PhpMd\Rules\Design\TooManyMethods */ - protected function getTooManyMethodsMock() + protected function getTooManyMethodsMock(): TooManyMethods { $mockBuilder = $this->getMockBuilder(TooManyMethods::class); $mockBuilder->setMethods(['addViolation', 'getIntProperty', 'getStringProperty']); @@ -109,7 +110,7 @@ protected function getTooManyMethodsMock() * * @return \PHPUnit\Framework\MockObject\MockObject|\PHPMD\AbstractNode */ - protected function getNodeMock(string $fullyQualifiedClassName, string $nodeName) + protected function getNodeMock(string $fullyQualifiedClassName, string $nodeName): AbstractNode { $mockBuilder = $this->getMockBuilder(AbstractTypeNode::class); $mockBuilder->setMethods(['getMetric', 'getName', 'getNamespace', 'getNamespaceName', 'hasSuppressWarningsAnnotationFor', 'getFullQualifiedName', 'getParentName', 'getMethodNames']) diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php index 6255cddd..8fd81fc5 100644 --- a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php @@ -8,6 +8,7 @@ namespace SprykerTest\Zed\Development\Business\PhpMd\Rules\Design; use Codeception\Test\Unit; +use PHPMD\AbstractNode; use PHPMD\Node\AbstractTypeNode; use Spryker\Zed\Development\Business\PhpMd\Rules\Design\TooManyPublicMethods; @@ -91,7 +92,7 @@ public function testApplyDoesNotAddViolationIfNumberOfMethodsLowerThenThreshold( /** * @return \PHPUnit\Framework\MockObject\MockObject|\Spryker\Zed\Development\Business\PhpMd\Rules\Design\TooManyPublicMethods */ - protected function getTooManyPublicMethodsMock() + protected function getTooManyPublicMethodsMock(): TooManyPublicMethods { $mockBuilder = $this->getMockBuilder(TooManyPublicMethods::class); $mockBuilder->setMethods(['addViolation', 'getIntProperty', 'getStringProperty']); @@ -108,7 +109,7 @@ protected function getTooManyPublicMethodsMock() * * @return \PHPUnit\Framework\MockObject\MockObject|\PHPMD\AbstractNode */ - protected function getNodeMock(string $fullyQualifiedClassName, string $nodeName) + protected function getNodeMock(string $fullyQualifiedClassName, string $nodeName): AbstractNode { $mockBuilder = $this->getMockBuilder(AbstractTypeNode::class); $mockBuilder->setMethods(['getMetric', 'getName', 'getNamespace', 'getNamespaceName', 'hasSuppressWarningsAnnotationFor', 'getFullQualifiedName', 'getParentName', 'getMethods']) From 0aeed6788e1d575497cb44f0a01efc5f5a8873fe Mon Sep 17 00:00:00 2001 From: mscherer Date: Wed, 15 Jan 2020 16:36:06 +0100 Subject: [PATCH 104/336] Remove coverage from root files --- codeception.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/codeception.yml b/codeception.yml index a1e68b24..d8193171 100644 --- a/codeception.yml +++ b/codeception.yml @@ -13,11 +13,7 @@ settings: colors: true memory_limit: 1024M log: true -coverage: - enabled: true - whitelist: - include: - - 'src/*' + extensions: enabled: - Codeception\Extension\Phantoman From 385e7e2fbcab3195fff6dfc36b1c4baec99bc116 Mon Sep 17 00:00:00 2001 From: Roberto Filippone Date: Fri, 17 Jan 2020 15:59:55 +0100 Subject: [PATCH 105/336] Fixed "too many opne files" error --- .../Business/DependencyTree/Finder/FileFinder.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FileFinder.php b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FileFinder.php index 35838491..a2ce2585 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FileFinder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FileFinder.php @@ -41,11 +41,17 @@ public function find(string $module): array return []; } - $finder = new Finder(); - $finder->files()->in($directories); + $res = []; + foreach ($directories as $directory) { + $finder = new Finder(); + $finder->files()->in($directory); - $finder->name('*.php'); + $finder->name('*.php'); + $res = array_merge($res, iterator_to_array($finder)); - return iterator_to_array($finder); + unset($finder); + } + + return $res; } } From c0f5fde89abc28f2e5816e204f672a1967d47ca0 Mon Sep 17 00:00:00 2001 From: Roberto Filippone Date: Tue, 28 Jan 2020 13:45:35 +0100 Subject: [PATCH 106/336] Implemented directory cleanup --- .../Business/DevelopmentBusinessFactory.php | 77 ++++++++++++ .../Business/DevelopmentFacade.php | 60 ++++++++++ .../Business/DevelopmentFacadeInterface.php | 45 +++++++ .../AbstractDirectoryFileFinder.php | 66 +++++++++++ .../FileGeneration/DirectoryCleaner.php | 110 ++++++++++++++++++ .../DirectoryCleanerInterface.php | 16 +++ .../GeneratedFileFinderInterface.php | 27 +++++ .../FileGeneration/PatternFileFinder.php | 40 +++++++ .../RemoveClientIdeAutoCompletionConsole.php | 45 +++++++ .../RemoveGlueIdeAutoCompletionConsole.php | 45 +++++++ .../RemoveIdeAutoCompletionConsole.php | 75 ++++++++++++ .../RemoveServiceIdeAutoCompletionConsole.php | 45 +++++++ .../RemoveYvesIdeAutoCompletionConsole.php | 45 +++++++ .../RemoveZedIdeAutoCompletionConsole.php | 45 +++++++ 14 files changed, 741 insertions(+) create mode 100644 src/Spryker/Zed/Development/Business/FileGeneration/AbstractDirectoryFileFinder.php create mode 100644 src/Spryker/Zed/Development/Business/FileGeneration/DirectoryCleaner.php create mode 100644 src/Spryker/Zed/Development/Business/FileGeneration/DirectoryCleanerInterface.php create mode 100644 src/Spryker/Zed/Development/Business/FileGeneration/GeneratedFileFinderInterface.php create mode 100644 src/Spryker/Zed/Development/Business/FileGeneration/PatternFileFinder.php create mode 100644 src/Spryker/Zed/Development/Communication/Console/RemoveClientIdeAutoCompletionConsole.php create mode 100644 src/Spryker/Zed/Development/Communication/Console/RemoveGlueIdeAutoCompletionConsole.php create mode 100644 src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php create mode 100644 src/Spryker/Zed/Development/Communication/Console/RemoveServiceIdeAutoCompletionConsole.php create mode 100644 src/Spryker/Zed/Development/Communication/Console/RemoveYvesIdeAutoCompletionConsole.php create mode 100644 src/Spryker/Zed/Development/Communication/Console/RemoveZedIdeAutoCompletionConsole.php diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index 5c24e3eb..1c5e589c 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -134,6 +134,10 @@ use Spryker\Zed\Development\Business\DependencyTree\ViolationFinder\UseForeignConstants; use Spryker\Zed\Development\Business\DependencyTree\ViolationFinder\UseForeignException; use Spryker\Zed\Development\Business\DependencyTree\ViolationFinder\ViolationFinder; +use Spryker\Zed\Development\Business\FileGeneration\DirectoryCleaner; +use Spryker\Zed\Development\Business\FileGeneration\DirectoryCleanerInterface; +use Spryker\Zed\Development\Business\FileGeneration\GeneratedFileFinderInterface; +use Spryker\Zed\Development\Business\FileGeneration\PatternFileFinder; use Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\BundleBuilder as IdeAutoCompletionBundleBuilder; use Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\BundleBuilderInterface; use Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\BundleFinder; @@ -1601,6 +1605,18 @@ protected function createYvesIdeAutoCompletionBundleBuilder() ); } + /** + * @return \Spryker\Zed\Development\Business\FileGeneration\DirectoryCleanerInterface + */ + public function createYvesIdeAutoCompletionDirectoryCleaner(): DirectoryCleanerInterface + { + return new DirectoryCleaner( + $this->getConfig()->getYvesIdeAutoCompletionOptions(), + $this->getProvidedDependency(DevelopmentDependencyProvider::FILESYSTEM), + $this->createGeneratedFileFinder('/.*\.php/') + ); + } + /** * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\IdeAutoCompletionWriterInterface */ @@ -1612,6 +1628,18 @@ public function createZedIdeAutoCompletionWriter() ); } + /** + * @return \Spryker\Zed\Development\Business\FileGeneration\DirectoryCleanerInterface + */ + public function createZedIdeAutoCompletionDirectoryCleaner(): DirectoryCleanerInterface + { + return new DirectoryCleaner( + $this->getConfig()->getZedIdeAutoCompletionOptions(), + $this->getProvidedDependency(DevelopmentDependencyProvider::FILESYSTEM), + $this->createGeneratedFileFinder('/.*\.php/') + ); + } + /** * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\BundleBuilderInterface */ @@ -1645,6 +1673,18 @@ public function createGlueIdeAutoCompletionWriter() ); } + /** + * @return \Spryker\Zed\Development\Business\FileGeneration\DirectoryCleanerInterface + */ + public function createGlueIdeAutoCompletionDirectoryCleaner(): DirectoryCleanerInterface + { + return new DirectoryCleaner( + $this->getConfig()->getGlueIdeAutoCompletionOptions(), + $this->getProvidedDependency(DevelopmentDependencyProvider::FILESYSTEM), + $this->createGeneratedFileFinder('/.*\.php/') + ); + } + /** * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\IdeAutoCompletionWriterInterface */ @@ -1656,6 +1696,18 @@ public function createClientIdeAutoCompletionWriter() ); } + /** + * @return \Spryker\Zed\Development\Business\FileGeneration\DirectoryCleanerInterface + */ + public function createClientIdeAutoCompletionDirectoryCleaner(): DirectoryCleanerInterface + { + return new DirectoryCleaner( + $this->getConfig()->getClientIdeAutoCompletionOptions(), + $this->getProvidedDependency(DevelopmentDependencyProvider::FILESYSTEM), + $this->createGeneratedFileFinder('/.*\.php/') + ); + } + /** * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\BundleBuilderInterface */ @@ -1678,6 +1730,18 @@ public function createServiceIdeAutoCompletionWriter() ); } + /** + * @return \Spryker\Zed\Development\Business\FileGeneration\DirectoryCleanerInterface + */ + public function createServiceIdeAutoCompletionDirectoryCleaner(): DirectoryCleanerInterface + { + return new DirectoryCleaner( + $this->getConfig()->getServiceIdeAutoCompletionOptions(), + $this->getProvidedDependency(DevelopmentDependencyProvider::FILESYSTEM), + $this->createGeneratedFileFinder('/.*\.php/') + ); + } + /** * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\BundleBuilderInterface */ @@ -2049,4 +2113,17 @@ public function createComposerNameFinder(): ComposerNameFinderInterface { return new ComposerNameFinder($this->getModuleFinderFacade()); } + + /** + * @param string $pattern + * + * @return \Spryker\Zed\Development\Business\FileGeneration\GeneratedFileFinderInterface + */ + protected function createGeneratedFileFinder(string $pattern): GeneratedFileFinderInterface + { + return new PatternFileFinder( + $this->getProvidedDependency(DevelopmentDependencyProvider::FINDER), + $pattern + ); + } } diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php index cda0592a..e1e4c1f1 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php @@ -360,6 +360,18 @@ public function generateYvesIdeAutoCompletion() $this->getFactory()->createYvesIdeAutoCompletionWriter()->writeCompletionFiles(); } + /** + * {@inheritDoc} + * + * @api + * + * @return void + */ + public function removeYvesIdeAutoCompletion(): void + { + $this->getFactory()->createYvesIdeAutoCompletionDirectoryCleaner()->clear(); + } + /** * {@inheritDoc} * @@ -372,6 +384,18 @@ public function generateZedIdeAutoCompletion() $this->getFactory()->createZedIdeAutoCompletionWriter()->writeCompletionFiles(); } + /** + * {@inheritDoc} + * + * @api + * + * @return void + */ + public function removeZedIdeAutoCompletion(): void + { + $this->getFactory()->createZedIdeAutoCompletionDirectoryCleaner()->clear(); + } + /** * {@inheritDoc} * @@ -384,6 +408,18 @@ public function generateClientIdeAutoCompletion() $this->getFactory()->createClientIdeAutoCompletionWriter()->writeCompletionFiles(); } + /** + * {@inheritDoc} + * + * @api + * + * @return void + */ + public function removeClientIdeAutoCompletion(): void + { + $this->getFactory()->createClientIdeAutoCompletionDirectoryCleaner()->clear(); + } + /** * {@inheritDoc} * @@ -396,6 +432,18 @@ public function generateServiceIdeAutoCompletion() $this->getFactory()->createServiceIdeAutoCompletionWriter()->writeCompletionFiles(); } + /** + * {@inheritDoc} + * + * @api + * + * @return void + */ + public function removeServiceIdeAutoCompletion(): void + { + $this->getFactory()->createServiceIdeAutoCompletionDirectoryCleaner()->clear(); + } + /** * {@inheritDoc} * @@ -408,6 +456,18 @@ public function generateGlueIdeAutoCompletion() $this->getFactory()->createGlueIdeAutoCompletionWriter()->writeCompletionFiles(); } + /** + * {@inheritDoc} + * + * @api + * + * @return void + */ + public function removeGlueIdeAutoCompletion(): void + { + $this->getFactory()->createGlueIdeAutoCompletionDirectoryCleaner()->clear(); + } + /** * {@inheritDoc} * diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php index 6abafaf1..a2010a78 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php @@ -264,6 +264,15 @@ public function getComposerDependencyComparison(DependencyCollectionTransfer $de */ public function generateYvesIdeAutoCompletion(); + /** + * {@inheritDoc} + * + * @api + * + * @return void + */ + public function removeYvesIdeAutoCompletion(): void; + /** * @api * @@ -271,6 +280,15 @@ public function generateYvesIdeAutoCompletion(); */ public function generateZedIdeAutoCompletion(); + /** + * {@inheritDoc} + * + * @api + * + * @return void + */ + public function removeZedIdeAutoCompletion(): void; + /** * @api * @@ -278,6 +296,15 @@ public function generateZedIdeAutoCompletion(); */ public function generateClientIdeAutoCompletion(); + /** + * {@inheritDoc} + * + * @api + * + * @return void + */ + public function removeClientIdeAutoCompletion(): void; + /** * @api * @@ -285,6 +312,15 @@ public function generateClientIdeAutoCompletion(); */ public function generateServiceIdeAutoCompletion(); + /** + * {@inheritDoc} + * + * @api + * + * @return void + */ + public function removeServiceIdeAutoCompletion(): void; + /** * @api * @@ -292,6 +328,15 @@ public function generateServiceIdeAutoCompletion(); */ public function generateGlueIdeAutoCompletion(); + /** + * {@inheritDoc} + * + * @api + * + * @return void + */ + public function removeGlueIdeAutoCompletion(): void; + /** * Run the architecture sniffer against the given module and returns the violations * diff --git a/src/Spryker/Zed/Development/Business/FileGeneration/AbstractDirectoryFileFinder.php b/src/Spryker/Zed/Development/Business/FileGeneration/AbstractDirectoryFileFinder.php new file mode 100644 index 00000000..cad7bcee --- /dev/null +++ b/src/Spryker/Zed/Development/Business/FileGeneration/AbstractDirectoryFileFinder.php @@ -0,0 +1,66 @@ +finder = $finder; + } + + /** + * @param string $directoryPath + * + * @return \Symfony\Component\Finder\Finder + */ + public function findFiles(string $directoryPath): Finder + { + $finder = clone $this->finder; + $finder->in($directoryPath) + ->depth(0) + ->filter(function (SplFileInfo $fileEntry) { + return $this->filterFile($fileEntry); + }); + + return $finder; + } + + /** + * @param string $directoryPath + * + * @return bool + */ + public function isEmpty(string $directoryPath): bool + { + $finder = clone $this->finder; + + return $finder->in($directoryPath) + ->depth(0) + ->exclude(['.', '..']) + ->count() === 0; + } + + /** + * @param \Symfony\Component\Finder\SplFileInfo $fileEntry + * + * @return bool + */ + abstract protected function filterFile(SplFileInfo $fileEntry): bool; +} diff --git a/src/Spryker/Zed/Development/Business/FileGeneration/DirectoryCleaner.php b/src/Spryker/Zed/Development/Business/FileGeneration/DirectoryCleaner.php new file mode 100644 index 00000000..f22a6b15 --- /dev/null +++ b/src/Spryker/Zed/Development/Business/FileGeneration/DirectoryCleaner.php @@ -0,0 +1,110 @@ +fileSystem = $fileSystem; + $this->fileFinder = $fileFinder; + + $this->setupDirectories($options); + } + + /** + * @return void + */ + public function clear(): void + { + if (!$this->fileSystem->exists($this->directoryPath)) { + return; + } + + $this->fileSystem->remove( + $this->fileFinder->findFiles($this->directoryPath) + ); + + $this->removeDirectory($this->directoryPath); + } + + /** + * @param array $options + * + * @return void + */ + private function setupDirectories(array $options): void + { + $baseDirectory = rtrim( + $options[IdeAutoCompletionOptionConstants::TARGET_BASE_DIRECTORY], + DIRECTORY_SEPARATOR + ); + + $applicationPathFragment = trim( + str_replace( + IdeAutoCompletionConstants::APPLICATION_NAME_PLACEHOLDER, + $options[IdeAutoCompletionOptionConstants::APPLICATION_NAME], + $options[IdeAutoCompletionOptionConstants::TARGET_DIRECTORY_PATTERN] + ), + DIRECTORY_SEPARATOR + ); + + $this->basePath = $baseDirectory; + $this->directoryPath = "{$baseDirectory}/{$applicationPathFragment}/"; + } + + /** + * @param string $directoryPath + * + * @return void + */ + private function removeDirectory(string $directoryPath): void + { + if ($this->fileFinder->isEmpty($directoryPath)) { + $this->fileSystem->remove($directoryPath); + + $parent = realpath(dirname($directoryPath)); + if (realpath($this->basePath) === $parent) { + if ($this->fileFinder->isEmpty($parent)) { + $this->fileSystem->remove($parent); + } + } else { + $this->removeDirectory($parent); + } + } + } +} diff --git a/src/Spryker/Zed/Development/Business/FileGeneration/DirectoryCleanerInterface.php b/src/Spryker/Zed/Development/Business/FileGeneration/DirectoryCleanerInterface.php new file mode 100644 index 00000000..ae95803b --- /dev/null +++ b/src/Spryker/Zed/Development/Business/FileGeneration/DirectoryCleanerInterface.php @@ -0,0 +1,16 @@ +pattern = $pattern; + } + + /** + * @param \Symfony\Component\Finder\SplFileInfo $fileEntry + * + * @return bool + */ + protected function filterFile(SplFileInfo $fileEntry): bool + { + return preg_match($this->pattern, $fileEntry->getRealPath()) === 1; + } +} diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveClientIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveClientIdeAutoCompletionConsole.php new file mode 100644 index 00000000..dd5896b8 --- /dev/null +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveClientIdeAutoCompletionConsole.php @@ -0,0 +1,45 @@ +setName(static::COMMAND_NAME); + $this->setDescription('Removes IDE auto completion files for Client.'); + } + + /** + * @param \Symfony\Component\Console\Input\InputInterface $input + * @param \Symfony\Component\Console\Output\OutputInterface $output + * + * @return int|null + */ + public function execute(InputInterface $input, OutputInterface $output) + { + $this->getFacade()->removeClientIdeAutoCompletion(); + + $this->info('Removed Client IDE auto-completion files'); + } +} diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveGlueIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveGlueIdeAutoCompletionConsole.php new file mode 100644 index 00000000..43aa2cd9 --- /dev/null +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveGlueIdeAutoCompletionConsole.php @@ -0,0 +1,45 @@ +setName(static::COMMAND_NAME); + $this->setDescription('Removes IDE auto completion files for Glue.'); + } + + /** + * @param \Symfony\Component\Console\Input\InputInterface $input + * @param \Symfony\Component\Console\Output\OutputInterface $output + * + * @return int|null + */ + public function execute(InputInterface $input, OutputInterface $output) + { + $this->getFacade()->removeGlueIdeAutoCompletion(); + + $this->info('Removed Glue IDE auto-completion files'); + } +} diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php new file mode 100644 index 00000000..1301ac54 --- /dev/null +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php @@ -0,0 +1,75 @@ +setName(static::COMMAND_NAME); + $this->setDescription('Removes IDE auto completion files.'); + } + + /** + * @param \Symfony\Component\Console\Input\InputInterface $input + * @param \Symfony\Component\Console\Output\OutputInterface $output + * + * @return int + */ + public function execute(InputInterface $input, OutputInterface $output) + { + $dependingCommands = [ + RemoveYvesIdeAutoCompletionConsole::COMMAND_NAME, + RemoveZedIdeAutoCompletionConsole::COMMAND_NAME, + RemoveClientIdeAutoCompletionConsole::COMMAND_NAME, + RemoveServiceIdeAutoCompletionConsole::COMMAND_NAME, + RemoveGlueIdeAutoCompletionConsole::COMMAND_NAME, + ]; + + foreach ($dependingCommands as $commandName) { + if (!$this->getApplication()->has($commandName)) { + $this->showCommandNotFoundMessage($commandName); + continue; + } + $this->runDependingCommand($commandName); + + if ($this->hasError()) { + return $this->getLastExitCode(); + } + } + + return $this->getLastExitCode(); + } + + /** + * @param string $commandName + * + * @return void + */ + protected function showCommandNotFoundMessage(string $commandName): void + { + $message = "Can not find $commandName in your project." . PHP_EOL; + $message .= "You can fix this by adding the missing command to your project ConsoleDependencyProvider."; + $this->output->writeln("$message"); + } +} diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveServiceIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveServiceIdeAutoCompletionConsole.php new file mode 100644 index 00000000..fc8c506d --- /dev/null +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveServiceIdeAutoCompletionConsole.php @@ -0,0 +1,45 @@ +setName(static::COMMAND_NAME); + $this->setDescription('Removes IDE auto completion files for Service.'); + } + + /** + * @param \Symfony\Component\Console\Input\InputInterface $input + * @param \Symfony\Component\Console\Output\OutputInterface $output + * + * @return int|null + */ + public function execute(InputInterface $input, OutputInterface $output) + { + $this->getFacade()->removeServiceIdeAutoCompletion(); + + $this->info('Removed Service IDE auto-completion files'); + } +} diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveYvesIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveYvesIdeAutoCompletionConsole.php new file mode 100644 index 00000000..f2bab4f2 --- /dev/null +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveYvesIdeAutoCompletionConsole.php @@ -0,0 +1,45 @@ +setName(static::COMMAND_NAME); + $this->setDescription('Removes IDE auto completion files for Yves.'); + } + + /** + * @param \Symfony\Component\Console\Input\InputInterface $input + * @param \Symfony\Component\Console\Output\OutputInterface $output + * + * @return int|null + */ + public function execute(InputInterface $input, OutputInterface $output) + { + $this->getFacade()->removeYvesIdeAutoCompletion(); + + $this->info('Removed Yves IDE auto-completion files'); + } +} diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveZedIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveZedIdeAutoCompletionConsole.php new file mode 100644 index 00000000..a7d8a28b --- /dev/null +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveZedIdeAutoCompletionConsole.php @@ -0,0 +1,45 @@ +setName(static::COMMAND_NAME); + $this->setDescription('Removes IDE auto completion files for Zed.'); + } + + /** + * @param \Symfony\Component\Console\Input\InputInterface $input + * @param \Symfony\Component\Console\Output\OutputInterface $output + * + * @return int|null + */ + public function execute(InputInterface $input, OutputInterface $output) + { + $this->getFacade()->removeZedIdeAutoCompletion(); + + $this->info('Removed Zed IDE auto-completion files'); + } +} From 089fbd7fd02492a98d820621b3690a05f882339a Mon Sep 17 00:00:00 2001 From: Roberto Filippone Date: Wed, 29 Jan 2020 16:01:39 +0100 Subject: [PATCH 107/336] PR Fixes --- .../Business/DevelopmentBusinessFactory.php | 83 ++++++++++++++++--- .../Business/DevelopmentFacadeInterface.php | 15 ++-- .../FileGeneration/DirectoryCleaner.php | 76 ++++++++--------- .../FileGeneration/PatternFileFinder.php | 2 +- .../RemoveClientIdeAutoCompletionConsole.php | 8 +- .../RemoveGlueIdeAutoCompletionConsole.php | 8 +- .../RemoveIdeAutoCompletionConsole.php | 10 ++- .../RemoveServiceIdeAutoCompletionConsole.php | 8 +- .../RemoveYvesIdeAutoCompletionConsole.php | 8 +- .../RemoveZedIdeAutoCompletionConsole.php | 8 +- .../Zed/Development/DevelopmentConfig.php | 40 +++++++++ 11 files changed, 188 insertions(+), 78 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index 1c5e589c..d4191145 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -191,6 +191,7 @@ use Spryker\Zed\Development\DevelopmentDependencyProvider; use Spryker\Zed\Kernel\Business\AbstractBusinessFactory; use Symfony\Component\Filesystem\Filesystem; +use Symfony\Component\Finder\Finder; use Symfony\Component\Finder\Finder as SymfonyFinder; use Symfony\Component\Yaml\Parser; use Zend\Config\Reader\Xml; @@ -1612,8 +1613,18 @@ public function createYvesIdeAutoCompletionDirectoryCleaner(): DirectoryCleanerI { return new DirectoryCleaner( $this->getConfig()->getYvesIdeAutoCompletionOptions(), - $this->getProvidedDependency(DevelopmentDependencyProvider::FILESYSTEM), - $this->createGeneratedFileFinder('/.*\.php/') + $this->getFilesystem(), + $this->createYvesIdeAutoCompletionGeneratedFileFinder() + ); + } + + /** + * @return \Spryker\Zed\Development\Business\FileGeneration\GeneratedFileFinderInterface + */ + public function createYvesIdeAutoCompletionGeneratedFileFinder(): GeneratedFileFinderInterface + { + return $this->createGeneratedFileFinder( + $this->getConfig()->getYvesIdeAutocompletionGeneratedFilePattern() ); } @@ -1635,8 +1646,18 @@ public function createZedIdeAutoCompletionDirectoryCleaner(): DirectoryCleanerIn { return new DirectoryCleaner( $this->getConfig()->getZedIdeAutoCompletionOptions(), - $this->getProvidedDependency(DevelopmentDependencyProvider::FILESYSTEM), - $this->createGeneratedFileFinder('/.*\.php/') + $this->getFilesystem(), + $this->createZedIdeAutoCompletionGeneratedFileFinder() + ); + } + + /** + * @return \Spryker\Zed\Development\Business\FileGeneration\GeneratedFileFinderInterface + */ + public function createZedIdeAutoCompletionGeneratedFileFinder(): GeneratedFileFinderInterface + { + return $this->createGeneratedFileFinder( + $this->getConfig()->getZedIdeAutocompletionGeneratedFilePattern() ); } @@ -1680,8 +1701,18 @@ public function createGlueIdeAutoCompletionDirectoryCleaner(): DirectoryCleanerI { return new DirectoryCleaner( $this->getConfig()->getGlueIdeAutoCompletionOptions(), - $this->getProvidedDependency(DevelopmentDependencyProvider::FILESYSTEM), - $this->createGeneratedFileFinder('/.*\.php/') + $this->getFilesystem(), + $this->createGlueIdeAutoCompletionGeneratedFileFinder() + ); + } + + /** + * @return \Spryker\Zed\Development\Business\FileGeneration\GeneratedFileFinderInterface + */ + public function createGlueIdeAutoCompletionGeneratedFileFinder(): GeneratedFileFinderInterface + { + return $this->createGeneratedFileFinder( + $this->getConfig()->getGlueIdeAutocompletionGeneratedFilePattern() ); } @@ -1703,8 +1734,18 @@ public function createClientIdeAutoCompletionDirectoryCleaner(): DirectoryCleane { return new DirectoryCleaner( $this->getConfig()->getClientIdeAutoCompletionOptions(), - $this->getProvidedDependency(DevelopmentDependencyProvider::FILESYSTEM), - $this->createGeneratedFileFinder('/.*\.php/') + $this->getFilesystem(), + $this->createClientIdeAutoCompletionGeneratedFileFinder() + ); + } + + /** + * @return \Spryker\Zed\Development\Business\FileGeneration\GeneratedFileFinderInterface + */ + public function createClientIdeAutoCompletionGeneratedFileFinder(): GeneratedFileFinderInterface + { + return $this->createGeneratedFileFinder( + $this->getConfig()->getClientIdeAutocompletionGeneratedFilePattern() ); } @@ -1737,8 +1778,18 @@ public function createServiceIdeAutoCompletionDirectoryCleaner(): DirectoryClean { return new DirectoryCleaner( $this->getConfig()->getServiceIdeAutoCompletionOptions(), - $this->getProvidedDependency(DevelopmentDependencyProvider::FILESYSTEM), - $this->createGeneratedFileFinder('/.*\.php/') + $this->getFilesystem(), + $this->createServiceIdeAutoCompletionGeneratedFileFinder() + ); + } + + /** + * @return \Spryker\Zed\Development\Business\FileGeneration\GeneratedFileFinderInterface + */ + public function createServiceIdeAutoCompletionGeneratedFileFinder(): GeneratedFileFinderInterface + { + return $this->createGeneratedFileFinder( + $this->getConfig()->getServiceIdeAutocompletionGeneratedFilePattern() ); } @@ -1872,7 +1923,7 @@ protected function createIdeAutoCompletionWriter(BundleBuilderInterface $bundleB protected function createIdeAutoCompletionBundleFinder(BundleBuilderInterface $bundleBuilder) { return new BundleFinder( - $this->getProvidedDependency(DevelopmentDependencyProvider::FINDER), + $this->getFinder(), $bundleBuilder, $this->getConfig()->getIdeAutoCompletionSourceDirectoryGlobPatterns() ); @@ -2096,6 +2147,14 @@ public function getModuleFinderFacade(): DevelopmentToModuleFinderFacadeInterfac return $this->getProvidedDependency(DevelopmentDependencyProvider::FACADE_MODULE_FINDER); } + /** + * @return \Symfony\Component\Finder\Finder + */ + protected function getFinder(): Finder + { + return $this->getProvidedDependency(DevelopmentDependencyProvider::FINDER); + } + /** * @return \Spryker\Zed\Development\Business\Codeception\Argument\Builder\CodeceptionArgumentsBuilderInterface */ @@ -2122,7 +2181,7 @@ public function createComposerNameFinder(): ComposerNameFinderInterface protected function createGeneratedFileFinder(string $pattern): GeneratedFileFinderInterface { return new PatternFileFinder( - $this->getProvidedDependency(DevelopmentDependencyProvider::FINDER), + $this->getFinder(), $pattern ); } diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php index a2010a78..91c4c037 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php @@ -265,7 +265,8 @@ public function getComposerDependencyComparison(DependencyCollectionTransfer $de public function generateYvesIdeAutoCompletion(); /** - * {@inheritDoc} + * Specification: + * - Removes Yves Ide autocompletion files * * @api * @@ -281,7 +282,8 @@ public function removeYvesIdeAutoCompletion(): void; public function generateZedIdeAutoCompletion(); /** - * {@inheritDoc} + * Specification: + * - Removes Zed Ide autocompletion files * * @api * @@ -297,7 +299,8 @@ public function removeZedIdeAutoCompletion(): void; public function generateClientIdeAutoCompletion(); /** - * {@inheritDoc} + * Specification: + * - Removes Client Ide autocompletion files * * @api * @@ -313,7 +316,8 @@ public function removeClientIdeAutoCompletion(): void; public function generateServiceIdeAutoCompletion(); /** - * {@inheritDoc} + * Specification: + * - Removes Service Ide autocompletion files * * @api * @@ -329,7 +333,8 @@ public function removeServiceIdeAutoCompletion(): void; public function generateGlueIdeAutoCompletion(); /** - * {@inheritDoc} + * Specification: + * - Removes Glue Ide autocompletion files * * @api * diff --git a/src/Spryker/Zed/Development/Business/FileGeneration/DirectoryCleaner.php b/src/Spryker/Zed/Development/Business/FileGeneration/DirectoryCleaner.php index f22a6b15..af4d8628 100644 --- a/src/Spryker/Zed/Development/Business/FileGeneration/DirectoryCleaner.php +++ b/src/Spryker/Zed/Development/Business/FileGeneration/DirectoryCleaner.php @@ -14,14 +14,9 @@ class DirectoryCleaner implements DirectoryCleanerInterface { /** - * @var string + * @var array */ - protected $directoryPath; - - /** - * @var string - */ - protected $basePath; + protected $options; /** * @var \Symfony\Component\Filesystem\Filesystem @@ -40,10 +35,9 @@ class DirectoryCleaner implements DirectoryCleanerInterface */ public function __construct(array $options, Filesystem $fileSystem, GeneratedFileFinderInterface $fileFinder) { + $this->options = $options; $this->fileSystem = $fileSystem; $this->fileFinder = $fileFinder; - - $this->setupDirectories($options); } /** @@ -51,60 +45,60 @@ public function __construct(array $options, Filesystem $fileSystem, GeneratedFil */ public function clear(): void { - if (!$this->fileSystem->exists($this->directoryPath)) { + $baseDirectory = rtrim( + $this->options[IdeAutoCompletionOptionConstants::TARGET_BASE_DIRECTORY], + DIRECTORY_SEPARATOR + ); + + $applicationPathFragment = trim( + str_replace( + IdeAutoCompletionConstants::APPLICATION_NAME_PLACEHOLDER, + $this->options[IdeAutoCompletionOptionConstants::APPLICATION_NAME], + $this->options[IdeAutoCompletionOptionConstants::TARGET_DIRECTORY_PATTERN] + ), + DIRECTORY_SEPARATOR + ); + + $targetDirectory = "{$baseDirectory}/{$applicationPathFragment}/"; + + if (!$this->fileSystem->exists($targetDirectory)) { return; } $this->fileSystem->remove( - $this->fileFinder->findFiles($this->directoryPath) + $this->fileFinder->findFiles($targetDirectory) ); - $this->removeDirectory($this->directoryPath); + $this->removeDirectoryRecursiveToBase($targetDirectory, $baseDirectory); } /** - * @param array $options + * @param string $targetDirectory + * @param string $basePath * * @return void */ - private function setupDirectories(array $options): void + protected function removeDirectoryRecursiveToBase(string $targetDirectory, string $basePath): void { - $baseDirectory = rtrim( - $options[IdeAutoCompletionOptionConstants::TARGET_BASE_DIRECTORY], - DIRECTORY_SEPARATOR - ); + $this->removeDirectoryIfEmpty($targetDirectory); - $applicationPathFragment = trim( - str_replace( - IdeAutoCompletionConstants::APPLICATION_NAME_PLACEHOLDER, - $options[IdeAutoCompletionOptionConstants::APPLICATION_NAME], - $options[IdeAutoCompletionOptionConstants::TARGET_DIRECTORY_PATTERN] - ), - DIRECTORY_SEPARATOR - ); + if (realpath($basePath) === $targetDirectory) { + return; + } - $this->basePath = $baseDirectory; - $this->directoryPath = "{$baseDirectory}/{$applicationPathFragment}/"; + $parentDirectory = realpath(dirname($targetDirectory)); + $this->removeDirectoryRecursiveToBase($parentDirectory, $basePath); } /** - * @param string $directoryPath + * @param string $targetDirectory * * @return void */ - private function removeDirectory(string $directoryPath): void + protected function removeDirectoryIfEmpty(string $targetDirectory): void { - if ($this->fileFinder->isEmpty($directoryPath)) { - $this->fileSystem->remove($directoryPath); - - $parent = realpath(dirname($directoryPath)); - if (realpath($this->basePath) === $parent) { - if ($this->fileFinder->isEmpty($parent)) { - $this->fileSystem->remove($parent); - } - } else { - $this->removeDirectory($parent); - } + if ($this->fileFinder->isEmpty($targetDirectory)) { + $this->fileSystem->remove($targetDirectory); } } } diff --git a/src/Spryker/Zed/Development/Business/FileGeneration/PatternFileFinder.php b/src/Spryker/Zed/Development/Business/FileGeneration/PatternFileFinder.php index beee8b88..bcdb72c2 100644 --- a/src/Spryker/Zed/Development/Business/FileGeneration/PatternFileFinder.php +++ b/src/Spryker/Zed/Development/Business/FileGeneration/PatternFileFinder.php @@ -15,7 +15,7 @@ class PatternFileFinder extends AbstractDirectoryFileFinder /** * @var string */ - private $pattern; + protected $pattern; /** * @param \Symfony\Component\Finder\Finder $finder diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveClientIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveClientIdeAutoCompletionConsole.php index dd5896b8..c20b8cb7 100644 --- a/src/Spryker/Zed/Development/Communication/Console/RemoveClientIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveClientIdeAutoCompletionConsole.php @@ -22,7 +22,7 @@ class RemoveClientIdeAutoCompletionConsole extends Console /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); @@ -34,12 +34,14 @@ protected function configure() * @param \Symfony\Component\Console\Input\InputInterface $input * @param \Symfony\Component\Console\Output\OutputInterface $output * - * @return int|null + * @return int */ - public function execute(InputInterface $input, OutputInterface $output) + public function execute(InputInterface $input, OutputInterface $output): int { $this->getFacade()->removeClientIdeAutoCompletion(); $this->info('Removed Client IDE auto-completion files'); + + return static::CODE_SUCCESS; } } diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveGlueIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveGlueIdeAutoCompletionConsole.php index 43aa2cd9..e13daa88 100644 --- a/src/Spryker/Zed/Development/Communication/Console/RemoveGlueIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveGlueIdeAutoCompletionConsole.php @@ -22,7 +22,7 @@ class RemoveGlueIdeAutoCompletionConsole extends Console /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); @@ -34,12 +34,14 @@ protected function configure() * @param \Symfony\Component\Console\Input\InputInterface $input * @param \Symfony\Component\Console\Output\OutputInterface $output * - * @return int|null + * @return int */ - public function execute(InputInterface $input, OutputInterface $output) + public function execute(InputInterface $input, OutputInterface $output): int { $this->getFacade()->removeGlueIdeAutoCompletion(); $this->info('Removed Glue IDE auto-completion files'); + + return static::CODE_SUCCESS; } } diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php index 1301ac54..5dbc0204 100644 --- a/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php @@ -22,7 +22,7 @@ class RemoveIdeAutoCompletionConsole extends Console /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); @@ -36,7 +36,7 @@ protected function configure() * * @return int */ - public function execute(InputInterface $input, OutputInterface $output) + public function execute(InputInterface $input, OutputInterface $output): int { $dependingCommands = [ RemoveYvesIdeAutoCompletionConsole::COMMAND_NAME, @@ -68,8 +68,10 @@ public function execute(InputInterface $input, OutputInterface $output) */ protected function showCommandNotFoundMessage(string $commandName): void { - $message = "Can not find $commandName in your project." . PHP_EOL; - $message .= "You can fix this by adding the missing command to your project ConsoleDependencyProvider."; + $message = sprintf( + "Can not find %s in your project." . PHP_EOL . "You can fix this by adding the missing command to your project ConsoleDependencyProvider.", + $commandName + ); $this->output->writeln("$message"); } } diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveServiceIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveServiceIdeAutoCompletionConsole.php index fc8c506d..d4b971b0 100644 --- a/src/Spryker/Zed/Development/Communication/Console/RemoveServiceIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveServiceIdeAutoCompletionConsole.php @@ -22,7 +22,7 @@ class RemoveServiceIdeAutoCompletionConsole extends Console /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); @@ -34,12 +34,14 @@ protected function configure() * @param \Symfony\Component\Console\Input\InputInterface $input * @param \Symfony\Component\Console\Output\OutputInterface $output * - * @return int|null + * @return int */ - public function execute(InputInterface $input, OutputInterface $output) + public function execute(InputInterface $input, OutputInterface $output): int { $this->getFacade()->removeServiceIdeAutoCompletion(); $this->info('Removed Service IDE auto-completion files'); + + return static::CODE_SUCCESS; } } diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveYvesIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveYvesIdeAutoCompletionConsole.php index f2bab4f2..117ccd35 100644 --- a/src/Spryker/Zed/Development/Communication/Console/RemoveYvesIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveYvesIdeAutoCompletionConsole.php @@ -22,7 +22,7 @@ class RemoveYvesIdeAutoCompletionConsole extends Console /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); @@ -34,12 +34,14 @@ protected function configure() * @param \Symfony\Component\Console\Input\InputInterface $input * @param \Symfony\Component\Console\Output\OutputInterface $output * - * @return int|null + * @return int */ - public function execute(InputInterface $input, OutputInterface $output) + public function execute(InputInterface $input, OutputInterface $output): int { $this->getFacade()->removeYvesIdeAutoCompletion(); $this->info('Removed Yves IDE auto-completion files'); + + return static::CODE_SUCCESS; } } diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveZedIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveZedIdeAutoCompletionConsole.php index a7d8a28b..22059e8e 100644 --- a/src/Spryker/Zed/Development/Communication/Console/RemoveZedIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveZedIdeAutoCompletionConsole.php @@ -22,7 +22,7 @@ class RemoveZedIdeAutoCompletionConsole extends Console /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); @@ -34,12 +34,14 @@ protected function configure() * @param \Symfony\Component\Console\Input\InputInterface $input * @param \Symfony\Component\Console\Output\OutputInterface $output * - * @return int|null + * @return int */ - public function execute(InputInterface $input, OutputInterface $output) + public function execute(InputInterface $input, OutputInterface $output): int { $this->getFacade()->removeZedIdeAutoCompletion(); $this->info('Removed Zed IDE auto-completion files'); + + return static::CODE_SUCCESS; } } diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 994817f8..491fdd5a 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -592,4 +592,44 @@ public function getProcessTimeout(): int { return static::TIMEOUT_DEFAULT; } + + /** + * @return string + */ + public function getYvesIdeAutocompletionGeneratedFilePattern(): string + { + return '/.*\.php/'; + } + + /** + * @return string + */ + public function getZedIdeAutocompletionGeneratedFilePattern(): string + { + return '/.*\.php/'; + } + + /** + * @return string + */ + public function getGlueIdeAutocompletionGeneratedFilePattern(): string + { + return '/.*\.php/'; + } + + /** + * @return string + */ + public function getClientIdeAutocompletionGeneratedFilePattern(): string + { + return '/.*\.php/'; + } + + /** + * @return string + */ + public function getServiceIdeAutocompletionGeneratedFilePattern(): string + { + return '/.*\.php/'; + } } From 0c841b390634c644063f36d5208cf65951df6406 Mon Sep 17 00:00:00 2001 From: Roberto Filippone Date: Thu, 30 Jan 2020 10:47:16 +0100 Subject: [PATCH 108/336] PR Fixes --- .../Zed/Development/Business/DevelopmentBusinessFactory.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index d4191145..a5411d17 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -2178,7 +2178,7 @@ public function createComposerNameFinder(): ComposerNameFinderInterface * * @return \Spryker\Zed\Development\Business\FileGeneration\GeneratedFileFinderInterface */ - protected function createGeneratedFileFinder(string $pattern): GeneratedFileFinderInterface + public function createGeneratedFileFinder(string $pattern): GeneratedFileFinderInterface { return new PatternFileFinder( $this->getFinder(), From 9369e31042c07696620803e8b5967c4ef4ec86ea Mon Sep 17 00:00:00 2001 From: mscherer Date: Thu, 6 Feb 2020 18:05:11 +0100 Subject: [PATCH 109/336] TE-4648 Activate PSR-12 ruleset overwriting former PSR-2. --- .../Business/Composer/Updater/RequireExternalUpdater.php | 3 ++- .../Business/Dependency/SchemaParser/PropelSchemaParser.php | 3 ++- .../DependencyTree/DependencyFinder/ExternalDependency.php | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php index bb298f52..2a1e119c 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php @@ -104,7 +104,8 @@ protected function getExternalModules($bundleName) { $dependentModules = []; foreach ($this->externalDependencyTree as $dependency) { - if ($dependency[DependencyTree::META_MODULE] === $bundleName + if ( + $dependency[DependencyTree::META_MODULE] === $bundleName && !in_array($dependency[DependencyTree::META_COMPOSER_NAME], $this->ignorableDependencies) ) { $dependentModules[] = $this->mapExternalToInternal($dependency[DependencyTree::META_COMPOSER_NAME]); diff --git a/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php b/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php index a9a0a4cd..e0c72893 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php +++ b/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php @@ -303,7 +303,8 @@ protected function addIdColumnNames(array $idFieldToModuleNameMap, array $idColu protected function addUniqueColumnNames(array $uniqueFieldToModuleNameMap, array $requiredColumnNames, array $uniqueColumnNames, string $module): array { foreach ($uniqueColumnNames as $uniqueColumnName) { - if (isset($uniqueFieldToModuleNameMap[$uniqueColumnName]) && $uniqueFieldToModuleNameMap[$uniqueColumnName] !== $module && + if ( + isset($uniqueFieldToModuleNameMap[$uniqueColumnName]) && $uniqueFieldToModuleNameMap[$uniqueColumnName] !== $module && in_array($module . '.' . $uniqueColumnName, $requiredColumnNames) ) { throw new PropelSchemaParserException(sprintf('Unique column "%s" was already found in the module "%s".', $uniqueColumnName, $uniqueFieldToModuleNameMap[$uniqueColumnName])); diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php index 0a784f06..76f05f49 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php @@ -80,7 +80,8 @@ public function addDependencies(SplFileInfo $fileInfo) continue; } - if (strpos($className, 'Spryker') !== false + if ( + strpos($className, 'Spryker') !== false || strpos($className, 'Generated') !== false || strpos($className, 'Orm') !== false || strpos($className, 'static') !== false From b1fa83a5f9df99cfe75e3a35aeadbfb2ac7f665a Mon Sep 17 00:00:00 2001 From: mscherer Date: Mon, 10 Feb 2020 16:04:12 +0100 Subject: [PATCH 110/336] TE-4648 Upgrade to use slevomat/coding-standard v6 --- .../Dependency/DependencyFinder/InternalDependencyFinder.php | 1 + .../Business/DependencyTree/ViolationFinder/ViolationFinder.php | 1 + .../Communication/Console/CodeArchitectureSnifferConsole.php | 1 + .../Communication/Console/DependencyViolationFixConsole.php | 1 + .../Communication/Console/GenerateIdeAutoCompletionConsole.php | 1 + 5 files changed, 5 insertions(+) diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/InternalDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/InternalDependencyFinder.php index 99c0773e..16d05a80 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/InternalDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/InternalDependencyFinder.php @@ -138,6 +138,7 @@ protected function getNamesFromUseStatements(array $useStatements, string $modul if ($useStatementFragments[0] === 'Orm') { $dependentComposerNames[] = $useStatementFragments[2]; + continue; } diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/ViolationFinder/ViolationFinder.php b/src/Spryker/Zed/Development/Business/DependencyTree/ViolationFinder/ViolationFinder.php index 25e92d0f..49a4a599 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/ViolationFinder/ViolationFinder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/ViolationFinder/ViolationFinder.php @@ -41,6 +41,7 @@ public function isViolation(array $dependency) } $isViolation = true; + break; } diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php index b67d0927..f9c75549 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php @@ -251,6 +251,7 @@ protected function runForProject(OutputInterface $output, $module, $subPath) } if (!is_dir($path)) { $output->writeln('Path not found, skipping: ' . $path, OutputInterface::VERBOSITY_VERY_VERBOSE); + continue; } $output->writeln('Checking path: ' . $path, OutputInterface::VERBOSITY_VERBOSE); diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php index c24a278a..b4d6a809 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php @@ -99,6 +99,7 @@ protected function fixModuleDependencies(ModuleTransfer $moduleTransfer): void if ($composerNameToFix === null) { $this->output->writeln(sprintf('Could not get a composer name for "%s"', $moduleDependencyTransfer->getModuleName())); $this->output->writeln(sprintf('Please check the module %s.%s manually.', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName())); + continue; } diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php index 895bbd67..38345d22 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php @@ -49,6 +49,7 @@ public function execute(InputInterface $input, OutputInterface $output) foreach ($dependingCommands as $commandName) { if (!$this->getApplication()->has($commandName)) { $this->showCommandNotFoundMessage($commandName); + continue; } $this->runDependingCommand($commandName); From a5397d5eb19a9aa339e8d51c399397c0c1fff089 Mon Sep 17 00:00:00 2001 From: mscherer Date: Thu, 13 Feb 2020 15:57:39 +0100 Subject: [PATCH 111/336] TE-4665 Sniffer signature parameters line break --- .../DependencyProviderUsedPluginFinder.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php b/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php index 22944b7c..35b79668 100644 --- a/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php +++ b/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php @@ -67,8 +67,10 @@ public function getUsedPlugins(?ModuleFilterTransfer $moduleFilterTransfer = nul * * @return \Generated\Shared\Transfer\DependencyProviderCollectionTransfer */ - protected function addPluginUsageInModuleApplications(ModuleTransfer $moduleTransfer, DependencyProviderCollectionTransfer $dependencyProviderCollectionTransfer): DependencyProviderCollectionTransfer - { + protected function addPluginUsageInModuleApplications( + ModuleTransfer $moduleTransfer, + DependencyProviderCollectionTransfer $dependencyProviderCollectionTransfer + ): DependencyProviderCollectionTransfer { foreach ($moduleTransfer->getApplications() as $applicationTransfer) { $dependencyProviderCollectionTransfer = $this->addPluginUsageInModule($moduleTransfer, $applicationTransfer, $dependencyProviderCollectionTransfer); } @@ -168,8 +170,11 @@ protected function buildDependencyProviderTransfer(SplFileInfo $splFileInfo, Mod * * @return \Generated\Shared\Transfer\DependencyProviderCollectionTransfer */ - protected function addPluginUsages(DependencyProviderCollectionTransfer $dependencyProviderCollectionTransfer, DependencyProviderTransfer $dependencyProviderTransfer, SplFileInfo $splFileInfo): DependencyProviderCollectionTransfer - { + protected function addPluginUsages( + DependencyProviderCollectionTransfer $dependencyProviderCollectionTransfer, + DependencyProviderTransfer $dependencyProviderTransfer, + SplFileInfo $splFileInfo + ): DependencyProviderCollectionTransfer { preg_match_all('/use (.*?);/', $splFileInfo->getContents(), $matches, PREG_SET_ORDER); if (count($matches) === 0) { return $dependencyProviderCollectionTransfer; From 81655da1595f054a1b9f9d4e2c83394defaeaf17 Mon Sep 17 00:00:00 2001 From: Roberto Filippone Date: Tue, 18 Feb 2020 14:30:10 +0100 Subject: [PATCH 112/336] CS Fixes --- .../Communication/Console/RemoveIdeAutoCompletionConsole.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php index 5dbc0204..a7d370e9 100644 --- a/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php @@ -49,6 +49,7 @@ public function execute(InputInterface $input, OutputInterface $output): int foreach ($dependingCommands as $commandName) { if (!$this->getApplication()->has($commandName)) { $this->showCommandNotFoundMessage($commandName); + continue; } $this->runDependingCommand($commandName); From 1f98617439fffbae2006ed7d5fca1e9705e7dded Mon Sep 17 00:00:00 2001 From: Roberto Filippone Date: Wed, 19 Feb 2020 11:41:29 +0100 Subject: [PATCH 113/336] PR Fixes --- .../Business/DevelopmentBusinessFactory.php | 30 +++++++++---------- .../Remover}/AbstractDirectoryFileFinder.php | 2 +- .../Remover}/DirectoryCleaner.php | 6 ++-- .../Remover}/DirectoryCleanerInterface.php | 2 +- .../Remover}/GeneratedFileFinderInterface.php | 2 +- .../Remover}/PatternFileFinder.php | 2 +- 6 files changed, 22 insertions(+), 22 deletions(-) rename src/Spryker/Zed/Development/Business/{FileGeneration => IdeAutoCompletion/Remover}/AbstractDirectoryFileFinder.php (95%) rename src/Spryker/Zed/Development/Business/{FileGeneration => IdeAutoCompletion/Remover}/DirectoryCleaner.php (90%) rename src/Spryker/Zed/Development/Business/{FileGeneration => IdeAutoCompletion/Remover}/DirectoryCleanerInterface.php (81%) rename src/Spryker/Zed/Development/Business/{FileGeneration => IdeAutoCompletion/Remover}/GeneratedFileFinderInterface.php (89%) rename src/Spryker/Zed/Development/Business/{FileGeneration => IdeAutoCompletion/Remover}/PatternFileFinder.php (92%) diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index a5411d17..ccdfa08c 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -134,10 +134,6 @@ use Spryker\Zed\Development\Business\DependencyTree\ViolationFinder\UseForeignConstants; use Spryker\Zed\Development\Business\DependencyTree\ViolationFinder\UseForeignException; use Spryker\Zed\Development\Business\DependencyTree\ViolationFinder\ViolationFinder; -use Spryker\Zed\Development\Business\FileGeneration\DirectoryCleaner; -use Spryker\Zed\Development\Business\FileGeneration\DirectoryCleanerInterface; -use Spryker\Zed\Development\Business\FileGeneration\GeneratedFileFinderInterface; -use Spryker\Zed\Development\Business\FileGeneration\PatternFileFinder; use Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\BundleBuilder as IdeAutoCompletionBundleBuilder; use Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\BundleBuilderInterface; use Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\BundleFinder; @@ -152,6 +148,10 @@ use Spryker\Zed\Development\Business\IdeAutoCompletion\Generator\BundleGenerator; use Spryker\Zed\Development\Business\IdeAutoCompletion\Generator\BundleMethodGenerator; use Spryker\Zed\Development\Business\IdeAutoCompletion\IdeAutoCompletionWriter; +use Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryCleaner; +use Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryCleanerInterface; +use Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\GeneratedFileFinderInterface; +use Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\PatternFileFinder; use Spryker\Zed\Development\Business\Integration\DependencyProviderUsedPluginFinder; use Spryker\Zed\Development\Business\Integration\DependencyProviderUsedPluginFinderInterface; use Spryker\Zed\Development\Business\Module\ModuleFileFinder\ModuleFileFinder; @@ -1607,7 +1607,7 @@ protected function createYvesIdeAutoCompletionBundleBuilder() } /** - * @return \Spryker\Zed\Development\Business\FileGeneration\DirectoryCleanerInterface + * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryCleanerInterface */ public function createYvesIdeAutoCompletionDirectoryCleaner(): DirectoryCleanerInterface { @@ -1619,7 +1619,7 @@ public function createYvesIdeAutoCompletionDirectoryCleaner(): DirectoryCleanerI } /** - * @return \Spryker\Zed\Development\Business\FileGeneration\GeneratedFileFinderInterface + * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\GeneratedFileFinderInterface */ public function createYvesIdeAutoCompletionGeneratedFileFinder(): GeneratedFileFinderInterface { @@ -1640,7 +1640,7 @@ public function createZedIdeAutoCompletionWriter() } /** - * @return \Spryker\Zed\Development\Business\FileGeneration\DirectoryCleanerInterface + * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryCleanerInterface */ public function createZedIdeAutoCompletionDirectoryCleaner(): DirectoryCleanerInterface { @@ -1652,7 +1652,7 @@ public function createZedIdeAutoCompletionDirectoryCleaner(): DirectoryCleanerIn } /** - * @return \Spryker\Zed\Development\Business\FileGeneration\GeneratedFileFinderInterface + * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\GeneratedFileFinderInterface */ public function createZedIdeAutoCompletionGeneratedFileFinder(): GeneratedFileFinderInterface { @@ -1695,7 +1695,7 @@ public function createGlueIdeAutoCompletionWriter() } /** - * @return \Spryker\Zed\Development\Business\FileGeneration\DirectoryCleanerInterface + * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryCleanerInterface */ public function createGlueIdeAutoCompletionDirectoryCleaner(): DirectoryCleanerInterface { @@ -1707,7 +1707,7 @@ public function createGlueIdeAutoCompletionDirectoryCleaner(): DirectoryCleanerI } /** - * @return \Spryker\Zed\Development\Business\FileGeneration\GeneratedFileFinderInterface + * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\GeneratedFileFinderInterface */ public function createGlueIdeAutoCompletionGeneratedFileFinder(): GeneratedFileFinderInterface { @@ -1728,7 +1728,7 @@ public function createClientIdeAutoCompletionWriter() } /** - * @return \Spryker\Zed\Development\Business\FileGeneration\DirectoryCleanerInterface + * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryCleanerInterface */ public function createClientIdeAutoCompletionDirectoryCleaner(): DirectoryCleanerInterface { @@ -1740,7 +1740,7 @@ public function createClientIdeAutoCompletionDirectoryCleaner(): DirectoryCleane } /** - * @return \Spryker\Zed\Development\Business\FileGeneration\GeneratedFileFinderInterface + * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\GeneratedFileFinderInterface */ public function createClientIdeAutoCompletionGeneratedFileFinder(): GeneratedFileFinderInterface { @@ -1772,7 +1772,7 @@ public function createServiceIdeAutoCompletionWriter() } /** - * @return \Spryker\Zed\Development\Business\FileGeneration\DirectoryCleanerInterface + * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryCleanerInterface */ public function createServiceIdeAutoCompletionDirectoryCleaner(): DirectoryCleanerInterface { @@ -1784,7 +1784,7 @@ public function createServiceIdeAutoCompletionDirectoryCleaner(): DirectoryClean } /** - * @return \Spryker\Zed\Development\Business\FileGeneration\GeneratedFileFinderInterface + * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\GeneratedFileFinderInterface */ public function createServiceIdeAutoCompletionGeneratedFileFinder(): GeneratedFileFinderInterface { @@ -2176,7 +2176,7 @@ public function createComposerNameFinder(): ComposerNameFinderInterface /** * @param string $pattern * - * @return \Spryker\Zed\Development\Business\FileGeneration\GeneratedFileFinderInterface + * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\GeneratedFileFinderInterface */ public function createGeneratedFileFinder(string $pattern): GeneratedFileFinderInterface { diff --git a/src/Spryker/Zed/Development/Business/FileGeneration/AbstractDirectoryFileFinder.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/AbstractDirectoryFileFinder.php similarity index 95% rename from src/Spryker/Zed/Development/Business/FileGeneration/AbstractDirectoryFileFinder.php rename to src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/AbstractDirectoryFileFinder.php index cad7bcee..d5a41980 100644 --- a/src/Spryker/Zed/Development/Business/FileGeneration/AbstractDirectoryFileFinder.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/AbstractDirectoryFileFinder.php @@ -5,7 +5,7 @@ * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. */ -namespace Spryker\Zed\Development\Business\FileGeneration; +namespace Spryker\Zed\Development\Business\IdeAutoCompletion\Remover; use Symfony\Component\Finder\Finder; use Symfony\Component\Finder\SplFileInfo; diff --git a/src/Spryker/Zed/Development/Business/FileGeneration/DirectoryCleaner.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryCleaner.php similarity index 90% rename from src/Spryker/Zed/Development/Business/FileGeneration/DirectoryCleaner.php rename to src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryCleaner.php index af4d8628..99f3795e 100644 --- a/src/Spryker/Zed/Development/Business/FileGeneration/DirectoryCleaner.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryCleaner.php @@ -5,7 +5,7 @@ * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. */ -namespace Spryker\Zed\Development\Business\FileGeneration; +namespace Spryker\Zed\Development\Business\IdeAutoCompletion\Remover; use Spryker\Zed\Development\Business\IdeAutoCompletion\IdeAutoCompletionConstants; use Spryker\Zed\Development\Business\IdeAutoCompletion\IdeAutoCompletionOptionConstants; @@ -24,14 +24,14 @@ class DirectoryCleaner implements DirectoryCleanerInterface protected $fileSystem; /** - * @var \Spryker\Zed\Development\Business\FileGeneration\GeneratedFileFinderInterface $fileFinder + * @var \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\GeneratedFileFinderInterface $fileFinder */ protected $fileFinder; /** * @param array $options * @param \Symfony\Component\Filesystem\Filesystem $fileSystem - * @param \Spryker\Zed\Development\Business\FileGeneration\GeneratedFileFinderInterface $fileFinder + * @param \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\GeneratedFileFinderInterface $fileFinder */ public function __construct(array $options, Filesystem $fileSystem, GeneratedFileFinderInterface $fileFinder) { diff --git a/src/Spryker/Zed/Development/Business/FileGeneration/DirectoryCleanerInterface.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryCleanerInterface.php similarity index 81% rename from src/Spryker/Zed/Development/Business/FileGeneration/DirectoryCleanerInterface.php rename to src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryCleanerInterface.php index ae95803b..d1661f87 100644 --- a/src/Spryker/Zed/Development/Business/FileGeneration/DirectoryCleanerInterface.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryCleanerInterface.php @@ -5,7 +5,7 @@ * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. */ -namespace Spryker\Zed\Development\Business\FileGeneration; +namespace Spryker\Zed\Development\Business\IdeAutoCompletion\Remover; interface DirectoryCleanerInterface { diff --git a/src/Spryker/Zed/Development/Business/FileGeneration/GeneratedFileFinderInterface.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/GeneratedFileFinderInterface.php similarity index 89% rename from src/Spryker/Zed/Development/Business/FileGeneration/GeneratedFileFinderInterface.php rename to src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/GeneratedFileFinderInterface.php index 0029edf3..f4da78bf 100644 --- a/src/Spryker/Zed/Development/Business/FileGeneration/GeneratedFileFinderInterface.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/GeneratedFileFinderInterface.php @@ -5,7 +5,7 @@ * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. */ -namespace Spryker\Zed\Development\Business\FileGeneration; +namespace Spryker\Zed\Development\Business\IdeAutoCompletion\Remover; use Symfony\Component\Finder\Finder; diff --git a/src/Spryker/Zed/Development/Business/FileGeneration/PatternFileFinder.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/PatternFileFinder.php similarity index 92% rename from src/Spryker/Zed/Development/Business/FileGeneration/PatternFileFinder.php rename to src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/PatternFileFinder.php index bcdb72c2..b542877a 100644 --- a/src/Spryker/Zed/Development/Business/FileGeneration/PatternFileFinder.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/PatternFileFinder.php @@ -5,7 +5,7 @@ * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. */ -namespace Spryker\Zed\Development\Business\FileGeneration; +namespace Spryker\Zed\Development\Business\IdeAutoCompletion\Remover; use Symfony\Component\Finder\Finder; use Symfony\Component\Finder\SplFileInfo; From fe7bd98e366cb7cd3517d9443b34459a833fabfe Mon Sep 17 00:00:00 2001 From: Roberto Filippone Date: Wed, 19 Feb 2020 13:48:50 +0100 Subject: [PATCH 114/336] PR Fixes --- .../Business/DevelopmentBusinessFactory.php | 34 +++++++++---------- .../Business/DevelopmentFacade.php | 10 +++--- ...ectoryCleaner.php => DirectoryRemover.php} | 4 +-- ...face.php => DirectoryRemoverInterface.php} | 4 +-- 4 files changed, 26 insertions(+), 26 deletions(-) rename src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/{DirectoryCleaner.php => DirectoryRemover.php} (96%) rename src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/{DirectoryCleanerInterface.php => DirectoryRemoverInterface.php} (80%) diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index ccdfa08c..90a3e9ce 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -148,8 +148,8 @@ use Spryker\Zed\Development\Business\IdeAutoCompletion\Generator\BundleGenerator; use Spryker\Zed\Development\Business\IdeAutoCompletion\Generator\BundleMethodGenerator; use Spryker\Zed\Development\Business\IdeAutoCompletion\IdeAutoCompletionWriter; -use Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryCleaner; -use Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryCleanerInterface; +use Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryRemover; +use Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryRemoverInterface; use Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\GeneratedFileFinderInterface; use Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\PatternFileFinder; use Spryker\Zed\Development\Business\Integration\DependencyProviderUsedPluginFinder; @@ -1607,11 +1607,11 @@ protected function createYvesIdeAutoCompletionBundleBuilder() } /** - * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryCleanerInterface + * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryRemoverInterface */ - public function createYvesIdeAutoCompletionDirectoryCleaner(): DirectoryCleanerInterface + public function createYvesIdeAutoCompletionDirectoryRemover(): DirectoryRemoverInterface { - return new DirectoryCleaner( + return new DirectoryRemover( $this->getConfig()->getYvesIdeAutoCompletionOptions(), $this->getFilesystem(), $this->createYvesIdeAutoCompletionGeneratedFileFinder() @@ -1640,11 +1640,11 @@ public function createZedIdeAutoCompletionWriter() } /** - * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryCleanerInterface + * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryRemoverInterface */ - public function createZedIdeAutoCompletionDirectoryCleaner(): DirectoryCleanerInterface + public function createZedIdeAutoCompletionDirectoryRemover(): DirectoryRemoverInterface { - return new DirectoryCleaner( + return new DirectoryRemover( $this->getConfig()->getZedIdeAutoCompletionOptions(), $this->getFilesystem(), $this->createZedIdeAutoCompletionGeneratedFileFinder() @@ -1695,11 +1695,11 @@ public function createGlueIdeAutoCompletionWriter() } /** - * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryCleanerInterface + * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryRemoverInterface */ - public function createGlueIdeAutoCompletionDirectoryCleaner(): DirectoryCleanerInterface + public function createGlueIdeAutoCompletionDirectoryRemover(): DirectoryRemoverInterface { - return new DirectoryCleaner( + return new DirectoryRemover( $this->getConfig()->getGlueIdeAutoCompletionOptions(), $this->getFilesystem(), $this->createGlueIdeAutoCompletionGeneratedFileFinder() @@ -1728,11 +1728,11 @@ public function createClientIdeAutoCompletionWriter() } /** - * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryCleanerInterface + * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryRemoverInterface */ - public function createClientIdeAutoCompletionDirectoryCleaner(): DirectoryCleanerInterface + public function createClientIdeAutoCompletionDirectoryRemover(): DirectoryRemoverInterface { - return new DirectoryCleaner( + return new DirectoryRemover( $this->getConfig()->getClientIdeAutoCompletionOptions(), $this->getFilesystem(), $this->createClientIdeAutoCompletionGeneratedFileFinder() @@ -1772,11 +1772,11 @@ public function createServiceIdeAutoCompletionWriter() } /** - * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryCleanerInterface + * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryRemoverInterface */ - public function createServiceIdeAutoCompletionDirectoryCleaner(): DirectoryCleanerInterface + public function createServiceIdeAutoCompletionDirectoryRemover(): DirectoryRemoverInterface { - return new DirectoryCleaner( + return new DirectoryRemover( $this->getConfig()->getServiceIdeAutoCompletionOptions(), $this->getFilesystem(), $this->createServiceIdeAutoCompletionGeneratedFileFinder() diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php index 284633dc..912f9fd1 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php @@ -369,7 +369,7 @@ public function generateYvesIdeAutoCompletion() */ public function removeYvesIdeAutoCompletion(): void { - $this->getFactory()->createYvesIdeAutoCompletionDirectoryCleaner()->clear(); + $this->getFactory()->createYvesIdeAutoCompletionDirectoryRemover()->remove(); } /** @@ -393,7 +393,7 @@ public function generateZedIdeAutoCompletion() */ public function removeZedIdeAutoCompletion(): void { - $this->getFactory()->createZedIdeAutoCompletionDirectoryCleaner()->clear(); + $this->getFactory()->createZedIdeAutoCompletionDirectoryRemover()->remove(); } /** @@ -417,7 +417,7 @@ public function generateClientIdeAutoCompletion() */ public function removeClientIdeAutoCompletion(): void { - $this->getFactory()->createClientIdeAutoCompletionDirectoryCleaner()->clear(); + $this->getFactory()->createClientIdeAutoCompletionDirectoryRemover()->remove(); } /** @@ -441,7 +441,7 @@ public function generateServiceIdeAutoCompletion() */ public function removeServiceIdeAutoCompletion(): void { - $this->getFactory()->createServiceIdeAutoCompletionDirectoryCleaner()->clear(); + $this->getFactory()->createServiceIdeAutoCompletionDirectoryRemover()->remove(); } /** @@ -465,7 +465,7 @@ public function generateGlueIdeAutoCompletion() */ public function removeGlueIdeAutoCompletion(): void { - $this->getFactory()->createGlueIdeAutoCompletionDirectoryCleaner()->clear(); + $this->getFactory()->createGlueIdeAutoCompletionDirectoryRemover()->remove(); } /** diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryCleaner.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryRemover.php similarity index 96% rename from src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryCleaner.php rename to src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryRemover.php index 99f3795e..c219c2f1 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryCleaner.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryRemover.php @@ -11,7 +11,7 @@ use Spryker\Zed\Development\Business\IdeAutoCompletion\IdeAutoCompletionOptionConstants; use Symfony\Component\Filesystem\Filesystem; -class DirectoryCleaner implements DirectoryCleanerInterface +class DirectoryRemover implements DirectoryRemoverInterface { /** * @var array @@ -43,7 +43,7 @@ public function __construct(array $options, Filesystem $fileSystem, GeneratedFil /** * @return void */ - public function clear(): void + public function remove(): void { $baseDirectory = rtrim( $this->options[IdeAutoCompletionOptionConstants::TARGET_BASE_DIRECTORY], diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryCleanerInterface.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryRemoverInterface.php similarity index 80% rename from src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryCleanerInterface.php rename to src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryRemoverInterface.php index d1661f87..0f11d0ef 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryCleanerInterface.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryRemoverInterface.php @@ -7,10 +7,10 @@ namespace Spryker\Zed\Development\Business\IdeAutoCompletion\Remover; -interface DirectoryCleanerInterface +interface DirectoryRemoverInterface { /** * @return void */ - public function clear(): void; + public function remove(): void; } From 4cb87c09a93fbf1c9dedadb29332617d8cec6ff5 Mon Sep 17 00:00:00 2001 From: Roberto Filippone Date: Wed, 19 Feb 2020 15:16:19 +0100 Subject: [PATCH 115/336] PR Fixes --- .../Business/DevelopmentBusinessFactory.php | 28 +++++++------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index 90a3e9ce..136d6fce 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -1623,7 +1623,8 @@ public function createYvesIdeAutoCompletionDirectoryRemover(): DirectoryRemoverI */ public function createYvesIdeAutoCompletionGeneratedFileFinder(): GeneratedFileFinderInterface { - return $this->createGeneratedFileFinder( + return new PatternFileFinder( + $this->getFinder(), $this->getConfig()->getYvesIdeAutocompletionGeneratedFilePattern() ); } @@ -1656,7 +1657,8 @@ public function createZedIdeAutoCompletionDirectoryRemover(): DirectoryRemoverIn */ public function createZedIdeAutoCompletionGeneratedFileFinder(): GeneratedFileFinderInterface { - return $this->createGeneratedFileFinder( + return new PatternFileFinder( + $this->getFinder(), $this->getConfig()->getZedIdeAutocompletionGeneratedFilePattern() ); } @@ -1711,7 +1713,8 @@ public function createGlueIdeAutoCompletionDirectoryRemover(): DirectoryRemoverI */ public function createGlueIdeAutoCompletionGeneratedFileFinder(): GeneratedFileFinderInterface { - return $this->createGeneratedFileFinder( + return new PatternFileFinder( + $this->getFinder(), $this->getConfig()->getGlueIdeAutocompletionGeneratedFilePattern() ); } @@ -1744,7 +1747,8 @@ public function createClientIdeAutoCompletionDirectoryRemover(): DirectoryRemove */ public function createClientIdeAutoCompletionGeneratedFileFinder(): GeneratedFileFinderInterface { - return $this->createGeneratedFileFinder( + return new PatternFileFinder( + $this->getFinder(), $this->getConfig()->getClientIdeAutocompletionGeneratedFilePattern() ); } @@ -1788,7 +1792,8 @@ public function createServiceIdeAutoCompletionDirectoryRemover(): DirectoryRemov */ public function createServiceIdeAutoCompletionGeneratedFileFinder(): GeneratedFileFinderInterface { - return $this->createGeneratedFileFinder( + return new PatternFileFinder( + $this->getFinder(), $this->getConfig()->getServiceIdeAutocompletionGeneratedFilePattern() ); } @@ -2172,17 +2177,4 @@ public function createComposerNameFinder(): ComposerNameFinderInterface { return new ComposerNameFinder($this->getModuleFinderFacade()); } - - /** - * @param string $pattern - * - * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\GeneratedFileFinderInterface - */ - public function createGeneratedFileFinder(string $pattern): GeneratedFileFinderInterface - { - return new PatternFileFinder( - $this->getFinder(), - $pattern - ); - } } From 57c6c7d457fbb18ac765ffbe6b674e95e23b1e76 Mon Sep 17 00:00:00 2001 From: Roberto Filippone Date: Wed, 19 Feb 2020 16:23:14 +0100 Subject: [PATCH 116/336] PR Fixes --- .../Console/RemoveIdeAutoCompletionConsole.php | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php index a7d370e9..a832a74d 100644 --- a/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php @@ -69,10 +69,7 @@ public function execute(InputInterface $input, OutputInterface $output): int */ protected function showCommandNotFoundMessage(string $commandName): void { - $message = sprintf( - "Can not find %s in your project." . PHP_EOL . "You can fix this by adding the missing command to your project ConsoleDependencyProvider.", - $commandName - ); - $this->output->writeln("$message"); + $this->output->writeln(sprintf('Can not find %s in your project.', $commandName)); + $this->output->writeln('You can fix this by adding the missing command to your project ConsoleDependencyProvider.'); } } From 4b42a31ec5c3f66fa70df2d78eac982701e16d4f Mon Sep 17 00:00:00 2001 From: Roberto Filippone Date: Wed, 19 Feb 2020 17:10:34 +0100 Subject: [PATCH 117/336] PR fixes --- .../Business/DevelopmentBusinessFactory.php | 63 +++---------------- ...FileFinder.php => GeneratedFileFinder.php} | 14 +---- .../Remover/PatternFileFinder.php | 40 ------------ .../Zed/Development/DevelopmentConfig.php | 40 ------------ 4 files changed, 10 insertions(+), 147 deletions(-) rename src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/{AbstractDirectoryFileFinder.php => GeneratedFileFinder.php} (73%) delete mode 100644 src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/PatternFileFinder.php diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index 136d6fce..f78c46e8 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -150,8 +150,8 @@ use Spryker\Zed\Development\Business\IdeAutoCompletion\IdeAutoCompletionWriter; use Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryRemover; use Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryRemoverInterface; +use Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\GeneratedFileFinder; use Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\GeneratedFileFinderInterface; -use Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\PatternFileFinder; use Spryker\Zed\Development\Business\Integration\DependencyProviderUsedPluginFinder; use Spryker\Zed\Development\Business\Integration\DependencyProviderUsedPluginFinderInterface; use Spryker\Zed\Development\Business\Module\ModuleFileFinder\ModuleFileFinder; @@ -1614,18 +1614,7 @@ public function createYvesIdeAutoCompletionDirectoryRemover(): DirectoryRemoverI return new DirectoryRemover( $this->getConfig()->getYvesIdeAutoCompletionOptions(), $this->getFilesystem(), - $this->createYvesIdeAutoCompletionGeneratedFileFinder() - ); - } - - /** - * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\GeneratedFileFinderInterface - */ - public function createYvesIdeAutoCompletionGeneratedFileFinder(): GeneratedFileFinderInterface - { - return new PatternFileFinder( - $this->getFinder(), - $this->getConfig()->getYvesIdeAutocompletionGeneratedFilePattern() + $this->createGeneratedFileFinder() ); } @@ -1648,18 +1637,7 @@ public function createZedIdeAutoCompletionDirectoryRemover(): DirectoryRemoverIn return new DirectoryRemover( $this->getConfig()->getZedIdeAutoCompletionOptions(), $this->getFilesystem(), - $this->createZedIdeAutoCompletionGeneratedFileFinder() - ); - } - - /** - * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\GeneratedFileFinderInterface - */ - public function createZedIdeAutoCompletionGeneratedFileFinder(): GeneratedFileFinderInterface - { - return new PatternFileFinder( - $this->getFinder(), - $this->getConfig()->getZedIdeAutocompletionGeneratedFilePattern() + $this->createGeneratedFileFinder() ); } @@ -1704,19 +1682,16 @@ public function createGlueIdeAutoCompletionDirectoryRemover(): DirectoryRemoverI return new DirectoryRemover( $this->getConfig()->getGlueIdeAutoCompletionOptions(), $this->getFilesystem(), - $this->createGlueIdeAutoCompletionGeneratedFileFinder() + $this->createGeneratedFileFinder() ); } /** * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\GeneratedFileFinderInterface */ - public function createGlueIdeAutoCompletionGeneratedFileFinder(): GeneratedFileFinderInterface + public function createGeneratedFileFinder(): GeneratedFileFinderInterface { - return new PatternFileFinder( - $this->getFinder(), - $this->getConfig()->getGlueIdeAutocompletionGeneratedFilePattern() - ); + return new GeneratedFileFinder($this->getFinder()); } /** @@ -1738,18 +1713,7 @@ public function createClientIdeAutoCompletionDirectoryRemover(): DirectoryRemove return new DirectoryRemover( $this->getConfig()->getClientIdeAutoCompletionOptions(), $this->getFilesystem(), - $this->createClientIdeAutoCompletionGeneratedFileFinder() - ); - } - - /** - * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\GeneratedFileFinderInterface - */ - public function createClientIdeAutoCompletionGeneratedFileFinder(): GeneratedFileFinderInterface - { - return new PatternFileFinder( - $this->getFinder(), - $this->getConfig()->getClientIdeAutocompletionGeneratedFilePattern() + $this->createGeneratedFileFinder() ); } @@ -1783,18 +1747,7 @@ public function createServiceIdeAutoCompletionDirectoryRemover(): DirectoryRemov return new DirectoryRemover( $this->getConfig()->getServiceIdeAutoCompletionOptions(), $this->getFilesystem(), - $this->createServiceIdeAutoCompletionGeneratedFileFinder() - ); - } - - /** - * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\GeneratedFileFinderInterface - */ - public function createServiceIdeAutoCompletionGeneratedFileFinder(): GeneratedFileFinderInterface - { - return new PatternFileFinder( - $this->getFinder(), - $this->getConfig()->getServiceIdeAutocompletionGeneratedFilePattern() + $this->createGeneratedFileFinder() ); } diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/AbstractDirectoryFileFinder.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/GeneratedFileFinder.php similarity index 73% rename from src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/AbstractDirectoryFileFinder.php rename to src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/GeneratedFileFinder.php index d5a41980..0ecc575c 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/AbstractDirectoryFileFinder.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/GeneratedFileFinder.php @@ -8,9 +8,8 @@ namespace Spryker\Zed\Development\Business\IdeAutoCompletion\Remover; use Symfony\Component\Finder\Finder; -use Symfony\Component\Finder\SplFileInfo; -abstract class AbstractDirectoryFileFinder implements GeneratedFileFinderInterface +class GeneratedFileFinder implements GeneratedFileFinderInterface { /** * @var \Symfony\Component\Finder\Finder @@ -35,9 +34,7 @@ public function findFiles(string $directoryPath): Finder $finder = clone $this->finder; $finder->in($directoryPath) ->depth(0) - ->filter(function (SplFileInfo $fileEntry) { - return $this->filterFile($fileEntry); - }); + ->name('/.*\.php/'); return $finder; } @@ -56,11 +53,4 @@ public function isEmpty(string $directoryPath): bool ->exclude(['.', '..']) ->count() === 0; } - - /** - * @param \Symfony\Component\Finder\SplFileInfo $fileEntry - * - * @return bool - */ - abstract protected function filterFile(SplFileInfo $fileEntry): bool; } diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/PatternFileFinder.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/PatternFileFinder.php deleted file mode 100644 index b542877a..00000000 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/PatternFileFinder.php +++ /dev/null @@ -1,40 +0,0 @@ -pattern = $pattern; - } - - /** - * @param \Symfony\Component\Finder\SplFileInfo $fileEntry - * - * @return bool - */ - protected function filterFile(SplFileInfo $fileEntry): bool - { - return preg_match($this->pattern, $fileEntry->getRealPath()) === 1; - } -} diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 491fdd5a..994817f8 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -592,44 +592,4 @@ public function getProcessTimeout(): int { return static::TIMEOUT_DEFAULT; } - - /** - * @return string - */ - public function getYvesIdeAutocompletionGeneratedFilePattern(): string - { - return '/.*\.php/'; - } - - /** - * @return string - */ - public function getZedIdeAutocompletionGeneratedFilePattern(): string - { - return '/.*\.php/'; - } - - /** - * @return string - */ - public function getGlueIdeAutocompletionGeneratedFilePattern(): string - { - return '/.*\.php/'; - } - - /** - * @return string - */ - public function getClientIdeAutocompletionGeneratedFilePattern(): string - { - return '/.*\.php/'; - } - - /** - * @return string - */ - public function getServiceIdeAutocompletionGeneratedFilePattern(): string - { - return '/.*\.php/'; - } } From bb2b5a4c51edf1d174212a7b33eb3c3212b9a2f6 Mon Sep 17 00:00:00 2001 From: Roberto Filippone Date: Fri, 21 Feb 2020 14:16:15 +0100 Subject: [PATCH 118/336] PR Fixes --- .../Business/DevelopmentBusinessFactory.php | 63 +++------------ .../Business/DevelopmentFacade.php | 11 +-- .../IdeAutoCompletionOptionConstants.php | 5 ++ .../Remover/DirectoryRemover.php | 64 +++------------ .../Remover/DirectoryRemoverInterface.php | 4 +- .../Remover/TargetDirectoryResolver.php | 80 +++++++++++++++++++ 6 files changed, 116 insertions(+), 111 deletions(-) create mode 100644 src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/TargetDirectoryResolver.php diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index f78c46e8..5f466a9d 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -152,6 +152,7 @@ use Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryRemoverInterface; use Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\GeneratedFileFinder; use Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\GeneratedFileFinderInterface; +use Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\TargetDirectoryResolver; use Spryker\Zed\Development\Business\Integration\DependencyProviderUsedPluginFinder; use Spryker\Zed\Development\Business\Integration\DependencyProviderUsedPluginFinderInterface; use Spryker\Zed\Development\Business\Module\ModuleFileFinder\ModuleFileFinder; @@ -1609,10 +1610,10 @@ protected function createYvesIdeAutoCompletionBundleBuilder() /** * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryRemoverInterface */ - public function createYvesIdeAutoCompletionDirectoryRemover(): DirectoryRemoverInterface + public function createIdeAutoCompletionDirectoryRemover(): DirectoryRemoverInterface { return new DirectoryRemover( - $this->getConfig()->getYvesIdeAutoCompletionOptions(), + $this->createTargetDirectoryResolver(), $this->getFilesystem(), $this->createGeneratedFileFinder() ); @@ -1629,18 +1630,6 @@ public function createZedIdeAutoCompletionWriter() ); } - /** - * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryRemoverInterface - */ - public function createZedIdeAutoCompletionDirectoryRemover(): DirectoryRemoverInterface - { - return new DirectoryRemover( - $this->getConfig()->getZedIdeAutoCompletionOptions(), - $this->getFilesystem(), - $this->createGeneratedFileFinder() - ); - } - /** * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\BundleBuilderInterface */ @@ -1674,18 +1663,6 @@ public function createGlueIdeAutoCompletionWriter() ); } - /** - * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryRemoverInterface - */ - public function createGlueIdeAutoCompletionDirectoryRemover(): DirectoryRemoverInterface - { - return new DirectoryRemover( - $this->getConfig()->getGlueIdeAutoCompletionOptions(), - $this->getFilesystem(), - $this->createGeneratedFileFinder() - ); - } - /** * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\GeneratedFileFinderInterface */ @@ -1705,18 +1682,6 @@ public function createClientIdeAutoCompletionWriter() ); } - /** - * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryRemoverInterface - */ - public function createClientIdeAutoCompletionDirectoryRemover(): DirectoryRemoverInterface - { - return new DirectoryRemover( - $this->getConfig()->getClientIdeAutoCompletionOptions(), - $this->getFilesystem(), - $this->createGeneratedFileFinder() - ); - } - /** * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\BundleBuilderInterface */ @@ -1739,18 +1704,6 @@ public function createServiceIdeAutoCompletionWriter() ); } - /** - * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryRemoverInterface - */ - public function createServiceIdeAutoCompletionDirectoryRemover(): DirectoryRemoverInterface - { - return new DirectoryRemover( - $this->getConfig()->getServiceIdeAutoCompletionOptions(), - $this->getFilesystem(), - $this->createGeneratedFileFinder() - ); - } - /** * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\BundleBuilderInterface */ @@ -2130,4 +2083,14 @@ public function createComposerNameFinder(): ComposerNameFinderInterface { return new ComposerNameFinder($this->getModuleFinderFacade()); } + + /** + * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\TargetDirectoryResolver + */ + protected function createTargetDirectoryResolver(): TargetDirectoryResolver + { + return new TargetDirectoryResolver( + $this->getConfig() + ); + } } diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php index 912f9fd1..95788795 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php @@ -15,6 +15,7 @@ use Generated\Shared\Transfer\DependencyValidationResponseTransfer; use Generated\Shared\Transfer\ModuleFilterTransfer; use Generated\Shared\Transfer\ModuleTransfer; +use Spryker\Zed\Development\Business\IdeAutoCompletion\IdeAutoCompletionOptionConstants; use Spryker\Zed\Kernel\Business\AbstractFacade; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; @@ -369,7 +370,7 @@ public function generateYvesIdeAutoCompletion() */ public function removeYvesIdeAutoCompletion(): void { - $this->getFactory()->createYvesIdeAutoCompletionDirectoryRemover()->remove(); + $this->getFactory()->createIdeAutoCompletionDirectoryRemover()->remove(IdeAutoCompletionOptionConstants::YVES); } /** @@ -393,7 +394,7 @@ public function generateZedIdeAutoCompletion() */ public function removeZedIdeAutoCompletion(): void { - $this->getFactory()->createZedIdeAutoCompletionDirectoryRemover()->remove(); + $this->getFactory()->createIdeAutoCompletionDirectoryRemover()->remove(IdeAutoCompletionOptionConstants::ZED); } /** @@ -417,7 +418,7 @@ public function generateClientIdeAutoCompletion() */ public function removeClientIdeAutoCompletion(): void { - $this->getFactory()->createClientIdeAutoCompletionDirectoryRemover()->remove(); + $this->getFactory()->createIdeAutoCompletionDirectoryRemover()->remove(IdeAutoCompletionOptionConstants::CLIENT); } /** @@ -441,7 +442,7 @@ public function generateServiceIdeAutoCompletion() */ public function removeServiceIdeAutoCompletion(): void { - $this->getFactory()->createServiceIdeAutoCompletionDirectoryRemover()->remove(); + $this->getFactory()->createIdeAutoCompletionDirectoryRemover()->remove(IdeAutoCompletionOptionConstants::SERVICE); } /** @@ -465,7 +466,7 @@ public function generateGlueIdeAutoCompletion() */ public function removeGlueIdeAutoCompletion(): void { - $this->getFactory()->createGlueIdeAutoCompletionDirectoryRemover()->remove(); + $this->getFactory()->createIdeAutoCompletionDirectoryRemover()->remove(IdeAutoCompletionOptionConstants::GLUE); } /** diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionOptionConstants.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionOptionConstants.php index 0b46ed3e..7d2486ee 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionOptionConstants.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionOptionConstants.php @@ -13,4 +13,9 @@ final class IdeAutoCompletionOptionConstants public const TARGET_DIRECTORY_PATTERN = 'target_path_pattern'; public const TARGET_NAMESPACE_PATTERN = 'target_namespace_pattern'; public const APPLICATION_NAME = 'application_name'; + public const YVES = 'Yves'; + public const ZED = 'Zed'; + public const CLIENT = 'Client'; + public const GLUE = 'Glue'; + public const SERVICE = 'Service'; } diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryRemover.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryRemover.php index c219c2f1..e34ebc3d 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryRemover.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryRemover.php @@ -7,16 +7,14 @@ namespace Spryker\Zed\Development\Business\IdeAutoCompletion\Remover; -use Spryker\Zed\Development\Business\IdeAutoCompletion\IdeAutoCompletionConstants; -use Spryker\Zed\Development\Business\IdeAutoCompletion\IdeAutoCompletionOptionConstants; use Symfony\Component\Filesystem\Filesystem; class DirectoryRemover implements DirectoryRemoverInterface { /** - * @var array + * @var \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\TargetDirectoryResolver */ - protected $options; + private $targetDirectoryResolver; /** * @var \Symfony\Component\Filesystem\Filesystem @@ -29,37 +27,25 @@ class DirectoryRemover implements DirectoryRemoverInterface protected $fileFinder; /** - * @param array $options + * @param \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\TargetDirectoryResolver $targetDirectoryResolver * @param \Symfony\Component\Filesystem\Filesystem $fileSystem * @param \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\GeneratedFileFinderInterface $fileFinder */ - public function __construct(array $options, Filesystem $fileSystem, GeneratedFileFinderInterface $fileFinder) + public function __construct(TargetDirectoryResolver $targetDirectoryResolver, Filesystem $fileSystem, GeneratedFileFinderInterface $fileFinder) { - $this->options = $options; + $this->targetDirectoryResolver = $targetDirectoryResolver; $this->fileSystem = $fileSystem; $this->fileFinder = $fileFinder; } /** + * @param string $application + * * @return void */ - public function remove(): void + public function remove(string $application): void { - $baseDirectory = rtrim( - $this->options[IdeAutoCompletionOptionConstants::TARGET_BASE_DIRECTORY], - DIRECTORY_SEPARATOR - ); - - $applicationPathFragment = trim( - str_replace( - IdeAutoCompletionConstants::APPLICATION_NAME_PLACEHOLDER, - $this->options[IdeAutoCompletionOptionConstants::APPLICATION_NAME], - $this->options[IdeAutoCompletionOptionConstants::TARGET_DIRECTORY_PATTERN] - ), - DIRECTORY_SEPARATOR - ); - - $targetDirectory = "{$baseDirectory}/{$applicationPathFragment}/"; + $targetDirectory = $this->targetDirectoryResolver->resolveTargetDirectory($application); if (!$this->fileSystem->exists($targetDirectory)) { return; @@ -68,37 +54,5 @@ public function remove(): void $this->fileSystem->remove( $this->fileFinder->findFiles($targetDirectory) ); - - $this->removeDirectoryRecursiveToBase($targetDirectory, $baseDirectory); - } - - /** - * @param string $targetDirectory - * @param string $basePath - * - * @return void - */ - protected function removeDirectoryRecursiveToBase(string $targetDirectory, string $basePath): void - { - $this->removeDirectoryIfEmpty($targetDirectory); - - if (realpath($basePath) === $targetDirectory) { - return; - } - - $parentDirectory = realpath(dirname($targetDirectory)); - $this->removeDirectoryRecursiveToBase($parentDirectory, $basePath); - } - - /** - * @param string $targetDirectory - * - * @return void - */ - protected function removeDirectoryIfEmpty(string $targetDirectory): void - { - if ($this->fileFinder->isEmpty($targetDirectory)) { - $this->fileSystem->remove($targetDirectory); - } } } diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryRemoverInterface.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryRemoverInterface.php index 0f11d0ef..3ac3c804 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryRemoverInterface.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryRemoverInterface.php @@ -10,7 +10,9 @@ interface DirectoryRemoverInterface { /** + * @param string $application + * * @return void */ - public function remove(): void; + public function remove(string $application): void; } diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/TargetDirectoryResolver.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/TargetDirectoryResolver.php new file mode 100644 index 00000000..6b88a06a --- /dev/null +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/TargetDirectoryResolver.php @@ -0,0 +1,80 @@ +config = $config; + } + + /** + * @param string $application + * + * @return string + */ + public function resolveTargetDirectory(string $application): string + { + $options = $this->getOptions($application); + + $baseDirectory = rtrim( + $options[IdeAutoCompletionOptionConstants::TARGET_BASE_DIRECTORY], + DIRECTORY_SEPARATOR + ); + + $applicationPathFragment = trim( + str_replace( + IdeAutoCompletionConstants::APPLICATION_NAME_PLACEHOLDER, + $application, + $options[IdeAutoCompletionOptionConstants::TARGET_DIRECTORY_PATTERN] + ), + DIRECTORY_SEPARATOR + ); + + return "{$baseDirectory}/{$applicationPathFragment}/"; + } + + /** + * @param string $application + * + * @throws \InvalidArgumentException + * + * @return array + */ + private function getOptions(string $application): array + { + switch ($application) { + case IdeAutoCompletionOptionConstants::YVES: + return $this->config->getYvesIdeAutoCompletionOptions(); + case IdeAutoCompletionOptionConstants::ZED: + return $this->config->getZedIdeAutoCompletionOptions(); + case IdeAutoCompletionOptionConstants::CLIENT: + return $this->config->getClientIdeAutoCompletionOptions(); + case IdeAutoCompletionOptionConstants::GLUE: + return $this->config->getGlueIdeAutoCompletionOptions(); + case IdeAutoCompletionOptionConstants::SERVICE: + return $this->config->getServiceIdeAutoCompletionOptions(); + default: + throw new InvalidArgumentException("Unable to resolve ide autocompletion directory for application ${application}"); + } + } +} From 15310c2c4b9a0e500c796b7368fc48272d05b02e Mon Sep 17 00:00:00 2001 From: Roberto Filippone Date: Thu, 5 Mar 2020 11:40:51 +0100 Subject: [PATCH 119/336] RB Fixes --- .../Console/GenerateClientIdeAutoCompletionConsole.php | 4 +++- .../Console/GenerateGlueIdeAutoCompletionConsole.php | 4 +++- .../Console/GenerateIdeAutoCompletionConsole.php | 4 +++- .../Console/GenerateServiceIdeAutoCompletionConsole.php | 4 +++- .../Console/GenerateYvesIdeAutoCompletionConsole.php | 4 +++- .../Console/GenerateZedIdeAutoCompletionConsole.php | 4 +++- .../Console/RemoveClientIdeAutoCompletionConsole.php | 2 +- .../Console/RemoveGlueIdeAutoCompletionConsole.php | 2 +- .../Communication/Console/RemoveIdeAutoCompletionConsole.php | 2 +- .../Console/RemoveServiceIdeAutoCompletionConsole.php | 2 +- .../Console/RemoveYvesIdeAutoCompletionConsole.php | 2 +- .../Console/RemoveZedIdeAutoCompletionConsole.php | 2 +- 12 files changed, 24 insertions(+), 12 deletions(-) diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateClientIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateClientIdeAutoCompletionConsole.php index f0391f56..aa200a70 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateClientIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateClientIdeAutoCompletionConsole.php @@ -17,7 +17,8 @@ */ class GenerateClientIdeAutoCompletionConsole extends Console { - public const COMMAND_NAME = 'dev:ide:generate-client-auto-completion'; + protected const OLD_COMMAND_NAME = 'dev:ide:generate-client-auto-completion'; + public const COMMAND_NAME = 'dev:ide-auto-completion:client:generate'; /** * @return void @@ -28,6 +29,7 @@ protected function configure() $this->setName(static::COMMAND_NAME); $this->setDescription('Generate IDE auto completion files for Client.'); + $this->setAliases([static::OLD_COMMAND_NAME]); } /** diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateGlueIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateGlueIdeAutoCompletionConsole.php index 2cf5c0d1..db56728e 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateGlueIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateGlueIdeAutoCompletionConsole.php @@ -17,7 +17,8 @@ */ class GenerateGlueIdeAutoCompletionConsole extends Console { - public const COMMAND_NAME = 'dev:ide:generate-glue-auto-completion'; + protected const OLD_COMMAND_NAME = 'dev:ide:generate-glue-auto-completion'; + public const COMMAND_NAME = 'dev:ide-auto-completion:glue:generate'; /** * @return void @@ -28,6 +29,7 @@ protected function configure() $this->setName(static::COMMAND_NAME); $this->setDescription('Generate IDE auto completion files for Glue.'); + $this->setAliases([static::OLD_COMMAND_NAME]); } /** diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php index 38345d22..7bd2ce2c 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php @@ -17,7 +17,8 @@ */ class GenerateIdeAutoCompletionConsole extends Console { - public const COMMAND_NAME = 'dev:ide:generate-auto-completion'; + protected const OLD_COMMAND_NAME = 'dev:ide:generate-auto-completion'; + public const COMMAND_NAME = 'dev:ide-auto-completion:generate'; /** * @return void @@ -28,6 +29,7 @@ protected function configure() $this->setName(static::COMMAND_NAME); $this->setDescription('Generate IDE auto completion files.'); + $this->setAliases([static::OLD_COMMAND_NAME]); } /** diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateServiceIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateServiceIdeAutoCompletionConsole.php index 83cb3958..39949c3c 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateServiceIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateServiceIdeAutoCompletionConsole.php @@ -17,7 +17,8 @@ */ class GenerateServiceIdeAutoCompletionConsole extends Console { - public const COMMAND_NAME = 'dev:ide:generate-service-auto-completion'; + protected const OLD_COMMAND_NAME = 'dev:ide:generate-service-auto-completion'; + public const COMMAND_NAME = 'dev:ide-auto-completion:service:generate'; /** * @return void @@ -28,6 +29,7 @@ protected function configure() $this->setName(static::COMMAND_NAME); $this->setDescription('Generate IDE auto completion files for Service.'); + $this->setAliases([static::OLD_COMMAND_NAME]); } /** diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateYvesIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateYvesIdeAutoCompletionConsole.php index 5f6a3192..a3a96030 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateYvesIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateYvesIdeAutoCompletionConsole.php @@ -17,7 +17,8 @@ */ class GenerateYvesIdeAutoCompletionConsole extends Console { - public const COMMAND_NAME = 'dev:ide:generate-yves-auto-completion'; + protected const OLD_COMMAND_NAME = 'dev:ide:generate-yves-auto-completion'; + public const COMMAND_NAME = 'dev:ide-auto-completion:yves:generate'; /** * @return void @@ -28,6 +29,7 @@ protected function configure() $this->setName(static::COMMAND_NAME); $this->setDescription('Generate IDE auto completion files for Yves.'); + $this->setAliases([static::OLD_COMMAND_NAME]); } /** diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateZedIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateZedIdeAutoCompletionConsole.php index fc78b0d5..2af7df92 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateZedIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateZedIdeAutoCompletionConsole.php @@ -17,7 +17,8 @@ */ class GenerateZedIdeAutoCompletionConsole extends Console { - public const COMMAND_NAME = 'dev:ide:generate-zed-auto-completion'; + protected const OLD_COMMAND_NAME = 'dev:ide:generate-zed-auto-completion'; + public const COMMAND_NAME = 'dev:ide-auto-completion:zed:generate'; /** * @return void @@ -28,6 +29,7 @@ protected function configure() $this->setName(static::COMMAND_NAME); $this->setDescription('Generate IDE auto completion files for Zed.'); + $this->setAliases([static::OLD_COMMAND_NAME]); } /** diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveClientIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveClientIdeAutoCompletionConsole.php index c20b8cb7..be18e5ef 100644 --- a/src/Spryker/Zed/Development/Communication/Console/RemoveClientIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveClientIdeAutoCompletionConsole.php @@ -17,7 +17,7 @@ */ class RemoveClientIdeAutoCompletionConsole extends Console { - public const COMMAND_NAME = 'dev:ide:remove-client-auto-completion'; + public const COMMAND_NAME = 'dev:ide-auto-completion:client:remove'; /** * @return void diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveGlueIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveGlueIdeAutoCompletionConsole.php index e13daa88..9efbdfc3 100644 --- a/src/Spryker/Zed/Development/Communication/Console/RemoveGlueIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveGlueIdeAutoCompletionConsole.php @@ -17,7 +17,7 @@ */ class RemoveGlueIdeAutoCompletionConsole extends Console { - public const COMMAND_NAME = 'dev:ide:remove-glue-auto-completion'; + public const COMMAND_NAME = 'dev:ide-auto-completion:glue:remove'; /** * @return void diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php index a832a74d..726cee16 100644 --- a/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php @@ -17,7 +17,7 @@ */ class RemoveIdeAutoCompletionConsole extends Console { - public const COMMAND_NAME = 'dev:ide:remove-auto-completion'; + public const COMMAND_NAME = 'dev:ide-auto-completion:remove'; /** * @return void diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveServiceIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveServiceIdeAutoCompletionConsole.php index d4b971b0..63cf5a2e 100644 --- a/src/Spryker/Zed/Development/Communication/Console/RemoveServiceIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveServiceIdeAutoCompletionConsole.php @@ -17,7 +17,7 @@ */ class RemoveServiceIdeAutoCompletionConsole extends Console { - public const COMMAND_NAME = 'dev:ide:remove-service-auto-completion'; + public const COMMAND_NAME = 'dev:ide-auto-completion:service:remove'; /** * @return void diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveYvesIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveYvesIdeAutoCompletionConsole.php index 117ccd35..ebe36f19 100644 --- a/src/Spryker/Zed/Development/Communication/Console/RemoveYvesIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveYvesIdeAutoCompletionConsole.php @@ -17,7 +17,7 @@ */ class RemoveYvesIdeAutoCompletionConsole extends Console { - public const COMMAND_NAME = 'dev:ide:remove-yves-auto-completion'; + public const COMMAND_NAME = 'dev:ide-auto-completion:yves:remove'; /** * @return void diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveZedIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveZedIdeAutoCompletionConsole.php index 22059e8e..22793f13 100644 --- a/src/Spryker/Zed/Development/Communication/Console/RemoveZedIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveZedIdeAutoCompletionConsole.php @@ -17,7 +17,7 @@ */ class RemoveZedIdeAutoCompletionConsole extends Console { - public const COMMAND_NAME = 'dev:ide:remove-zed-auto-completion'; + public const COMMAND_NAME = 'dev:ide-auto-completion:zed:remove'; /** * @return void From ba78400d6ad093f9d384a465f5da86140dd4c0fc Mon Sep 17 00:00:00 2001 From: mscherer Date: Thu, 5 Mar 2020 15:28:25 +0100 Subject: [PATCH 120/336] Fix api docblocks. --- .../Zed/Development/DevelopmentConfig.php | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 994817f8..3ba2d628 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -60,6 +60,8 @@ class DevelopmentConfig extends AbstractBundleConfig protected const TIMEOUT_DEFAULT = 9000; /** + * @api + * * @return int */ public function getPermissionMode(): int @@ -68,6 +70,8 @@ public function getPermissionMode(): int } /** + * @api + * * @return string[] */ public function getInternalNamespaces(): array @@ -76,6 +80,8 @@ public function getInternalNamespaces(): array } /** + * @api + * * @return string[] */ public function getTwigPathPatterns(): array @@ -90,6 +96,8 @@ public function getTwigPathPatterns(): array /** * Gets path to application root directory. * + * @api + * * @return string */ public function getPathToRoot() @@ -100,6 +108,8 @@ public function getPathToRoot() /** * Gets Application layers. * + * @api + * * @return array */ public function getApplications() @@ -110,6 +120,8 @@ public function getApplications() /** * Gets Application namespaces. * + * @api + * * @return array */ public function getApplicationNamespaces() @@ -118,6 +130,8 @@ public function getApplicationNamespaces() } /** + * @api + * * @deprecated Use \Spryker\Zed\Development\Business\Module\PathBuilder\SprykerModulePathBuilder::buildPath() instead. * * Gets path to Spryker core modules. @@ -136,6 +150,8 @@ public function getPathToCore() } /** + * @api + * * @deprecated Use \Spryker\Zed\Development\Business\Module\PathBuilder\SprykerSdkPathBuilder::buildPath() instead. * * Gets path to SprykerSdk core modules. @@ -148,6 +164,8 @@ public function getPathToSdk() } /** + * @api + * * @deprecated Use \Spryker\Zed\Development\Business\Module\PathBuilder\SprykerShopModulePathBuilder::buildPath() instead. * * Gets path to SprykerShop core modules. @@ -160,6 +178,8 @@ public function getPathToShop() } /** + * @api + * * @deprecated Use \Spryker\Zed\Development\Business\Module\PathBuilder\SprykerEcoModulePathBuilder::buildPath() instead. * * Gets path to SprykerEco core modules. @@ -172,6 +192,8 @@ public function getPathToEco() } /** + * @api + * * @return string[] */ public function getOrganizationPathMap(): array @@ -186,6 +208,8 @@ public function getOrganizationPathMap(): array * Either a relative or full path to the ruleset.xml or a name of an installed * standard (see `phpcs -i` for a list of available ones). * + * @api + * * @return string */ public function getCodingStandard() @@ -199,6 +223,8 @@ public function getCodingStandard() * Either a relative or full path to the ruleset.xml or a name of an installed * standard. Can also be a comma separated list of multiple ones. * + * @api + * * @return string */ public function getArchitectureStandard() @@ -209,6 +235,8 @@ public function getArchitectureStandard() /** * Gets path to Application's composer.lock file. * + * @api + * * @return string */ public function getPathToComposerLock() @@ -217,6 +245,8 @@ public function getPathToComposerLock() } /** + * @api + * * @return string */ public function getPathToJsonDependencyTree() @@ -231,6 +261,8 @@ public function getPathToJsonDependencyTree() } /** + * @api + * * @return string */ public function getPhpstanConfigFilename(): string @@ -239,6 +271,8 @@ public function getPhpstanConfigFilename(): string } /** + * @api + * * @return string */ public function getPathToPhpstanModuleTemporaryConfigFolder() @@ -249,6 +283,8 @@ public function getPathToPhpstanModuleTemporaryConfigFolder() /** * Gets path to module config that holds information about engine modules. * + * @api + * * @return string */ public function getPathToBundleConfig() @@ -257,6 +293,8 @@ public function getPathToBundleConfig() } /** + * @api + * * @return array */ public function getExternalToInternalNamespaceMap() @@ -288,6 +326,8 @@ public function getExternalToInternalNamespaceMap() } /** + * @api + * * @return array */ public function getExternalToInternalMap() @@ -315,6 +355,8 @@ public function getExternalToInternalMap() } /** + * @api + * * @return array */ public function getIgnorableDependencies() @@ -334,6 +376,8 @@ public function getIgnorableDependencies() } /** + * @api + * * @return string[] */ public function getYvesIdeAutoCompletionOptions() @@ -345,6 +389,8 @@ public function getYvesIdeAutoCompletionOptions() } /** + * @api + * * @return string[] */ public function getZedIdeAutoCompletionOptions() @@ -356,6 +402,8 @@ public function getZedIdeAutoCompletionOptions() } /** + * @api + * * @return array */ public function getClientIdeAutoCompletionOptions() @@ -367,6 +415,8 @@ public function getClientIdeAutoCompletionOptions() } /** + * @api + * * @return array */ public function getGlueIdeAutoCompletionOptions() @@ -378,6 +428,8 @@ public function getGlueIdeAutoCompletionOptions() } /** + * @api + * * @return array */ public function getServiceIdeAutoCompletionOptions() @@ -408,6 +460,8 @@ protected function getDefaultIdeAutoCompletionOptions() } /** + * @api + * * @return string[] */ public function getIdeAutoCompletionSourceDirectoryGlobPatterns() @@ -419,6 +473,8 @@ public function getIdeAutoCompletionSourceDirectoryGlobPatterns() } /** + * @api + * * @return string[] */ public function getIdeAutoCompletionGeneratorTemplatePaths() @@ -431,6 +487,8 @@ public function getIdeAutoCompletionGeneratorTemplatePaths() /** * Returns CLI commmand to run the architecture sniffer with [BUNDLE] placeholder * + * @api + * * @return string */ public function getArchitectureSnifferCommand() @@ -441,6 +499,8 @@ public function getArchitectureSnifferCommand() /** * Either a relative or full path to the ruleset.xml * + * @api + * * @return string */ public function getArchitectureSnifferRuleset() @@ -451,6 +511,8 @@ public function getArchitectureSnifferRuleset() } /** + * @api + * * @return string */ public function getPhpMdCommand() @@ -459,6 +521,8 @@ public function getPhpMdCommand() } /** + * @api + * * @return array */ public function getProjectNamespaces() @@ -467,6 +531,8 @@ public function getProjectNamespaces() } /** + * @api + * * @return array */ public function getCoreNamespaces() @@ -477,6 +543,8 @@ public function getCoreNamespaces() /** * Gets default priority for architecture sniffer. * + * @api + * * @return int */ public function getArchitectureSnifferDefaultPriority(): int @@ -487,6 +555,8 @@ public function getArchitectureSnifferDefaultPriority(): int /** * Gets PHPStan default level. The higher, the better. * + * @api + * * @return int */ public function getPhpstanLevel() @@ -497,6 +567,8 @@ public function getPhpstanLevel() /** * Gets CodeSniffer default level. The higher, the better. * + * @api + * * @return int */ public function getCodeSnifferLevel(): int @@ -505,6 +577,8 @@ public function getCodeSnifferLevel(): int } /** + * @api + * * @return string[] */ public function getInternalNamespacesList(): array @@ -513,6 +587,8 @@ public function getInternalNamespacesList(): array } /** + * @api + * * @param string $namespace * * @return string|null @@ -531,6 +607,8 @@ public function getPathToInternalNamespace(string $namespace): ?string } /** + * @api + * * @return string[] */ public function getPathsToInternalNamespace(): array @@ -560,6 +638,8 @@ protected function checkPathToSprykerRoot(string $namespace): ?string } /** + * @api + * * @deprecated Use `spryker/module-finder` instead. * * @return string[] @@ -586,6 +666,8 @@ public function getDefaultInclusiveGroups(): array } /** + * @api + * * @return int */ public function getProcessTimeout(): int From 70d8acb0949f119773f81d2a690e5d660d2d59b1 Mon Sep 17 00:00:00 2001 From: mscherer Date: Mon, 9 Mar 2020 11:46:21 +0100 Subject: [PATCH 121/336] Fix CS and disallow inline assignment. --- src/Spryker/Zed/Development/DevelopmentConfig.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 3ba2d628..17eb13bd 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -595,7 +595,8 @@ public function getInternalNamespacesList(): array */ public function getPathToInternalNamespace(string $namespace): ?string { - if ($pathToSprykerRoot = $this->checkPathToSprykerRoot($namespace)) { + $pathToSprykerRoot = $this->checkPathToSprykerRoot($namespace); + if ($pathToSprykerRoot) { return $pathToSprykerRoot; } From e3f8c000c860993ddade9b02f8e2c88945bb7ba3 Mon Sep 17 00:00:00 2001 From: mscherer Date: Thu, 12 Mar 2020 18:53:54 +0100 Subject: [PATCH 122/336] Fix CS by using a 160 max length on signatures where possible. --- .../ComposerJsonPackageNameValidator.php | 12 +++++++---- ...rJsonUnboundRequireConstraintValidator.php | 6 ++++-- .../ComposerJsonValidatorComposite.php | 6 ++++-- .../ComposerJsonValidatorInterface.php | 5 ++++- .../DependencyFinderInterface.php | 5 ++++- .../AtomFunctionDependencyFinder.php | 6 ++++-- .../MoleculeFunctionDependencyFinder.php | 6 ++++-- .../OrganismFunctionDependencyFinder.php | 6 ++++-- .../TemplateFunctionDependencyFinder.php | 6 ++++-- .../TwigDependencyFinderInterface.php | 5 ++++- .../ViewFunctionDependencyFinder.php | 6 ++++-- .../Dependency/ModuleDependencyParser.php | 7 +++++-- .../DependencyGraph/OutgoingGraphBuilder.php | 9 ++++++-- .../DependencyViolationChecker.php | 7 +++++-- .../DependencyProviderUsedPluginFinder.php | 7 +++++-- .../Module/ModuleFinder/ModuleFinder.php | 7 +++++-- .../DependencyViolationFinderConsole.php | 8 +++++-- .../Console/DependencyViolationFixConsole.php | 21 +++++++++++++------ 18 files changed, 96 insertions(+), 39 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonPackageNameValidator.php b/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonPackageNameValidator.php index 8f3f8669..0e7f0900 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonPackageNameValidator.php +++ b/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonPackageNameValidator.php @@ -21,8 +21,10 @@ class ComposerJsonPackageNameValidator implements ComposerJsonValidatorInterface * * @return \Generated\Shared\Transfer\ComposerJsonValidationResponseTransfer */ - public function validate(array $composerJsonArray, ComposerJsonValidationResponseTransfer $composerJsonValidationResponseTransfer): ComposerJsonValidationResponseTransfer - { + public function validate( + array $composerJsonArray, + ComposerJsonValidationResponseTransfer $composerJsonValidationResponseTransfer + ): ComposerJsonValidationResponseTransfer { $require = $composerJsonArray[static::REQUIRE] ?? []; foreach ($require as $packageName => $version) { $composerJsonValidationResponseTransfer = $this->assertPackageName($packageName, $composerJsonValidationResponseTransfer); @@ -42,8 +44,10 @@ public function validate(array $composerJsonArray, ComposerJsonValidationRespons * * @return \Generated\Shared\Transfer\ComposerJsonValidationResponseTransfer */ - protected function assertPackageName(string $packageName, ComposerJsonValidationResponseTransfer $composerJsonValidationResponseTransfer): ComposerJsonValidationResponseTransfer - { + protected function assertPackageName( + string $packageName, + ComposerJsonValidationResponseTransfer $composerJsonValidationResponseTransfer + ): ComposerJsonValidationResponseTransfer { if (mb_strtolower($packageName) !== $packageName) { $validationMessageTransfer = new ValidationMessageTransfer(); $validationMessageTransfer->setMessage(sprintf('Package name `%s` is not in valid lowercase only format.', $packageName)); diff --git a/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonUnboundRequireConstraintValidator.php b/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonUnboundRequireConstraintValidator.php index 5b940e22..0fbcbcfb 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonUnboundRequireConstraintValidator.php +++ b/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonUnboundRequireConstraintValidator.php @@ -20,8 +20,10 @@ class ComposerJsonUnboundRequireConstraintValidator implements ComposerJsonValid * * @return \Generated\Shared\Transfer\ComposerJsonValidationResponseTransfer */ - public function validate(array $composerJsonArray, ComposerJsonValidationResponseTransfer $composerJsonValidationResponseTransfer): ComposerJsonValidationResponseTransfer - { + public function validate( + array $composerJsonArray, + ComposerJsonValidationResponseTransfer $composerJsonValidationResponseTransfer + ): ComposerJsonValidationResponseTransfer { if (!isset($composerJsonArray[static::REQUIRE])) { return $composerJsonValidationResponseTransfer; } diff --git a/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonValidatorComposite.php b/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonValidatorComposite.php index 40339530..beedf8a1 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonValidatorComposite.php +++ b/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonValidatorComposite.php @@ -30,8 +30,10 @@ public function __construct(array $composerJsonValidator) * * @return \Generated\Shared\Transfer\ComposerJsonValidationResponseTransfer */ - public function validate(array $composerJsonArray, ComposerJsonValidationResponseTransfer $composerJsonValidationResponseTransfer): ComposerJsonValidationResponseTransfer - { + public function validate( + array $composerJsonArray, + ComposerJsonValidationResponseTransfer $composerJsonValidationResponseTransfer + ): ComposerJsonValidationResponseTransfer { foreach ($this->composerJsonValidator as $composerJsonValidator) { $composerJsonValidationResponseTransfer = $composerJsonValidator->validate($composerJsonArray, $composerJsonValidationResponseTransfer); } diff --git a/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonValidatorInterface.php b/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonValidatorInterface.php index b801ab5e..bf4cd916 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonValidatorInterface.php +++ b/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonValidatorInterface.php @@ -17,5 +17,8 @@ interface ComposerJsonValidatorInterface * * @return \Generated\Shared\Transfer\ComposerJsonValidationResponseTransfer */ - public function validate(array $composerJsonArray, ComposerJsonValidationResponseTransfer $composerJsonValidationResponseTransfer): ComposerJsonValidationResponseTransfer; + public function validate( + array $composerJsonArray, + ComposerJsonValidationResponseTransfer $composerJsonValidationResponseTransfer + ): ComposerJsonValidationResponseTransfer; } diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/DependencyFinderInterface.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/DependencyFinderInterface.php index 16c0f840..f56f7beb 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/DependencyFinderInterface.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/DependencyFinderInterface.php @@ -30,5 +30,8 @@ public function accept(DependencyFinderContextInterface $context): bool; * * @return \Spryker\Zed\Development\Business\Dependency\DependencyContainer\DependencyContainerInterface */ - public function findDependencies(DependencyFinderContextInterface $context, DependencyContainerInterface $dependencyContainer): DependencyContainerInterface; + public function findDependencies( + DependencyFinderContextInterface $context, + DependencyContainerInterface $dependencyContainer + ): DependencyContainerInterface; } diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/AtomFunctionDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/AtomFunctionDependencyFinder.php index 68caa827..2ed809de 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/AtomFunctionDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/AtomFunctionDependencyFinder.php @@ -21,8 +21,10 @@ class AtomFunctionDependencyFinder implements TwigDependencyFinderInterface * * @return \Spryker\Zed\Development\Business\Dependency\DependencyContainer\DependencyContainerInterface */ - public function checkDependencyInFile(DependencyFinderContextInterface $context, DependencyContainerInterface $dependencyContainer): DependencyContainerInterface - { + public function checkDependencyInFile( + DependencyFinderContextInterface $context, + DependencyContainerInterface $dependencyContainer + ): DependencyContainerInterface { $twigFileContent = $context->getFileInfo()->getContents(); $pregMatchResult = preg_match_all(static::TEMPLATE_FUNCTION_PATTERN, $twigFileContent, $matches, PREG_SET_ORDER); diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/MoleculeFunctionDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/MoleculeFunctionDependencyFinder.php index 43cdbd0c..0415e1e9 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/MoleculeFunctionDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/MoleculeFunctionDependencyFinder.php @@ -21,8 +21,10 @@ class MoleculeFunctionDependencyFinder implements TwigDependencyFinderInterface * * @return \Spryker\Zed\Development\Business\Dependency\DependencyContainer\DependencyContainerInterface */ - public function checkDependencyInFile(DependencyFinderContextInterface $context, DependencyContainerInterface $dependencyContainer): DependencyContainerInterface - { + public function checkDependencyInFile( + DependencyFinderContextInterface $context, + DependencyContainerInterface $dependencyContainer + ): DependencyContainerInterface { $twigFileContent = $context->getFileInfo()->getContents(); $pregMatchResult = preg_match_all(static::TEMPLATE_FUNCTION_PATTERN, $twigFileContent, $matches, PREG_SET_ORDER); diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/OrganismFunctionDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/OrganismFunctionDependencyFinder.php index 41b4fbd0..fc043f27 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/OrganismFunctionDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/OrganismFunctionDependencyFinder.php @@ -21,8 +21,10 @@ class OrganismFunctionDependencyFinder implements TwigDependencyFinderInterface * * @return \Spryker\Zed\Development\Business\Dependency\DependencyContainer\DependencyContainerInterface */ - public function checkDependencyInFile(DependencyFinderContextInterface $context, DependencyContainerInterface $dependencyContainer): DependencyContainerInterface - { + public function checkDependencyInFile( + DependencyFinderContextInterface $context, + DependencyContainerInterface $dependencyContainer + ): DependencyContainerInterface { $twigFileContent = $context->getFileInfo()->getContents(); $pregMatchResult = preg_match_all(static::TEMPLATE_FUNCTION_PATTERN, $twigFileContent, $matches, PREG_SET_ORDER); diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/TemplateFunctionDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/TemplateFunctionDependencyFinder.php index f15a750e..ee6cbfe8 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/TemplateFunctionDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/TemplateFunctionDependencyFinder.php @@ -21,8 +21,10 @@ class TemplateFunctionDependencyFinder implements TwigDependencyFinderInterface * * @return \Spryker\Zed\Development\Business\Dependency\DependencyContainer\DependencyContainerInterface */ - public function checkDependencyInFile(DependencyFinderContextInterface $context, DependencyContainerInterface $dependencyContainer): DependencyContainerInterface - { + public function checkDependencyInFile( + DependencyFinderContextInterface $context, + DependencyContainerInterface $dependencyContainer + ): DependencyContainerInterface { $twigFileContent = $context->getFileInfo()->getContents(); $pregMatchResult = preg_match_all(static::TEMPLATE_FUNCTION_PATTERN, $twigFileContent, $matches, PREG_SET_ORDER); diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/TwigDependencyFinderInterface.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/TwigDependencyFinderInterface.php index 1af1aede..d3e6ac7f 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/TwigDependencyFinderInterface.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/TwigDependencyFinderInterface.php @@ -23,5 +23,8 @@ public function getType(): string; * * @return \Spryker\Zed\Development\Business\Dependency\DependencyContainer\DependencyContainerInterface */ - public function checkDependencyInFile(DependencyFinderContextInterface $context, DependencyContainerInterface $dependencyContainer): DependencyContainerInterface; + public function checkDependencyInFile( + DependencyFinderContextInterface $context, + DependencyContainerInterface $dependencyContainer + ): DependencyContainerInterface; } diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/ViewFunctionDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/ViewFunctionDependencyFinder.php index 8a65f91c..05edca3b 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/ViewFunctionDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/ViewFunctionDependencyFinder.php @@ -21,8 +21,10 @@ class ViewFunctionDependencyFinder implements TwigDependencyFinderInterface * * @return \Spryker\Zed\Development\Business\Dependency\DependencyContainer\DependencyContainerInterface */ - public function checkDependencyInFile(DependencyFinderContextInterface $context, DependencyContainerInterface $dependencyContainer): DependencyContainerInterface - { + public function checkDependencyInFile( + DependencyFinderContextInterface $context, + DependencyContainerInterface $dependencyContainer + ): DependencyContainerInterface { $twigFileContent = $context->getFileInfo()->getContents(); $pregMatchResult = preg_match_all(static::TEMPLATE_FUNCTION_PATTERN, $twigFileContent, $matches, PREG_SET_ORDER); diff --git a/src/Spryker/Zed/Development/Business/Dependency/ModuleDependencyParser.php b/src/Spryker/Zed/Development/Business/Dependency/ModuleDependencyParser.php index f0b086eb..9e515254 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/ModuleDependencyParser.php +++ b/src/Spryker/Zed/Development/Business/Dependency/ModuleDependencyParser.php @@ -39,8 +39,11 @@ class ModuleDependencyParser implements ModuleDependencyParserInterface * @param \Spryker\Zed\Development\Business\Dependency\DependencyContainer\DependencyContainerInterface $dependencyContainer * @param \Spryker\Zed\Development\Business\Dependency\DependencyFinder\DependencyFinderInterface $dependencyFinder */ - public function __construct(ModuleFileFinderInterface $moduleFileFinder, DependencyContainerInterface $dependencyContainer, DependencyFinderInterface $dependencyFinder) - { + public function __construct( + ModuleFileFinderInterface $moduleFileFinder, + DependencyContainerInterface $dependencyContainer, + DependencyFinderInterface $dependencyFinder + ) { $this->moduleFileFinder = $moduleFileFinder; $this->dependencyContainer = $dependencyContainer; $this->dependencyFinder = $dependencyFinder; diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php index 64e67db4..46904f0d 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php @@ -49,8 +49,13 @@ class OutgoingGraphBuilder * @param \Spryker\Zed\Development\Business\Dependency\ManagerInterface $dependencyManager * @param array $bundlesToFilter */ - public function __construct($bundleName, GraphPlugin $graph, ModuleDependencyParserInterface $moduleDependencyParser, ManagerInterface $dependencyManager, array $bundlesToFilter = []) - { + public function __construct( + $bundleName, + GraphPlugin $graph, + ModuleDependencyParserInterface $moduleDependencyParser, + ManagerInterface $dependencyManager, + array $bundlesToFilter = [] + ) { $this->bundleName = $bundleName; $this->graph = $graph; $this->moduleDependencyParser = $moduleDependencyParser; diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/ViolationChecker/DependencyViolationChecker.php b/src/Spryker/Zed/Development/Business/DependencyTree/ViolationChecker/DependencyViolationChecker.php index eef6d40c..6e992bd3 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/ViolationChecker/DependencyViolationChecker.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/ViolationChecker/DependencyViolationChecker.php @@ -42,8 +42,11 @@ class DependencyViolationChecker implements DependencyViolationCheckerInterface * @param \Spryker\Zed\Development\Business\DependencyTree\ViolationFinder\ViolationFinderInterface $violationFinder * @param \Spryker\Zed\Development\Business\DependencyTree\DependencyFilter\DependencyFilterInterface $dependencyFilter */ - public function __construct(DependencyTreeReaderInterface $treeReader, ViolationFinderInterface $violationFinder, DependencyFilterInterface $dependencyFilter) - { + public function __construct( + DependencyTreeReaderInterface $treeReader, + ViolationFinderInterface $violationFinder, + DependencyFilterInterface $dependencyFilter + ) { $this->treeReader = $treeReader; $this->violationFinder = $violationFinder; $this->dependencyFilter = $dependencyFilter; diff --git a/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php b/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php index 35b79668..0ad6b764 100644 --- a/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php +++ b/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php @@ -85,8 +85,11 @@ protected function addPluginUsageInModuleApplications( * * @return \Generated\Shared\Transfer\DependencyProviderCollectionTransfer */ - protected function addPluginUsageInModule(ModuleTransfer $moduleTransfer, ApplicationTransfer $applicationTransfer, DependencyProviderCollectionTransfer $dependencyProviderCollectionTransfer) - { + protected function addPluginUsageInModule( + ModuleTransfer $moduleTransfer, + ApplicationTransfer $applicationTransfer, + DependencyProviderCollectionTransfer $dependencyProviderCollectionTransfer + ) { $finder = $this->getFinderForModule( $this->getPath($moduleTransfer, $applicationTransfer) ); diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php b/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php index 8cca3bd9..753e28c1 100644 --- a/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php +++ b/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php @@ -115,8 +115,11 @@ protected function getStandaloneModuleFinder(): Finder * * @return \Generated\Shared\Transfer\ModuleTransfer[] */ - protected function addModuleToCollection(ModuleTransfer $moduleTransfer, array $moduleTransferCollection, ?ModuleFilterTransfer $moduleFilterTransfer = null): array - { + protected function addModuleToCollection( + ModuleTransfer $moduleTransfer, + array $moduleTransferCollection, + ?ModuleFilterTransfer $moduleFilterTransfer = null + ): array { if ($moduleFilterTransfer !== null && !$this->moduleMatcher->matches($moduleTransfer, $moduleFilterTransfer)) { return $moduleTransferCollection; } diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php index 024a0b44..854bc305 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php @@ -142,8 +142,12 @@ protected function describeDependencies(ArrayObject $moduleDependencyTransferCol * * @return void */ - protected function printDependencyViolationErrors(string $moduleToValidate, ArrayObject $moduleDependencyTransferCollection, OutputInterface $output, ?string $dependencyType = null): void - { + protected function printDependencyViolationErrors( + string $moduleToValidate, + ArrayObject $moduleDependencyTransferCollection, + OutputInterface $output, + ?string $dependencyType = null + ): void { $tableRows = []; foreach ($moduleDependencyTransferCollection as $moduleDependencyTransfer) { if ($dependencyType !== null && !in_array($dependencyType, $moduleDependencyTransfer->getDependencyTypes())) { diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php index b4d6a809..66c8020e 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php @@ -175,8 +175,11 @@ protected function fixDependencyViolations(ModuleDependencyTransfer $moduleDepen * * @return array */ - protected function fixDependencyViolationsInRequire(ValidationMessageTransfer $validationMessageTransfer, array $composerJsonArray, string $composerName): array - { + protected function fixDependencyViolationsInRequire( + ValidationMessageTransfer $validationMessageTransfer, + array $composerJsonArray, + string $composerName + ): array { if ($validationMessageTransfer->getFixType() === ValidationRuleInterface::ADD_REQUIRE) { $composerJsonArray['require'][$composerName] = '*'; $this->writeIfVerbose(sprintf('%s added to require', $composerName)); @@ -196,8 +199,11 @@ protected function fixDependencyViolationsInRequire(ValidationMessageTransfer $v * * @return array */ - protected function fixDependencyViolationsInRequireDev(ValidationMessageTransfer $validationMessageTransfer, array $composerJsonArray, string $composerName): array - { + protected function fixDependencyViolationsInRequireDev( + ValidationMessageTransfer $validationMessageTransfer, + array $composerJsonArray, + string $composerName + ): array { if ($validationMessageTransfer->getFixType() === ValidationRuleInterface::ADD_REQUIRE_DEV) { $composerJsonArray['require-dev'][$composerName] = '*'; $this->writeIfVerbose(sprintf('%s added to require-dev', $composerName)); @@ -217,8 +223,11 @@ protected function fixDependencyViolationsInRequireDev(ValidationMessageTransfer * * @return array */ - protected function fixDependencyViolationsInSuggest(ValidationMessageTransfer $validationMessageTransfer, array $composerJsonArray, string $composerName): array - { + protected function fixDependencyViolationsInSuggest( + ValidationMessageTransfer $validationMessageTransfer, + array $composerJsonArray, + string $composerName + ): array { if ($validationMessageTransfer->getFixType() === ValidationRuleInterface::ADD_SUGGEST) { $composerJsonArray['suggest'][$composerName] = 'ADD SUGGEST DESCRIPTION'; $this->writeIfVerbose(sprintf('%s added to suggests', $composerName)); From f372e0b3f1f54bd02c370c29f019cd93acf59b57 Mon Sep 17 00:00:00 2001 From: mscherer Date: Fri, 13 Mar 2020 15:36:39 +0100 Subject: [PATCH 123/336] Fix CS where array return type is ...[] type. --- .../Zed/Development/Business/DevelopmentBusinessFactory.php | 2 +- src/Spryker/Zed/Development/Business/DevelopmentFacade.php | 4 ++-- .../Zed/Development/Business/DevelopmentFacadeInterface.php | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index 5c24e3eb..a52cad3d 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -1424,7 +1424,7 @@ protected function createDependencyTreeFilter() } /** - * @return array + * @return string[] */ public function getEngineBundleList() { diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php index 66dd1345..c9d2f31e 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php @@ -313,7 +313,7 @@ public function getDependencyViolations() * * @api * - * @return array + * @return string[] */ public function getEngineModuleList() { @@ -540,7 +540,7 @@ public function getInProjectDependencyProviderUsedPlugins(?ModuleFilterTransfer * * @param \Generated\Shared\Transfer\ModuleFilterTransfer|null $moduleFilterTransfer * - * @return array + * @return \Generated\Shared\Transfer\ModuleTransfer[] */ public function getProjectModules(?ModuleFilterTransfer $moduleFilterTransfer = null): array { diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php index 6abafaf1..b3aeb355 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php @@ -225,7 +225,7 @@ public function getDependencyViolations(); /** * @api * - * @return array + * @return string[] */ public function getEngineModuleList(); @@ -404,7 +404,7 @@ public function getInProjectDependencyProviderUsedPlugins(?ModuleFilterTransfer * * @param \Generated\Shared\Transfer\ModuleFilterTransfer|null $moduleFilterTransfer * - * @return array + * @return \Generated\Shared\Transfer\ModuleTransfer[] */ public function getProjectModules(?ModuleFilterTransfer $moduleFilterTransfer = null): array; From 754c3b3fe765fa95ad3eee7340f991f5fb220e35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Tue, 11 Feb 2020 15:50:36 +0000 Subject: [PATCH 124/336] TE-5015 Use VirtualFilesystemHelper for isolated module test, added webmozart glob to be able to use stream wrapper. TE-5015 Added spryker/util-glob module. TE-5015 Use UtilGlob, added new definition finder, deprecated old TransferDefinitionFinder. --- src/Spryker/Zed/Development/DevelopmentConfig.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 17eb13bd..85b61d12 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -322,6 +322,7 @@ public function getExternalToInternalNamespaceMap() 'Doctrine\\Common\\Inflector' => 'spryker/doctrine-inflector', 'JsonPath\\' => 'spryker/json-path', 'JsonSchema\\' => 'spryker/json-schema', + 'Webmozart\\Glob' => 'spryker/util-glob', ]; } @@ -351,6 +352,7 @@ public function getExternalToInternalMap() 'egulias/email-validator' => 'spryker/egulias', 'ramsey/uuid' => 'spryker/ramsey-uuid', 'doctrine/inflector' => 'spryker/doctrine-inflector', + 'webmozart/glob' => 'spryker/util-glob', ]; } From 8f47c3e3679844650d574333c3766481d1aa3222 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Mon, 23 Mar 2020 05:48:56 +0000 Subject: [PATCH 125/336] TE-5023 Fixed Development test. --- codeception.yml | 9 ++++----- .../Business/CodeStyleSniffer/CodeStyleSnifferTest.php | 4 +++- tests/SprykerTest/Zed/Development/codeception.yml | 1 - 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/codeception.yml b/codeception.yml index d8193171..0f1f5c47 100644 --- a/codeception.yml +++ b/codeception.yml @@ -2,13 +2,12 @@ namespace: SprykerTest include: - tests/SprykerTest/Zed/Development paths: - tests: tests + tests: tests/ support: . - log: tests/_output - data: tests/_data - envs: tests/_envs + log: tests/_output/ + data: tests/_data/ + envs: tests/_envs/ settings: - bootstrap: _bootstrap.php suite_class: \PHPUnit\Framework\TestSuite colors: true memory_limit: 1024M diff --git a/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php b/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php index fb430df8..9482a396 100644 --- a/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php +++ b/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php @@ -8,6 +8,7 @@ namespace SprykerTest\Zed\Development\Business\CodeStyleSniffer; use Codeception\Test\Unit; +use Spryker\Shared\Kernel\KernelConstants; use Spryker\Zed\Development\Business\CodeStyleSniffer\CodeStyleSniffer; /** @@ -74,8 +75,9 @@ public function testCheckCodeStyleRunsCommandInProject(): void */ public function testCheckCodeStyleRunsCommandInProjectModule(): void { + $this->tester->setConfig(KernelConstants::PROJECT_NAMESPACES, ['Pyz']); $options = ['ignore' => 'vendor/'] + $this->defaultOptions; - $pathToApplicationRoot = APPLICATION_ROOT_DIR . '/src/Pyz/Zed/Development/'; + $pathToApplicationRoot = rtrim(APPLICATION_ROOT_DIR) . '/src/Pyz/Zed/Development/'; $codeStyleSnifferMock = $this->getCodeStyleSnifferMock($pathToApplicationRoot, $options); $codeStyleSnifferMock->checkCodeStyle('Development', $options); diff --git a/tests/SprykerTest/Zed/Development/codeception.yml b/tests/SprykerTest/Zed/Development/codeception.yml index a008f7f4..003d05bf 100644 --- a/tests/SprykerTest/Zed/Development/codeception.yml +++ b/tests/SprykerTest/Zed/Development/codeception.yml @@ -16,7 +16,6 @@ suites: class_name: DevelopmentBusinessTester modules: enabled: - - Asserts - Filesystem - \SprykerTest\Shared\Testify\Helper\Environment - \SprykerTest\Shared\Testify\Helper\ConfigHelper From eb62d7d3ed6ddac33e0aae6a2aea8daabe9cdb83 Mon Sep 17 00:00:00 2001 From: Roberto Filippone Date: Mon, 30 Mar 2020 16:27:06 +0200 Subject: [PATCH 126/336] TE-4671: PR fixes --- .../Business/DevelopmentFacadeInterface.php | 10 +++++----- .../Remover/TargetDirectoryResolver.php | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php index 45276a02..c759e9c6 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php @@ -266,7 +266,7 @@ public function generateYvesIdeAutoCompletion(); /** * Specification: - * - Removes Yves Ide autocompletion files + * - Removes Yves IDE autocompletion files * * @api * @@ -283,7 +283,7 @@ public function generateZedIdeAutoCompletion(); /** * Specification: - * - Removes Zed Ide autocompletion files + * - Removes Zed IDE autocompletion files * * @api * @@ -300,7 +300,7 @@ public function generateClientIdeAutoCompletion(); /** * Specification: - * - Removes Client Ide autocompletion files + * - Removes Client IDE autocompletion files * * @api * @@ -317,7 +317,7 @@ public function generateServiceIdeAutoCompletion(); /** * Specification: - * - Removes Service Ide autocompletion files + * - Removes Service IDE autocompletion files * * @api * @@ -334,7 +334,7 @@ public function generateGlueIdeAutoCompletion(); /** * Specification: - * - Removes Glue Ide autocompletion files + * - Removes Glue IDE autocompletion files * * @api * diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/TargetDirectoryResolver.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/TargetDirectoryResolver.php index 6b88a06a..5b4ad87d 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/TargetDirectoryResolver.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/TargetDirectoryResolver.php @@ -58,7 +58,7 @@ public function resolveTargetDirectory(string $application): string * * @throws \InvalidArgumentException * - * @return array + * @return string[] */ private function getOptions(string $application): array { From d576eb3576a788037f264c1da93ce8b644658f85 Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 3 Apr 2020 15:38:37 +0000 Subject: [PATCH 127/336] chore(git): remove *.ts files from binary list --- .gitattributes | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitattributes b/.gitattributes index 190377b3..2a48adb9 100644 --- a/.gitattributes +++ b/.gitattributes @@ -17,7 +17,6 @@ *.mo binary *.pdf binary *.xsd binary -*.ts binary *.exe binary # Remove files for archives generated using `git archive` From f7a7c2aaea90f4d9ab768e55d745f2301331b724 Mon Sep 17 00:00:00 2001 From: mscherer Date: Mon, 6 Apr 2020 14:44:50 +0200 Subject: [PATCH 128/336] Fix .gitattributes files. --- .../Business/CodeBuilder/Module/Templates/.gitattributes.tpl | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl index b6d4f724..7c85c52b 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl @@ -17,7 +17,6 @@ *.mo binary *.pdf binary *.xsd binary -*.ts binary *.exe binary # Remove files for archives generated using `git archive` From 20348d8c9e82d2bf53ac40b1838624d8483b885b Mon Sep 17 00:00:00 2001 From: mscherer Date: Mon, 20 Apr 2020 18:48:47 +0200 Subject: [PATCH 129/336] Prefer simple quotes where possible. --- .../Communication/Console/GenerateIdeAutoCompletionConsole.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php index 7bd2ce2c..68f06671 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php @@ -72,7 +72,7 @@ public function execute(InputInterface $input, OutputInterface $output) protected function showCommandNotFoundMessage(string $commandName): void { $message = "Can not find $commandName in your project." . PHP_EOL; - $message .= "You can fix this by adding the missing command to your project ConsoleDependencyProvider."; + $message .= 'You can fix this by adding the missing command to your project ConsoleDependencyProvider.'; $this->output->writeln("$message"); } } From a108aef1e204e0b85a163404de4f0f2a39647b42 Mon Sep 17 00:00:00 2001 From: Anton Zubariev Date: Thu, 30 Apr 2020 09:04:28 +0300 Subject: [PATCH 130/336] [TE-4708] Fix PHPStan 0.12 issues --- .../Composer/Updater/RequireExternalUpdater.php | 12 ++++++++++-- .../DependencyHydrator/PackageVersionHydrator.php | 12 ++++++++++-- .../Console/DependencyTreeBuilderConsole.php | 2 ++ .../Console/DependencyViolationFixConsole.php | 2 ++ .../GenerateClientIdeAutoCompletionConsole.php | 2 ++ .../Console/GenerateGlueIdeAutoCompletionConsole.php | 2 ++ .../GenerateServiceIdeAutoCompletionConsole.php | 2 ++ .../Console/GenerateYvesIdeAutoCompletionConsole.php | 2 ++ .../Console/GenerateZedIdeAutoCompletionConsole.php | 2 ++ 9 files changed, 34 insertions(+), 4 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php index 2a1e119c..49213668 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php @@ -108,7 +108,13 @@ protected function getExternalModules($bundleName) $dependency[DependencyTree::META_MODULE] === $bundleName && !in_array($dependency[DependencyTree::META_COMPOSER_NAME], $this->ignorableDependencies) ) { - $dependentModules[] = $this->mapExternalToInternal($dependency[DependencyTree::META_COMPOSER_NAME]); + $dependentModule = $this->mapExternalToInternal($dependency[DependencyTree::META_COMPOSER_NAME]); + + if ($dependentModule === null) { + continue; + } + + $dependentModules[] = $dependentModule; } } $dependentModules = array_unique($dependentModules); @@ -120,7 +126,7 @@ protected function getExternalModules($bundleName) /** * @param string $composerName * - * @return string + * @return string|null */ protected function mapExternalToInternal($composerName) { @@ -133,5 +139,7 @@ protected function mapExternalToInternal($composerName) return $internal; } } + + return null; } } diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageVersionHydrator.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageVersionHydrator.php index b0b3a14b..0360b4ee 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageVersionHydrator.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageVersionHydrator.php @@ -34,13 +34,19 @@ public function __construct(array $installedPackages) */ public function hydrate(array &$dependency) { - $dependency[DependencyTree::META_COMPOSER_VERSION] = $this->getComposerVersion($dependency); + $composerVersion = $this->getComposerVersion($dependency); + + if ($composerVersion === null) { + return; + } + + $dependency[DependencyTree::META_COMPOSER_VERSION] = $composerVersion; } /** * @param array $dependency * - * @return bool|string + * @return bool|string|null */ private function getComposerVersion(array $dependency) { @@ -53,5 +59,7 @@ private function getComposerVersion(array $dependency) return $installedPackage[static::VERSION]; } } + + return null; } } diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php index ac4ba4fa..060f40d1 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php @@ -60,5 +60,7 @@ public function execute(InputInterface $input, OutputInterface $output) $this->info('Build dependency tree.'); $this->getFacade()->buildDependencyTree($module); + + return static::CODE_SUCCESS; } } diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php index 66c8020e..e7cecb62 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php @@ -63,6 +63,8 @@ public function execute(InputInterface $input, OutputInterface $output) } $this->executeModuleTransfer($moduleTransfer); } + + return static::CODE_SUCCESS; } /** diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateClientIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateClientIdeAutoCompletionConsole.php index aa200a70..51ef98d7 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateClientIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateClientIdeAutoCompletionConsole.php @@ -43,5 +43,7 @@ public function execute(InputInterface $input, OutputInterface $output) $this->getFacade()->generateClientIdeAutoCompletion(); $this->info('Generated Client IDE auto-completion files'); + + return static::CODE_SUCCESS; } } diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateGlueIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateGlueIdeAutoCompletionConsole.php index db56728e..fa9078e7 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateGlueIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateGlueIdeAutoCompletionConsole.php @@ -43,5 +43,7 @@ public function execute(InputInterface $input, OutputInterface $output) $this->getFacade()->generateGlueIdeAutoCompletion(); $this->info('Generated Glue IDE auto-completion files'); + + return static::CODE_SUCCESS; } } diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateServiceIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateServiceIdeAutoCompletionConsole.php index 39949c3c..b91e24c9 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateServiceIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateServiceIdeAutoCompletionConsole.php @@ -43,5 +43,7 @@ public function execute(InputInterface $input, OutputInterface $output) $this->getFacade()->generateServiceIdeAutoCompletion(); $this->info('Generated Service IDE auto-completion files'); + + return static::CODE_SUCCESS; } } diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateYvesIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateYvesIdeAutoCompletionConsole.php index a3a96030..e4a08894 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateYvesIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateYvesIdeAutoCompletionConsole.php @@ -43,5 +43,7 @@ public function execute(InputInterface $input, OutputInterface $output) $this->getFacade()->generateYvesIdeAutoCompletion(); $this->info('Generated Yves IDE auto-completion files'); + + return static::CODE_SUCCESS; } } diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateZedIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateZedIdeAutoCompletionConsole.php index 2af7df92..02ece788 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateZedIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateZedIdeAutoCompletionConsole.php @@ -43,5 +43,7 @@ public function execute(InputInterface $input, OutputInterface $output) $this->getFacade()->generateZedIdeAutoCompletion(); $this->info('Generated Zed IDE auto-completion files'); + + return static::CODE_SUCCESS; } } From 5ba99854e781199d055eae68ba5e4c76b9142168 Mon Sep 17 00:00:00 2001 From: mscherer Date: Mon, 4 May 2020 15:33:01 +0200 Subject: [PATCH 131/336] TE-4708 Fix phpstan issues for 0.12 compatibility. --- .../Business/ArchitectureSniffer/AllBundleFinder.php | 3 ++- src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php index 61a694ad..e5b6ec16 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php @@ -79,7 +79,8 @@ protected function findBundles($path, $namespace, array $allBundles) $directories = (new Finder()) ->directories() ->in($path) - ->depth('== 0'); + ->depth('== 0') + ->sortByName(); } catch (InvalidArgumentException $e) { // ~ Directory does not exist. It's not an error. return $allBundles; diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index c3680982..0f034f6f 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -404,7 +404,8 @@ protected function getCoreModules($path) $directories = (new Finder()) ->directories() ->in($path) - ->depth('== 0'); + ->depth('== 0') + ->sortByName(); $modules = []; foreach ($directories as $dir) { From 80cfe2256b8961aabfa22e4cc6e6d74bf0956651 Mon Sep 17 00:00:00 2001 From: mscherer Date: Mon, 4 May 2020 18:17:41 +0200 Subject: [PATCH 132/336] TE-4708 Fix phpstan issues for 0.12 compatibility. --- phpstan.neon | 7 ++++--- .../Business/PhpMd/Rules/Naming/ShortVariable.php | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/phpstan.neon b/phpstan.neon index a9f2469b..3a7f0914 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -1,5 +1,6 @@ parameters: ignoreErrors: - - '#Constant T_SEMICOLON not found.#' - - '#Constant T_OPEN_PARENTHESIS not found.#' - - '#Constant T_OPEN_SQUARE_BRACKET not found.#' + - '#Constant T_SEMICOLON not found.#' + - '#Constant T_OPEN_PARENTHESIS not found.#' + - '#Constant T_OPEN_SQUARE_BRACKET not found.#' + - '#Call to an undefined method ReflectionType::getName\(\)#' diff --git a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Naming/ShortVariable.php b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Naming/ShortVariable.php index 5c154f32..293bdb01 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Naming/ShortVariable.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Naming/ShortVariable.php @@ -128,6 +128,7 @@ private function isNameAllowedInContext(AbstractNode $node) */ private function isChildOf(AbstractNode $node, $type) { + /** @var object|null $parent */ $parent = $node->getParent(); while (is_object($parent)) { if ($parent->isInstanceOf($type)) { From e354987246a859d80054e3e8bb9874a2f1386b6b Mon Sep 17 00:00:00 2001 From: Anton Zubariev Date: Tue, 5 May 2020 19:35:18 +0300 Subject: [PATCH 133/336] [TE-4708] PHPStan progress bar added --- .../Business/Phpstan/PhpstanRunner.php | 51 ++++++++++++++++--- 1 file changed, 45 insertions(+), 6 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index 0f034f6f..799f7e31 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -13,7 +13,9 @@ use Spryker\Zed\Development\Business\Phpstan\Config\PhpstanConfigFileManagerInterface; use Spryker\Zed\Development\Business\Traits\PathTrait; use Spryker\Zed\Development\DevelopmentConfig; +use Symfony\Component\Console\Helper\ProgressBar; use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\NullOutput; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Finder\Finder; use Symfony\Component\Process\Process; @@ -108,13 +110,21 @@ public function run(InputInterface $input, OutputInterface $output) asort($paths); + $progressBar = $this->getProgressBar($output, $total); + foreach ($paths as $path => $configFilePath) { - $resultCode |= $this->runCommand($path, $configFilePath, $input, $output); + $progressBar->advance(); + + $resultCode |= $this->runCommand($path, $configFilePath, $input, $output, $progressBar); $count++; - if ($input->getOption(static::OPTION_VERBOSE)) { + + if ($output->isVeryVerbose()) { $output->writeln(sprintf('Finished %s/%s.', $count, $total)); } } + + $progressBar->finish(); + if ($this->getErrorCount()) { $output->writeln('Total errors found: ' . $this->errorCount . ''); } @@ -122,6 +132,26 @@ public function run(InputInterface $input, OutputInterface $output) return $resultCode; } + /** + * @param \Symfony\Component\Console\Output\OutputInterface $output + * @param int $stepsCount + * + * @return \Symfony\Component\Console\Helper\ProgressBar + */ + protected function getProgressBar(OutputInterface $output, int $stepsCount): ProgressBar + { + $progressBarOutput = new NullOutput(); + + if ($output->getVerbosity() === OutputInterface::VERBOSITY_VERBOSE) { + $progressBarOutput = $output->section(); + } + + $progressBar = new ProgressBar($progressBarOutput, $stepsCount); + $progressBar->setFormat('normal'); + + return $progressBar; + } + /** * @return int */ @@ -135,11 +165,17 @@ protected function getErrorCount(): int * @param string $configFilePath * @param \Symfony\Component\Console\Input\InputInterface $input * @param \Symfony\Component\Console\Output\OutputInterface $output + * @param \Symfony\Component\Console\Helper\ProgressBar $progressBar * * @return int Exit code */ - protected function runCommand($path, $configFilePath, InputInterface $input, OutputInterface $output) - { + protected function runCommand( + $path, + $configFilePath, + InputInterface $input, + OutputInterface $output, + ProgressBar $progressBar + ) { $command = 'php -d memory_limit=%s vendor/bin/phpstan analyze --no-progress -c %s %s -l %s'; $defaultLevel = $this->getDefaultLevel($path, $configFilePath); @@ -164,7 +200,7 @@ protected function runCommand($path, $configFilePath, InputInterface $input, Out return static::CODE_SUCCESS; } - if ($output->isVerbose()) { + if ($output->isVeryVerbose()) { $output->writeln(sprintf('Checking %s (level %s)', $path, $level)); } @@ -172,7 +208,7 @@ protected function runCommand($path, $configFilePath, InputInterface $input, Out $processOutputBuffer = ''; - $process->run(function ($type, $buffer) use ($output, &$processOutputBuffer) { + $process->run(function ($type, $buffer) use ($output, $progressBar, &$processOutputBuffer) { $this->addErrors($buffer); preg_match('#\[ERROR\] Found (\d+) error#i', $buffer, $matches); @@ -183,10 +219,13 @@ protected function runCommand($path, $configFilePath, InputInterface $input, Out } $processOutputBuffer .= $buffer; + $progressBar->clear(); $output->write($processOutputBuffer); + $progressBar->display(); $processOutputBuffer = ''; }); + if ($this->phpstanConfigFileManager->isMergedConfigFile($configFilePath)) { $this->phpstanConfigFileManager->deleteConfigFile($configFilePath); } From 550060923723c8a05dba0c0099c2ce82cecba6d7 Mon Sep 17 00:00:00 2001 From: Anton Zubariev Date: Wed, 6 May 2020 14:26:42 +0300 Subject: [PATCH 134/336] [TE-4708] PHPStan progress bar added frequency --- .../Development/Business/Phpstan/PhpstanRunner.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index 799f7e31..1d9b6c28 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -38,6 +38,9 @@ class PhpstanRunner implements PhpstanRunnerInterface public const OPTION_VERBOSE = 'verbose'; public const OPTION_MODULE = 'module'; + protected const PROGRESS_BAR_FREQUENCY = 50; + protected const PROGRESS_BAR_SECONDS_FORCE_REDRAW = 5 * 60; + /** * @var \Spryker\Zed\Development\DevelopmentConfig */ @@ -111,6 +114,9 @@ public function run(InputInterface $input, OutputInterface $output) asort($paths); $progressBar = $this->getProgressBar($output, $total); + $progressBar->setRedrawFrequency(static::PROGRESS_BAR_FREQUENCY); + $progressBar->maxSecondsBetweenRedraws(static::PROGRESS_BAR_SECONDS_FORCE_REDRAW); + $progressBar->display(); foreach ($paths as $path => $configFilePath) { $progressBar->advance(); @@ -118,7 +124,7 @@ public function run(InputInterface $input, OutputInterface $output) $resultCode |= $this->runCommand($path, $configFilePath, $input, $output, $progressBar); $count++; - if ($output->isVeryVerbose()) { + if ($output->isVerbose()) { $output->writeln(sprintf('Finished %s/%s.', $count, $total)); } } @@ -142,7 +148,7 @@ protected function getProgressBar(OutputInterface $output, int $stepsCount): Pro { $progressBarOutput = new NullOutput(); - if ($output->getVerbosity() === OutputInterface::VERBOSITY_VERBOSE) { + if ($output->getVerbosity() === OutputInterface::VERBOSITY_NORMAL) { $progressBarOutput = $output->section(); } @@ -200,7 +206,7 @@ protected function runCommand( return static::CODE_SUCCESS; } - if ($output->isVeryVerbose()) { + if ($output->isVerbose()) { $output->writeln(sprintf('Checking %s (level %s)', $path, $level)); } From 7d5c45647f859274df1d8d2db0ecadd13243f4ac Mon Sep 17 00:00:00 2001 From: Anton Zubariev Date: Wed, 6 May 2020 15:42:26 +0300 Subject: [PATCH 135/336] [TE-4708] PHPStan progress bar fixed --- .../Business/Phpstan/PhpstanRunner.php | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index 1d9b6c28..8d97c4a0 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -15,6 +15,7 @@ use Spryker\Zed\Development\DevelopmentConfig; use Symfony\Component\Console\Helper\ProgressBar; use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\ConsoleOutputInterface; use Symfony\Component\Console\Output\NullOutput; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Finder\Finder; @@ -114,8 +115,6 @@ public function run(InputInterface $input, OutputInterface $output) asort($paths); $progressBar = $this->getProgressBar($output, $total); - $progressBar->setRedrawFrequency(static::PROGRESS_BAR_FREQUENCY); - $progressBar->maxSecondsBetweenRedraws(static::PROGRESS_BAR_SECONDS_FORCE_REDRAW); $progressBar->display(); foreach ($paths as $path => $configFilePath) { @@ -131,6 +130,10 @@ public function run(InputInterface $input, OutputInterface $output) $progressBar->finish(); + if (!$output->isDecorated() && $output->getVerbosity() === OutputInterface::VERBOSITY_NORMAL) { + $output->writeln(''); + } + if ($this->getErrorCount()) { $output->writeln('Total errors found: ' . $this->errorCount . ''); } @@ -148,12 +151,13 @@ protected function getProgressBar(OutputInterface $output, int $stepsCount): Pro { $progressBarOutput = new NullOutput(); - if ($output->getVerbosity() === OutputInterface::VERBOSITY_NORMAL) { - $progressBarOutput = $output->section(); + if ($output->getVerbosity() === OutputInterface::VERBOSITY_NORMAL && $stepsCount > 1) { + $progressBarOutput = $output instanceof ConsoleOutputInterface ? $output->section() : $output; } $progressBar = new ProgressBar($progressBarOutput, $stepsCount); - $progressBar->setFormat('normal'); + $progressBar->setRedrawFrequency(static::PROGRESS_BAR_FREQUENCY); + $progressBar->maxSecondsBetweenRedraws(static::PROGRESS_BAR_SECONDS_FORCE_REDRAW); return $progressBar; } @@ -226,6 +230,11 @@ protected function runCommand( $processOutputBuffer .= $buffer; $progressBar->clear(); + + if (!$output->isDecorated() && $output->getVerbosity() === OutputInterface::VERBOSITY_NORMAL) { + $output->writeln(''); + } + $output->write($processOutputBuffer); $progressBar->display(); $processOutputBuffer = ''; From 4dbb57003796d7d3a0a0705a22f4d18d80f6eba1 Mon Sep 17 00:00:00 2001 From: Anton Zubariev Date: Wed, 6 May 2020 16:19:22 +0300 Subject: [PATCH 136/336] [TE-4708] Removed empty line --- src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index 8d97c4a0..a5ba97fe 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -240,7 +240,6 @@ protected function runCommand( $processOutputBuffer = ''; }); - if ($this->phpstanConfigFileManager->isMergedConfigFile($configFilePath)) { $this->phpstanConfigFileManager->deleteConfigFile($configFilePath); } From 1a6af5d41fb29c6763c12c647ea1e7c198c15f9d Mon Sep 17 00:00:00 2001 From: mscherer Date: Fri, 15 May 2020 14:00:25 +0200 Subject: [PATCH 137/336] TE-5899 Fix psalm detected issues. --- .../Zed/Development/Business/Phpstan/PhpstanRunner.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index a5ba97fe..89d03771 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -218,7 +218,7 @@ protected function runCommand( $processOutputBuffer = ''; - $process->run(function ($type, $buffer) use ($output, $progressBar, &$processOutputBuffer) { + $process->run(function ($type, $buffer) use ($path, $output, $progressBar, &$processOutputBuffer) { $this->addErrors($buffer); preg_match('#\[ERROR\] Found (\d+) error#i', $buffer, $matches); @@ -236,6 +236,11 @@ protected function runCommand( } $output->write($processOutputBuffer); + if ($output->getVerbosity() === OutputInterface::VERBOSITY_NORMAL) { + $module = str_replace(getcwd() . DIRECTORY_SEPARATOR, '', $path); + $output->writeln(sprintf('Errors in module %s', $module)); + } + $progressBar->display(); $processOutputBuffer = ''; }); From 11831e387224da59e25d9e85a46a06edf23f7e31 Mon Sep 17 00:00:00 2001 From: Anton Zubariev Date: Mon, 18 May 2020 15:37:14 +0300 Subject: [PATCH 138/336] [TE-5899] Fixed PHPStan behavior for 'err' process types --- .../Business/Phpstan/PhpstanRunner.php | 74 +++++++++++++------ 1 file changed, 50 insertions(+), 24 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index 89d03771..fc7c8ee2 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -32,7 +32,7 @@ class PhpstanRunner implements PhpstanRunnerInterface public const NAMESPACE_SPRYKER = 'Spryker'; public const DEFAULT_LEVEL = 'defaultLevel'; - public const MEMORY_LIMIT = '512M'; + public const MEMORY_LIMIT = '-1'; public const CODE_SUCCESS = 0; public const OPTION_DRY_RUN = 'dry-run'; @@ -215,41 +215,67 @@ protected function runCommand( } $process = $this->getProcess($command); + $process = $this->executeAndDispatchProcess($process, $output, $progressBar, $path); - $processOutputBuffer = ''; - - $process->run(function ($type, $buffer) use ($path, $output, $progressBar, &$processOutputBuffer) { - $this->addErrors($buffer); + if ($this->phpstanConfigFileManager->isMergedConfigFile($configFilePath)) { + $this->phpstanConfigFileManager->deleteConfigFile($configFilePath); + } - preg_match('#\[ERROR\] Found (\d+) error#i', $buffer, $matches); - if (!$matches && !$output->isVeryVerbose()) { - $processOutputBuffer .= $buffer; + return $process->getExitCode(); + } - return; + /** + * @param \Symfony\Component\Process\Process $process + * @param \Symfony\Component\Console\Output\OutputInterface $output + * @param \Symfony\Component\Console\Helper\ProgressBar $progressBar + * @param string $path + * + * @return \Symfony\Component\Process\Process + */ + protected function executeAndDispatchProcess( + Process $process, + OutputInterface $output, + ProgressBar $progressBar, + string $path + ): Process { + $outputBuffer = ''; + $isAttemptSuccess = true; + + $callback = function ($type, $buffer) use (&$outputBuffer, &$isAttemptSuccess) { + if ($type === Process::ERR) { + $isAttemptSuccess = false; } - $processOutputBuffer .= $buffer; - $progressBar->clear(); + $outputBuffer .= $buffer; + }; - if (!$output->isDecorated() && $output->getVerbosity() === OutputInterface::VERBOSITY_NORMAL) { - $output->writeln(''); - } + $process->run($callback); + + if ($isAttemptSuccess) { + $this->addErrors($outputBuffer); + preg_match('#\[ERROR\] Found (\d+) error#i', $outputBuffer, $matches); - $output->write($processOutputBuffer); - if ($output->getVerbosity() === OutputInterface::VERBOSITY_NORMAL) { - $module = str_replace(getcwd() . DIRECTORY_SEPARATOR, '', $path); - $output->writeln(sprintf('Errors in module %s', $module)); + if (!$matches) { + return $process; } + } - $progressBar->display(); - $processOutputBuffer = ''; - }); + $progressBar->clear(); - if ($this->phpstanConfigFileManager->isMergedConfigFile($configFilePath)) { - $this->phpstanConfigFileManager->deleteConfigFile($configFilePath); + if (!$output->isDecorated() && $output->getVerbosity() === OutputInterface::VERBOSITY_NORMAL) { + $output->writeln(''); } - return $process->getExitCode(); + $output->write($outputBuffer); + + if ($output->getVerbosity() === OutputInterface::VERBOSITY_NORMAL || !$isAttemptSuccess) { + $module = str_replace(getcwd() . DIRECTORY_SEPARATOR, '', $path); + $output->writeln(sprintf('Errors in module %s', $module)); + } + + $progressBar->display(); + + return $process; } /** From f98d5f121803516aa68ed86de23f784d7e0831e5 Mon Sep 17 00:00:00 2001 From: Anton Zubariev Date: Mon, 18 May 2020 16:22:08 +0300 Subject: [PATCH 139/336] [TE-5899] Fixed '--ansi' console output --- .../Zed/Development/Business/Phpstan/PhpstanRunner.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index fc7c8ee2..64750eb9 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -268,9 +268,13 @@ protected function executeAndDispatchProcess( $output->write($outputBuffer); - if ($output->getVerbosity() === OutputInterface::VERBOSITY_NORMAL || !$isAttemptSuccess) { + if ($output->getVerbosity() === OutputInterface::VERBOSITY_NORMAL) { $module = str_replace(getcwd() . DIRECTORY_SEPARATOR, '', $path); $output->writeln(sprintf('Errors in module %s', $module)); + + if ($output->isDecorated()) { + $output->writeln(''); + } } $progressBar->display(); From 3921668828db2a78c27e7a3aa3c6d4993f071d19 Mon Sep 17 00:00:00 2001 From: mscherer Date: Tue, 19 May 2020 14:20:34 +0200 Subject: [PATCH 140/336] Refactor deprecations to clickable links. --- src/Spryker/Zed/Development/DevelopmentConfig.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 85b61d12..e3651279 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -132,7 +132,7 @@ public function getApplicationNamespaces() /** * @api * - * @deprecated Use \Spryker\Zed\Development\Business\Module\PathBuilder\SprykerModulePathBuilder::buildPath() instead. + * @deprecated Use {@link \Spryker\Zed\Development\Business\Module\PathBuilder\SprykerModulePathBuilder::buildPath()} instead. * * Gets path to Spryker core modules. * @@ -152,7 +152,7 @@ public function getPathToCore() /** * @api * - * @deprecated Use \Spryker\Zed\Development\Business\Module\PathBuilder\SprykerSdkPathBuilder::buildPath() instead. + * @deprecated Use {@link \Spryker\Zed\Development\Business\Module\PathBuilder\SprykerSdkPathBuilder::buildPath()} instead. * * Gets path to SprykerSdk core modules. * @@ -166,7 +166,7 @@ public function getPathToSdk() /** * @api * - * @deprecated Use \Spryker\Zed\Development\Business\Module\PathBuilder\SprykerShopModulePathBuilder::buildPath() instead. + * @deprecated Use {@link \Spryker\Zed\Development\Business\Module\PathBuilder\SprykerShopModulePathBuilder::buildPath()} instead. * * Gets path to SprykerShop core modules. * @@ -180,7 +180,7 @@ public function getPathToShop() /** * @api * - * @deprecated Use \Spryker\Zed\Development\Business\Module\PathBuilder\SprykerEcoModulePathBuilder::buildPath() instead. + * @deprecated Use {@link \Spryker\Zed\Development\Business\Module\PathBuilder\SprykerEcoModulePathBuilder::buildPath()} instead. * * Gets path to SprykerEco core modules. * From bbce543fd762d0257f005af2cb3ca2f6eec77829 Mon Sep 17 00:00:00 2001 From: mscherer Date: Tue, 19 May 2020 15:03:42 +0200 Subject: [PATCH 141/336] Refactor deprecations to clickable links. --- .../Zed/Development/Business/DevelopmentBusinessFactory.php | 2 +- src/Spryker/Zed/Development/Business/DevelopmentFacade.php | 2 +- .../Zed/Development/Business/DevelopmentFacadeInterface.php | 6 +++--- .../Console/DependencyTreeDependencyViolationConsole.php | 2 +- .../Zed/Development/Communication/Form/BundlesFormType.php | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index 596f6a44..ad4cb735 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -1935,7 +1935,7 @@ protected function createXmlReader() } /** - * @deprecated use `createAllModuleFinder` instead. + * @deprecated Use {@link createAllModuleFinder()} instead. * * @return \Spryker\Zed\Development\Business\ArchitectureSniffer\AllBundleFinderInterface */ diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php index 3c632dfb..87417eab 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php @@ -189,7 +189,7 @@ public function getAllModules() * * @api * - * @deprecated Use `getAllModules()` instead. + * @deprecated Use {@link getAllModules()} instead. * * @return array */ diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php index c759e9c6..95f626bd 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php @@ -131,7 +131,7 @@ public function showIncomingDependenciesForModule($moduleName); /** * @api * - * @deprecated Please use `getModules()` instead. + * @deprecated Use {@link getModules()} instead. * * @return array */ @@ -140,7 +140,7 @@ public function getAllModules(); /** * @api * - * @deprecated Use `getAllModules()` instead. + * @deprecated Use {@link getAllModules()} instead. * * @return array */ @@ -366,7 +366,7 @@ public function listAllModules(); /** * @api * - * @deprecated Use `listAllModules` instead. + * @deprecated Use {@link listAllModules()} instead. * * @return array */ diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyTreeDependencyViolationConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyTreeDependencyViolationConsole.php index caa661e2..6039617f 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyTreeDependencyViolationConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyTreeDependencyViolationConsole.php @@ -8,7 +8,7 @@ namespace Spryker\Zed\Development\Communication\Console; /** - * @deprecated Use `Spryker\Zed\Development\Communication\Console\DependencyViolationFinderConsole` instead. + * @deprecated Use {@link \Spryker\Zed\Development\Communication\Console\DependencyViolationFinderConsole} instead. * * @method \Spryker\Zed\Development\Business\DevelopmentFacadeInterface getFacade() */ diff --git a/src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php b/src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php index 1bc77ca2..1f36d989 100644 --- a/src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php +++ b/src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php @@ -63,7 +63,7 @@ public function getBlockPrefix() } /** - * @deprecated Use `getBlockPrefix()` instead. + * @deprecated Use {@link getBlockPrefix()} instead. * * @return string */ From 26ac0282f23403796f6179b70f4e85a42130ca6a Mon Sep 17 00:00:00 2001 From: dpodlesny Date: Thu, 28 May 2020 18:39:28 -0700 Subject: [PATCH 142/336] CC-9496 Fix Incoming dependencies --- .../Business/Dependency/Manager.php | 65 +++++++++++++++---- .../Business/Dependency/ManagerInterface.php | 2 +- .../Presentation/Dependency/incoming.twig | 4 +- 3 files changed, 55 insertions(+), 16 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Dependency/Manager.php b/src/Spryker/Zed/Development/Business/Dependency/Manager.php index afa51a09..e1c2bea9 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/Manager.php +++ b/src/Spryker/Zed/Development/Business/Dependency/Manager.php @@ -8,6 +8,7 @@ namespace Spryker\Zed\Development\Business\Dependency; use Generated\Shared\Transfer\DependencyCollectionTransfer; +use Generated\Shared\Transfer\DependencyModuleTransfer; use Generated\Shared\Transfer\ModuleTransfer; use Generated\Shared\Transfer\OrganizationTransfer; use Spryker\Zed\Development\DevelopmentConfig; @@ -42,33 +43,73 @@ public function __construct(ModuleDependencyParserInterface $moduleParser, Devel * * @return array */ - public function parseIncomingDependencies($moduleName) + public function parseIncomingDependencies(string $moduleName): array { $allForeignModules = $this->collectAllForeignModules($moduleName); $incomingDependencies = []; + foreach ($allForeignModules as $foreignModule) { - $organizationTransfer = new OrganizationTransfer(); - $organizationTransfer->setName('Spryker'); - $moduleTransfer = new ModuleTransfer(); - $moduleTransfer - ->setName($moduleName) + $organizationTransfer = (new OrganizationTransfer())->setName('Spryker'); + $moduleTransfer = (new ModuleTransfer()) + ->setName($foreignModule) ->setOrganization($organizationTransfer); $moduleDependencyCollectionTransfer = $this->moduleParser->parseOutgoingDependencies($moduleTransfer); - $dependencyModule = $this->findDependencyTo($moduleName, $moduleDependencyCollectionTransfer); - if ($dependencyModule) { - if (array_key_exists($foreignModule, $incomingDependencies) === false) { - $incomingDependencies[$foreignModule] = 0; - } - $incomingDependencies[$foreignModule] += count($dependencyModule->getDependencies()); + $dependencyModule = $this->hasDependencyTo($moduleName, $moduleDependencyCollectionTransfer); + + if ($dependencyModule === false) { + continue; } + + $incomingDependencies[] = $foreignModule; } return $incomingDependencies; } + /** + * @param string $moduleName + * @param \Generated\Shared\Transfer\DependencyCollectionTransfer $moduleDependencyCollectionTransfer + * + * @return bool + */ + protected function hasDependencyTo( + string $moduleName, + DependencyCollectionTransfer $moduleDependencyCollectionTransfer + ): bool { + foreach ($moduleDependencyCollectionTransfer->getDependencyModules() as $dependencyModule) { + if ($dependencyModule->getModule() !== $moduleName) { + continue; + } + + if ($this->isDependencyRequired($dependencyModule)) { + return true; + } + } + + return false; + } + + /** + * @param \Generated\Shared\Transfer\DependencyModuleTransfer $dependencyModule + * + * @return bool + */ + protected function isDependencyRequired(DependencyModuleTransfer $dependencyModule): bool + { + foreach ($dependencyModule->getDependencies() as $dependencyTransfer) { + if ($dependencyTransfer->getIsInTest() || $dependencyTransfer->getIsOptional()) { + continue; + } + + return true; + } + + return false; + } + /** * @param string $moduleName * @param \Generated\Shared\Transfer\DependencyCollectionTransfer $moduleDependencyCollectionTransfer diff --git a/src/Spryker/Zed/Development/Business/Dependency/ManagerInterface.php b/src/Spryker/Zed/Development/Business/Dependency/ManagerInterface.php index 3288d38c..37aefc59 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/ManagerInterface.php +++ b/src/Spryker/Zed/Development/Business/Dependency/ManagerInterface.php @@ -14,7 +14,7 @@ interface ManagerInterface * * @return array */ - public function parseIncomingDependencies($moduleName); + public function parseIncomingDependencies(string $moduleName): array; /** * @return array diff --git a/src/Spryker/Zed/Development/Presentation/Dependency/incoming.twig b/src/Spryker/Zed/Development/Presentation/Dependency/incoming.twig index 44c958ac..a30497de 100644 --- a/src/Spryker/Zed/Development/Presentation/Dependency/incoming.twig +++ b/src/Spryker/Zed/Development/Presentation/Dependency/incoming.twig @@ -5,11 +5,9 @@
{{ bundle }}{{ module.name }} - {{ 'in' | trans }}  - {{ 'out' | trans }}  - {{ 'out graph' | trans }}  - {{ 'simple' | trans }}  - {{ 'detailed' | trans }}  - {{ 'adjacency' | trans }} + {{ 'in' | trans }}  + {{ 'out' | trans }}  + {{ 'out graph' | trans }}  + {{ 'simple' | trans }}  + {{ 'detailed' | trans }}  + {{ 'adjacency' | trans }}
- - {% for count, dependency in dependencies %} + {% for dependency in dependencies %} - {% endfor %} From 26a377e2f0000a66f3eaa4dd73c20171f4ccbe91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Fri, 29 May 2020 13:08:37 +0000 Subject: [PATCH 143/336] TE-5961 Refactored all ContainerInterface array access to setter. --- .../DevelopmentDependencyProvider.php | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/Spryker/Zed/Development/DevelopmentDependencyProvider.php b/src/Spryker/Zed/Development/DevelopmentDependencyProvider.php index e68ee0b9..986e3404 100644 --- a/src/Spryker/Zed/Development/DevelopmentDependencyProvider.php +++ b/src/Spryker/Zed/Development/DevelopmentDependencyProvider.php @@ -37,29 +37,29 @@ class DevelopmentDependencyProvider extends AbstractBundleDependencyProvider */ public function provideBusinessLayerDependencies(Container $container) { - $container[static::PLUGIN_GRAPH] = function () { + $container->set(static::PLUGIN_GRAPH, function () { return $this->getGraphPlugin(); - }; + }); - $container[static::FINDER] = function () { + $container->set(static::FINDER, function () { return $this->createFinder(); - }; + }); - $container[static::FILESYSTEM] = function () { + $container->set(static::FILESYSTEM, function () { return $this->createFilesystem(); - }; + }); - $container[static::CONFIG_LOADER] = function () { + $container->set(static::CONFIG_LOADER, function () { return $this->createConfigLoader(); - }; + }); - $container[static::TWIG_ENVIRONMENT] = function () { + $container->set(static::TWIG_ENVIRONMENT, function () { return $this->createTwigEnvironment(); - }; + }); - $container[static::TWIG_LOADER_FILESYSTEM] = function () { + $container->set(static::TWIG_LOADER_FILESYSTEM, function () { return $this->createTwigLoaderFilesystem(); - }; + }); $container = $this->addModuleFinderFacade($container); From 55855acd4388bd7b0ae4cfad678c455db84d78d1 Mon Sep 17 00:00:00 2001 From: dpodlesny Date: Fri, 29 May 2020 20:40:18 -0700 Subject: [PATCH 144/336] CC-9496 Add dependencies count --- .../Transfer/development.transfer.xml | 7 ++ .../Business/Dependency/Manager.php | 81 +++++++++---------- .../Business/Dependency/ManagerInterface.php | 2 +- .../DependencyGraph/OutgoingGraphBuilder.php | 8 +- .../Presentation/Dependency/incoming.twig | 10 ++- 5 files changed, 57 insertions(+), 51 deletions(-) diff --git a/src/Spryker/Shared/Development/Transfer/development.transfer.xml b/src/Spryker/Shared/Development/Transfer/development.transfer.xml index 0f44e626..3cca30ef 100644 --- a/src/Spryker/Shared/Development/Transfer/development.transfer.xml +++ b/src/Spryker/Shared/Development/Transfer/development.transfer.xml @@ -171,4 +171,11 @@ + + + + + + + diff --git a/src/Spryker/Zed/Development/Business/Dependency/Manager.php b/src/Spryker/Zed/Development/Business/Dependency/Manager.php index e1c2bea9..af098b46 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/Manager.php +++ b/src/Spryker/Zed/Development/Business/Dependency/Manager.php @@ -9,6 +9,7 @@ use Generated\Shared\Transfer\DependencyCollectionTransfer; use Generated\Shared\Transfer\DependencyModuleTransfer; +use Generated\Shared\Transfer\ModuleDependencyViewTransfer; use Generated\Shared\Transfer\ModuleTransfer; use Generated\Shared\Transfer\OrganizationTransfer; use Spryker\Zed\Development\DevelopmentConfig; @@ -41,7 +42,7 @@ public function __construct(ModuleDependencyParserInterface $moduleParser, Devel /** * @param string $moduleName * - * @return array + * @return \Generated\Shared\Transfer\ModuleDependencyViewTransfer[] */ public function parseIncomingDependencies(string $moduleName): array { @@ -57,78 +58,70 @@ public function parseIncomingDependencies(string $moduleName): array $moduleDependencyCollectionTransfer = $this->moduleParser->parseOutgoingDependencies($moduleTransfer); - $dependencyModule = $this->hasDependencyTo($moduleName, $moduleDependencyCollectionTransfer); + $dependencyModule = $this->findDependencyTo($moduleName, $moduleDependencyCollectionTransfer); - if ($dependencyModule === false) { + if ($dependencyModule === null) { continue; } - $incomingDependencies[] = $foreignModule; + [$totalCount, $optionalCount, $testCount] = $this->collectDependencyCount($dependencyModule); + + $incomingDependencies[] = (new ModuleDependencyViewTransfer()) + ->setName($foreignModule) + ->setTotalDependencyCount($totalCount) + ->setTestDependencyCount($testCount) + ->setOptionalDependencyCount($optionalCount); } return $incomingDependencies; } /** - * @param string $moduleName - * @param \Generated\Shared\Transfer\DependencyCollectionTransfer $moduleDependencyCollectionTransfer + * @param \Generated\Shared\Transfer\DependencyModuleTransfer $dependencyModuleTransfer * - * @return bool + * @return array */ - protected function hasDependencyTo( - string $moduleName, - DependencyCollectionTransfer $moduleDependencyCollectionTransfer - ): bool { - foreach ($moduleDependencyCollectionTransfer->getDependencyModules() as $dependencyModule) { - if ($dependencyModule->getModule() !== $moduleName) { - continue; + protected function collectDependencyCount( + DependencyModuleTransfer $dependencyModuleTransfer + ): array { + $totalCount = 0; + $optionalCount = 0; + $testCount = 0; + + foreach ($dependencyModuleTransfer->getDependencies() as $dependencyTransfer) { + if ($dependencyTransfer->getIsOptional()) { + $optionalCount++; } - if ($this->isDependencyRequired($dependencyModule)) { - return true; + if ($dependencyTransfer->getIsInTest()) { + $testCount++; } - } - - return false; - } - /** - * @param \Generated\Shared\Transfer\DependencyModuleTransfer $dependencyModule - * - * @return bool - */ - protected function isDependencyRequired(DependencyModuleTransfer $dependencyModule): bool - { - foreach ($dependencyModule->getDependencies() as $dependencyTransfer) { - if ($dependencyTransfer->getIsInTest() || $dependencyTransfer->getIsOptional()) { - continue; - } - - return true; + $totalCount++; } - return false; + return [$totalCount, $optionalCount, $testCount]; } /** * @param string $moduleName * @param \Generated\Shared\Transfer\DependencyCollectionTransfer $moduleDependencyCollectionTransfer * - * @return bool|\Generated\Shared\Transfer\DependencyBundleTransfer|mixed + * @return \Generated\Shared\Transfer\DependencyModuleTransfer|null */ - protected function findDependencyTo($moduleName, DependencyCollectionTransfer $moduleDependencyCollectionTransfer) - { + protected function findDependencyTo( + string $moduleName, + DependencyCollectionTransfer $moduleDependencyCollectionTransfer + ): ?DependencyModuleTransfer { foreach ($moduleDependencyCollectionTransfer->getDependencyModules() as $dependencyModule) { - if ($dependencyModule->getModule() === $moduleName) { - foreach ($dependencyModule->getDependencies() as $dependencyTransfer) { - if (!$dependencyTransfer->getIsInTest() && !$dependencyTransfer->getIsOptional()) { - return $dependencyModule; - } - } + if ($dependencyModule->getModule() !== $moduleName) { + continue; } + + return $dependencyModule; } - return false; + return null; } /** diff --git a/src/Spryker/Zed/Development/Business/Dependency/ManagerInterface.php b/src/Spryker/Zed/Development/Business/Dependency/ManagerInterface.php index 37aefc59..df3b58e5 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/ManagerInterface.php +++ b/src/Spryker/Zed/Development/Business/Dependency/ManagerInterface.php @@ -12,7 +12,7 @@ interface ManagerInterface /** * @param string $moduleName * - * @return array + * @return \Generated\Shared\Transfer\ModuleDependencyViewTransfer[] */ public function parseIncomingDependencies(string $moduleName): array; diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php index 46904f0d..f6927b23 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php @@ -110,14 +110,14 @@ public function build($showIncomingDependencies = false) */ protected function addIncomingDependencies() { - $incomingDependencies = array_keys($this->dependencyManager->parseIncomingDependencies($this->bundleName)); + $incomingDependencies = $this->dependencyManager->parseIncomingDependencies($this->bundleName); foreach ($incomingDependencies as $incomingBundle) { $attributes = [ - 'url' => '/development/dependency/outgoing-graph?bundle=' . $incomingBundle, + 'url' => '/development/dependency/outgoing-graph?bundle=' . $incomingBundle->getName(), ]; - $this->graph->addNode($incomingBundle, $attributes); - $this->graph->addEdge($incomingBundle, $this->bundleName); + $this->graph->addNode($incomingBundle->getName(), $attributes); + $this->graph->addEdge($incomingBundle->getName(), $this->bundleName); } } diff --git a/src/Spryker/Zed/Development/Presentation/Dependency/incoming.twig b/src/Spryker/Zed/Development/Presentation/Dependency/incoming.twig index a30497de..945b2ed2 100644 --- a/src/Spryker/Zed/Development/Presentation/Dependency/incoming.twig +++ b/src/Spryker/Zed/Development/Presentation/Dependency/incoming.twig @@ -4,11 +4,17 @@

{{ "Incoming dependencies of the" | trans }} {{ bundle }} {{ "module" | trans }}

{{ 'Dependency' | trans }}{{ 'Count' | trans }}
{{ count }} {{ dependency }}
- + + + + {% for dependency in dependencies %} - + + + + {% endfor %}
{{ 'Dependency' | trans }}{{ 'Module' | trans }}{{ 'Total Count' | trans }}{{ 'Optional Count' | trans }}{{ 'Test Count' | trans }}
{{ dependency }}{{ dependency.name }}{{ dependency.totalDependencyCount }}{{ dependency.optionalDependencyCount }}{{ dependency.testDependencyCount }}
From 07f765a2830665b95ff6c5352784fbf3bf45054c Mon Sep 17 00:00:00 2001 From: dpodlesny Date: Tue, 2 Jun 2020 00:41:31 -0700 Subject: [PATCH 145/336] CC-9496 CR Fixes --- .../Transfer/development.transfer.xml | 2 +- .../Business/Dependency/Manager.php | 54 ++++++------------ .../Business/Dependency/ManagerInterface.php | 2 +- .../Mapper/DependencyModuleMapper.php | 57 +++++++++++++++++++ .../DependencyModuleMapperInterface.php | 21 +++++++ .../Business/DevelopmentBusinessFactory.php | 13 ++++- 6 files changed, 109 insertions(+), 40 deletions(-) create mode 100644 src/Spryker/Zed/Development/Business/Dependency/Mapper/DependencyModuleMapper.php create mode 100644 src/Spryker/Zed/Development/Business/Dependency/Mapper/DependencyModuleMapperInterface.php diff --git a/src/Spryker/Shared/Development/Transfer/development.transfer.xml b/src/Spryker/Shared/Development/Transfer/development.transfer.xml index 3cca30ef..8cb81533 100644 --- a/src/Spryker/Shared/Development/Transfer/development.transfer.xml +++ b/src/Spryker/Shared/Development/Transfer/development.transfer.xml @@ -171,7 +171,7 @@ - + diff --git a/src/Spryker/Zed/Development/Business/Dependency/Manager.php b/src/Spryker/Zed/Development/Business/Dependency/Manager.php index af098b46..85c940b3 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/Manager.php +++ b/src/Spryker/Zed/Development/Business/Dependency/Manager.php @@ -9,9 +9,9 @@ use Generated\Shared\Transfer\DependencyCollectionTransfer; use Generated\Shared\Transfer\DependencyModuleTransfer; -use Generated\Shared\Transfer\ModuleDependencyViewTransfer; use Generated\Shared\Transfer\ModuleTransfer; use Generated\Shared\Transfer\OrganizationTransfer; +use Spryker\Zed\Development\Business\Dependency\Mapper\DependencyModuleMapperInterface; use Spryker\Zed\Development\DevelopmentConfig; use Symfony\Component\Finder\Finder; use Zend\Filter\FilterChain; @@ -29,20 +29,30 @@ class Manager implements ManagerInterface */ protected $config; + /** + * @var \Spryker\Zed\Development\Business\Dependency\Mapper\DependencyModuleMapperInterface + */ + protected $dependencyModuleMapper; + /** * @param \Spryker\Zed\Development\Business\Dependency\ModuleDependencyParserInterface $moduleParser * @param \Spryker\Zed\Development\DevelopmentConfig $config + * @param \Spryker\Zed\Development\Business\Dependency\Mapper\DependencyModuleMapperInterface $dependencyModuleMapper */ - public function __construct(ModuleDependencyParserInterface $moduleParser, DevelopmentConfig $config) - { + public function __construct( + ModuleDependencyParserInterface $moduleParser, + DevelopmentConfig $config, + DependencyModuleMapperInterface $dependencyModuleMapper + ) { $this->moduleParser = $moduleParser; $this->config = $config; + $this->dependencyModuleMapper = $dependencyModuleMapper; } /** * @param string $moduleName * - * @return \Generated\Shared\Transfer\ModuleDependencyViewTransfer[] + * @return \Generated\Shared\Transfer\DependencyModuleViewTransfer[] */ public function parseIncomingDependencies(string $moduleName): array { @@ -64,45 +74,15 @@ public function parseIncomingDependencies(string $moduleName): array continue; } - [$totalCount, $optionalCount, $testCount] = $this->collectDependencyCount($dependencyModule); + $dependencyModuleViewTransfer = $this->dependencyModuleMapper->mapDependencyModuleTransferToDependencyModuleViewTransfer($dependencyModule); + $dependencyModuleViewTransfer->setName($foreignModule); - $incomingDependencies[] = (new ModuleDependencyViewTransfer()) - ->setName($foreignModule) - ->setTotalDependencyCount($totalCount) - ->setTestDependencyCount($testCount) - ->setOptionalDependencyCount($optionalCount); + $incomingDependencies[] = $dependencyModuleViewTransfer; } return $incomingDependencies; } - /** - * @param \Generated\Shared\Transfer\DependencyModuleTransfer $dependencyModuleTransfer - * - * @return array - */ - protected function collectDependencyCount( - DependencyModuleTransfer $dependencyModuleTransfer - ): array { - $totalCount = 0; - $optionalCount = 0; - $testCount = 0; - - foreach ($dependencyModuleTransfer->getDependencies() as $dependencyTransfer) { - if ($dependencyTransfer->getIsOptional()) { - $optionalCount++; - } - - if ($dependencyTransfer->getIsInTest()) { - $testCount++; - } - - $totalCount++; - } - - return [$totalCount, $optionalCount, $testCount]; - } - /** * @param string $moduleName * @param \Generated\Shared\Transfer\DependencyCollectionTransfer $moduleDependencyCollectionTransfer diff --git a/src/Spryker/Zed/Development/Business/Dependency/ManagerInterface.php b/src/Spryker/Zed/Development/Business/Dependency/ManagerInterface.php index df3b58e5..9b6f6621 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/ManagerInterface.php +++ b/src/Spryker/Zed/Development/Business/Dependency/ManagerInterface.php @@ -12,7 +12,7 @@ interface ManagerInterface /** * @param string $moduleName * - * @return \Generated\Shared\Transfer\ModuleDependencyViewTransfer[] + * @return \Generated\Shared\Transfer\DependencyModuleViewTransfer[] */ public function parseIncomingDependencies(string $moduleName): array; diff --git a/src/Spryker/Zed/Development/Business/Dependency/Mapper/DependencyModuleMapper.php b/src/Spryker/Zed/Development/Business/Dependency/Mapper/DependencyModuleMapper.php new file mode 100644 index 00000000..4cd48c35 --- /dev/null +++ b/src/Spryker/Zed/Development/Business/Dependency/Mapper/DependencyModuleMapper.php @@ -0,0 +1,57 @@ +collectDependencyCount($dependencyModuleTransfer); + + return (new DependencyModuleViewTransfer()) + ->setTotalDependencyCount($totalCount) + ->setTestDependencyCount($testCount) + ->setOptionalDependencyCount($optionalCount); + } + + /** + * @param \Generated\Shared\Transfer\DependencyModuleTransfer $dependencyModuleTransfer + * + * @return int[] + */ + protected function collectDependencyCount( + DependencyModuleTransfer $dependencyModuleTransfer + ): array { + $totalCount = 0; + $optionalCount = 0; + $testCount = 0; + + foreach ($dependencyModuleTransfer->getDependencies() as $dependencyTransfer) { + if ($dependencyTransfer->getIsOptional()) { + $optionalCount++; + } + + if ($dependencyTransfer->getIsInTest()) { + $testCount++; + } + + $totalCount++; + } + + return [$totalCount, $optionalCount, $testCount]; + } +} diff --git a/src/Spryker/Zed/Development/Business/Dependency/Mapper/DependencyModuleMapperInterface.php b/src/Spryker/Zed/Development/Business/Dependency/Mapper/DependencyModuleMapperInterface.php new file mode 100644 index 00000000..401049cb --- /dev/null +++ b/src/Spryker/Zed/Development/Business/Dependency/Mapper/DependencyModuleMapperInterface.php @@ -0,0 +1,21 @@ +createModuleDependencyParser(), - $this->getConfig() + $this->getConfig(), + $this->createDependencyModuleMapper() ); } + /** + * @return \Spryker\Zed\Development\Business\Dependency\Mapper\DependencyModuleMapperInterface + */ + protected function createDependencyModuleMapper(): DependencyModuleMapperInterface + { + return new DependencyModuleMapper(); + } + /** * @return \Spryker\Zed\Development\Business\Stability\StabilityCalculatorInterface */ From f708f81e9a1b4a58a0913737e83350ca85f38d02 Mon Sep 17 00:00:00 2001 From: dpodlesny Date: Tue, 2 Jun 2020 01:26:59 -0700 Subject: [PATCH 146/336] CC-9496 Small Refactoring --- .../Business/Dependency/Manager.php | 18 +++++++++++------- .../Mapper/DependencyModuleMapper.php | 6 ++++-- .../Mapper/DependencyModuleMapperInterface.php | 6 +++++- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Dependency/Manager.php b/src/Spryker/Zed/Development/Business/Dependency/Manager.php index 85c940b3..78efe4dc 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/Manager.php +++ b/src/Spryker/Zed/Development/Business/Dependency/Manager.php @@ -9,6 +9,7 @@ use Generated\Shared\Transfer\DependencyCollectionTransfer; use Generated\Shared\Transfer\DependencyModuleTransfer; +use Generated\Shared\Transfer\DependencyModuleViewTransfer; use Generated\Shared\Transfer\ModuleTransfer; use Generated\Shared\Transfer\OrganizationTransfer; use Spryker\Zed\Development\Business\Dependency\Mapper\DependencyModuleMapperInterface; @@ -56,26 +57,29 @@ public function __construct( */ public function parseIncomingDependencies(string $moduleName): array { - $allForeignModules = $this->collectAllForeignModules($moduleName); + $allForeignModuleNames = $this->collectAllForeignModules($moduleName); $incomingDependencies = []; - foreach ($allForeignModules as $foreignModule) { + foreach ($allForeignModuleNames as $foreignModuleName) { $organizationTransfer = (new OrganizationTransfer())->setName('Spryker'); $moduleTransfer = (new ModuleTransfer()) - ->setName($foreignModule) + ->setName($foreignModuleName) ->setOrganization($organizationTransfer); $moduleDependencyCollectionTransfer = $this->moduleParser->parseOutgoingDependencies($moduleTransfer); - $dependencyModule = $this->findDependencyTo($moduleName, $moduleDependencyCollectionTransfer); + $dependencyModuleTransfer = $this->findDependencyTo($moduleName, $moduleDependencyCollectionTransfer); - if ($dependencyModule === null) { + if ($dependencyModuleTransfer === null) { continue; } - $dependencyModuleViewTransfer = $this->dependencyModuleMapper->mapDependencyModuleTransferToDependencyModuleViewTransfer($dependencyModule); - $dependencyModuleViewTransfer->setName($foreignModule); + $dependencyModuleViewTransfer = $this->dependencyModuleMapper->mapDependencyModuleTransferToDependencyModuleViewTransfer( + $dependencyModuleTransfer, + new DependencyModuleViewTransfer() + ); + $dependencyModuleViewTransfer->setName($foreignModuleName); $incomingDependencies[] = $dependencyModuleViewTransfer; } diff --git a/src/Spryker/Zed/Development/Business/Dependency/Mapper/DependencyModuleMapper.php b/src/Spryker/Zed/Development/Business/Dependency/Mapper/DependencyModuleMapper.php index 4cd48c35..960537db 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/Mapper/DependencyModuleMapper.php +++ b/src/Spryker/Zed/Development/Business/Dependency/Mapper/DependencyModuleMapper.php @@ -14,15 +14,17 @@ class DependencyModuleMapper implements DependencyModuleMapperInterface { /** * @param \Generated\Shared\Transfer\DependencyModuleTransfer $dependencyModuleTransfer + * @param \Generated\Shared\Transfer\DependencyModuleViewTransfer $dependencyModuleViewTransfer * * @return \Generated\Shared\Transfer\DependencyModuleViewTransfer */ public function mapDependencyModuleTransferToDependencyModuleViewTransfer( - DependencyModuleTransfer $dependencyModuleTransfer + DependencyModuleTransfer $dependencyModuleTransfer, + DependencyModuleViewTransfer $dependencyModuleViewTransfer ): DependencyModuleViewTransfer { [$totalCount, $optionalCount, $testCount] = $this->collectDependencyCount($dependencyModuleTransfer); - return (new DependencyModuleViewTransfer()) + return $dependencyModuleViewTransfer ->setTotalDependencyCount($totalCount) ->setTestDependencyCount($testCount) ->setOptionalDependencyCount($optionalCount); diff --git a/src/Spryker/Zed/Development/Business/Dependency/Mapper/DependencyModuleMapperInterface.php b/src/Spryker/Zed/Development/Business/Dependency/Mapper/DependencyModuleMapperInterface.php index 401049cb..9f9a5cb7 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/Mapper/DependencyModuleMapperInterface.php +++ b/src/Spryker/Zed/Development/Business/Dependency/Mapper/DependencyModuleMapperInterface.php @@ -14,8 +14,12 @@ interface DependencyModuleMapperInterface { /** * @param \Generated\Shared\Transfer\DependencyModuleTransfer $dependencyModuleTransfer + * @param \Generated\Shared\Transfer\DependencyModuleViewTransfer $dependencyModuleViewTransfer * * @return \Generated\Shared\Transfer\DependencyModuleViewTransfer */ - public function mapDependencyModuleTransferToDependencyModuleViewTransfer(DependencyModuleTransfer $dependencyModuleTransfer): DependencyModuleViewTransfer; + public function mapDependencyModuleTransferToDependencyModuleViewTransfer( + DependencyModuleTransfer $dependencyModuleTransfer, + DependencyModuleViewTransfer $dependencyModuleViewTransfer + ): DependencyModuleViewTransfer; } From ce312397c492a4c1c6fdb4b6b3e2cfa90007439c Mon Sep 17 00:00:00 2001 From: mscherer Date: Tue, 2 Jun 2020 16:09:46 +0200 Subject: [PATCH 147/336] Fix PHPStan issues. --- .../Communication/Form/DataProvider/BundleFormDataProvider.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Spryker/Zed/Development/Communication/Form/DataProvider/BundleFormDataProvider.php b/src/Spryker/Zed/Development/Communication/Form/DataProvider/BundleFormDataProvider.php index 6ae9e5f4..15daf684 100644 --- a/src/Spryker/Zed/Development/Communication/Form/DataProvider/BundleFormDataProvider.php +++ b/src/Spryker/Zed/Development/Communication/Form/DataProvider/BundleFormDataProvider.php @@ -40,6 +40,7 @@ public function getData() { $excludedBundles = []; if ($this->request->request->has(BundlesFormType::FORM_TYPE_NAME)) { + /** @var array $formData */ $formData = $this->request->request->get(BundlesFormType::FORM_TYPE_NAME); if (isset($formData[BundlesFormType::EXCLUDED_BUNDLES])) { $excludedBundles = $formData[BundlesFormType::EXCLUDED_BUNDLES]; From ecc72059fbf146c4d4c287118ae657f7eb270155 Mon Sep 17 00:00:00 2001 From: "dmytro.volkov" Date: Mon, 22 Jun 2020 19:37:26 +0300 Subject: [PATCH 148/336] added translations --- data/translation/Zed/de_DE.csv | 14 ++++++++------ data/translation/Zed/en_US.csv | 1 + 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/data/translation/Zed/de_DE.csv b/data/translation/Zed/de_DE.csv index 1a550d25..88dcd26c 100644 --- a/data/translation/Zed/de_DE.csv +++ b/data/translation/Zed/de_DE.csv @@ -24,11 +24,12 @@ From,Von in,in "in src","in src" "in tests","in Tests" -Incoming,Incoming +Incoming,Eingehend "Incoming dependencies of the","Eingehende Abhängigkeiten der" -"Indirect Incoming","Indirect Incoming" -"Indirect Outgoing","Indirect Outgoing" -"Indirect Stability","Indirect Stability" +"Incoming dependencies of the","Eingehende Abhängigkeiten der" +"Indirect Incoming","Indirekt Eingehend" +"Indirect Outgoing","Indirect Ausgehend" +"Indirect Stability","Indirekte Stabilität" "List all used plugins","Alle verwendeten Plug-ins auflisten" module,Modul Module,Modul @@ -38,7 +39,7 @@ Namespace,Namespace "No architecture violations detected","Keine Architekturverstöße erkannt" "No plugins used in this Module","In diesem Modul werden keine Plug-ins verwendet" out,out -Outgoing,Outgoing +Outgoing,Ausgehend "Outgoing dependencies of the","Ausgehende Abhängigkeiten der" "Plugins used in Projects DependencyProvider","Im DependencyProvider des Projekts verwendete Plug-ins" Priority:,Priorität: @@ -50,7 +51,7 @@ require-dev,require-dev "Simple Dependency Graph","Simple Dependency-Graph" "Spryker Stability","Spryker Stabilität" Stability,Stabilität -"Stability is calculated by ""incoming dependencies / ( incoming dependencies + outgoing dependencies )"" the result will be between 0 (stable) and 1 (unstable)","Stability is calculated by ""incoming dependencies / ( incoming dependencies + outgoing dependencies )"" the result will be between 0 (stable) and 1 (unstable)" +"Stability is calculated by ""incoming dependencies / ( incoming dependencies + outgoing dependencies )"" the result will be between 0 (stable) and 1 (unstable)","Stabilität wird wie folgt berechnet: "eingehende Abhängigkeiten + ausgehende Abhängigkeiten)". Das Ergebnis liegt zwischen 0 (stabil) und 1 (instabil)." "Stability of all core modules","Stabilität aller Kernmodule" "Suggested dependencies","Empfohlene Abhängigkeiten" SUM,SUM @@ -58,3 +59,4 @@ To,An "Used Plugins","Verwendete Plug-ins" "You must specify a bundle for which the graph should be build","Sie müssen ein Bundle bestimmen, für das der Graph erstellt werden soll" "You need to run ""vendor/bin/console dev:dependency:build-tree"" to calculate stability for all bundles.","Sie müssen ""vendor/bin/console dev:dependency:build-tree"" ausführen, um die Stabilität aller Bundle zu berechnen." +"Dependencies","Abhängigkeiten" diff --git a/data/translation/Zed/en_US.csv b/data/translation/Zed/en_US.csv index 32d5e9c4..52a8ee67 100644 --- a/data/translation/Zed/en_US.csv +++ b/data/translation/Zed/en_US.csv @@ -58,3 +58,4 @@ To,To "Used Plugins","Used Plugins" "You must specify a bundle for which the graph should be build","You must specify a bundle for which the graph should be build" "You need to run ""vendor/bin/console dev:dependency:build-tree"" to calculate stability for all bundles.","You need to run ""vendor/bin/console dev:dependency:build-tree"" to calculate stability for all bundles." +"Dependencies","Dependencies" From 7e9340935340019d9f1175107c4f5ff879077608 Mon Sep 17 00:00:00 2001 From: mscherer Date: Tue, 23 Jun 2020 13:10:11 +0200 Subject: [PATCH 149/336] Update gitattributes for psalm-report.json --- .../Business/CodeBuilder/Module/Templates/.gitattributes.tpl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl index 7c85c52b..9e433bff 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl @@ -29,4 +29,5 @@ dependency.json export-ignore .gitignore export-ignore phpstan.neon export-ignore phpstan.json export-ignore +psalm-report.json export-ignore linguist-generated=true tooling.yml export-ignore From 0c0686a71ab719df03c62349aa934dc1a05c418c Mon Sep 17 00:00:00 2001 From: voitov Date: Tue, 23 Jun 2020 17:49:46 +0300 Subject: [PATCH 150/336] cc-10011 translations --- data/translation/Zed/de_DE.csv | 1 + data/translation/Zed/en_US.csv | 1 + 2 files changed, 2 insertions(+) diff --git a/data/translation/Zed/de_DE.csv b/data/translation/Zed/de_DE.csv index 1a550d25..a616b473 100644 --- a/data/translation/Zed/de_DE.csv +++ b/data/translation/Zed/de_DE.csv @@ -12,6 +12,7 @@ Count,Anzahl "Declared in composer.json","Declared in composer.json" "Declared in composer.json (dev)","Declared in composer.json (dev)" Dependency,Abhängigkeit +"Dependencies","Abhängigkeiten" "Dependency graphs of all core modules","Abhängigkeitsgraph aller Core Module" detailed,detailliert "Dev only dependencies","Dev only dependencies" diff --git a/data/translation/Zed/en_US.csv b/data/translation/Zed/en_US.csv index 32d5e9c4..44ae097d 100644 --- a/data/translation/Zed/en_US.csv +++ b/data/translation/Zed/en_US.csv @@ -12,6 +12,7 @@ Count,Count "Declared in composer.json","Declared in composer.json" "Declared in composer.json (dev)","Declared in composer.json (dev)" Dependency,Dependency +"Dependencies","Dependencies" "Dependency graphs of all core modules","Dependency graphs of all core modules" detailed,detailed "Dev only dependencies","Dev only dependencies" From 856254da112bcc09a2f04d4706f56d9060164610 Mon Sep 17 00:00:00 2001 From: voitov Date: Tue, 23 Jun 2020 18:47:40 +0300 Subject: [PATCH 151/336] cc-9526 fixes of translations --- data/translation/Zed/de_DE.csv | 2 +- data/translation/Zed/en_US.csv | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/data/translation/Zed/de_DE.csv b/data/translation/Zed/de_DE.csv index a616b473..1cd0241b 100644 --- a/data/translation/Zed/de_DE.csv +++ b/data/translation/Zed/de_DE.csv @@ -12,7 +12,7 @@ Count,Anzahl "Declared in composer.json","Declared in composer.json" "Declared in composer.json (dev)","Declared in composer.json (dev)" Dependency,Abhängigkeit -"Dependencies","Abhängigkeiten" +Dependencies,Abhängigkeiten "Dependency graphs of all core modules","Abhängigkeitsgraph aller Core Module" detailed,detailliert "Dev only dependencies","Dev only dependencies" diff --git a/data/translation/Zed/en_US.csv b/data/translation/Zed/en_US.csv index 44ae097d..c3fcc4ba 100644 --- a/data/translation/Zed/en_US.csv +++ b/data/translation/Zed/en_US.csv @@ -12,7 +12,7 @@ Count,Count "Declared in composer.json","Declared in composer.json" "Declared in composer.json (dev)","Declared in composer.json (dev)" Dependency,Dependency -"Dependencies","Dependencies" +Dependencies,Dependencies "Dependency graphs of all core modules","Dependency graphs of all core modules" detailed,detailed "Dev only dependencies","Dev only dependencies" From 16abef6545aa1eb034d3c9e0afd7bdade8cbdb8a Mon Sep 17 00:00:00 2001 From: voitov Date: Wed, 24 Jun 2020 12:21:18 +0300 Subject: [PATCH 152/336] cc-9526 Fixes in translations --- data/translation/Zed/de_DE.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/translation/Zed/de_DE.csv b/data/translation/Zed/de_DE.csv index 1cd0241b..798702d1 100644 --- a/data/translation/Zed/de_DE.csv +++ b/data/translation/Zed/de_DE.csv @@ -56,6 +56,6 @@ Stability,Stabilität "Suggested dependencies","Empfohlene Abhängigkeiten" SUM,SUM To,An -"Used Plugins","Verwendete Plug-ins" +"Used Plugins","Verwendete Plugins" "You must specify a bundle for which the graph should be build","Sie müssen ein Bundle bestimmen, für das der Graph erstellt werden soll" "You need to run ""vendor/bin/console dev:dependency:build-tree"" to calculate stability for all bundles.","Sie müssen ""vendor/bin/console dev:dependency:build-tree"" ausführen, um die Stabilität aller Bundle zu berechnen." From 5bf7be6320e5ec08ee1c03266cfefe1ec0cd457a Mon Sep 17 00:00:00 2001 From: Dmitry Lymarenko Date: Wed, 24 Jun 2020 22:38:48 +0300 Subject: [PATCH 153/336] CC-9845 Fixed Spryker CI --- data/translation/Zed/de_DE.csv | 5 ++--- data/translation/Zed/en_US.csv | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/data/translation/Zed/de_DE.csv b/data/translation/Zed/de_DE.csv index 88dcd26c..59be66ce 100644 --- a/data/translation/Zed/de_DE.csv +++ b/data/translation/Zed/de_DE.csv @@ -26,7 +26,6 @@ in,in "in tests","in Tests" Incoming,Eingehend "Incoming dependencies of the","Eingehende Abhängigkeiten der" -"Incoming dependencies of the","Eingehende Abhängigkeiten der" "Indirect Incoming","Indirekt Eingehend" "Indirect Outgoing","Indirect Ausgehend" "Indirect Stability","Indirekte Stabilität" @@ -51,7 +50,7 @@ require-dev,require-dev "Simple Dependency Graph","Simple Dependency-Graph" "Spryker Stability","Spryker Stabilität" Stability,Stabilität -"Stability is calculated by ""incoming dependencies / ( incoming dependencies + outgoing dependencies )"" the result will be between 0 (stable) and 1 (unstable)","Stabilität wird wie folgt berechnet: "eingehende Abhängigkeiten + ausgehende Abhängigkeiten)". Das Ergebnis liegt zwischen 0 (stabil) und 1 (instabil)." +"Stability is calculated by ""incoming dependencies / ( incoming dependencies + outgoing dependencies )"" the result will be between 0 (stable) and 1 (unstable)","Stabilität wird wie folgt berechnet: ""eingehende Abhängigkeiten + ausgehende Abhängigkeiten)"". Das Ergebnis liegt zwischen 0 (stabil) und 1 (instabil)." "Stability of all core modules","Stabilität aller Kernmodule" "Suggested dependencies","Empfohlene Abhängigkeiten" SUM,SUM @@ -59,4 +58,4 @@ To,An "Used Plugins","Verwendete Plug-ins" "You must specify a bundle for which the graph should be build","Sie müssen ein Bundle bestimmen, für das der Graph erstellt werden soll" "You need to run ""vendor/bin/console dev:dependency:build-tree"" to calculate stability for all bundles.","Sie müssen ""vendor/bin/console dev:dependency:build-tree"" ausführen, um die Stabilität aller Bundle zu berechnen." -"Dependencies","Abhängigkeiten" +Dependencies,Abhängigkeiten diff --git a/data/translation/Zed/en_US.csv b/data/translation/Zed/en_US.csv index 52a8ee67..b135b5e7 100644 --- a/data/translation/Zed/en_US.csv +++ b/data/translation/Zed/en_US.csv @@ -58,4 +58,4 @@ To,To "Used Plugins","Used Plugins" "You must specify a bundle for which the graph should be build","You must specify a bundle for which the graph should be build" "You need to run ""vendor/bin/console dev:dependency:build-tree"" to calculate stability for all bundles.","You need to run ""vendor/bin/console dev:dependency:build-tree"" to calculate stability for all bundles." -"Dependencies","Dependencies" +Dependencies,Dependencies From 896b98c4f1a76d9c881b487b3f529e2fdf9d94f1 Mon Sep 17 00:00:00 2001 From: Dmitry Lymarenko Date: Thu, 25 Jun 2020 11:32:30 +0300 Subject: [PATCH 154/336] CC-9845 Fixed Spryker CI --- data/translation/Zed/de_DE.csv | 1 - data/translation/Zed/en_US.csv | 1 - 2 files changed, 2 deletions(-) diff --git a/data/translation/Zed/de_DE.csv b/data/translation/Zed/de_DE.csv index 9dc46a54..0c880dce 100644 --- a/data/translation/Zed/de_DE.csv +++ b/data/translation/Zed/de_DE.csv @@ -59,4 +59,3 @@ To,An "Used Plugins","Verwendete Plugins" "You must specify a bundle for which the graph should be build","Sie müssen ein Bundle bestimmen, für das der Graph erstellt werden soll" "You need to run ""vendor/bin/console dev:dependency:build-tree"" to calculate stability for all bundles.","Sie müssen ""vendor/bin/console dev:dependency:build-tree"" ausführen, um die Stabilität aller Bundle zu berechnen." -Dependencies,Abhängigkeiten diff --git a/data/translation/Zed/en_US.csv b/data/translation/Zed/en_US.csv index 36b20fd1..c3fcc4ba 100644 --- a/data/translation/Zed/en_US.csv +++ b/data/translation/Zed/en_US.csv @@ -59,4 +59,3 @@ To,To "Used Plugins","Used Plugins" "You must specify a bundle for which the graph should be build","You must specify a bundle for which the graph should be build" "You need to run ""vendor/bin/console dev:dependency:build-tree"" to calculate stability for all bundles.","You need to run ""vendor/bin/console dev:dependency:build-tree"" to calculate stability for all bundles." -Dependencies,Dependencies From 9618617b71262a6115bef817bfeeb1d801568422 Mon Sep 17 00:00:00 2001 From: David Greiner Date: Mon, 15 Jun 2020 10:47:57 +0200 Subject: [PATCH 155/336] removing trailing DIRECTORY_SEPARATOR to be able to check single files --- .../Development/Business/CodeStyleSniffer/CodeStyleSniffer.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php index 34c8d34c..18a22124 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php @@ -83,7 +83,7 @@ public function checkCodeStyle($module, array $options = []) */ protected function resolvePath($module, $namespace = null, $path = null) { - $path = $path !== null ? trim($path, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR : null; + $path = $path !== null ? trim($path, DIRECTORY_SEPARATOR) : null; if ($namespace) { if ($module === 'all') { From 0ed16b536eccc899ca3080b574fd06ef7bda0da8 Mon Sep 17 00:00:00 2001 From: mscherer Date: Fri, 26 Jun 2020 17:06:38 +0200 Subject: [PATCH 156/336] Update Meta files. --- .gitattributes | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitattributes b/.gitattributes index 2a48adb9..03b625d7 100644 --- a/.gitattributes +++ b/.gitattributes @@ -24,6 +24,7 @@ codeception.yml export-ignore dependency.json export-ignore phpstan.json export-ignore phpstan.neon export-ignore +psalm-report.json export-ignore linguist-generated=true tooling.yml export-ignore .coveralls.yml export-ignore .travis.yml export-ignore From 070028c50f05f7868d12f10bcaf1315a4b7c466e Mon Sep 17 00:00:00 2001 From: mscherer Date: Thu, 2 Jul 2020 17:00:42 +0200 Subject: [PATCH 157/336] TE-6865 Fix deprecation messages. --- .../Business/ArchitectureSniffer/AllBundleFinder.php | 2 +- .../Business/ArchitectureSniffer/AllBundleFinderInterface.php | 2 +- src/Spryker/Zed/Development/Business/DevelopmentFacade.php | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php index e5b6ec16..07540ee1 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php @@ -12,7 +12,7 @@ use Zend\Filter\FilterInterface; /** - * @deprecated Use `AllModuleFinder` instead. + * @deprecated Use {@link AllModuleFinder} instead. */ class AllBundleFinder implements AllBundleFinderInterface { diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinderInterface.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinderInterface.php index cb40281e..9b963019 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinderInterface.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinderInterface.php @@ -8,7 +8,7 @@ namespace Spryker\Zed\Development\Business\ArchitectureSniffer; /** - * @deprecated Use `AllModuleFinderInterface` instead. + * @deprecated Use {@link AllModuleFinderInterface} instead. */ interface AllBundleFinderInterface { diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php index 87417eab..ef19fd52 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php @@ -175,7 +175,7 @@ public function showIncomingDependenciesForModule($moduleName) * * @api * - * @deprecated Please use `getModules()` instead. + * @deprecated Use {@link getModules()} instead. * * @return array */ @@ -501,7 +501,7 @@ public function listAllModules() * * @api * - * @deprecated Use `listAllModules` instead. + * @deprecated Use {@link listAllModules()} instead. * * @return array */ From d3506ad8d79ac7b2b2f1bc40e7826e91e7ed4eb5 Mon Sep 17 00:00:00 2001 From: mscherer Date: Fri, 10 Jul 2020 13:31:51 +0200 Subject: [PATCH 158/336] Fix psalm found errors. --- psalm-report.json | 4610 +++++++++++++++++ .../CodeBuilder/Bridge/BridgeBuilder.php | 18 +- .../Updater/RequireExternalUpdater.php | 2 +- .../AbstractFileDependencyFinder.php | 2 +- .../ViolationFinder/BundleUsesConnector.php | 2 +- .../ViolationFinder/UseForeignConstants.php | 2 +- .../ViolationFinder/UseForeignException.php | 2 +- .../Module/ModuleFinder/ModuleFinder.php | 2 +- .../Module/ModuleMatcher/ModuleMatcher.php | 2 +- .../Package/PackageFinder/PackageFinder.php | 2 +- .../Controversial/CamelCaseMethodName.php | 8 +- .../PhpMd/Rules/Design/NumberOfChildren.php | 4 +- .../Rules/Design/TooManyPublicMethods.php | 2 +- .../CodeArchitectureSnifferConsole.php | 2 +- 14 files changed, 4635 insertions(+), 25 deletions(-) create mode 100644 psalm-report.json diff --git a/psalm-report.json b/psalm-report.json new file mode 100644 index 00000000..78295eb7 --- /dev/null +++ b/psalm-report.json @@ -0,0 +1,4610 @@ +{ + "error": [ + { + "severity": "error", + "line_from": 329, + "line_to": 329, + "type": "InvalidArgument", + "message": "Argument 2 of array_filter expects callable(mixed, mixed=):scalar, string(glob) provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php", + "snippet": " return array_filter($lookupPaths, 'glob');", + "selected_text": "'glob'", + "error_level": 6, + "shortcode": 4, + "taint_trace": null + }, + { + "severity": "error", + "line_from": 65, + "line_to": 65, + "type": "InvalidArgument", + "message": "Argument 2 of array_filter expects callable(mixed, mixed=):scalar, string(glob) provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php", + "snippet": " return array_filter($twigFilePaths, 'glob');", + "selected_text": "'glob'", + "error_level": 6, + "shortcode": 4, + "taint_trace": null + }, + { + "severity": "error", + "line_from": 36, + "line_to": 38, + "type": "InvalidArgument", + "message": "Argument 2 of array_filter expects callable(mixed, mixed=):scalar, Closure(string):(false|list) provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FileFinder.php", + "snippet": " $directories = array_filter($directories, function (string $directory) {\n return glob($directory);\n });", + "selected_text": "function (string $directory) {\n return glob($directory);\n }", + "error_level": 6, + "shortcode": 4, + "taint_trace": null + }, + { + "severity": "error", + "line_from": 134, + "line_to": 134, + "type": "InvalidArgument", + "message": "Argument 1 of Symfony\\Component\\Finder\\Finder::sort expects Closure, callable provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php", + "snippet": " ->sort($this->getFilenameSortCallback());", + "selected_text": "$this->getFilenameSortCallback()", + "error_level": 6, + "shortcode": 4, + "taint_trace": null + }, + { + "severity": "error", + "line_from": 68, + "line_to": 68, + "type": "InvalidArgument", + "message": "Argument 2 of array_filter expects callable(mixed, mixed=):scalar, string(glob) provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinder.php", + "snippet": " $directories = array_filter($directories, 'glob');", + "selected_text": "'glob'", + "error_level": 6, + "shortcode": 4, + "taint_trace": null + }, + { + "severity": "error", + "line_from": 107, + "line_to": 107, + "type": "InvalidArgument", + "message": "Argument 1 of Symfony\\Component\\Finder\\Finder::sort expects Closure, callable provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php", + "snippet": " ->sort($this->getFilenameSortCallback());", + "selected_text": "$this->getFilenameSortCallback()", + "error_level": 6, + "shortcode": 4, + "taint_trace": null + } + ], + "warning": [ + { + "severity": "info", + "line_from": 85, + "line_to": 85, + "type": "InvalidScalarArgument", + "message": "Argument 2 of usort expects callable(mixed, mixed):int, Closure(mixed, mixed):bool provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php", + "snippet": " usort($rules, $sortAlphabetically);", + "selected_text": "$sortAlphabetically", + "error_level": 4, + "shortcode": 12, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 118, + "line_to": 118, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Zend\\Config\\Reader\\ReaderInterface::fromString cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php", + "snippet": " $results = $this->xmlReader->fromString($output);", + "selected_text": "$output", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 165, + "line_to": 165, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php", + "snippet": " throw new Exception('Sniffer run was not successful: ' . $process->getExitCodeText());", + "selected_text": "$process->getExitCodeText()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 88, + "line_to": 88, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $fileName = $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface.php';", + "selected_text": "$bridgeBuilderDataTransfer->getModule()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 88, + "line_to": 88, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $fileName = $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface.php';", + "selected_text": "$bridgeBuilderDataTransfer->getToModule()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 88, + "line_to": 88, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $fileName = $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface.php';", + "selected_text": "$bridgeBuilderDataTransfer->getToType()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 92, + "line_to": 92, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $bridgeBuilderDataTransfer->getVendor() . '\\\\' .", + "selected_text": "$bridgeBuilderDataTransfer->getVendor()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 92, + "line_to": 97, + "type": "ArgumentTypeCoercion", + "message": "Argument 1 of ReflectionClass::__construct expects class-string|object|trait-string, parent type non-empty-string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $bridgeBuilderDataTransfer->getVendor() . '\\\\' .\n $bridgeBuilderDataTransfer->getApplication() . '\\\\' .\n $bridgeBuilderDataTransfer->getModule() . '\\\\' .\n 'Dependency\\\\' .\n $bridgeBuilderDataTransfer->getToType() . '\\\\' .\n $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface'", + "selected_text": "$bridgeBuilderDataTransfer->getVendor() . '\\\\' .\n $bridgeBuilderDataTransfer->getApplication() . '\\\\' .\n $bridgeBuilderDataTransfer->getModule() . '\\\\' .\n 'Dependency\\\\' .\n $bridgeBuilderDataTransfer->getToType() . '\\\\' .\n $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface'", + "error_level": 3, + "shortcode": 193, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 93, + "line_to": 93, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $bridgeBuilderDataTransfer->getApplication() . '\\\\' .", + "selected_text": "$bridgeBuilderDataTransfer->getApplication()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 94, + "line_to": 94, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $bridgeBuilderDataTransfer->getModule() . '\\\\' .", + "selected_text": "$bridgeBuilderDataTransfer->getModule()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 96, + "line_to": 96, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $bridgeBuilderDataTransfer->getToType() . '\\\\' .", + "selected_text": "$bridgeBuilderDataTransfer->getToType()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 97, + "line_to": 97, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface'", + "selected_text": "$bridgeBuilderDataTransfer->getModule()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 97, + "line_to": 97, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface'", + "selected_text": "$bridgeBuilderDataTransfer->getToModule()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 97, + "line_to": 97, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface'", + "selected_text": "$bridgeBuilderDataTransfer->getToType()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 119, + "line_to": 119, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $fileName = $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge.php';", + "selected_text": "$bridgeBuilderDataTransfer->getModule()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 119, + "line_to": 119, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $fileName = $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge.php';", + "selected_text": "$bridgeBuilderDataTransfer->getToModule()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 119, + "line_to": 119, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $fileName = $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge.php';", + "selected_text": "$bridgeBuilderDataTransfer->getToType()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 124, + "line_to": 124, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $bridgeBuilderDataTransfer->getVendor() . '\\\\' .", + "selected_text": "$bridgeBuilderDataTransfer->getVendor()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 124, + "line_to": 129, + "type": "ArgumentTypeCoercion", + "message": "Argument 1 of ReflectionClass::__construct expects class-string|object|trait-string, parent type non-empty-string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $bridgeBuilderDataTransfer->getVendor() . '\\\\' .\n $bridgeBuilderDataTransfer->getApplication() . '\\\\' .\n $bridgeBuilderDataTransfer->getModule() . '\\\\' .\n 'Dependency\\\\' .\n $bridgeBuilderDataTransfer->getToType() . '\\\\' .\n $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge'", + "selected_text": "$bridgeBuilderDataTransfer->getVendor() . '\\\\' .\n $bridgeBuilderDataTransfer->getApplication() . '\\\\' .\n $bridgeBuilderDataTransfer->getModule() . '\\\\' .\n 'Dependency\\\\' .\n $bridgeBuilderDataTransfer->getToType() . '\\\\' .\n $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge'", + "error_level": 3, + "shortcode": 193, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 125, + "line_to": 125, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $bridgeBuilderDataTransfer->getApplication() . '\\\\' .", + "selected_text": "$bridgeBuilderDataTransfer->getApplication()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 126, + "line_to": 126, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $bridgeBuilderDataTransfer->getModule() . '\\\\' .", + "selected_text": "$bridgeBuilderDataTransfer->getModule()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 128, + "line_to": 128, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $bridgeBuilderDataTransfer->getToType() . '\\\\' .", + "selected_text": "$bridgeBuilderDataTransfer->getToType()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 129, + "line_to": 129, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge'", + "selected_text": "$bridgeBuilderDataTransfer->getModule()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 129, + "line_to": 129, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge'", + "selected_text": "$bridgeBuilderDataTransfer->getToModule()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 129, + "line_to": 129, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge'", + "selected_text": "$bridgeBuilderDataTransfer->getToType()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 210, + "line_to": 210, + "type": "PossiblyNullArgument", + "message": "Argument 1 of lcfirst cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " '{toModuleVariable}' => lcfirst($bridgeBuilderDataTransfer->getToModule()),", + "selected_text": "$bridgeBuilderDataTransfer->getToModule()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 213, + "line_to": 213, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\CodeBuilder\\Bridge\\BridgeBuilder::getModuleLayer cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " if ($this->getModuleLayer($bridgeBuilderDataTransfer->getToType())) {", + "selected_text": "$bridgeBuilderDataTransfer->getToType()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 214, + "line_to": 214, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\CodeBuilder\\Bridge\\BridgeBuilder::getModuleLayer cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $replacements['{toModuleLayer}'] = '\\\\' . $this->getModuleLayer($bridgeBuilderDataTransfer->getToType());", + "selected_text": "$bridgeBuilderDataTransfer->getToType()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 362, + "line_to": 362, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\DevelopmentConfig::getPathToInternalNamespace cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $pathToInternalNamespace = $this->config->getPathToInternalNamespace($bridgeBuilderDataTransfer->getVendor());", + "selected_text": "$bridgeBuilderDataTransfer->getVendor()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 364, + "line_to": 364, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " return $pathToInternalNamespace . $bridgeBuilderDataTransfer->getModule();", + "selected_text": "$bridgeBuilderDataTransfer->getModule()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 367, + "line_to": 367, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\CodeBuilder\\Bridge\\BridgeBuilder::normalizeNameForSplit cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $vendorDirectory = $this->normalizeNameForSplit($bridgeBuilderDataTransfer->getVendor());", + "selected_text": "$bridgeBuilderDataTransfer->getVendor()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 368, + "line_to": 368, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\CodeBuilder\\Bridge\\BridgeBuilder::normalizeNameForSplit cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $moduleDirectory = $this->normalizeNameForSplit($bridgeBuilderDataTransfer->getModule());", + "selected_text": "$bridgeBuilderDataTransfer->getModule()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 384, + "line_to": 384, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\DevelopmentConfig::getPathToInternalNamespace cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $pathToInternalNamespace = $this->config->getPathToInternalNamespace($bridgeBuilderDataTransfer->getToVendor());", + "selected_text": "$bridgeBuilderDataTransfer->getToVendor()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 386, + "line_to": 386, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " return $pathToInternalNamespace . $bridgeBuilderDataTransfer->getToModule();", + "selected_text": "$bridgeBuilderDataTransfer->getToModule()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 389, + "line_to": 389, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\CodeBuilder\\Bridge\\BridgeBuilder::normalizeNameForSplit cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $vendorDirectory = $this->normalizeNameForSplit($bridgeBuilderDataTransfer->getToVendor());", + "selected_text": "$bridgeBuilderDataTransfer->getToVendor()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 390, + "line_to": 390, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\CodeBuilder\\Bridge\\BridgeBuilder::normalizeNameForSplit cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $moduleDirectory = $this->normalizeNameForSplit($bridgeBuilderDataTransfer->getToModule());", + "selected_text": "$bridgeBuilderDataTransfer->getToModule()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 438, + "line_to": 438, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType(),", + "selected_text": "$bridgeBuilderDataTransfer->getToModule()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 438, + "line_to": 438, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType(),", + "selected_text": "$bridgeBuilderDataTransfer->getToType()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 453, + "line_to": 453, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $bridgeBuilderDataTransfer->getToVendor() . '\\\\' .", + "selected_text": "$bridgeBuilderDataTransfer->getToVendor()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 454, + "line_to": 454, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $bridgeBuilderDataTransfer->getToApplication() . '\\\\' .", + "selected_text": "$bridgeBuilderDataTransfer->getToApplication()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 455, + "line_to": 455, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $bridgeBuilderDataTransfer->getToModule() . '\\\\';", + "selected_text": "$bridgeBuilderDataTransfer->getToModule()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 461, + "line_to": 461, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $path .= $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType();", + "selected_text": "$bridgeBuilderDataTransfer->getToModule()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 461, + "line_to": 461, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $path .= $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType();", + "selected_text": "$bridgeBuilderDataTransfer->getToType()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 463, + "line_to": 463, + "type": "ArgumentTypeCoercion", + "message": "Argument 1 of ReflectionClass::__construct expects class-string|object|trait-string, parent type non-empty-string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $targetBridgeClass = new ReflectionClass($path);", + "selected_text": "$path", + "error_level": 3, + "shortcode": 193, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 482, + "line_to": 482, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $bridgeBuilderDataTransfer->getToVendor() . '\\\\' .", + "selected_text": "$bridgeBuilderDataTransfer->getToVendor()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 483, + "line_to": 483, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $bridgeBuilderDataTransfer->getToApplication() . '\\\\' .", + "selected_text": "$bridgeBuilderDataTransfer->getToApplication()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 484, + "line_to": 484, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $bridgeBuilderDataTransfer->getToModule() . '\\\\';", + "selected_text": "$bridgeBuilderDataTransfer->getToModule()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 490, + "line_to": 490, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $path .= $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface';", + "selected_text": "$bridgeBuilderDataTransfer->getToModule()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 490, + "line_to": 490, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $path .= $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface';", + "selected_text": "$bridgeBuilderDataTransfer->getToType()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 492, + "line_to": 492, + "type": "ArgumentTypeCoercion", + "message": "Argument 1 of ReflectionClass::__construct expects class-string|object|trait-string, parent type non-empty-string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $targetBridgeInterface = new ReflectionClass($path);", + "selected_text": "$path", + "error_level": 3, + "shortcode": 193, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 587, + "line_to": 587, + "type": "PossiblyNullReference", + "message": "Cannot call method getName on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $finalOutput .= $this->getClassNameFromFqcn($parameter->getType()->getName()) . ' ';", + "selected_text": "getName", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 647, + "line_to": 647, + "type": "PossiblyNullReference", + "message": "Cannot call method isBuiltin on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " if ($parameter->hasType() && !$parameter->getType()->isBuiltin()) {", + "selected_text": "isBuiltin", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 648, + "line_to": 648, + "type": "PossiblyNullReference", + "message": "Cannot call method getName on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $type = $parameter->getType()->getName();", + "selected_text": "getName", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 195, + "line_to": 195, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of strtolower expects string, possibly different type array|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php", + "snippet": " $module = strtolower($filter->filter($module));", + "selected_text": "$filter->filter($module)", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 61, + "line_to": 61, + "type": "PossiblyNullArgument", + "message": "Argument 1 of strpos cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", + "snippet": " if (strpos($module, '.') !== false) {", + "selected_text": "$module", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 62, + "line_to": 62, + "type": "PossiblyNullArgument", + "message": "Argument 2 of explode cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", + "snippet": " [$namespace, $module] = explode('.', $module, 2);", + "selected_text": "$module", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 71, + "line_to": 71, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\CodeStyleSniffer\\CodeStyleSniffer::resolvePath cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", + "snippet": " $path = $this->resolvePath($module, $namespace, $pathOption);", + "selected_text": "$module", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 90, + "line_to": 90, + "type": "PossiblyNullArgument", + "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\CodeStyleSniffer\\CodeStyleSniffer::getPathToCore cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", + "snippet": " return $this->getPathToCore($namespace, $path);", + "selected_text": "$path", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 99, + "line_to": 99, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", + "snippet": " return $pathToRoot . $path;", + "selected_text": "$path", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 164, + "line_to": 164, + "type": "PossiblyNullArgument", + "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\CodeStyleSniffer\\CodeStyleSniffer::buildPath cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", + "snippet": " return $this->buildPath($pathToInternalNamespace . $module . DIRECTORY_SEPARATOR, $pathSuffix);", + "selected_text": "$pathSuffix", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 171, + "line_to": 171, + "type": "PossiblyNullArgument", + "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\CodeStyleSniffer\\CodeStyleSniffer::buildPath cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", + "snippet": " return $this->buildPath($path, $pathSuffix);", + "selected_text": "$pathSuffix", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 276, + "line_to": 276, + "type": "NullableReturnStatement", + "message": "The declared return type 'int' for Spryker\\Zed\\Development\\Business\\CodeStyleSniffer\\CodeStyleSniffer::runSnifferCommand is not nullable, but the function returns 'int|null'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", + "snippet": " return $process->getExitCode();", + "selected_text": "$process->getExitCode()", + "error_level": 5, + "shortcode": 139, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 198, + "line_to": 198, + "type": "InvalidNullableReturnType", + "message": "The declared return type 'int' for Spryker\\Zed\\Development\\Business\\CodeTest\\CodeTester::runTestCommand is not nullable, but 'int|null' contains null", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php", + "snippet": " * @return int", + "selected_text": "int", + "error_level": 5, + "shortcode": 144, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 227, + "line_to": 227, + "type": "NullableReturnStatement", + "message": "The declared return type 'int' for Spryker\\Zed\\Development\\Business\\CodeTest\\CodeTester::runTestCommand is not nullable, but the function returns 'int|null'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php", + "snippet": " return $process->getExitCode();", + "selected_text": "$process->getExitCode()", + "error_level": 5, + "shortcode": 139, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 234, + "line_to": 234, + "type": "InvalidNullableReturnType", + "message": "The declared return type 'int' for Spryker\\Zed\\Development\\Business\\CodeTest\\CodeTester::runFixturesCommand is not nullable, but 'int|null' contains null", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php", + "snippet": " * @return int", + "selected_text": "int", + "error_level": 5, + "shortcode": 144, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 259, + "line_to": 259, + "type": "NullableReturnStatement", + "message": "The declared return type 'int' for Spryker\\Zed\\Development\\Business\\CodeTest\\CodeTester::runFixturesCommand is not nullable, but the function returns 'int|null'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php", + "snippet": " return $process->getExitCode();", + "selected_text": "$process->getExitCode()", + "error_level": 5, + "shortcode": 139, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 39, + "line_to": 39, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Composer\\ComposerJson::hasComposerJson cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerJson.php", + "snippet": " if (!$this->hasComposerJson($moduleTransfer)) {", + "selected_text": "$moduleTransfer", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 77, + "line_to": 77, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerJson.php", + "snippet": " $composerJsonFilePath = sprintf('%s/composer.json', $moduleTransfer->getPath());", + "selected_text": "$moduleTransfer->getPath()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 40, + "line_to": 40, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Symfony\\Component\\Finder\\Finder::in cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerJsonFinder.php", + "snippet": " ->in($module->getPath())", + "selected_text": "$module->getPath()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 53, + "line_to": 53, + "type": "PossiblyNullReference", + "message": "Cannot call method getName on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php", + "snippet": " $moduleKey = implode('.', [$moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName()]);", + "selected_text": "getName", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 158, + "line_to": 158, + "type": "InvalidScalarArgument", + "message": "Argument 2 of uksort expects callable(mixed, mixed):int, Closure(mixed, mixed):(bool|int(0)) provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php", + "snippet": " uksort($composerJson, $callable);", + "selected_text": "$callable", + "error_level": 4, + "shortcode": 12, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 174, + "line_to": 174, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of mb_strtolower expects string, possibly different type array|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php", + "snippet": " $moduleName = mb_strtolower($filter->filter(basename($composerJsonFile->getPath())));", + "selected_text": "$filter->filter(basename($composerJsonFile->getPath()))", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 73, + "line_to": 73, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php", + "snippet": " return sprintf('%s/%s', $moduleTransfer->getOrganization()->getNameDashed(), $moduleTransfer->getNameDashed());", + "selected_text": "$moduleTransfer->getOrganization()->getNameDashed()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 73, + "line_to": 73, + "type": "PossiblyNullReference", + "message": "Cannot call method getNameDashed on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php", + "snippet": " return sprintf('%s/%s', $moduleTransfer->getOrganization()->getNameDashed(), $moduleTransfer->getNameDashed());", + "selected_text": "getNameDashed", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 73, + "line_to": 73, + "type": "PossiblyNullArgument", + "message": "Argument 3 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php", + "snippet": " return sprintf('%s/%s', $moduleTransfer->getOrganization()->getNameDashed(), $moduleTransfer->getNameDashed());", + "selected_text": "$moduleTransfer->getNameDashed()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 88, + "line_to": 88, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php", + "snippet": " return sprintf('%s/%s', $moduleTransfer->getOrganization()->getNameDashed(), $moduleTransfer->getNameDashed());", + "selected_text": "$moduleTransfer->getOrganization()->getNameDashed()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 88, + "line_to": 88, + "type": "PossiblyNullReference", + "message": "Cannot call method getNameDashed on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php", + "snippet": " return sprintf('%s/%s', $moduleTransfer->getOrganization()->getNameDashed(), $moduleTransfer->getNameDashed());", + "selected_text": "getNameDashed", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 88, + "line_to": 88, + "type": "PossiblyNullArgument", + "message": "Argument 3 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php", + "snippet": " return sprintf('%s/%s', $moduleTransfer->getOrganization()->getNameDashed(), $moduleTransfer->getNameDashed());", + "selected_text": "$moduleTransfer->getNameDashed()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 154, + "line_to": 154, + "type": "PossiblyNullArrayOffset", + "message": "Cannot access value on variable $this->moduleTransferCollectionGroupedByModuleName[null|string] using possibly null offset null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php", + "snippet": " $this->moduleTransferCollectionGroupedByModuleName[$moduleTransfer->getName()][] = $moduleTransfer;", + "selected_text": "$this->moduleTransferCollectionGroupedByModuleName", + "error_level": 3, + "shortcode": 125, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 173, + "line_to": 173, + "type": "PossiblyNullArrayOffset", + "message": "Cannot access value on variable $this->packageTransferCollectionGroupedByPackageName[null|string] using possibly null offset null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php", + "snippet": " $this->packageTransferCollectionGroupedByPackageName[$packageTransfer->getPackageName()] = $packageTransfer;", + "selected_text": "$this->packageTransferCollectionGroupedByPackageName", + "error_level": 3, + "shortcode": 125, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 76, + "line_to": 76, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of strtolower expects string, possibly different type array|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php", + "snippet": " $dependentModule = strtolower($filter->filter($dependentModule));", + "selected_text": "$filter->filter($dependentModule)", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 95, + "line_to": 95, + "type": "PossiblyInvalidCast", + "message": "array cannot be cast to string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php", + "snippet": " return (string)$filter->filter($moduleName);", + "selected_text": "$filter->filter($moduleName)", + "error_level": 3, + "shortcode": 190, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 107, + "line_to": 107, + "type": "PossiblyNullArgument", + "message": "Argument 1 of strcmp cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyContainer/DependencyContainer.php", + "snippet": " return strcmp($dependencyBundleTransferA->getModule(), $dependencyBundleTransferB->getModule());", + "selected_text": "$dependencyBundleTransferA->getModule()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 107, + "line_to": 107, + "type": "PossiblyNullArgument", + "message": "Argument 2 of strcmp cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyContainer/DependencyContainer.php", + "snippet": " return strcmp($dependencyBundleTransferA->getModule(), $dependencyBundleTransferB->getModule());", + "selected_text": "$dependencyBundleTransferB->getModule()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 110, + "line_to": 110, + "type": "PossiblyInvalidMethodCall", + "message": "Cannot call method on possible array variable ", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyContainer/DependencyContainer.php", + "snippet": " $dependencyModules = $dependencyCollectionTransfer->getDependencyModules()->getArrayCopy();", + "selected_text": "getArrayCopy", + "error_level": 3, + "shortcode": 113, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 134, + "line_to": 134, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of ucfirst expects string, possibly different type array|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyContainer/DependencyContainer.php", + "snippet": " return ucfirst($filter->filter($moduleName));", + "selected_text": "$filter->filter($moduleName)", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 72, + "line_to": 72, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php", + "snippet": " $moduleExtensionKey = sprintf('%s.%sExtension', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName());", + "selected_text": "$moduleTransfer->getOrganization()->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 72, + "line_to": 72, + "type": "PossiblyNullReference", + "message": "Cannot call method getName on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php", + "snippet": " $moduleExtensionKey = sprintf('%s.%sExtension', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName());", + "selected_text": "getName", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 72, + "line_to": 72, + "type": "PossiblyNullArgument", + "message": "Argument 3 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php", + "snippet": " $moduleExtensionKey = sprintf('%s.%sExtension', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName());", + "selected_text": "$moduleTransfer->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 75, + "line_to": 75, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Dependency\\DependencyFinder\\ExtensionDependencyFinder::buildComposerName cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php", + "snippet": " $composerName = $this->buildComposerName($moduleTransfer->getOrganization()->getName(), sprintf('%sExtension', $moduleTransfer->getName()));", + "selected_text": "$moduleTransfer->getOrganization()->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 75, + "line_to": 75, + "type": "PossiblyNullReference", + "message": "Cannot call method getName on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php", + "snippet": " $composerName = $this->buildComposerName($moduleTransfer->getOrganization()->getName(), sprintf('%sExtension', $moduleTransfer->getName()));", + "selected_text": "getName", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 75, + "line_to": 75, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php", + "snippet": " $composerName = $this->buildComposerName($moduleTransfer->getOrganization()->getName(), sprintf('%sExtension', $moduleTransfer->getName()));", + "selected_text": "$moduleTransfer->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 171, + "line_to": 171, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of ucfirst expects string, possibly different type array|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php", + "snippet": " return ucfirst($filter->filter($dependentModule));", + "selected_text": "$filter->filter($dependentModule)", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 110, + "line_to": 110, + "type": "PossiblyNullArgument", + "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\Dependency\\DependencyFinder\\InternalDependencyFinder::getNamesFromUseStatements cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/InternalDependencyFinder.php", + "snippet": " $composerNames = $this->getNamesFromUseStatements($useStatements, $context->getModule()->getName());", + "selected_text": "$context->getModule()->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 68, + "line_to": 68, + "type": "PossiblyNullArgument", + "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\Dependency\\SchemaParser\\PropelSchemaParserInterface::getModuleNameByForeignReference cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/PersistenceDependencyFinder.php", + "snippet": " $dependentModule = $this->propelSchemaParser->getModuleNameByForeignReference($foreignIdColumnName, $context->getModule()->getName());", + "selected_text": "$context->getModule()->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 110, + "line_to": 110, + "type": "PossiblyNullArgument", + "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\Dependency\\DependencyFinder\\SprykerSdkDependencyFinder::getModuleNamesFromUseStatements cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/SprykerSdkDependencyFinder.php", + "snippet": " $modules = $this->getModuleNamesFromUseStatements($useStatements, $context->getModule()->getName());", + "selected_text": "$context->getModule()->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 36, + "line_to": 36, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Dependency\\DependencyFinder\\TwigDependencyFinder\\AtomFunctionDependencyFinder::addFindings cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/AtomFunctionDependencyFinder.php", + "snippet": " return $this->addFindings($context->getModule()->getName(), $matches, $dependencyContainer);", + "selected_text": "$context->getModule()->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 36, + "line_to": 36, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Dependency\\DependencyFinder\\TwigDependencyFinder\\MoleculeFunctionDependencyFinder::addFindings cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/MoleculeFunctionDependencyFinder.php", + "snippet": " return $this->addFindings($context->getModule()->getName(), $matches, $dependencyContainer);", + "selected_text": "$context->getModule()->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 36, + "line_to": 36, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Dependency\\DependencyFinder\\TwigDependencyFinder\\OrganismFunctionDependencyFinder::addFindings cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/OrganismFunctionDependencyFinder.php", + "snippet": " return $this->addFindings($context->getModule()->getName(), $matches, $dependencyContainer);", + "selected_text": "$context->getModule()->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 36, + "line_to": 36, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Dependency\\DependencyFinder\\TwigDependencyFinder\\TemplateFunctionDependencyFinder::addFindings cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/TemplateFunctionDependencyFinder.php", + "snippet": " return $this->addFindings($context->getModule()->getName(), $matches, $dependencyContainer);", + "selected_text": "$context->getModule()->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 36, + "line_to": 36, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Dependency\\DependencyFinder\\TwigDependencyFinder\\ViewFunctionDependencyFinder::addFindings cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/ViewFunctionDependencyFinder.php", + "snippet": " return $this->addFindings($context->getModule()->getName(), $matches, $dependencyContainer);", + "selected_text": "$context->getModule()->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 61, + "line_to": 61, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Dependency\\ModuleDependencyParser::dasherize cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/ModuleDependencyParser.php", + "snippet": " $moduleTransfer->setNameDashed($this->dasherize($moduleTransfer->getName()));", + "selected_text": "$moduleTransfer->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 46, + "line_to": 46, + "type": "LessSpecificImplementedReturnType", + "message": "The inherited return type 'array' for Spryker\\Zed\\Development\\Business\\Dependency\\SchemaParser\\PropelSchemaParserInterface::getForeignColumnNames is more specific than the implemented return type for Spryker\\Zed\\Development\\Business\\Dependency\\SchemaParser\\PropelSchemaParser::getforeigncolumnnames 'array'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php", + "snippet": " * @return array", + "selected_text": "array", + "error_level": 5, + "shortcode": 166, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 149, + "line_to": 149, + "type": "MismatchingDocblockReturnType", + "message": "Docblock has incorrect return type 'Symfony\\Component\\Finder\\Finder|array', should be 'Symfony\\Component\\Finder\\Finder'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php", + "snippet": " * @return \\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", + "selected_text": "\\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", + "error_level": 4, + "shortcode": 142, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 31, + "line_to": 31, + "type": "MismatchingDocblockReturnType", + "message": "Docblock has incorrect return type 'Symfony\\Component\\Finder\\Finder|array', should be 'Symfony\\Component\\Finder\\Finder'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php", + "snippet": " * @return \\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", + "selected_text": "\\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", + "error_level": 4, + "shortcode": 142, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 17, + "line_to": 17, + "type": "MismatchingDocblockReturnType", + "message": "Docblock has incorrect return type 'Symfony\\Component\\Finder\\Finder|array', should be 'Symfony\\Component\\Finder\\Finder'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinderInterface.php", + "snippet": " * @return \\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", + "selected_text": "\\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", + "error_level": 4, + "shortcode": 142, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 95, + "line_to": 95, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Dependency\\ModuleDependencyParserInterface::parseOutgoingDependencies cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/Validator/DependencyValidator.php", + "snippet": " $dependencyValidationRequestTransfer->getModule(),", + "selected_text": "$dependencyValidationRequestTransfer->getModule()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 99, + "line_to": 99, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Composer\\ComposerNameFinderInterface::findComposerNameByModuleName cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/Validator/DependencyValidator.php", + "snippet": " $composerName = $dependencyModuleTransfer->getComposerName() ?? $this->composerNameFinder->findComposerNameByModuleName($dependencyModuleTransfer->getModule());", + "selected_text": "$dependencyModuleTransfer->getModule()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 52, + "line_to": 52, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DependencyTree\\ComposerDependencyParser::getParsedComposerDependenciesForBundle cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", + "snippet": " $composerDependencyCollectionTransfer = $this->getParsedComposerDependenciesForBundle($dependencyCollectionTransfer->getModule());", + "selected_text": "$dependencyCollectionTransfer->getModule()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 67, + "line_to": 67, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", + "snippet": " $currentComposerName = sprintf('%s/%s', $dependencyCollectionTransfer->getModule()->getOrganization()->getNameDashed(), $dependencyCollectionTransfer->getModule()->getNameDashed());", + "selected_text": "$dependencyCollectionTransfer->getModule()->getOrganization()->getNameDashed()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 67, + "line_to": 67, + "type": "PossiblyNullReference", + "message": "Cannot call method getOrganization on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", + "snippet": " $currentComposerName = sprintf('%s/%s', $dependencyCollectionTransfer->getModule()->getOrganization()->getNameDashed(), $dependencyCollectionTransfer->getModule()->getNameDashed());", + "selected_text": "getOrganization", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 67, + "line_to": 67, + "type": "PossiblyNullReference", + "message": "Cannot call method getNameDashed on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", + "snippet": " $currentComposerName = sprintf('%s/%s', $dependencyCollectionTransfer->getModule()->getOrganization()->getNameDashed(), $dependencyCollectionTransfer->getModule()->getNameDashed());", + "selected_text": "getNameDashed", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 67, + "line_to": 67, + "type": "PossiblyNullArgument", + "message": "Argument 3 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", + "snippet": " $currentComposerName = sprintf('%s/%s', $dependencyCollectionTransfer->getModule()->getOrganization()->getNameDashed(), $dependencyCollectionTransfer->getModule()->getNameDashed());", + "selected_text": "$dependencyCollectionTransfer->getModule()->getNameDashed()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 67, + "line_to": 67, + "type": "PossiblyNullReference", + "message": "Cannot call method getNameDashed on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", + "snippet": " $currentComposerName = sprintf('%s/%s', $dependencyCollectionTransfer->getModule()->getOrganization()->getNameDashed(), $dependencyCollectionTransfer->getModule()->getNameDashed());", + "selected_text": "getNameDashed", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 148, + "line_to": 148, + "type": "PossiblyNullArrayOffset", + "message": "Cannot access value on variable $composerNames[mixed|null|string] using possibly null offset mixed|null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", + "snippet": " $composerNames[$moduleDependencyTransfer->getModule()] = $moduleDependencyTransfer->getComposerName();", + "selected_text": "$composerNames", + "error_level": 3, + "shortcode": 125, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 165, + "line_to": 165, + "type": "PossiblyNullArrayOffset", + "message": "Cannot access value on variable $composerNames[mixed|null|string] using possibly null offset mixed|null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", + "snippet": " $composerNames[$moduleDependencyTransfer->getModule()] = $moduleDependencyTransfer->getComposerName();", + "selected_text": "$composerNames", + "error_level": 3, + "shortcode": 125, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 184, + "line_to": 184, + "type": "PossiblyNullArrayOffset", + "message": "Cannot access value on variable $composerNames[mixed|null|string] using possibly null offset mixed|null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", + "snippet": " $composerNames[$moduleDependencyTransfer->getModule()] = $moduleDependencyTransfer->getComposerName();", + "selected_text": "$composerNames", + "error_level": 3, + "shortcode": 125, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 205, + "line_to": 205, + "type": "PossiblyNullArrayOffset", + "message": "Cannot access value on variable $composerNames[mixed|null|string] using possibly null offset mixed|null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", + "snippet": " $composerNames[$composerDependency->getModuleName()] = $composerDependency->getName();", + "selected_text": "$composerNames", + "error_level": 3, + "shortcode": 125, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 223, + "line_to": 223, + "type": "PossiblyNullArrayOffset", + "message": "Cannot access value on variable $composerNames[mixed|null|string] using possibly null offset mixed|null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", + "snippet": " $composerNames[$composerDependency->getModuleName()] = $composerDependency->getName();", + "selected_text": "$composerNames", + "error_level": 3, + "shortcode": 125, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 237, + "line_to": 237, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DependencyTree\\ComposerDependencyParser::parseDeclaredDependenciesForBundle cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", + "snippet": " $declaredDependencies = $this->parseDeclaredDependenciesForBundle($dependencyCollectionTransfer->getModule());", + "selected_text": "$dependencyCollectionTransfer->getModule()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 271, + "line_to": 271, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", + "snippet": " $dependencyJsonFilePath = sprintf('%s/dependency.json', $moduleTransfer->getPath());", + "selected_text": "$moduleTransfer->getPath()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 307, + "line_to": 307, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", + "snippet": " $composerJsonFilePath = sprintf('%s/composer.json', $moduleTransfer->getPath());", + "selected_text": "$moduleTransfer->getPath()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 407, + "line_to": 407, + "type": "PossiblyFalseOperand", + "message": "Left operand cannot be falsable, got false|int", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", + "snippet": " $name = substr($package, strpos($package, '/') + 1);", + "selected_text": "strpos($package, '/')", + "error_level": 3, + "shortcode": 162, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 409, + "line_to": 409, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of ucfirst expects string, possibly different type array|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", + "snippet": " $name = ucfirst($filter->filter($name));", + "selected_text": "$filter->filter($name)", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 422, + "line_to": 422, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", + "snippet": " return $moduleName === $dependencyCollectionTransfer->getModule()->getName() . 'Extension';", + "selected_text": "$dependencyCollectionTransfer->getModule()->getName()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 422, + "line_to": 422, + "type": "PossiblyNullReference", + "message": "Cannot call method getName on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", + "snippet": " return $moduleName === $dependencyCollectionTransfer->getModule()->getName() . 'Extension';", + "selected_text": "getName", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 62, + "line_to": 62, + "type": "PossiblyFalseOperand", + "message": "Left operand cannot be falsable, got false|int", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php", + "snippet": " $classNameParts = array_slice($tokens, $pointer, $endOfNew - $foundPosition - 2);", + "selected_text": "$endOfNew", + "error_level": 3, + "shortcode": 162, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 68, + "line_to": 68, + "type": "PossiblyFalseOperand", + "message": "Left operand cannot be falsable, got false|int", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php", + "snippet": " $startOf = $file->findPrevious([T_OPEN_PARENTHESIS, T_WHITESPACE, T_OPEN_SQUARE_BRACKET], $foundPosition - 1) + 1;", + "selected_text": "$file->findPrevious([T_OPEN_PARENTHESIS, T_WHITESPACE, T_OPEN_SQUARE_BRACKET], $foundPosition - 1)", + "error_level": 3, + "shortcode": 162, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 93, + "line_to": 93, + "type": "PossiblyUndefinedVariable", + "message": "Possibly undefined variable $dependencyInformation, first seen on line 93", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php", + "snippet": " $dependencyInformation[DependencyTree::META_FOREIGN_LAYER] = 'external';", + "selected_text": "$dependencyInformation", + "error_level": 3, + "shortcode": 18, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 141, + "line_to": 141, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of ucfirst expects string, possibly different type array|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php", + "snippet": " return ucfirst($filter->filter($foreignBundle));", + "selected_text": "$filter->filter($foreignBundle)", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 117, + "line_to": 117, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php", + "snippet": " 'url' => '/development/dependency/outgoing-graph?bundle=' . $incomingBundle->getName(),", + "selected_text": "$incomingBundle->getName()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 119, + "line_to": 119, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Graph\\Communication\\Plugin\\GraphPlugin::addNode cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php", + "snippet": " $this->graph->addNode($incomingBundle->getName(), $attributes);", + "selected_text": "$incomingBundle->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 120, + "line_to": 120, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Graph\\Communication\\Plugin\\GraphPlugin::addEdge cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php", + "snippet": " $this->graph->addEdge($incomingBundle->getName(), $this->bundleName);", + "selected_text": "$incomingBundle->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 82, + "line_to": 82, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of strtolower expects string, possibly different type array|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/FileInfoExtractor.php", + "snippet": " return strtolower($filter->filter($classNameParts[0]));", + "selected_text": "$filter->filter($classNameParts[0])", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 32, + "line_to": 32, + "type": "LessSpecificImplementedReturnType", + "message": "The inherited return type 'array' for Spryker\\Zed\\Development\\Business\\DependencyTree\\Finder\\FinderInterface::find is more specific than the implemented return type for Spryker\\Zed\\Development\\Business\\DependencyTree\\Finder\\FinderComposite::find 'array'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FinderComposite.php", + "snippet": " * @return array", + "selected_text": "array", + "error_level": 5, + "shortcode": 166, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 44, + "line_to": 44, + "type": "PossiblyNullArgument", + "message": "Argument 1 of rtrim cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/AbstractPathBuilder.php", + "snippet": " $basePath = rtrim($this->config->getPathToInternalNamespace(static::ORGANIZATION), '/');", + "selected_text": "$this->config->getPathToInternalNamespace(static::ORGANIZATION)", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 29, + "line_to": 29, + "type": "PossiblyNullArgument", + "message": "Argument 1 of rtrim cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/SprykerEcoPathBuilder.php", + "snippet": " $basePath = rtrim($this->config->getPathToInternalNamespace(static::ORGANIZATION), '/');", + "selected_text": "$this->config->getPathToInternalNamespace(static::ORGANIZATION)", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 29, + "line_to": 29, + "type": "PossiblyNullArgument", + "message": "Argument 1 of rtrim cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/SprykerSdkPathBuilder.php", + "snippet": " $basePath = rtrim($this->config->getPathToInternalNamespace(static::ORGANIZATION), '/');", + "selected_text": "$this->config->getPathToInternalNamespace(static::ORGANIZATION)", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 238, + "line_to": 238, + "type": "MoreSpecificImplementedParamType", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DevelopmentFacade::drawOutgoingDependencyTreeGraph has the more specific type 'string', expecting 'bool|string' as defined by Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::drawOutgoingDependencyTreeGraph", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentFacade.php", + "snippet": " public function drawOutgoingDependencyTreeGraph($moduleToView, array $excludedModules = [], $showIncomingDependencies = false)", + "selected_text": "$moduleToView", + "error_level": 5, + "shortcode": 140, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 59, + "line_to": 59, + "type": "PossiblyNullArrayOffset", + "message": "Cannot access value on variable $bundleTransferCollection[null|string] using possibly null offset null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinder.php", + "snippet": " $bundleTransferCollection[$bundleTransfer->getName()] = $bundleTransfer;", + "selected_text": "$bundleTransferCollection", + "error_level": 3, + "shortcode": 125, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 102, + "line_to": 102, + "type": "PossiblyNullArgument", + "message": "Argument 1 of array_key_exists cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinder.php", + "snippet": " if (!array_key_exists($bundleTransfer->getName(), $bundles)) {", + "selected_text": "$bundleTransfer->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 106, + "line_to": 106, + "type": "PossiblyNullArrayOffset", + "message": "Cannot access value on variable $bundles using possibly null offset null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinder.php", + "snippet": " $existingBundleTransfer = $bundles[$bundleTransfer->getName()];", + "selected_text": "$bundles", + "error_level": 3, + "shortcode": 125, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 118, + "line_to": 118, + "type": "MismatchingDocblockParamType", + "message": "Parameter $existingMethodTransferCollection has wrong type 'ArrayObject|array', should be 'ArrayObject'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinder.php", + "snippet": " * @param \\ArrayObject|\\Generated\\Shared\\Transfer\\IdeAutoCompletionBundleMethodTransfer[] $existingMethodTransferCollection", + "selected_text": "\\ArrayObject|\\Generated\\Shared\\Transfer\\IdeAutoCompletionBundleMethodTransfer[]", + "error_level": 4, + "shortcode": 141, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 119, + "line_to": 119, + "type": "MismatchingDocblockParamType", + "message": "Parameter $methodTransferCollection has wrong type 'ArrayObject|array', should be 'ArrayObject'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinder.php", + "snippet": " * @param \\ArrayObject|\\Generated\\Shared\\Transfer\\IdeAutoCompletionBundleMethodTransfer[] $methodTransferCollection", + "selected_text": "\\ArrayObject|\\Generated\\Shared\\Transfer\\IdeAutoCompletionBundleMethodTransfer[]", + "error_level": 4, + "shortcode": 141, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 130, + "line_to": 130, + "type": "PossiblyNullArrayOffset", + "message": "Cannot access value on variable $methodsByName[mixed|null|string] using possibly null offset mixed|null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinder.php", + "snippet": " $methodsByName[$methodTransfer->getName()] = $methodTransfer;", + "selected_text": "$methodsByName", + "error_level": 3, + "shortcode": 125, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 134, + "line_to": 134, + "type": "PossiblyNullArrayOffset", + "message": "Cannot access value on variable $methodsByName[mixed|null|string] using possibly null offset mixed|null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinder.php", + "snippet": " $methodsByName[$methodTransfer->getName()] = $methodTransfer;", + "selected_text": "$methodsByName", + "error_level": 3, + "shortcode": 125, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 101, + "line_to": 101, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\IdeAutoCompletion\\Bundle\\MethodBuilder\\AbstractBundleMethodBuilder::getInterfaceFileName cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/AbstractBundleMethodBuilder.php", + "snippet": " $interfaceFileName = $this->getInterfaceFileName($bundleTransfer->getName());", + "selected_text": "$bundleTransfer->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 124, + "line_to": 124, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\IdeAutoCompletion\\Bundle\\MethodBuilder\\AbstractBundleMethodBuilder::getClassFileName cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/AbstractBundleMethodBuilder.php", + "snippet": " $classFileName = $this->getClassFileName($bundleTransfer->getName());", + "selected_text": "$bundleTransfer->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 180, + "line_to": 180, + "type": "PossiblyNullArgument", + "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\IdeAutoCompletion\\Bundle\\NamespaceExtractorInterface::fromDirectory cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/AbstractBundleMethodBuilder.php", + "snippet": " return $this->namespaceExtractor->fromDirectory($directory, $bundleTransfer->getBaseDirectory());", + "selected_text": "$bundleTransfer->getBaseDirectory()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 31, + "line_to": 31, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilder.php", + "snippet": " $bundleTransfer->getDirectory(),", + "selected_text": "$bundleTransfer->getDirectory()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 32, + "line_to": 32, + "type": "PossiblyNullArgument", + "message": "Argument 3 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilder.php", + "snippet": " $bundleTransfer->getName()", + "selected_text": "$bundleTransfer->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 31, + "line_to": 31, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilder.php", + "snippet": " $bundleTransfer->getDirectory(),", + "selected_text": "$bundleTransfer->getDirectory()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 32, + "line_to": 32, + "type": "PossiblyNullArgument", + "message": "Argument 3 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilder.php", + "snippet": " $bundleTransfer->getName()", + "selected_text": "$bundleTransfer->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 31, + "line_to": 31, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilder.php", + "snippet": " $bundleTransfer->getDirectory(),", + "selected_text": "$bundleTransfer->getDirectory()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 32, + "line_to": 32, + "type": "PossiblyNullArgument", + "message": "Argument 3 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilder.php", + "snippet": " $bundleTransfer->getName()", + "selected_text": "$bundleTransfer->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 31, + "line_to": 31, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ResourceMethodBuilder.php", + "snippet": " $bundleTransfer->getDirectory(),", + "selected_text": "$bundleTransfer->getDirectory()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 32, + "line_to": 32, + "type": "PossiblyNullArgument", + "message": "Argument 3 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ResourceMethodBuilder.php", + "snippet": " $bundleTransfer->getName()", + "selected_text": "$bundleTransfer->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 31, + "line_to": 31, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilder.php", + "snippet": " $bundleTransfer->getDirectory(),", + "selected_text": "$bundleTransfer->getDirectory()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 32, + "line_to": 32, + "type": "PossiblyNullArgument", + "message": "Argument 3 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilder.php", + "snippet": " $bundleTransfer->getName()", + "selected_text": "$bundleTransfer->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 29, + "line_to": 29, + "type": "PossiblyInvalidMethodCall", + "message": "Cannot call method on possible array variable ", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Generator/BundleMethodGenerator.php", + "snippet": " if ($moduleTransfer->getMethods()->count() === 0) {", + "selected_text": "count", + "error_level": 3, + "shortcode": 113, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 38, + "line_to": 38, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Generator/BundleMethodGenerator.php", + "snippet": " $fileName = sprintf('%s.php', $moduleTransfer->getName());", + "selected_text": "$moduleTransfer->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 115, + "line_to": 115, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php", + "snippet": " $moduleTransfer->getPath(),", + "selected_text": "$moduleTransfer->getPath()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 116, + "line_to": 116, + "type": "PossiblyNullArgument", + "message": "Argument 3 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php", + "snippet": " $moduleTransfer->getOrganization()->getName(),", + "selected_text": "$moduleTransfer->getOrganization()->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 116, + "line_to": 116, + "type": "PossiblyNullReference", + "message": "Cannot call method getName on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php", + "snippet": " $moduleTransfer->getOrganization()->getName(),", + "selected_text": "getName", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 117, + "line_to": 117, + "type": "PossiblyNullArgument", + "message": "Argument 4 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php", + "snippet": " $applicationTransfer->getName(),", + "selected_text": "$applicationTransfer->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 118, + "line_to": 118, + "type": "PossiblyNullArgument", + "message": "Argument 5 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php", + "snippet": " $moduleTransfer->getName()", + "selected_text": "$moduleTransfer->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 125, + "line_to": 125, + "type": "MismatchingDocblockReturnType", + "message": "Docblock has incorrect return type 'Symfony\\Component\\Finder\\Finder|array', should be 'Symfony\\Component\\Finder\\Finder'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php", + "snippet": " * @return \\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", + "selected_text": "\\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", + "error_level": 4, + "shortcode": 142, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 157, + "line_to": 157, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php", + "snippet": " $dependencyProviderClassName = str_replace([$moduleTransfer->getPath() . 'src/', '.php', DIRECTORY_SEPARATOR], ['', '', '\\\\'], $splFileInfo->getPathname());", + "selected_text": "$moduleTransfer->getPath()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 18, + "line_to": 18, + "type": "MismatchingDocblockReturnType", + "message": "Docblock has incorrect return type 'Symfony\\Component\\Finder\\Finder|array', should be 'Symfony\\Component\\Finder\\Finder'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinderInterface.php", + "snippet": " * @return \\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", + "selected_text": "\\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", + "error_level": 4, + "shortcode": 142, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 104, + "line_to": 104, + "type": "MismatchingDocblockReturnType", + "message": "Docblock has incorrect return type 'Symfony\\Component\\Finder\\Finder|array', should be 'Symfony\\Component\\Finder\\Finder'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php", + "snippet": " * @return \\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", + "selected_text": "\\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", + "error_level": 4, + "shortcode": 142, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 142, + "line_to": 142, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Module\\ModuleFinder\\ModuleFinder::getComposerJsonAsArray cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php", + "snippet": " $composerJsonAsArray = $this->getComposerJsonAsArray($moduleTransfer->getPath());", + "selected_text": "$moduleTransfer->getPath()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 174, + "line_to": 174, + "type": "MismatchingDocblockReturnType", + "message": "Docblock has incorrect return type 'Symfony\\Component\\Finder\\Finder|array', should be 'Symfony\\Component\\Finder\\Finder'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php", + "snippet": " * @return \\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", + "selected_text": "\\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", + "error_level": 4, + "shortcode": 142, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 212, + "line_to": 212, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php", + "snippet": " return sprintf('%s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName());", + "selected_text": "$moduleTransfer->getOrganization()->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 212, + "line_to": 212, + "type": "PossiblyNullReference", + "message": "Cannot call method getName on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php", + "snippet": " return sprintf('%s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName());", + "selected_text": "getName", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 212, + "line_to": 212, + "type": "PossiblyNullArgument", + "message": "Argument 3 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php", + "snippet": " return sprintf('%s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName());", + "selected_text": "$moduleTransfer->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 284, + "line_to": 284, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php", + "snippet": " $lookupDirectory = sprintf('%s/src/%s/', $moduleTransfer->getPath(), $moduleTransfer->getOrganization()->getName());", + "selected_text": "$moduleTransfer->getPath()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 284, + "line_to": 284, + "type": "PossiblyNullArgument", + "message": "Argument 3 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php", + "snippet": " $lookupDirectory = sprintf('%s/src/%s/', $moduleTransfer->getPath(), $moduleTransfer->getOrganization()->getName());", + "selected_text": "$moduleTransfer->getOrganization()->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 284, + "line_to": 284, + "type": "PossiblyNullReference", + "message": "Cannot call method getName on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php", + "snippet": " $lookupDirectory = sprintf('%s/src/%s/', $moduleTransfer->getPath(), $moduleTransfer->getOrganization()->getName());", + "selected_text": "getName", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 375, + "line_to": 375, + "type": "PossiblyFalseOperand", + "message": "Left operand cannot be falsable, got false|int", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php", + "snippet": " $organizationName = $pathFragments[$vendorPosition + 1];", + "selected_text": "$vendorPosition", + "error_level": 3, + "shortcode": 162, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 390, + "line_to": 390, + "type": "PossiblyFalseOperand", + "message": "Left operand cannot be falsable, got false|int", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php", + "snippet": " $applicationName = $pathFragments[$vendorPosition + 2];", + "selected_text": "$vendorPosition", + "error_level": 3, + "shortcode": 162, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 29, + "line_to": 29, + "type": "PossiblyNullArgument", + "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcher::matchesOrganization cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleMatcher/ModuleMatcher.php", + "snippet": " if (!$this->matchesOrganization($moduleFilterTransfer, $moduleTransfer->getOrganization())) {", + "selected_text": "$moduleTransfer->getOrganization()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 54, + "line_to": 54, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcher::match cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleMatcher/ModuleMatcher.php", + "snippet": " return $this->match($moduleFilterTransfer->getOrganization()->getName(), $organizationTransfer->getName());", + "selected_text": "$moduleFilterTransfer->getOrganization()->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 54, + "line_to": 54, + "type": "PossiblyNullReference", + "message": "Cannot call method getName on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleMatcher/ModuleMatcher.php", + "snippet": " return $this->match($moduleFilterTransfer->getOrganization()->getName(), $organizationTransfer->getName());", + "selected_text": "getName", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 54, + "line_to": 54, + "type": "PossiblyNullArgument", + "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcher::match cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleMatcher/ModuleMatcher.php", + "snippet": " return $this->match($moduleFilterTransfer->getOrganization()->getName(), $organizationTransfer->getName());", + "selected_text": "$organizationTransfer->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 74, + "line_to": 74, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcher::match cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleMatcher/ModuleMatcher.php", + "snippet": " if ($this->match($moduleFilterTransfer->getApplication()->getName(), $applicationTransfer->getName())) {", + "selected_text": "$moduleFilterTransfer->getApplication()->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 74, + "line_to": 74, + "type": "PossiblyNullReference", + "message": "Cannot call method getName on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleMatcher/ModuleMatcher.php", + "snippet": " if ($this->match($moduleFilterTransfer->getApplication()->getName(), $applicationTransfer->getName())) {", + "selected_text": "getName", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 74, + "line_to": 74, + "type": "PossiblyNullArgument", + "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcher::match cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleMatcher/ModuleMatcher.php", + "snippet": " if ($this->match($moduleFilterTransfer->getApplication()->getName(), $applicationTransfer->getName())) {", + "selected_text": "$applicationTransfer->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 94, + "line_to": 94, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcher::match cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleMatcher/ModuleMatcher.php", + "snippet": " return $this->match($moduleFilterTransfer->getModule()->getName(), $moduleTransfer->getName());", + "selected_text": "$moduleFilterTransfer->getModule()->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 94, + "line_to": 94, + "type": "PossiblyNullReference", + "message": "Cannot call method getName on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleMatcher/ModuleMatcher.php", + "snippet": " return $this->match($moduleFilterTransfer->getModule()->getName(), $moduleTransfer->getName());", + "selected_text": "getName", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 94, + "line_to": 94, + "type": "PossiblyNullArgument", + "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcher::match cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleMatcher/ModuleMatcher.php", + "snippet": " return $this->match($moduleFilterTransfer->getModule()->getName(), $moduleTransfer->getName());", + "selected_text": "$moduleTransfer->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 43, + "line_to": 43, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/PathBuilder/AbstractPathBuilder.php", + "snippet": " $this->config->getPathToInternalNamespace(static::ORGANIZATION),", + "selected_text": "$this->config->getPathToInternalNamespace(static::ORGANIZATION)", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 56, + "line_to": 56, + "type": "PossiblyNullReference", + "message": "Cannot call method getName on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/PathBuilder/AbstractPathBuilder.php", + "snippet": " return ($moduleTransfer->getOrganization()->getName() === static::ORGANIZATION);", + "selected_text": "getName", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 62, + "line_to": 62, + "type": "InvalidNullableReturnType", + "message": "The declared return type 'string' for Spryker\\Zed\\Development\\Business\\Module\\PathBuilder\\AbstractPathBuilder::getModuleName is not nullable, but 'null|string' contains null", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/PathBuilder/AbstractPathBuilder.php", + "snippet": " * @return string", + "selected_text": "string", + "error_level": 5, + "shortcode": 144, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 66, + "line_to": 66, + "type": "NullableReturnStatement", + "message": "The declared return type 'string' for Spryker\\Zed\\Development\\Business\\Module\\PathBuilder\\AbstractPathBuilder::getModuleName is not nullable, but the function returns 'null|string'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/PathBuilder/AbstractPathBuilder.php", + "snippet": " return $moduleTransfer->getName();", + "selected_text": "$moduleTransfer->getName()", + "error_level": 5, + "shortcode": 139, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 22, + "line_to": 22, + "type": "InvalidNullableReturnType", + "message": "The declared return type 'string' for Spryker\\Zed\\Development\\Business\\Module\\PathBuilder\\SprykerEcoModulePathBuilder::getModuleName is not nullable, but 'null|string' contains null", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/PathBuilder/SprykerEcoModulePathBuilder.php", + "snippet": " * @return string", + "selected_text": "string", + "error_level": 5, + "shortcode": 144, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 26, + "line_to": 26, + "type": "NullableReturnStatement", + "message": "The declared return type 'string' for Spryker\\Zed\\Development\\Business\\Module\\PathBuilder\\SprykerEcoModulePathBuilder::getModuleName is not nullable, but the function returns 'null|string'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/PathBuilder/SprykerEcoModulePathBuilder.php", + "snippet": " return $moduleTransfer->getNameDashed();", + "selected_text": "$moduleTransfer->getNameDashed()", + "error_level": 5, + "shortcode": 139, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 22, + "line_to": 22, + "type": "InvalidNullableReturnType", + "message": "The declared return type 'string' for Spryker\\Zed\\Development\\Business\\Module\\PathBuilder\\SprykerSdkModulePathBuilder::getModuleName is not nullable, but 'null|string' contains null", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/PathBuilder/SprykerSdkModulePathBuilder.php", + "snippet": " * @return string", + "selected_text": "string", + "error_level": 5, + "shortcode": 144, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 26, + "line_to": 26, + "type": "NullableReturnStatement", + "message": "The declared return type 'string' for Spryker\\Zed\\Development\\Business\\Module\\PathBuilder\\SprykerSdkModulePathBuilder::getModuleName is not nullable, but the function returns 'null|string'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/PathBuilder/SprykerSdkModulePathBuilder.php", + "snippet": " return $moduleTransfer->getNameDashed();", + "selected_text": "$moduleTransfer->getNameDashed()", + "error_level": 5, + "shortcode": 139, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 40, + "line_to": 40, + "type": "InvalidNullableReturnType", + "message": "The declared return type 'string' for Spryker\\Zed\\Development\\Business\\Module\\PathBuilder\\SprykerStandaloneModulePathBuilder::getModuleName is not nullable, but 'null|string' contains null", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/PathBuilder/SprykerStandaloneModulePathBuilder.php", + "snippet": " * @return string", + "selected_text": "string", + "error_level": 5, + "shortcode": 144, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 44, + "line_to": 44, + "type": "NullableReturnStatement", + "message": "The declared return type 'string' for Spryker\\Zed\\Development\\Business\\Module\\PathBuilder\\SprykerStandaloneModulePathBuilder::getModuleName is not nullable, but the function returns 'null|string'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/PathBuilder/SprykerStandaloneModulePathBuilder.php", + "snippet": " return $moduleTransfer->getNameDashed();", + "selected_text": "$moduleTransfer->getNameDashed()", + "error_level": 5, + "shortcode": 139, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 98, + "line_to": 98, + "type": "MismatchingDocblockReturnType", + "message": "Docblock has incorrect return type 'Symfony\\Component\\Finder\\Finder|array', should be 'Symfony\\Component\\Finder\\Finder'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php", + "snippet": " * @return \\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", + "selected_text": "\\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", + "error_level": 4, + "shortcode": 142, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 191, + "line_to": 191, + "type": "PossiblyFalseOperand", + "message": "Left operand cannot be falsable, got false|int", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php", + "snippet": " $organizationName = $pathFragments[$srcPosition + 1];", + "selected_text": "$srcPosition", + "error_level": 3, + "shortcode": 162, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 206, + "line_to": 206, + "type": "PossiblyFalseOperand", + "message": "Left operand cannot be falsable, got false|int", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php", + "snippet": " $organizationName = $pathFragments[$srcPosition + 2];", + "selected_text": "$srcPosition", + "error_level": 3, + "shortcode": 162, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 228, + "line_to": 228, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php", + "snippet": " return sprintf('%s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName());", + "selected_text": "$moduleTransfer->getOrganization()->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 228, + "line_to": 228, + "type": "PossiblyNullReference", + "message": "Cannot call method getName on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php", + "snippet": " return sprintf('%s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName());", + "selected_text": "getName", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 228, + "line_to": 228, + "type": "PossiblyNullArgument", + "message": "Argument 3 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php", + "snippet": " return sprintf('%s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName());", + "selected_text": "$moduleTransfer->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 52, + "line_to": 52, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php", + "snippet": " $packageCollectionKey = sprintf('%s.%s', $packageTransfer->getOrganizationName(), $packageTransfer->getPackageName());", + "selected_text": "$packageTransfer->getOrganizationName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 52, + "line_to": 52, + "type": "PossiblyNullArgument", + "message": "Argument 3 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php", + "snippet": " $packageCollectionKey = sprintf('%s.%s', $packageTransfer->getOrganizationName(), $packageTransfer->getPackageName());", + "selected_text": "$packageTransfer->getPackageName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 60, + "line_to": 60, + "type": "MismatchingDocblockReturnType", + "message": "Docblock has incorrect return type 'Symfony\\Component\\Finder\\Finder|array', should be 'Symfony\\Component\\Finder\\Finder'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php", + "snippet": " * @return \\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", + "selected_text": "\\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", + "error_level": 4, + "shortcode": 142, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 130, + "line_to": 130, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Package\\PackageFinder\\PackageFinder::getComposerJsonAsArray cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php", + "snippet": " $composerJsonAsArray = $this->getComposerJsonAsArray($packageTransfer->getPath());", + "selected_text": "$packageTransfer->getPath()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 47, + "line_to": 47, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\PhpMd\\PhpMdRunner::resolvePath cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php", + "snippet": " $path = $this->resolvePath($bundle);", + "selected_text": "$bundle", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 75, + "line_to": 75, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of ucfirst expects string, possibly different type array|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php", + "snippet": " return ucfirst($filter->filter($value));", + "selected_text": "$filter->filter($value)", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 167, + "line_to": 167, + "type": "NullableReturnStatement", + "message": "The declared return type 'int' for Spryker\\Zed\\Development\\Business\\PhpMd\\PhpMdRunner::runPhpMdCommand is not nullable, but the function returns 'int|null'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php", + "snippet": " return $process->getExitCode();", + "selected_text": "$process->getExitCode()", + "error_level": 5, + "shortcode": 139, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 35, + "line_to": 35, + "type": "MoreSpecificImplementedParamType", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\PhpMd\\Rules\\Design\\TooManyMethods::apply has the more specific type 'PHPMD\\Node\\AbstractTypeNode', expecting 'PHPMD\\AbstractNode' as defined by PHPMD\\Rule::apply", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethods.php", + "snippet": " public function apply(AbstractNode $node)", + "selected_text": "$node", + "error_level": 5, + "shortcode": 140, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 35, + "line_to": 35, + "type": "MoreSpecificImplementedParamType", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\PhpMd\\Rules\\Design\\TooManyPublicMethods::apply has the more specific type 'PHPMD\\Node\\AbstractTypeNode', expecting 'PHPMD\\AbstractNode' as defined by PHPMD\\Rule::apply", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethods.php", + "snippet": " public function apply(AbstractNode $node)", + "selected_text": "$node", + "error_level": 5, + "shortcode": 140, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 100, + "line_to": 100, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Phpstan\\PhpstanRunner::getPaths expects string, possibly different type non-empty-array|non-empty-string|true provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php", + "snippet": " $paths = $this->getPaths($module);", + "selected_text": "$module", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 193, + "line_to": 193, + "type": "PossiblyInvalidArgument", + "message": "Argument 2 of preg_match expects string, possibly different type array|bool|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php", + "snippet": " if (preg_match('/^([+])(\\d)$/', $level, $matches)) {", + "selected_text": "$level", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 224, + "line_to": 224, + "type": "NullableReturnStatement", + "message": "The declared return type 'int' for Spryker\\Zed\\Development\\Business\\Phpstan\\PhpstanRunner::runCommand is not nullable, but the function returns 'int|null'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php", + "snippet": " return $process->getExitCode();", + "selected_text": "$process->getExitCode()", + "error_level": 5, + "shortcode": 139, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 369, + "line_to": 369, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Phpstan\\PhpstanRunner::getVendorPathByNamespace cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php", + "snippet": " $vendorDirectoryPath = $this->getVendorPathByNamespace($namespace);", + "selected_text": "$namespace", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 372, + "line_to": 372, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Phpstan\\Config\\PhpstanConfigFileFinderInterface::searchIn cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php", + "snippet": " ->searchIn($vendorDirectoryPath);", + "selected_text": "$vendorDirectoryPath", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 377, + "line_to": 377, + "type": "PossiblyNullArgument", + "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\Phpstan\\Config\\PhpstanConfigFileManagerInterface::merge cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php", + "snippet": " $this->getConfigFilenameForMerge($moduleConfigFile)", + "selected_text": "$this->getConfigFilenameForMerge($moduleConfigFile)", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 426, + "line_to": 426, + "type": "PossiblyNullArgument", + "message": "Argument 1 of dirname cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php", + "snippet": " return dirname($pathToModules) . DIRECTORY_SEPARATOR;", + "selected_text": "$pathToModules", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 65, + "line_to": 65, + "type": "PossiblyNullArrayAssignment", + "message": "Cannot access array value on possibly null variable $this->bundles[$currentBundleName]['out'] of type mixed|null", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php", + "snippet": " $this->bundles[$currentBundleName]['out'][$outgoingBundleName] = $outgoingBundleName;", + "selected_text": "$this->bundles[$currentBundleName]['out']", + "error_level": 3, + "shortcode": 120, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 66, + "line_to": 66, + "type": "PossiblyNullArrayAssignment", + "message": "Cannot access array value on possibly null variable $this->bundles[$outgoingBundleName]['in'] of type mixed|null", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php", + "snippet": " $this->bundles[$outgoingBundleName]['in'][$currentBundleName] = $currentBundleName;", + "selected_text": "$this->bundles[$outgoingBundleName]['in']", + "error_level": 3, + "shortcode": 120, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 88, + "line_to": 88, + "type": "MismatchingDocblockReturnType", + "message": "Docblock has incorrect return type 'ArrayObject|array', should be 'ArrayObject'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php", + "snippet": " * @return \\ArrayObject|\\Generated\\Shared\\Transfer\\ModuleDependencyTransfer[]", + "selected_text": "\\ArrayObject|\\Generated\\Shared\\Transfer\\ModuleDependencyTransfer[]", + "error_level": 4, + "shortcode": 142, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 102, + "line_to": 102, + "type": "MismatchingDocblockParamType", + "message": "Parameter $moduleDependencyTransferCollection has wrong type 'ArrayObject|array', should be 'ArrayObject'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php", + "snippet": " * @param \\Generated\\Shared\\Transfer\\ModuleDependencyTransfer[]|\\ArrayObject $moduleDependencyTransferCollection", + "selected_text": "\\Generated\\Shared\\Transfer\\ModuleDependencyTransfer[]|\\ArrayObject", + "error_level": 4, + "shortcode": 141, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 148, + "line_to": 148, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of strpos expects string, possibly different type array|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php", + "snippet": " if (strpos($moduleArgument, '.') === false) {", + "selected_text": "$moduleArgument", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 150, + "line_to": 150, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of Generated\\Shared\\Transfer\\ModuleTransfer::setName expects null|string, possibly different type array|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php", + "snippet": " $moduleTransfer->setName($moduleArgument);", + "selected_text": "$moduleArgument", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 156, + "line_to": 156, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\AbstractCoreModuleAwareConsole::addFilterDetails expects string, possibly different type array|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php", + "snippet": " $this->addFilterDetails($moduleArgument, $moduleFilterTransfer);", + "selected_text": "$moduleArgument", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 319, + "line_to": 319, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php", + "snippet": " return sprintf('%s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName());", + "selected_text": "$moduleTransfer->getOrganization()->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 319, + "line_to": 319, + "type": "PossiblyNullReference", + "message": "Cannot call method getName on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php", + "snippet": " return sprintf('%s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName());", + "selected_text": "getName", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 319, + "line_to": 319, + "type": "PossiblyNullArgument", + "message": "Argument 3 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php", + "snippet": " return sprintf('%s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName());", + "selected_text": "$moduleTransfer->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 71, + "line_to": 71, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of strpos expects string, possibly different type array|bool|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", + "snippet": " $isCore = strpos($module, '.') !== false;", + "selected_text": "$module", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 75, + "line_to": 75, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\CodeArchitectureSnifferConsole::normalizeModuleName expects string, possibly different type non-empty-array|non-empty-string|true provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", + "snippet": " $module = $this->normalizeModuleName($module);", + "selected_text": "$module", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 82, + "line_to": 82, + "type": "PossiblyInvalidOperand", + "message": "Cannot concatenate with a non-empty-array|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", + "snippet": " $message .= ' (' . $path . ')';", + "selected_text": "$path", + "error_level": 3, + "shortcode": 163, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 88, + "line_to": 88, + "type": "PossiblyInvalidArgument", + "message": "Argument 2 of Spryker\\Zed\\Development\\Communication\\Console\\CodeArchitectureSnifferConsole::runForCore expects string, possibly different type array|false|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", + "snippet": " $success = $this->runForCore($output, $module, $path);", + "selected_text": "$module", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 88, + "line_to": 88, + "type": "PossiblyInvalidArgument", + "message": "Argument 3 of Spryker\\Zed\\Development\\Communication\\Console\\CodeArchitectureSnifferConsole::runForCore expects string, possibly different type array|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", + "snippet": " $success = $this->runForCore($output, $module, $path);", + "selected_text": "$path", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 90, + "line_to": 90, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\CodeArchitectureSnifferConsole::getCustomPath expects null|string, possibly different type array|false|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", + "snippet": " $customPath = $this->getCustomPath($module, $path);", + "selected_text": "$module", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 90, + "line_to": 90, + "type": "PossiblyInvalidArgument", + "message": "Argument 2 of Spryker\\Zed\\Development\\Communication\\Console\\CodeArchitectureSnifferConsole::getCustomPath expects null|string, possibly different type array|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", + "snippet": " $customPath = $this->getCustomPath($module, $path);", + "selected_text": "$path", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 95, + "line_to": 95, + "type": "PossiblyInvalidArgument", + "message": "Argument 2 of Spryker\\Zed\\Development\\Communication\\Console\\CodeArchitectureSnifferConsole::runForProject expects string, possibly different type array|false|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", + "snippet": " $success = $this->runForProject($output, $module, $path);", + "selected_text": "$module", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 95, + "line_to": 95, + "type": "PossiblyInvalidArgument", + "message": "Argument 3 of Spryker\\Zed\\Development\\Communication\\Console\\CodeArchitectureSnifferConsole::runForProject expects string, possibly different type array|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", + "snippet": " $success = $this->runForProject($output, $module, $path);", + "selected_text": "$path", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 208, + "line_to": 208, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\CodeArchitectureSnifferConsole::buildPath cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", + "snippet": " return $this->buildPath($moduleTransfer->getPath(), $pathSuffix);", + "selected_text": "$moduleTransfer->getPath()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 219, + "line_to": 219, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", + "snippet": " return rtrim($path . $suffix, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;", + "selected_text": "$suffix", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 323, + "line_to": 323, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of ucfirst expects string, possibly different type array|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", + "snippet": " $normalized = ucfirst($normalized);", + "selected_text": "$normalized", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 375, + "line_to": 375, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", + "snippet": " $customPath = $pathToRoot . $path;", + "selected_text": "$path", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 54, + "line_to": 54, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\CodeFixturesConsole::displayRunInfo expects null|string, possibly different type array|bool|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php", + "snippet": " $this->displayRunInfo($module);", + "selected_text": "$module", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 61, + "line_to": 61, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::runFixtures expects null|string, possibly different type array|bool|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php", + "snippet": " return $this->getFacade()->runFixtures($module, $this->input->getOptions());", + "selected_text": "$module", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 63, + "line_to": 63, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::runPhpMd expects null|string, possibly different type array|bool|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodePhpMessDetectorConsole.php", + "snippet": " return $this->getFacade()->runPhpMd($module, $this->input->getOptions());", + "selected_text": "$module", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 64, + "line_to": 64, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\CodeStyleSnifferConsole::buildMessage expects null|string, possibly different type array|bool|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php", + "snippet": " $this->info($this->buildMessage($module, $path));", + "selected_text": "$module", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 64, + "line_to": 64, + "type": "PossiblyInvalidArgument", + "message": "Argument 2 of Spryker\\Zed\\Development\\Communication\\Console\\CodeStyleSnifferConsole::buildMessage expects null|string, possibly different type array|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php", + "snippet": " $this->info($this->buildMessage($module, $path));", + "selected_text": "$path", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 66, + "line_to": 66, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::checkCodeStyle expects null|string, possibly different type array|bool|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php", + "snippet": " $exitCode = $this->getFacade()->checkCodeStyle($module, $this->input->getOptions() + [static::ARGUMENT_SUB_PATH => $path]);", + "selected_text": "$module", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 79, + "line_to": 79, + "type": "PossiblyNullArgument", + "message": "Argument 1 of strpos cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php", + "snippet": " $isCore = strpos($module, '.') !== false;", + "selected_text": "$module", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 103, + "line_to": 103, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of ucfirst expects string, possibly different type array|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php", + "snippet": " $normalized = ucfirst($normalized);", + "selected_text": "$normalized", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 57, + "line_to": 57, + "type": "PossiblyInvalidArgument", + "message": "Argument 2 of Spryker\\Zed\\Development\\Communication\\Console\\CodeTestConsole::displayRunInfo expects null|string, possibly different type array|bool|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php", + "snippet": " $this->displayRunInfo($input, $module);", + "selected_text": "$module", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 64, + "line_to": 64, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::runTest expects null|string, possibly different type array|bool|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php", + "snippet": " $module,", + "selected_text": "$module", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 57, + "line_to": 57, + "type": "PossiblyInvalidArgument", + "message": "Argument 2 of sprintf expects float|int|string, possibly different type array|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php", + "snippet": " $this->input->getArgument(static::ARGUMENT_MODULE)", + "selected_text": "$this->input->getArgument(static::ARGUMENT_MODULE)", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 65, + "line_to": 65, + "type": "PossiblyInvalidArgument", + "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::updateComposerJsonInModules expects bool, possibly different type array|bool|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php", + "snippet": " $processedModules = $this->getFacade()->updateComposerJsonInModules($modules, $isDryRun);", + "selected_text": "$isDryRun", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 116, + "line_to": 116, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Symfony\\Component\\Console\\Output\\OutputInterface::writeln cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ComposerJsonValidatorConsole.php", + "snippet": " $this->output->writeln($validationMessageTransfer->getMessage());", + "selected_text": "$validationMessageTransfer->getMessage()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 62, + "line_to": 62, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::buildDependencyTree expects string, possibly different type array|bool|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php", + "snippet": " $this->getFacade()->buildDependencyTree($module);", + "selected_text": "$module", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 114, + "line_to": 114, + "type": "MismatchingDocblockParamType", + "message": "Parameter $moduleDependencyTransferCollection has wrong type 'ArrayObject|array', should be 'ArrayObject'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php", + "snippet": " * @param \\Generated\\Shared\\Transfer\\ModuleDependencyTransfer[]|\\ArrayObject $moduleDependencyTransferCollection", + "selected_text": "\\Generated\\Shared\\Transfer\\ModuleDependencyTransfer[]|\\ArrayObject", + "error_level": 4, + "shortcode": 141, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 139, + "line_to": 139, + "type": "MismatchingDocblockParamType", + "message": "Parameter $moduleDependencyTransferCollection has wrong type 'ArrayObject|array', should be 'ArrayObject'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php", + "snippet": " * @param \\Generated\\Shared\\Transfer\\ModuleDependencyTransfer[]|\\ArrayObject $moduleDependencyTransferCollection", + "selected_text": "\\Generated\\Shared\\Transfer\\ModuleDependencyTransfer[]|\\ArrayObject", + "error_level": 4, + "shortcode": 141, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 192, + "line_to": 192, + "type": "PossiblyNullArgument", + "message": "Argument 3 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php", + "snippet": " 'Composer name' => sprintf('%s', $color, $composerName),", + "selected_text": "$composerName", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 194, + "line_to": 194, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\DependencyViolationFinderConsole::getColoredYesOrNo cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php", + "snippet": " 'is valid' => $this->getColoredYesOrNo($moduleDependencyTransfer->getIsValid()),", + "selected_text": "$moduleDependencyTransfer->getIsValid()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 195, + "line_to": 195, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\DependencyViolationFinderConsole::getYesOrNo cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php", + "snippet": " 'src dependency' => $this->getYesOrNo($moduleDependencyTransfer->getIsSrcDependency()),", + "selected_text": "$moduleDependencyTransfer->getIsSrcDependency()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 196, + "line_to": 196, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\DependencyViolationFinderConsole::getYesOrNo cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php", + "snippet": " 'test dependency' => $this->getYesOrNo($moduleDependencyTransfer->getIsTestDependency()),", + "selected_text": "$moduleDependencyTransfer->getIsTestDependency()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 197, + "line_to": 197, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\DependencyViolationFinderConsole::getYesOrNo cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php", + "snippet": " 'in composer require' => $this->getYesOrNo($moduleDependencyTransfer->getIsInComposerRequire()),", + "selected_text": "$moduleDependencyTransfer->getIsInComposerRequire()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 198, + "line_to": 198, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\DependencyViolationFinderConsole::getYesOrNo cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php", + "snippet": " 'in composer require-dev' => $this->getYesOrNo($moduleDependencyTransfer->getIsInComposerRequireDev()),", + "selected_text": "$moduleDependencyTransfer->getIsInComposerRequireDev()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 199, + "line_to": 199, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\DependencyViolationFinderConsole::getYesOrNo cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php", + "snippet": " 'in composer suggest' => $this->getYesOrNo($moduleDependencyTransfer->getIsSuggested()),", + "selected_text": "$moduleDependencyTransfer->getIsSuggested()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 200, + "line_to": 200, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\DependencyViolationFinderConsole::getYesOrNo cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php", + "snippet": " 'is optional dependency' => $this->getYesOrNo($moduleDependencyTransfer->getIsOptionalDependency()),", + "selected_text": "$moduleDependencyTransfer->getIsOptionalDependency()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 201, + "line_to": 201, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\DependencyViolationFinderConsole::getYesOrNo cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php", + "snippet": " 'is own extension module' => $this->getYesOrNo($moduleDependencyTransfer->getIsOwnExtensionModule()),", + "selected_text": "$moduleDependencyTransfer->getIsOwnExtensionModule()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 81, + "line_to": 81, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", + "snippet": " $this->output->writeln(sprintf('No dependency issues found in %s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName()));", + "selected_text": "$moduleTransfer->getOrganization()->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 81, + "line_to": 81, + "type": "PossiblyNullReference", + "message": "Cannot call method getName on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", + "snippet": " $this->output->writeln(sprintf('No dependency issues found in %s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName()));", + "selected_text": "getName", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 81, + "line_to": 81, + "type": "PossiblyNullArgument", + "message": "Argument 3 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", + "snippet": " $this->output->writeln(sprintf('No dependency issues found in %s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName()));", + "selected_text": "$moduleTransfer->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 99, + "line_to": 99, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::findComposerNameByModuleName cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", + "snippet": " $composerNameToFix = $this->getFacade()->findComposerNameByModuleName($moduleDependencyTransfer->getModuleName());", + "selected_text": "$moduleDependencyTransfer->getModuleName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 102, + "line_to": 102, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", + "snippet": " $this->output->writeln(sprintf('Could not get a composer name for \"%s\"', $moduleDependencyTransfer->getModuleName()));", + "selected_text": "$moduleDependencyTransfer->getModuleName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 103, + "line_to": 103, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", + "snippet": " $this->output->writeln(sprintf('Please check the module %s.%s manually.', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName()));", + "selected_text": "$moduleTransfer->getOrganization()->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 103, + "line_to": 103, + "type": "PossiblyNullReference", + "message": "Cannot call method getName on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", + "snippet": " $this->output->writeln(sprintf('Please check the module %s.%s manually.', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName()));", + "selected_text": "getName", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 103, + "line_to": 103, + "type": "PossiblyNullArgument", + "message": "Argument 3 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", + "snippet": " $this->output->writeln(sprintf('Please check the module %s.%s manually.', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName()));", + "selected_text": "$moduleTransfer->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 111, + "line_to": 111, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", + "snippet": " $this->output->writeln(sprintf('Fixed dependencies in %s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName()));", + "selected_text": "$moduleTransfer->getOrganization()->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 111, + "line_to": 111, + "type": "PossiblyNullReference", + "message": "Cannot call method getName on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", + "snippet": " $this->output->writeln(sprintf('Fixed dependencies in %s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName()));", + "selected_text": "getName", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 111, + "line_to": 111, + "type": "PossiblyNullArgument", + "message": "Argument 3 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", + "snippet": " $this->output->writeln(sprintf('Fixed dependencies in %s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName()));", + "selected_text": "$moduleTransfer->getName()", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 123, + "line_to": 123, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", + "snippet": " $composerJsonFile = $moduleTransfer->getPath() . '/composer.json';", + "selected_text": "$moduleTransfer->getPath()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 142, + "line_to": 142, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", + "snippet": " $composerJsonFile = $moduleTransfer->getPath() . '/composer.json';", + "selected_text": "$moduleTransfer->getPath()", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 60, + "line_to": 60, + "type": "PossiblyInvalidArgument", + "message": "Argument 2 of explode expects string, possibly different type array|bool|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php", + "snippet": " $methods = explode(',', $this->input->getOption(static::OPTION_METHODS));", + "selected_text": "$this->input->getOption(static::OPTION_METHODS)", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 62, + "line_to": 62, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null array|null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php", + "snippet": " $message = 'Create bridge in ' . $module;", + "selected_text": "$module", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 62, + "line_to": 62, + "type": "PossiblyInvalidOperand", + "message": "Cannot concatenate with a array|null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php", + "snippet": " $message = 'Create bridge in ' . $module;", + "selected_text": "$module", + "error_level": 3, + "shortcode": 163, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 66, + "line_to": 66, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::createBridge expects string, possibly different type array|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php", + "snippet": " $this->getFacade()->createBridge($module, $toModule, $methods);", + "selected_text": "$module", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 66, + "line_to": 66, + "type": "PossiblyInvalidArgument", + "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::createBridge expects string, possibly different type array|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php", + "snippet": " $this->getFacade()->createBridge($module, $toModule, $methods);", + "selected_text": "$toModule", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 56, + "line_to": 56, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null array|null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php", + "snippet": " $message = 'Create or update Spryker core module ' . $module;", + "selected_text": "$module", + "error_level": 1, + "shortcode": 80, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 56, + "line_to": 56, + "type": "PossiblyInvalidOperand", + "message": "Cannot concatenate with a array|null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php", + "snippet": " $message = 'Create or update Spryker core module ' . $module;", + "selected_text": "$module", + "error_level": 3, + "shortcode": 163, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 66, + "line_to": 66, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::createModule expects string, possibly different type array|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php", + "snippet": " $this->getFacade()->createModule($module, $options);", + "selected_text": "$module", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 94, + "line_to": 94, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of strpos expects string, possibly different type array|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php", + "snippet": " if (strpos($moduleArgument, '.') === false) {", + "selected_text": "$moduleArgument", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 96, + "line_to": 96, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of Generated\\Shared\\Transfer\\ModuleTransfer::setName expects null|string, possibly different type array|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php", + "snippet": " $moduleTransfer->setName($moduleArgument);", + "selected_text": "$moduleArgument", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 102, + "line_to": 102, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\PluginUsageFinderConsole::addFilterDetails expects string, possibly different type array|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php", + "snippet": " $this->addFilterDetails($moduleArgument, $moduleFilterTransfer);", + "selected_text": "$moduleArgument", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 51, + "line_to": 51, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\PropelAbstractValidateConsole::buildMessage expects null|string, possibly different type array|bool|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/PropelAbstractValidateConsole.php", + "snippet": " $message = $this->buildMessage($module);", + "selected_text": "$module", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 55, + "line_to": 55, + "type": "PossiblyInvalidArgument", + "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::runPropelAbstractValidation expects null|string, possibly different type array|bool|null|string provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/PropelAbstractValidateConsole.php", + "snippet": " $result = $this->getFacade()->runPropelAbstractValidation($output, $module);", + "selected_text": "$module", + "error_level": 3, + "shortcode": 92, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 69, + "line_to": 69, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::runArchitectureSniffer cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Controller/ArchitectureController.php", + "snippet": " $fileViolations = $this->getFacade()->runArchitectureSniffer($directory);", + "selected_text": "$directory", + "error_level": 3, + "shortcode": 78, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 82, + "line_to": 82, + "type": "PossiblyNullReference", + "message": "Cannot call method getOrganization on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Controller/DependencyProviderPluginUsageController.php", + "snippet": " 'organization' => $dependencyProviderTransfer->getModule()->getOrganization()->getName(),", + "selected_text": "getOrganization", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 82, + "line_to": 82, + "type": "PossiblyNullReference", + "message": "Cannot call method getName on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Controller/DependencyProviderPluginUsageController.php", + "snippet": " 'organization' => $dependencyProviderTransfer->getModule()->getOrganization()->getName(),", + "selected_text": "getName", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 83, + "line_to": 83, + "type": "PossiblyNullReference", + "message": "Cannot call method getName on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Controller/DependencyProviderPluginUsageController.php", + "snippet": " 'module' => $dependencyProviderTransfer->getModule()->getName(),", + "selected_text": "getName", + "error_level": 3, + "shortcode": 83, + "taint_trace": null + } + ], + "deprecation": [ + { + "severity": "info", + "line_from": 17, + "line_to": 17, + "type": "DeprecatedInterface", + "message": "Spryker\\Zed\\Development\\Business\\ArchitectureSniffer\\AllBundleFinderInterface is marked deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php", + "snippet": "class AllBundleFinder implements AllBundleFinderInterface", + "selected_text": "AllBundleFinder", + "error_level": 2, + "shortcode": 152, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 18, + "line_to": 18, + "type": "DeprecatedInterface", + "message": "Spryker\\Zed\\Development\\Business\\DependencyTree\\ViolationChecker\\DependencyViolationCheckerInterface is marked deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ViolationChecker/DependencyViolationChecker.php", + "snippet": "class DependencyViolationChecker implements DependencyViolationCheckerInterface", + "selected_text": "DependencyViolationChecker", + "error_level": 2, + "shortcode": 152, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 836, + "line_to": 836, + "type": "DeprecatedClass", + "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ModuleFinder\\ModuleFinderInterface is marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", + "snippet": " * @return \\Spryker\\Zed\\Development\\Business\\Module\\ModuleFinder\\ModuleFinderInterface", + "selected_text": "\\Spryker\\Zed\\Development\\Business\\Module\\ModuleFinder\\ModuleFinderInterface", + "error_level": 2, + "shortcode": 98, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 838, + "line_to": 838, + "type": "DeprecatedClass", + "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ModuleFinder\\ModuleFinderInterface is marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", + "snippet": " public function createModuleFinder(): ModuleFinderInterface", + "selected_text": "ModuleFinderInterface", + "error_level": 2, + "shortcode": 98, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 840, + "line_to": 840, + "type": "DeprecatedClass", + "message": "Spryker\\Zed\\Development\\Business\\Module\\ModuleFinder\\ModuleFinder is marked deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", + "snippet": " return new ModuleFinder($this->getConfig(), $this->createModuleMatcher());", + "selected_text": "new ModuleFinder($this->getConfig(), $this->createModuleMatcher())", + "error_level": 2, + "shortcode": 98, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 840, + "line_to": 840, + "type": "DeprecatedMethod", + "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createModuleMatcher has been marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", + "snippet": " return new ModuleFinder($this->getConfig(), $this->createModuleMatcher());", + "selected_text": "createModuleMatcher", + "error_level": 2, + "shortcode": 1, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 846, + "line_to": 846, + "type": "DeprecatedClass", + "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface is marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", + "snippet": " * @return \\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface", + "selected_text": "\\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface", + "error_level": 2, + "shortcode": 98, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 848, + "line_to": 848, + "type": "DeprecatedClass", + "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface is marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", + "snippet": " public function createModuleMatcher(): ModuleMatcherInterface", + "selected_text": "ModuleMatcherInterface", + "error_level": 2, + "shortcode": 98, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 850, + "line_to": 850, + "type": "DeprecatedClass", + "message": "Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcher is marked deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", + "snippet": " return new ModuleMatcher();", + "selected_text": "new ModuleMatcher()", + "error_level": 2, + "shortcode": 98, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 1287, + "line_to": 1287, + "type": "DeprecatedClass", + "message": "Class Spryker\\Zed\\Development\\Business\\DependencyTree\\ViolationChecker\\DependencyViolationCheckerInterface is marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", + "snippet": " * @return \\Spryker\\Zed\\Development\\Business\\DependencyTree\\ViolationChecker\\DependencyViolationCheckerInterface", + "selected_text": "\\Spryker\\Zed\\Development\\Business\\DependencyTree\\ViolationChecker\\DependencyViolationCheckerInterface", + "error_level": 2, + "shortcode": 98, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 1291, + "line_to": 1295, + "type": "DeprecatedClass", + "message": "Spryker\\Zed\\Development\\Business\\DependencyTree\\ViolationChecker\\DependencyViolationChecker is marked deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", + "snippet": " return new DependencyViolationChecker(\n $this->createDependencyTreeReader(),\n $this->createViolationFinder(),\n $this->createDependencyViolationFilter()\n );", + "selected_text": "new DependencyViolationChecker(\n $this->createDependencyTreeReader(),\n $this->createViolationFinder(),\n $this->createDependencyViolationFilter()\n )", + "error_level": 2, + "shortcode": 98, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 1293, + "line_to": 1293, + "type": "DeprecatedMethod", + "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createViolationFinder has been marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", + "snippet": " $this->createViolationFinder(),", + "selected_text": "createViolationFinder", + "error_level": 2, + "shortcode": 1, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 1294, + "line_to": 1294, + "type": "DeprecatedMethod", + "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createDependencyViolationFilter has been marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", + "snippet": " $this->createDependencyViolationFilter()", + "selected_text": "createDependencyViolationFilter", + "error_level": 2, + "shortcode": 1, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 1307, + "line_to": 1307, + "type": "DeprecatedMethod", + "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createViolationFinderUseForeignConstants has been marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", + "snippet": " ->addViolationFinder($this->createViolationFinderUseForeignConstants())", + "selected_text": "createViolationFinderUseForeignConstants", + "error_level": 2, + "shortcode": 1, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 1308, + "line_to": 1308, + "type": "DeprecatedMethod", + "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createViolationFinderUseForeignException has been marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", + "snippet": " ->addViolationFinder($this->createViolationFinderUseForeignException())", + "selected_text": "createViolationFinderUseForeignException", + "error_level": 2, + "shortcode": 1, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 1309, + "line_to": 1309, + "type": "DeprecatedMethod", + "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createViolationFinderBundleUsesConnector has been marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", + "snippet": " ->addViolationFinder($this->createViolationFinderBundleUsesConnector());", + "selected_text": "createViolationFinderBundleUsesConnector", + "error_level": 2, + "shortcode": 1, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 1323, + "line_to": 1323, + "type": "DeprecatedMethod", + "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createDependencyTreeConstantsToForeignConstantsFilter has been marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", + "snippet": " ->addFilter($this->createDependencyTreeConstantsToForeignConstantsFilter())", + "selected_text": "createDependencyTreeConstantsToForeignConstantsFilter", + "error_level": 2, + "shortcode": 1, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 1376, + "line_to": 1376, + "type": "DeprecatedClass", + "message": "Spryker\\Zed\\Development\\Business\\DependencyTree\\ViolationFinder\\BundleUsesConnector is marked deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", + "snippet": " return new BundleUsesConnector();", + "selected_text": "new BundleUsesConnector()", + "error_level": 2, + "shortcode": 98, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 1951, + "line_to": 1951, + "type": "DeprecatedClass", + "message": "Class Spryker\\Zed\\Development\\Business\\ArchitectureSniffer\\AllBundleFinderInterface is marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", + "snippet": " * @return \\Spryker\\Zed\\Development\\Business\\ArchitectureSniffer\\AllBundleFinderInterface", + "selected_text": "\\Spryker\\Zed\\Development\\Business\\ArchitectureSniffer\\AllBundleFinderInterface", + "error_level": 2, + "shortcode": 98, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 1955, + "line_to": 1960, + "type": "DeprecatedClass", + "message": "Spryker\\Zed\\Development\\Business\\ArchitectureSniffer\\AllBundleFinder is marked deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", + "snippet": " return new AllBundleFinder(\n $this->createFinder(),\n $this->createCamelCaseToDashFilter(),\n $this->getConfig()->getProjectNamespaces(),\n $this->getConfig()->getCoreNamespaces()\n );", + "selected_text": "new AllBundleFinder(\n $this->createFinder(),\n $this->createCamelCaseToDashFilter(),\n $this->getConfig()->getProjectNamespaces(),\n $this->getConfig()->getCoreNamespaces()\n )", + "error_level": 2, + "shortcode": 98, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 1986, + "line_to": 1986, + "type": "DeprecatedClass", + "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ProjectModuleFinder\\ProjectModuleFinderInterface is marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", + "snippet": " * @return \\Spryker\\Zed\\Development\\Business\\Module\\ProjectModuleFinder\\ProjectModuleFinderInterface", + "selected_text": "\\Spryker\\Zed\\Development\\Business\\Module\\ProjectModuleFinder\\ProjectModuleFinderInterface", + "error_level": 2, + "shortcode": 98, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 1988, + "line_to": 1988, + "type": "DeprecatedClass", + "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ProjectModuleFinder\\ProjectModuleFinderInterface is marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", + "snippet": " public function createProjectModuleFinder(): ProjectModuleFinderInterface", + "selected_text": "ProjectModuleFinderInterface", + "error_level": 2, + "shortcode": 98, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 1990, + "line_to": 1990, + "type": "DeprecatedClass", + "message": "Spryker\\Zed\\Development\\Business\\Module\\ProjectModuleFinder\\ProjectModuleFinder is marked deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", + "snippet": " return new ProjectModuleFinder($this->getConfig(), $this->createModuleMatcher());", + "selected_text": "new ProjectModuleFinder($this->getConfig(), $this->createModuleMatcher())", + "error_level": 2, + "shortcode": 98, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 1990, + "line_to": 1990, + "type": "DeprecatedMethod", + "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createModuleMatcher has been marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", + "snippet": " return new ProjectModuleFinder($this->getConfig(), $this->createModuleMatcher());", + "selected_text": "createModuleMatcher", + "error_level": 2, + "shortcode": 1, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 1996, + "line_to": 1996, + "type": "DeprecatedClass", + "message": "Class Spryker\\Zed\\Development\\Business\\Package\\PackageFinder\\PackageFinderInterface is marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", + "snippet": " * @return \\Spryker\\Zed\\Development\\Business\\Package\\PackageFinder\\PackageFinderInterface", + "selected_text": "\\Spryker\\Zed\\Development\\Business\\Package\\PackageFinder\\PackageFinderInterface", + "error_level": 2, + "shortcode": 98, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 1998, + "line_to": 1998, + "type": "DeprecatedClass", + "message": "Class Spryker\\Zed\\Development\\Business\\Package\\PackageFinder\\PackageFinderInterface is marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", + "snippet": " public function createPackageFinder(): PackageFinderInterface", + "selected_text": "PackageFinderInterface", + "error_level": 2, + "shortcode": 98, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 2000, + "line_to": 2000, + "type": "DeprecatedClass", + "message": "Spryker\\Zed\\Development\\Business\\Package\\PackageFinder\\PackageFinder is marked deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", + "snippet": " return new PackageFinder($this->getConfig());", + "selected_text": "new PackageFinder($this->getConfig())", + "error_level": 2, + "shortcode": 98, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 198, + "line_to": 198, + "type": "DeprecatedMethod", + "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentFacade::getAllModules has been marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentFacade.php", + "snippet": " return $this->getAllModules();", + "selected_text": "getAllModules", + "error_level": 2, + "shortcode": 1, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 309, + "line_to": 309, + "type": "DeprecatedMethod", + "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createDependencyViolationChecker has been marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentFacade.php", + "snippet": " return $this->getFactory()->createDependencyViolationChecker()->getDependencyViolations();", + "selected_text": "createDependencyViolationChecker", + "error_level": 2, + "shortcode": 1, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 26, + "line_to": 26, + "type": "DeprecatedInterface", + "message": "Spryker\\Zed\\Development\\Business\\Module\\ModuleFinder\\ModuleFinderInterface is marked deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php", + "snippet": "class ModuleFinder implements ModuleFinderInterface", + "selected_text": "ModuleFinder", + "error_level": 2, + "shortcode": 152, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 34, + "line_to": 34, + "type": "DeprecatedClass", + "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface is marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php", + "snippet": " * @var \\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface", + "selected_text": "\\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface", + "error_level": 2, + "shortcode": 98, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 45, + "line_to": 45, + "type": "DeprecatedClass", + "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface is marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php", + "snippet": " * @param \\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface $moduleMatcher", + "selected_text": "\\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface", + "error_level": 2, + "shortcode": 98, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 17, + "line_to": 17, + "type": "DeprecatedInterface", + "message": "Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface is marked deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleMatcher/ModuleMatcher.php", + "snippet": "class ModuleMatcher implements ModuleMatcherInterface", + "selected_text": "ModuleMatcher", + "error_level": 2, + "shortcode": 152, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 22, + "line_to": 22, + "type": "DeprecatedInterface", + "message": "Spryker\\Zed\\Development\\Business\\Module\\ProjectModuleFinder\\ProjectModuleFinderInterface is marked deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php", + "snippet": "class ProjectModuleFinder implements ProjectModuleFinderInterface", + "selected_text": "ProjectModuleFinder", + "error_level": 2, + "shortcode": 152, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 30, + "line_to": 30, + "type": "DeprecatedClass", + "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface is marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php", + "snippet": " * @var \\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface", + "selected_text": "\\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface", + "error_level": 2, + "shortcode": 98, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 36, + "line_to": 36, + "type": "DeprecatedClass", + "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface is marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php", + "snippet": " * @param \\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface $moduleMatcher", + "selected_text": "\\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface", + "error_level": 2, + "shortcode": 98, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 20, + "line_to": 20, + "type": "DeprecatedInterface", + "message": "Spryker\\Zed\\Development\\Business\\Package\\PackageFinder\\PackageFinderInterface is marked deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php", + "snippet": "class PackageFinder implements PackageFinderInterface", + "selected_text": "PackageFinder", + "error_level": 2, + "shortcode": 152, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 43, + "line_to": 43, + "type": "DeprecatedMethod", + "message": "The method Spryker\\Zed\\Development\\DevelopmentConfig::getInternalPackageDirectories has been marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php", + "snippet": " if (in_array($directoryInfo->getFilename(), $this->config->getInternalPackageDirectories())) {", + "selected_text": "getInternalPackageDirectories", + "error_level": 2, + "shortcode": 1, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 87, + "line_to": 87, + "type": "DeprecatedMethod", + "message": "The method Spryker\\Zed\\Development\\DevelopmentConfig::getPathToCore has been marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php", + "snippet": " return $this->config->getPathToCore();", + "selected_text": "getPathToCore", + "error_level": 2, + "shortcode": 1, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 109, + "line_to": 109, + "type": "DeprecatedMethod", + "message": "The method Spryker\\Zed\\Development\\DevelopmentConfig::getPathToCore has been marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php", + "snippet": " return $this->config->getPathToCore() . $bundle . DIRECTORY_SEPARATOR;", + "selected_text": "getPathToCore", + "error_level": 2, + "shortcode": 1, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 66, + "line_to": 66, + "type": "DeprecatedMethod", + "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::createModule has been marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php", + "snippet": " $this->getFacade()->createModule($module, $options);", + "selected_text": "createModule", + "error_level": 2, + "shortcode": 1, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 90, + "line_to": 90, + "type": "DeprecatedMethod", + "message": "The method Spryker\\Zed\\Development\\DevelopmentConfig::getPathToCore has been marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/DevelopmentConfig.php", + "snippet": " $this->getPathToCore() . '%1$s/src/Spryker/Zed/%1$s/Presentation/',", + "selected_text": "getPathToCore", + "error_level": 2, + "shortcode": 1, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 91, + "line_to": 91, + "type": "DeprecatedMethod", + "message": "The method Spryker\\Zed\\Development\\DevelopmentConfig::getPathToCore has been marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/DevelopmentConfig.php", + "snippet": " $this->getPathToCore() . '%1$s/src/Spryker/Yves/%1$s/Theme/',", + "selected_text": "getPathToCore", + "error_level": 2, + "shortcode": 1, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 92, + "line_to": 92, + "type": "DeprecatedMethod", + "message": "The method Spryker\\Zed\\Development\\DevelopmentConfig::getPathToShop has been marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/DevelopmentConfig.php", + "snippet": " $this->getPathToShop() . '%1$s/src/SprykerShop/Yves/%1$s/Theme/',", + "selected_text": "getPathToShop", + "error_level": 2, + "shortcode": 1, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 144, + "line_to": 144, + "type": "DeprecatedConstant", + "message": "Constant Spryker\\Shared\\Kernel\\KernelConstants::SPRYKER_ROOT is deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/DevelopmentConfig.php", + "snippet": " $path = $this->getConfig()->get(KernelConstants::SPRYKER_ROOT);", + "selected_text": "KernelConstants::SPRYKER_ROOT", + "error_level": 2, + "shortcode": 170, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 202, + "line_to": 202, + "type": "DeprecatedMethod", + "message": "The method Spryker\\Zed\\Development\\DevelopmentConfig::getPathToCore has been marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/DevelopmentConfig.php", + "snippet": " 'Spryker' => $this->getPathToCore(),", + "selected_text": "getPathToCore", + "error_level": 2, + "shortcode": 1, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 203, + "line_to": 203, + "type": "DeprecatedMethod", + "message": "The method Spryker\\Zed\\Development\\DevelopmentConfig::getPathToEco has been marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/DevelopmentConfig.php", + "snippet": " 'SprykerEco' => $this->getPathToEco(),", + "selected_text": "getPathToEco", + "error_level": 2, + "shortcode": 1, + "taint_trace": null + }, + { + "severity": "info", + "line_from": 634, + "line_to": 634, + "type": "DeprecatedConstant", + "message": "Constant Spryker\\Shared\\Kernel\\KernelConstants::SPRYKER_ROOT is deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/DevelopmentConfig.php", + "snippet": " $path = $this->getConfig()->get(KernelConstants::SPRYKER_ROOT);", + "selected_text": "KernelConstants::SPRYKER_ROOT", + "error_level": 2, + "shortcode": 170, + "taint_trace": null + } + ] +} \ No newline at end of file diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php b/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php index 9b9731f1..e0be68d3 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php @@ -196,15 +196,15 @@ protected function getTemplateContent(string $templateName): string protected function replacePlaceHolder(BridgeBuilderDataTransfer $bridgeBuilderDataTransfer, string $templateContent): string { $replacements = [ - '{vendor}' => $bridgeBuilderDataTransfer->getVendor(), - '{application}' => $bridgeBuilderDataTransfer->getApplication(), - '{module}' => $bridgeBuilderDataTransfer->getModule(), - '{type}' => $bridgeBuilderDataTransfer->getType(), - - '{toVendor}' => $bridgeBuilderDataTransfer->getToVendor(), - '{toApplication}' => $bridgeBuilderDataTransfer->getToApplication(), - '{toModule}' => $bridgeBuilderDataTransfer->getToModule(), - '{toType}' => $bridgeBuilderDataTransfer->getToType(), + '{vendor}' => (string)$bridgeBuilderDataTransfer->getVendor(), + '{application}' => (string)$bridgeBuilderDataTransfer->getApplication(), + '{module}' => (string)$bridgeBuilderDataTransfer->getModule(), + '{type}' => (string)$bridgeBuilderDataTransfer->getType(), + + '{toVendor}' => (string)$bridgeBuilderDataTransfer->getToVendor(), + '{toApplication}' => (string)$bridgeBuilderDataTransfer->getToApplication(), + '{toModule}' => (string)$bridgeBuilderDataTransfer->getToModule(), + '{toType}' => (string)$bridgeBuilderDataTransfer->getToType(), '{toModuleLayer}' => '', '{toModuleVariable}' => lcfirst($bridgeBuilderDataTransfer->getToModule()), diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php index 49213668..fb6f33d2 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php @@ -131,7 +131,7 @@ protected function getExternalModules($bundleName) protected function mapExternalToInternal($composerName) { foreach ($this->externalToInternalMap as $external => $internal) { - if ($external[0] === '/') { + if (substr($external, 0, 1) === '/') { if (preg_match($external, $composerName)) { return $internal; } diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/AbstractFileDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/AbstractFileDependencyFinder.php index a57a787f..e94d7d4c 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/AbstractFileDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/AbstractFileDependencyFinder.php @@ -25,7 +25,7 @@ abstract class AbstractFileDependencyFinder implements DependencyFinderInterface */ protected function isExtensionModule(string $moduleOrComposerName): bool { - return preg_match('/Extension$|-extension$/', $moduleOrComposerName); + return (bool)preg_match('/Extension$|-extension$/', $moduleOrComposerName); } /** diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/ViolationFinder/BundleUsesConnector.php b/src/Spryker/Zed/Development/Business/DependencyTree/ViolationFinder/BundleUsesConnector.php index 7d8f8319..58a270e6 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/ViolationFinder/BundleUsesConnector.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/ViolationFinder/BundleUsesConnector.php @@ -21,6 +21,6 @@ class BundleUsesConnector implements ViolationFinderInterface */ public function isViolation(array $dependency) { - return (preg_match('/Connector/', $dependency[DependencyTree::META_FOREIGN_BUNDLE])); + return (bool)preg_match('/Connector/', $dependency[DependencyTree::META_FOREIGN_BUNDLE]); } } diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/ViolationFinder/UseForeignConstants.php b/src/Spryker/Zed/Development/Business/DependencyTree/ViolationFinder/UseForeignConstants.php index 36830742..ed20333f 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/ViolationFinder/UseForeignConstants.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/ViolationFinder/UseForeignConstants.php @@ -18,6 +18,6 @@ class UseForeignConstants implements ViolationFinderInterface */ public function isViolation(array $dependency) { - return (preg_match('/Spryker\\\\Shared\\\\(.*?)Constants/', $dependency[DependencyTree::META_FOREIGN_CLASS_NAME])); + return (bool)preg_match('/Spryker\\\\Shared\\\\(.*?)Constants/', $dependency[DependencyTree::META_FOREIGN_CLASS_NAME]); } } diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/ViolationFinder/UseForeignException.php b/src/Spryker/Zed/Development/Business/DependencyTree/ViolationFinder/UseForeignException.php index 6875fb84..b03a0959 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/ViolationFinder/UseForeignException.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/ViolationFinder/UseForeignException.php @@ -18,6 +18,6 @@ class UseForeignException implements ViolationFinderInterface */ public function isViolation(array $dependency) { - return (preg_match('/Exception/', $dependency[DependencyTree::META_FOREIGN_CLASS_NAME])); + return (bool)preg_match('/Exception/', $dependency[DependencyTree::META_FOREIGN_CLASS_NAME]); } } diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php b/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php index 753e28c1..9263fdf1 100644 --- a/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php +++ b/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php @@ -147,7 +147,7 @@ protected function isModule(ModuleTransfer $moduleTransfer): bool $description = $composerJsonAsArray['description']; - return preg_match('/\smodule$/', $description); + return (bool)preg_match('/\smodule$/', $description); } /** diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleMatcher/ModuleMatcher.php b/src/Spryker/Zed/Development/Business/Module/ModuleMatcher/ModuleMatcher.php index 010c8028..0425b7d2 100644 --- a/src/Spryker/Zed/Development/Business/Module/ModuleMatcher/ModuleMatcher.php +++ b/src/Spryker/Zed/Development/Business/Module/ModuleMatcher/ModuleMatcher.php @@ -122,6 +122,6 @@ protected function match(string $search, string $given): bool $search = mb_substr($search, 0, mb_strlen($search) - 1); } - return preg_match(sprintf('/%s/', $search), $given); + return (bool)preg_match(sprintf('/%s/', $search), $given); } } diff --git a/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php b/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php index 98b02217..810a1ee0 100644 --- a/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php +++ b/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php @@ -130,6 +130,6 @@ protected function isModule(PackageTransfer $packageTransfer): bool $composerJsonAsArray = $this->getComposerJsonAsArray($packageTransfer->getPath()); $description = $composerJsonAsArray['description']; - return preg_match('/\smodule$/', $description); + return (bool)preg_match('/\smodule$/', $description); } } diff --git a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Controversial/CamelCaseMethodName.php b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Controversial/CamelCaseMethodName.php index 2ef7cd2c..0e150bc3 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Controversial/CamelCaseMethodName.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Controversial/CamelCaseMethodName.php @@ -75,18 +75,18 @@ public function apply(AbstractNode $node) /** * @param string $methodName * - * @return int + * @return bool */ private function isValid($methodName) { if ($this->getBooleanProperty('allow-underscore-test') && strpos($methodName, 'test') === 0) { - return preg_match('/^test[a-zA-Z0-9]*([_][a-z][a-zA-Z0-9]*)?$/', $methodName); + return (bool)preg_match('/^test[a-zA-Z0-9]*([_][a-z][a-zA-Z0-9]*)?$/', $methodName); } if ($this->getBooleanProperty('allow-underscore')) { - return preg_match('/^[_]?[a-z][a-zA-Z0-9]*$/', $methodName); + return (bool)preg_match('/^[_]?[a-z][a-zA-Z0-9]*$/', $methodName); } - return preg_match('/^[a-z][a-zA-Z0-9]*$/', $methodName); + return (bool)preg_match('/^[a-z][a-zA-Z0-9]*$/', $methodName); } } diff --git a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildren.php b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildren.php index 5bebb543..ff3bc6ef 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildren.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildren.php @@ -41,12 +41,12 @@ public function apply(AbstractNode $node) /** * @param \PHPMD\AbstractNode $node * - * @return int + * @return bool */ private function isIgnorable(AbstractNode $node) { $fullyQualifiedClassName = $node->getFullQualifiedName(); - return preg_match('/Zed\\\\Importer\\\\Business\\\\(Importer|Installer)\\\\Abstract(Importer|Installer)/', $fullyQualifiedClassName); + return (bool)preg_match('/Zed\\\\Importer\\\\Business\\\\(Importer|Installer)\\\\Abstract(Importer|Installer)/', $fullyQualifiedClassName); } } diff --git a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethods.php b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethods.php index 71c7d3c5..8e6dce5b 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethods.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethods.php @@ -82,6 +82,6 @@ private function countMethods(AbstractTypeNode $node) */ private function isIgnorable(AbstractNode $node) { - return (preg_match('/(Client|Yves|Zed)\\\\(.*?)\\\\(.*?)Facade/', $node->getFullQualifiedName()) || preg_match('/(Factory)/', $node->getName())); + return (bool)preg_match('/(Client|Yves|Zed)\\\\(.*?)\\\\(.*?)Facade/', $node->getFullQualifiedName()) || preg_match('/(Factory)/', $node->getName()); } } diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php index f9c75549..120804be 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php @@ -360,7 +360,7 @@ protected function displayViolationsCountMessage(OutputInterface $output, int $c */ protected function isVerboseModeEnabled(): bool { - return $this->input->getOption(static::OPTION_VERBOSE); + return (bool)$this->input->getOption(static::OPTION_VERBOSE); } /** From 98d05c06867fd98b02c7055c15688825b6c8af18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Wed, 4 Dec 2019 12:18:52 +0000 Subject: [PATCH 159/336] TE-4571 Added man in the middle class to get rid of Silex. --- .../DependencyContainer.php | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyContainer/DependencyContainer.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyContainer/DependencyContainer.php index ee5a2e99..a94ddaa6 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyContainer/DependencyContainer.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyContainer/DependencyContainer.php @@ -52,6 +52,8 @@ public function addDependency(string $moduleOrComposerName, string $type, bool $ $moduleName = $this->getModuleNameFromComposerName($composerName); } + $isOptional = $this->makeOptionalIfSilex($moduleName, $isOptional); + $dependencyTransfer = new DependencyTransfer(); $dependencyTransfer ->setModule($moduleName) @@ -133,4 +135,21 @@ protected function getModuleNameFromComposerName(string $composerName): string return ucfirst($filter->filter($moduleName)); } + + /** + * @deprecated Will be removed without replacement. + * + * @param string $moduleName + * @param bool $isOptional + * + * @return bool + */ + protected function makeOptionalIfSilex(string $moduleName, bool $isOptional): bool + { + if ($moduleName === 'Silex') { + $isOptional = true; + } + + return $isOptional; + } } From 837554aa24b90ec1fbfd8ae1964bf8cff2d6b051 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Mon, 9 Dec 2019 08:15:07 +0000 Subject: [PATCH 160/336] TE-4571 Added new ZedBootstrap, extracted FactoryResolverAwareTrait and fixed bug in RouterListenerEventDispatcherPlugin. TE-4571 Make spryker/silex optional in all modules, updated dependency finder to return composer name of probably not installed module. TE-4571 Refactored tests infrastructure for Zed. TE-4571 Introduced ContainerProxy, GlobalContainer and removed Pimple (Plugin) usages. TE-4571 Added new ConsoleBootstrap, added new Zed CLI entry point, refactored Yves ConsoleBootstrap, extracted configuration fo debug mode. TE-4571 Deprecated spryker/silex. TE-4571 Added Elector in console to determine which ConsoleBootstrap to use. TE-4571 Replaced getApplication() calls with Container::get() calls. TE-4571 Updated psalm-report. --- .../Zed/Development/Business/Composer/ComposerNameFinder.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php b/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php index 370be488..1b75334a 100644 --- a/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php +++ b/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php @@ -67,6 +67,11 @@ public function findComposerNameByModuleName(string $moduleName): ?string */ protected function getComposerNameFromModuleCollection(string $moduleName): ?string { + /** @deprecated This is to make spryker/silex optional. */ + if ($moduleName === 'Silex') { + return 'spryker/silex'; + } + if ($this->isNamespacedModuleName($moduleName)) { $moduleTransfer = $this->getModuleTransferCollection()[$moduleName]; From e3d7e125422ed96fcfa1d7c9d4b471cc1ab73edf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Thu, 23 Jul 2020 09:27:49 +0000 Subject: [PATCH 161/336] TE-4571 Updated composer constraints. --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index fbf31f63..7be11349 100644 --- a/composer.json +++ b/composer.json @@ -8,7 +8,7 @@ "php": ">=7.2", "spryker/config": "^3.0.0", "spryker/graph": "^3.0.0", - "spryker/kernel": "^3.30.0", + "spryker/kernel": "^3.52.0", "spryker/module-finder": "^1.0.0", "spryker/symfony": "^3.0.0", "spryker/twig": "^3.0.0", From a8dac4b12c9e51af298e524fe30a83a6955bcd4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Wed, 5 Aug 2020 13:04:50 +0000 Subject: [PATCH 162/336] TE-7001 Updated console commands to return int. --- .../Console/DependencyViolationFinderConsole.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php index 854bc305..c6aafa8b 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php @@ -55,9 +55,9 @@ protected function configure() * @param \Symfony\Component\Console\Input\InputInterface $input * @param \Symfony\Component\Console\Output\OutputInterface $output * - * @return int|null + * @return int */ - public function execute(InputInterface $input, OutputInterface $output) + public function execute(InputInterface $input, OutputInterface $output): int { $modulesToValidate = $this->getModulesToExecute($input); From e39914d1c08f03dc26dcab0e8518fb22346eedcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Fri, 7 Aug 2020 14:14:18 +0000 Subject: [PATCH 163/336] TE-7001 Removed tests that can't work with new test infrastructure, replaced BCryptPasswordEncoder with NativePasswordEncoder, refactored test classes. --- .../CodeStyleSniffer/CodeStyleSnifferTest.php | 25 ------------------- 1 file changed, 25 deletions(-) diff --git a/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php b/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php index 9482a396..371b7a72 100644 --- a/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php +++ b/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php @@ -58,31 +58,6 @@ class CodeStyleSnifferTest extends Unit 'path' => null, ]; - /** - * @return void - */ - public function testCheckCodeStyleRunsCommandInProject(): void - { - $options = ['ignore' => 'vendor/'] + $this->defaultOptions; - $pathToApplicationRoot = APPLICATION_ROOT_DIR . '/'; - $codeStyleSnifferMock = $this->getCodeStyleSnifferMock($pathToApplicationRoot, $options); - - $codeStyleSnifferMock->checkCodeStyle(null, $options); - } - - /** - * @return void - */ - public function testCheckCodeStyleRunsCommandInProjectModule(): void - { - $this->tester->setConfig(KernelConstants::PROJECT_NAMESPACES, ['Pyz']); - $options = ['ignore' => 'vendor/'] + $this->defaultOptions; - $pathToApplicationRoot = rtrim(APPLICATION_ROOT_DIR) . '/src/Pyz/Zed/Development/'; - $codeStyleSnifferMock = $this->getCodeStyleSnifferMock($pathToApplicationRoot, $options); - - $codeStyleSnifferMock->checkCodeStyle('Development', $options); - } - /** * @return void */ From b83671658e3e3ab606e79005b22219cb153cdd9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Tue, 11 Aug 2020 05:20:51 +0000 Subject: [PATCH 164/336] TE-7001 Fixed CodeStyle issues. --- .../Business/CodeStyleSniffer/CodeStyleSnifferTest.php | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php b/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php index 371b7a72..3d5d1add 100644 --- a/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php +++ b/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php @@ -8,7 +8,6 @@ namespace SprykerTest\Zed\Development\Business\CodeStyleSniffer; use Codeception\Test\Unit; -use Spryker\Shared\Kernel\KernelConstants; use Spryker\Zed\Development\Business\CodeStyleSniffer\CodeStyleSniffer; /** From a191190cba2482935f4fce699693d8f860a2155a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Tue, 11 Aug 2020 12:14:22 +0000 Subject: [PATCH 165/336] TE-7001 Updated constraints. --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 7be11349..0ce446ff 100644 --- a/composer.json +++ b/composer.json @@ -10,7 +10,7 @@ "spryker/graph": "^3.0.0", "spryker/kernel": "^3.52.0", "spryker/module-finder": "^1.0.0", - "spryker/symfony": "^3.0.0", + "spryker/symfony": "^3.0.0 || ^4.0.0", "spryker/twig": "^3.0.0", "spryker/zend": "^2.0.0" }, From 2a2a5bde739e9d1014f9e66d5416136c93899c16 Mon Sep 17 00:00:00 2001 From: mscherer Date: Tue, 18 Aug 2020 13:29:11 +0200 Subject: [PATCH 166/336] Fix CS --- .../Zed/Development/_support/DevelopmentBusinessTester.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php b/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php index c796a941..93465a35 100644 --- a/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php +++ b/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php @@ -29,7 +29,7 @@ * @method void am($role) * @method void lookForwardTo($achieveValue) * @method void comment($description) - * @method \Codeception\Lib\Friend haveFriend($name, $actorClass = NULL) + * @method \Codeception\Lib\Friend haveFriend($name, $actorClass = null) * * @SuppressWarnings(PHPMD) */ From 89fd676b4920868bf4d3dbcc93f38338a5ab5130 Mon Sep 17 00:00:00 2001 From: mscherer Date: Wed, 26 Aug 2020 13:22:32 +0200 Subject: [PATCH 167/336] Fix CS for tester. --- .../Zed/Development/_support/DevelopmentBusinessTester.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php b/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php index 93465a35..2d3cd972 100644 --- a/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php +++ b/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php @@ -18,8 +18,6 @@ use Symfony\Component\Yaml\Parser; /** - * Inherited Methods - * * @method void wantToTest($text) * @method void wantTo($text) * @method void execute($callable) From d9fc2603b4d5b3a2c71abed15ef81b8376202448 Mon Sep 17 00:00:00 2001 From: mscherer Date: Fri, 28 Aug 2020 18:10:10 +0200 Subject: [PATCH 168/336] Fix spryker core protected visibility as per rules. --- .../Business/DependencyTree/AdjacencyMatrixBuilder.php | 8 ++++---- .../DependencyFilter/BundleToViewFilter.php | 2 +- .../DependencyFilter/ClassNameFilter.php | 2 +- .../DependencyFilter/DependencyFilter.php | 2 +- .../DependencyFilter/EngineBundleFilter.php | 2 +- .../DependencyFilter/ForeignEngineBundleFilter.php | 2 +- .../DependencyFilter/InvalidForeignBundleFilter.php | 2 +- .../DependencyTree/DependencyFilter/TreeFilter.php | 2 +- .../DependencyFinder/AbstractDependencyFinder.php | 2 +- .../DependencyGraph/DetailedGraphBuilder.php | 2 +- .../DependencyGraph/ExternalGraphBuilder.php | 2 +- .../DependencyGraph/SimpleGraphBuilder.php | 2 +- .../Business/DependencyTree/DependencyGraphBuilder.php | 4 ++-- .../DependencyHydrator/DependencyHydrator.php | 2 +- .../DependencyHydrator/PackageVersionHydrator.php | 2 +- .../Business/DependencyTree/DependencyTree.php | 4 ++-- .../Business/DependencyTree/DependencyTreeBuilder.php | 8 ++++---- .../DependencyTreeReader/JsonDependencyTreeReader.php | 2 +- .../DependencyTreeWriter/JsonDependencyTreeWriter.php | 2 +- .../Zed/Development/Business/DependencyTree/Finder.php | 10 +++++----- .../ViolationChecker/DependencyViolationChecker.php | 8 ++++---- .../DependencyTree/ViolationFinder/ViolationFinder.php | 2 +- .../IdeAutoCompletion/Remover/DirectoryRemover.php | 2 +- .../Remover/TargetDirectoryResolver.php | 2 +- .../Business/PhpMd/Rules/Design/TooManyMethods.php | 2 +- .../PhpMd/Rules/Design/TooManyPublicMethods.php | 2 +- 26 files changed, 41 insertions(+), 41 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/AdjacencyMatrixBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/AdjacencyMatrixBuilder.php index 20879619..04858a92 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/AdjacencyMatrixBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/AdjacencyMatrixBuilder.php @@ -15,22 +15,22 @@ class AdjacencyMatrixBuilder implements AdjacencyMatrixBuilderInterface /** * @var \Spryker\Zed\Development\Business\DependencyTree\DependencyTreeReader\DependencyTreeReaderInterface */ - private $dependencyTreeReader; + protected $dependencyTreeReader; /** * @var \Spryker\Zed\Development\Business\DependencyTree\DependencyFilter\TreeFilterInterface */ - private $filter; + protected $filter; /** * @var array */ - private $bundleList; + protected $bundleList; /** * @var array */ - private $matrix = []; + protected $matrix = []; /** * @param array $bundleList diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/BundleToViewFilter.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/BundleToViewFilter.php index 5ac8c347..54c41fa5 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/BundleToViewFilter.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/BundleToViewFilter.php @@ -14,7 +14,7 @@ class BundleToViewFilter implements DependencyFilterInterface /** * @var string */ - private $bundle; + protected $bundle; /** * @param string $bundle diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ClassNameFilter.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ClassNameFilter.php index 98a95e14..3f98bf75 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ClassNameFilter.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ClassNameFilter.php @@ -14,7 +14,7 @@ class ClassNameFilter implements DependencyFilterInterface /** * @var string */ - private $pattern; + protected $pattern; /** * @param string $pattern diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/DependencyFilter.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/DependencyFilter.php index 51c513d9..b6276698 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/DependencyFilter.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/DependencyFilter.php @@ -12,7 +12,7 @@ class DependencyFilter implements DependencyFilterCompositeInterface /** * @var \Spryker\Zed\Development\Business\DependencyTree\DependencyFilter\DependencyFilterInterface[] */ - private $dependencyFilter = []; + protected $dependencyFilter = []; /** * @param \Spryker\Zed\Development\Business\DependencyTree\DependencyFilter\DependencyFilterInterface $dependencyFilter diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/EngineBundleFilter.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/EngineBundleFilter.php index 9af91fa2..66460cd4 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/EngineBundleFilter.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/EngineBundleFilter.php @@ -14,7 +14,7 @@ class EngineBundleFilter implements DependencyFilterInterface /** * @var array */ - private $filterBundles = []; + protected $filterBundles = []; /** * @param string $pathToBundleConfig diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ForeignEngineBundleFilter.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ForeignEngineBundleFilter.php index bb8a52a9..5e3df288 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ForeignEngineBundleFilter.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ForeignEngineBundleFilter.php @@ -14,7 +14,7 @@ class ForeignEngineBundleFilter implements DependencyFilterInterface /** * @var array */ - private $filterBundles = []; + protected $filterBundles = []; /** * @param string $pathToBundleConfig diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/InvalidForeignBundleFilter.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/InvalidForeignBundleFilter.php index c47ef115..8e1cda3e 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/InvalidForeignBundleFilter.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/InvalidForeignBundleFilter.php @@ -14,7 +14,7 @@ class InvalidForeignBundleFilter implements DependencyFilterInterface /** * @var array */ - private $allowedBundles; + protected $allowedBundles; /** * @param array $allowedBundles diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/TreeFilter.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/TreeFilter.php index df66d4a3..235db1ca 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/TreeFilter.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/TreeFilter.php @@ -12,7 +12,7 @@ class TreeFilter implements TreeFilterCompositeInterface /** * @var \Spryker\Zed\Development\Business\DependencyTree\DependencyFilter\DependencyFilterInterface[] */ - private $filter; + protected $filter; /** * @param \Spryker\Zed\Development\Business\DependencyTree\DependencyFilter\DependencyFilterInterface $filter diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/AbstractDependencyFinder.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/AbstractDependencyFinder.php index d0fa3516..32dc899b 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/AbstractDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/AbstractDependencyFinder.php @@ -21,7 +21,7 @@ abstract class AbstractDependencyFinder /** * @var \Spryker\Zed\Development\Business\DependencyTree\AbstractDependencyTree */ - private $dependencyTree; + protected $dependencyTree; /** * @param \Spryker\Zed\Development\Business\DependencyTree\AbstractDependencyTree $dependencyTree diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/DetailedGraphBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/DetailedGraphBuilder.php index 527be1ed..f3d0a967 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/DetailedGraphBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/DetailedGraphBuilder.php @@ -21,7 +21,7 @@ class DetailedGraphBuilder implements GraphBuilderInterface /** * @var \Spryker\Shared\Graph\GraphInterface */ - private $graph; + protected $graph; /** * @var array diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/ExternalGraphBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/ExternalGraphBuilder.php index e8066ec6..c51b9114 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/ExternalGraphBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/ExternalGraphBuilder.php @@ -18,7 +18,7 @@ class ExternalGraphBuilder implements GraphBuilderInterface /** * @var \Spryker\Shared\Graph\GraphInterface */ - private $graph; + protected $graph; /** * @param \Spryker\Shared\Graph\GraphInterface $graph diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/SimpleGraphBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/SimpleGraphBuilder.php index c143b1ae..78bfbe02 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/SimpleGraphBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/SimpleGraphBuilder.php @@ -18,7 +18,7 @@ class SimpleGraphBuilder implements GraphBuilderInterface /** * @var \Spryker\Shared\Graph\GraphInterface */ - private $graph; + protected $graph; /** * @param \Spryker\Shared\Graph\GraphInterface $graph diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraphBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraphBuilder.php index d1490d66..1e161d50 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraphBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraphBuilder.php @@ -14,12 +14,12 @@ class DependencyGraphBuilder implements DependencyGraphBuilderInterface /** * @var \Spryker\Zed\Development\Business\DependencyTree\DependencyGraph\GraphBuilderInterface */ - private $graphBuilder; + protected $graphBuilder; /** * @var array */ - private $dependencyTree; + protected $dependencyTree; /** * @param \Spryker\Zed\Development\Business\DependencyTree\DependencyGraph\GraphBuilderInterface $graphBuilder diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/DependencyHydrator.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/DependencyHydrator.php index a86139b3..6ac8d9f0 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/DependencyHydrator.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/DependencyHydrator.php @@ -12,7 +12,7 @@ class DependencyHydrator implements DependencyHydratorCompositeInterface /** * @var \Spryker\Zed\Development\Business\DependencyTree\DependencyHydrator\DependencyHydratorInterface[] */ - private $hydrator; + protected $hydrator; /** * @param \Spryker\Zed\Development\Business\DependencyTree\DependencyHydrator\DependencyHydratorInterface $hydrator diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageVersionHydrator.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageVersionHydrator.php index 0360b4ee..d6b1d9a5 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageVersionHydrator.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageVersionHydrator.php @@ -17,7 +17,7 @@ class PackageVersionHydrator implements DependencyHydratorInterface /** * @var array */ - private $installedPackages; + protected $installedPackages; /** * @param array $installedPackages diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTree.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTree.php index 0172c5a4..db5363a5 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTree.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTree.php @@ -32,12 +32,12 @@ class DependencyTree extends AbstractDependencyTree /** * @var \Spryker\Zed\Development\Business\DependencyTree\FileInfoExtractor */ - private $fileInfoExtractor; + protected $fileInfoExtractor; /** * @var array */ - private $engineBundles; + protected $engineBundles; /** * @param \Spryker\Zed\Development\Business\DependencyTree\FileInfoExtractor $fileInfoExtractor diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTreeBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTreeBuilder.php index 76e13637..554b0b47 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTreeBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTreeBuilder.php @@ -15,22 +15,22 @@ class DependencyTreeBuilder implements DependencyTreeBuilderInterface /** * @var \Spryker\Zed\Development\Business\DependencyTree\Finder\FinderInterface */ - private $finder; + protected $finder; /** * @var \Spryker\Zed\Development\Business\DependencyTree\AbstractDependencyTree */ - private $dependencyTree; + protected $dependencyTree; /** * @var \Spryker\Zed\Development\Business\DependencyTree\DependencyTreeWriter\DependencyTreeWriterInterface */ - private $writer; + protected $writer; /** * @var \Spryker\Zed\Development\Business\DependencyTree\DependencyFinder\AbstractDependencyFinder[] */ - private $dependencyChecker = []; + protected $dependencyChecker = []; /** * @param \Spryker\Zed\Development\Business\DependencyTree\Finder\FinderInterface $finder diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTreeReader/JsonDependencyTreeReader.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTreeReader/JsonDependencyTreeReader.php index c1a38976..6d9a5576 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTreeReader/JsonDependencyTreeReader.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTreeReader/JsonDependencyTreeReader.php @@ -14,7 +14,7 @@ class JsonDependencyTreeReader implements DependencyTreeReaderInterface /** * @var string */ - private $pathToJson; + protected $pathToJson; /** * @param string $pathToJson diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTreeWriter/JsonDependencyTreeWriter.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTreeWriter/JsonDependencyTreeWriter.php index 8e4c5b01..eed39a96 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTreeWriter/JsonDependencyTreeWriter.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTreeWriter/JsonDependencyTreeWriter.php @@ -14,7 +14,7 @@ class JsonDependencyTreeWriter implements DependencyTreeWriterInterface /** * @var string */ - private $pathToFile; + protected $pathToFile; /** * @param string $pathToFile diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/Finder.php b/src/Spryker/Zed/Development/Business/DependencyTree/Finder.php index ca0b0673..341885d1 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/Finder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/Finder.php @@ -14,27 +14,27 @@ class Finder /** * @var string */ - private $bundleDirectory; + protected $moduleDirectory; /** * @var string */ - private $application; + protected $application; /** * @var string */ - private $bundle; + protected $module; /** * @var string */ - private $layer; + protected $layer; /** * @var string */ - private $name; + protected $name; /** * @param string $bundleDirectory diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/ViolationChecker/DependencyViolationChecker.php b/src/Spryker/Zed/Development/Business/DependencyTree/ViolationChecker/DependencyViolationChecker.php index 6e992bd3..84fe2b13 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/ViolationChecker/DependencyViolationChecker.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/ViolationChecker/DependencyViolationChecker.php @@ -20,22 +20,22 @@ class DependencyViolationChecker implements DependencyViolationCheckerInterface /** * @var \Spryker\Zed\Development\Business\DependencyTree\DependencyTreeReader\DependencyTreeReaderInterface */ - private $treeReader; + protected $treeReader; /** * @var \Spryker\Zed\Development\Business\DependencyTree\ViolationFinder\ViolationFinderInterface */ - private $violationFinder; + protected $violationFinder; /** * @var \Spryker\Zed\Development\Business\DependencyTree\DependencyFilter\DependencyFilterInterface */ - private $dependencyFilter; + protected $dependencyFilter; /** * @var array */ - private $dependencyViolations = []; + protected $dependencyViolations = []; /** * @param \Spryker\Zed\Development\Business\DependencyTree\DependencyTreeReader\DependencyTreeReaderInterface $treeReader diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/ViolationFinder/ViolationFinder.php b/src/Spryker/Zed/Development/Business/DependencyTree/ViolationFinder/ViolationFinder.php index 49a4a599..3cad5b94 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/ViolationFinder/ViolationFinder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/ViolationFinder/ViolationFinder.php @@ -12,7 +12,7 @@ class ViolationFinder implements ViolationFinderInterface /** * @var \Spryker\Zed\Development\Business\DependencyTree\ViolationFinder\ViolationFinderInterface[] */ - private $violationFinder; + protected $violationFinder; /** * @param \Spryker\Zed\Development\Business\DependencyTree\ViolationFinder\ViolationFinderInterface $violationFinder diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryRemover.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryRemover.php index e34ebc3d..0a8936b1 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryRemover.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryRemover.php @@ -14,7 +14,7 @@ class DirectoryRemover implements DirectoryRemoverInterface /** * @var \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\TargetDirectoryResolver */ - private $targetDirectoryResolver; + protected $targetDirectoryResolver; /** * @var \Symfony\Component\Filesystem\Filesystem diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/TargetDirectoryResolver.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/TargetDirectoryResolver.php index 5b4ad87d..69126ff1 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/TargetDirectoryResolver.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/TargetDirectoryResolver.php @@ -17,7 +17,7 @@ class TargetDirectoryResolver /** * @var \Spryker\Zed\Development\DevelopmentConfig */ - private $config; + protected $config; /** * @param \Spryker\Zed\Development\DevelopmentConfig $config diff --git a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethods.php b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethods.php index 18acf3d1..3fd2caf0 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethods.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethods.php @@ -22,7 +22,7 @@ class TooManyMethods extends AbstractRule implements ClassAware * * @var string */ - private $ignoreRegexp; + protected $ignoreRegexp; /** * This method checks the number of methods with in a given class and checks diff --git a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethods.php b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethods.php index 8e6dce5b..231ffadb 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethods.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethods.php @@ -22,7 +22,7 @@ class TooManyPublicMethods extends AbstractRule implements ClassAware * * @var string */ - private $ignoreRegexp; + protected $ignoreRegexp; /** * This method checks the number of public methods with in a given class and checks From a00beef6556bd3617b3bc43d6fabf46677f85392 Mon Sep 17 00:00:00 2001 From: mscherer Date: Sat, 29 Aug 2020 12:58:40 +0200 Subject: [PATCH 169/336] Fix spryker core protected visibility as per rules. --- .../Business/DependencyTree/Finder.php | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/Finder.php b/src/Spryker/Zed/Development/Business/DependencyTree/Finder.php index 341885d1..1f7013b9 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/Finder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/Finder.php @@ -37,17 +37,17 @@ class Finder protected $name; /** - * @param string $bundleDirectory + * @param string $moduleDirectory * @param string $application - * @param string $bundle + * @param string $module * @param string $layer * @param string $name */ - public function __construct($bundleDirectory, $application = '*', $bundle = '*', $layer = '*', $name = '*.php') + public function __construct($moduleDirectory, $application = '*', $module = '*', $layer = '*', $name = '*.php') { - $this->bundleDirectory = $bundleDirectory; + $this->moduleDirectory = $moduleDirectory; $this->application = $application; - $this->bundle = $bundle; + $this->module = $module; $this->layer = $layer; $this->name = $name; } @@ -111,9 +111,9 @@ private function getZedDirectories() } return [ - $this->bundleDirectory . '/' . $this->bundle . '/src/Spryker/Zed/' . $this->bundle . '/' . $layer, - $this->bundleDirectory . '/' . $this->bundle . '/tests/_support/', - $this->bundleDirectory . '/' . $this->bundle . '/tests/SprykerTest/', + $this->moduleDirectory . '/' . $this->module . '/src/Spryker/Zed/' . $this->module . '/' . $layer, + $this->moduleDirectory . '/' . $this->module . '/tests/_support/', + $this->moduleDirectory . '/' . $this->module . '/tests/SprykerTest/', ]; } @@ -123,9 +123,9 @@ private function getZedDirectories() private function getServiceDirectories() { return [ - $this->bundleDirectory . '/' . $this->bundle . '/src/Spryker/Service/' . $this->bundle, - $this->bundleDirectory . '/' . $this->bundle . '/tests/_support/', - $this->bundleDirectory . '/' . $this->bundle . '/tests/SprykerTest/', + $this->moduleDirectory . '/' . $this->module . '/src/Spryker/Service/' . $this->module, + $this->moduleDirectory . '/' . $this->module . '/tests/_support/', + $this->moduleDirectory . '/' . $this->module . '/tests/SprykerTest/', ]; } @@ -135,9 +135,9 @@ private function getServiceDirectories() private function getYvesDirectories() { return [ - $this->bundleDirectory . '/' . $this->bundle . '/src/Spryker/Yves/' . $this->bundle, - $this->bundleDirectory . '/' . $this->bundle . '/tests/_support/', - $this->bundleDirectory . '/' . $this->bundle . '/tests/SprykerTest/', + $this->moduleDirectory . '/' . $this->module . '/src/Spryker/Yves/' . $this->module, + $this->moduleDirectory . '/' . $this->module . '/tests/_support/', + $this->moduleDirectory . '/' . $this->module . '/tests/SprykerTest/', ]; } @@ -147,9 +147,9 @@ private function getYvesDirectories() private function getClientDirectories() { return [ - $this->bundleDirectory . '/' . $this->bundle . '/src/Spryker/Client/' . $this->bundle, - $this->bundleDirectory . '/' . $this->bundle . '/tests/_support/', - $this->bundleDirectory . '/' . $this->bundle . '/tests/SprykerTest/', + $this->moduleDirectory . '/' . $this->module . '/src/Spryker/Client/' . $this->module, + $this->moduleDirectory . '/' . $this->module . '/tests/_support/', + $this->moduleDirectory . '/' . $this->module . '/tests/SprykerTest/', ]; } @@ -159,9 +159,9 @@ private function getClientDirectories() private function getSharedDirectories() { return [ - $this->bundleDirectory . '/' . $this->bundle . '/src/Spryker/Shared/' . $this->bundle . '/', - $this->bundleDirectory . '/' . $this->bundle . '/tests/_support/', - $this->bundleDirectory . '/' . $this->bundle . '/tests/SprykerTest/', + $this->moduleDirectory . '/' . $this->module . '/src/Spryker/Shared/' . $this->module . '/', + $this->moduleDirectory . '/' . $this->module . '/tests/_support/', + $this->moduleDirectory . '/' . $this->module . '/tests/SprykerTest/', ]; } } From c4fed2879c6d38492ce0ba97659833d804573c9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Thu, 3 Sep 2020 11:39:09 +0000 Subject: [PATCH 170/336] TE-7378 Fixed visibility. --- .../Business/PhpMd/Rules/Naming/ShortVariable.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Naming/ShortVariable.php b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Naming/ShortVariable.php index 293bdb01..412cb5d7 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Naming/ShortVariable.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Naming/ShortVariable.php @@ -89,7 +89,7 @@ private function isCestFile(AbstractNode $node) * * @return string[] */ - private function getExceptionsList() + protected function getExceptionsList() { try { $exceptions = $this->getStringProperty('exceptions'); @@ -109,7 +109,7 @@ private function getExceptionsList() * * @return bool */ - private function isNameAllowedInContext(AbstractNode $node) + protected function isNameAllowedInContext(AbstractNode $node) { return $this->isChildOf($node, 'CatchStatement') || $this->isChildOf($node, 'ForInit') @@ -126,7 +126,7 @@ private function isNameAllowedInContext(AbstractNode $node) * * @return bool */ - private function isChildOf(AbstractNode $node, $type) + protected function isChildOf(AbstractNode $node, $type) { /** @var object|null $parent */ $parent = $node->getParent(); From fe52d774a1a69b70de3cd7236809bd41b002cfd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Fri, 4 Sep 2020 09:09:11 +0000 Subject: [PATCH 171/336] TE-7001 Fixed PHPStan issues. --- src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index 64750eb9..2ef4a8a4 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -203,6 +203,7 @@ protected function runCommand( $configFilePath .= $this->config->getPhpstanConfigFilename(); $command = sprintf($command, static::MEMORY_LIMIT, $configFilePath, $path, $level); + echo '
' . PHP_EOL . \Symfony\Component\VarDumper\VarDumper::dump($command) . PHP_EOL . 'Line: ' . __LINE__ . PHP_EOL . 'File: ' . __FILE__ . die();
 
         if ($input->getOption(static::OPTION_DRY_RUN)) {
             $output->writeln($command);

From 1f963b8932a9e6a403c1ee71bfc7234f5b886861 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ren=C3=A9=20Klatt?= 
Date: Fri, 4 Sep 2020 11:24:34 +0000
Subject: [PATCH 172/336] TE-7001 Fixed issue with Translator with
 ValidatorBuilder.

---
 src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php
index 2ef4a8a4..64750eb9 100644
--- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php
+++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php
@@ -203,7 +203,6 @@ protected function runCommand(
         $configFilePath .= $this->config->getPhpstanConfigFilename();
 
         $command = sprintf($command, static::MEMORY_LIMIT, $configFilePath, $path, $level);
-        echo '
' . PHP_EOL . \Symfony\Component\VarDumper\VarDumper::dump($command) . PHP_EOL . 'Line: ' . __LINE__ . PHP_EOL . 'File: ' . __FILE__ . die();
 
         if ($input->getOption(static::OPTION_DRY_RUN)) {
             $output->writeln($command);

From f89e58e7ae0733b364c1745a1cd22508da7677a7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ren=C3=A9=20Klatt?= 
Date: Tue, 15 Sep 2020 05:01:13 +0000
Subject: [PATCH 173/336] TE-7001 Fixed some minor issues.

---
 phpstan.neon                                                  | 2 ++
 .../Zed/Development/Business/Phpstan/PhpstanRunner.php        | 4 +++-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/phpstan.neon b/phpstan.neon
index 3a7f0914..1eacc0d3 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -1,6 +1,8 @@
 parameters:
+    reportUnmatchedIgnoredErrors: false
     ignoreErrors:
         - '#Constant T_SEMICOLON not found.#'
         - '#Constant T_OPEN_PARENTHESIS not found.#'
         - '#Constant T_OPEN_SQUARE_BRACKET not found.#'
         - '#Call to an undefined method ReflectionType::getName\(\)#'
+        - "#Call to function method_exists\\(\\) with Symfony\\\\Component\\\\Console\\\\Helper\\\\ProgressBar and 'maxSecondsBetweenRe…' will always evaluate to false.#"
diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php
index 64750eb9..e1d8d125 100644
--- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php
+++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php
@@ -157,7 +157,9 @@ protected function getProgressBar(OutputInterface $output, int $stepsCount): Pro
 
         $progressBar = new ProgressBar($progressBarOutput, $stepsCount);
         $progressBar->setRedrawFrequency(static::PROGRESS_BAR_FREQUENCY);
-        $progressBar->maxSecondsBetweenRedraws(static::PROGRESS_BAR_SECONDS_FORCE_REDRAW);
+        if (method_exists($progressBar, 'maxSecondsBetweenRedraws')) {
+            $progressBar->maxSecondsBetweenRedraws(static::PROGRESS_BAR_SECONDS_FORCE_REDRAW);
+        }
 
         return $progressBar;
     }

From fb01a3e8a793ee085b7ae80a5075ec3c2af45669 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ren=C3=A9=20Klatt?= 
Date: Tue, 15 Sep 2020 13:29:28 +0000
Subject: [PATCH 174/336] TE-7001 Reverted composer.json constraint for
 spryker/symfony.

---
 composer.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/composer.json b/composer.json
index 0ce446ff..7be11349 100644
--- a/composer.json
+++ b/composer.json
@@ -10,7 +10,7 @@
     "spryker/graph": "^3.0.0",
     "spryker/kernel": "^3.52.0",
     "spryker/module-finder": "^1.0.0",
-    "spryker/symfony": "^3.0.0 || ^4.0.0",
+    "spryker/symfony": "^3.0.0",
     "spryker/twig": "^3.0.0",
     "spryker/zend": "^2.0.0"
   },

From c96a937d6abe4809b13a3ee4fc6c9eba5ce86b31 Mon Sep 17 00:00:00 2001
From: mscherer 
Date: Thu, 24 Sep 2020 00:57:00 +0200
Subject: [PATCH 175/336] Set PHPStan levels higher where possible.

---
 src/Spryker/Zed/Development/DevelopmentConfig.php | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php
index e3651279..d6ac77da 100644
--- a/src/Spryker/Zed/Development/DevelopmentConfig.php
+++ b/src/Spryker/Zed/Development/DevelopmentConfig.php
@@ -557,13 +557,15 @@ public function getArchitectureSnifferDefaultPriority(): int
     /**
      * Gets PHPStan default level. The higher, the better.
      *
+     * Recommended level is 8 (include nullable safety).
+     *
      * @api
      *
      * @return int
      */
     public function getPhpstanLevel()
     {
-        return 3;
+        return 7;
     }
 
     /**

From 705d682b7d0a8e91345c0f66ae0e896ade66837e Mon Sep 17 00:00:00 2001
From: mscherer 
Date: Thu, 24 Sep 2020 16:11:58 +0200
Subject: [PATCH 176/336] Set PHPStan levels higher where possible.

---
 phpstan.json | 4 ++--
 phpstan.neon | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/phpstan.json b/phpstan.json
index 5853d235..cca5ff36 100644
--- a/phpstan.json
+++ b/phpstan.json
@@ -1,3 +1,3 @@
 {
-  "defaultLevel": 5
-}
+    "defaultLevel": 6
+}
\ No newline at end of file
diff --git a/phpstan.neon b/phpstan.neon
index 3a7f0914..4490f93f 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -1,4 +1,6 @@
 parameters:
+    checkGenericClassInNonGenericObjectType: false
+    checkMissingIterableValueType: false
     ignoreErrors:
         - '#Constant T_SEMICOLON not found.#'
         - '#Constant T_OPEN_PARENTHESIS not found.#'

From 3272fe80feecb100d8e8794d65792d1eb8b9a8e8 Mon Sep 17 00:00:00 2001
From: Bezpiatov 
Date: Tue, 6 Oct 2020 12:05:32 +0300
Subject: [PATCH 177/336] TE-7283 Removed Phantoman dependencies from all
 modules

---
 codeception.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/codeception.yml b/codeception.yml
index 0f1f5c47..49b75187 100644
--- a/codeception.yml
+++ b/codeception.yml
@@ -15,8 +15,8 @@ settings:
 
 extensions:
     enabled:
-        - Codeception\Extension\Phantoman
+        - SprykerTest\Shared\Testify\Helper\WebDriverHelper
     config:
-        Codeception\Extension\Phantoman:
+        SprykerTest\Shared\Testify\Helper\WebDriverHelper:
             suites:
                 - Presentation

From a86e987ca3203d7a18795c25d39f26ac1c70882b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ren=C3=A9=20Klatt?= 
Date: Tue, 6 Oct 2020 06:06:01 +0000
Subject: [PATCH 178/336] TE-7611 Added ExternalDependencyParser. TE-7611 Add
 unmapped dependencies. TE-7611 Removed obsolete dependencies.

---
 composer.json                                 |   1 +
 .../ExternalDependencyParser.php              | 102 ++++++++++++++++++
 .../ExternalDependencyParserInterface.php     |  18 ++++
 .../DependencyContainer.php                   |   6 +-
 .../CodeceptionDependencyFinder.php           |   2 +-
 .../ExternalDependencyFinder.php              |  76 ++++++++++++-
 .../MappedDependencyFinder.php                |  77 +++++++++++++
 .../ModuleParser/UseStatementParser.php       |   4 +-
 .../Validator/DependencyValidator.php         |   7 +-
 ...alidationRuleIsOptionalButNotSuggested.php |   2 +-
 .../ComposerDependencyParser.php              |  39 ++++---
 .../Business/DevelopmentBusinessFactory.php   |  21 ++++
 .../DependencyViolationFinderConsole.php      |   1 -
 .../Zed/Development/DevelopmentConfig.php     | 100 +++++++++++------
 14 files changed, 390 insertions(+), 66 deletions(-)
 create mode 100644 src/Spryker/Zed/Development/Business/Dependency/ComposerParser/ExternalDependencyParser.php
 create mode 100644 src/Spryker/Zed/Development/Business/Dependency/ComposerParser/ExternalDependencyParserInterface.php
 create mode 100644 src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/MappedDependencyFinder.php

diff --git a/composer.json b/composer.json
index 7be11349..941e44e3 100644
--- a/composer.json
+++ b/composer.json
@@ -6,6 +6,7 @@
   "require": {
     "nette/di": "^2.4.7 || ^3.0",
     "php": ">=7.2",
+    "phpmd/phpmd": "^2.0.0",
     "spryker/config": "^3.0.0",
     "spryker/graph": "^3.0.0",
     "spryker/kernel": "^3.52.0",
diff --git a/src/Spryker/Zed/Development/Business/Dependency/ComposerParser/ExternalDependencyParser.php b/src/Spryker/Zed/Development/Business/Dependency/ComposerParser/ExternalDependencyParser.php
new file mode 100644
index 00000000..ffb87ba5
--- /dev/null
+++ b/src/Spryker/Zed/Development/Business/Dependency/ComposerParser/ExternalDependencyParser.php
@@ -0,0 +1,102 @@
+config = $config;
+    }
+
+    /**
+     * @param string $className
+     *
+     * @return string|null
+     */
+    public function findPackageNameByNamespace(string $className): ?string
+    {
+        if (isset($this->resolvedComposerNameByClassNameMap[$className])) {
+            return $this->resolvedComposerNameByClassNameMap[$className];
+        }
+
+        if ($this->isPhpInternalClass($className)) {
+            return null;
+        }
+
+        try {
+            $reflectionClass = new ReflectionClass($className);
+        } catch (Throwable $throwable) {
+            return null;
+        }
+
+        $pathFragments = explode(DIRECTORY_SEPARATOR, $reflectionClass->getFileName());
+        $vendorPosition = array_search('vendor', $pathFragments);
+
+        if ($vendorPosition === false) {
+            return null;
+        }
+
+        $vendorNameAndPackageName = array_slice($pathFragments, $vendorPosition + 1, 2);
+
+        $composerName = implode('/', $vendorNameAndPackageName);
+
+        $composerName = $this->mapExternalToInternalPackageName($composerName);
+
+        $this->resolvedComposerNameByClassNameMap[$className] = $composerName;
+
+        return $composerName;
+    }
+
+    /**
+     * @param string $className
+     *
+     * @return bool
+     */
+    protected function isPhpInternalClass(string $className): bool
+    {
+        if (strpos($className, '\\') === false) {
+            return true;
+        }
+
+        return false;
+    }
+
+    /**
+     * @param string $composerName
+     *
+     * @return string
+     */
+    protected function mapExternalToInternalPackageName(string $composerName): string
+    {
+        $map = $this->config->getExternalToInternalMap();
+
+        if (isset($map[$composerName])) {
+            return $map[$composerName];
+        }
+
+        return $composerName;
+    }
+}
diff --git a/src/Spryker/Zed/Development/Business/Dependency/ComposerParser/ExternalDependencyParserInterface.php b/src/Spryker/Zed/Development/Business/Dependency/ComposerParser/ExternalDependencyParserInterface.php
new file mode 100644
index 00000000..7f76fa20
--- /dev/null
+++ b/src/Spryker/Zed/Development/Business/Dependency/ComposerParser/ExternalDependencyParserInterface.php
@@ -0,0 +1,18 @@
+dependencyCollectionTransfer->getDependencyModules() as $dependencyModuleTransfer) {
-            if ($dependencyModuleTransfer->getModule() === $dependencyTransfer->getModule()) {
+            if ($dependencyTransfer->getComposerName() === null && $dependencyModuleTransfer->getModule() === $dependencyTransfer->getModule()) {
+                return $dependencyModuleTransfer;
+            }
+
+            if ($dependencyTransfer->getComposerName() !== null && $dependencyModuleTransfer->getComposerName() === $dependencyTransfer->getComposerName()) {
                 return $dependencyModuleTransfer;
             }
         }
diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/CodeceptionDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/CodeceptionDependencyFinder.php
index 321e1150..a7c9593f 100644
--- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/CodeceptionDependencyFinder.php
+++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/CodeceptionDependencyFinder.php
@@ -50,7 +50,7 @@ public function findDependencies(DependencyFinderContextInterface $context, Depe
     {
         if (preg_match_all('/SprykerTest\\\\(.*?)\\\\(.*?)\\\\/', $context->getFileInfo()->getContents(), $matches, PREG_SET_ORDER)) {
             foreach ($matches as $match) {
-                $dependencyContainer->addDependency($match[2], $this->getType(), false, true);
+                $dependencyContainer->addDependency(sprintf('spryker/%s', $this->getFilter()->filter($match[2])), $this->getType(), false, true);
             }
         }
 
diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php
index 80cbed88..dbe19a15 100644
--- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php
+++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php
@@ -8,6 +8,7 @@
 namespace Spryker\Zed\Development\Business\Dependency\DependencyFinder;
 
 use Exception;
+use Spryker\Zed\Development\Business\Dependency\ComposerParser\ExternalDependencyParserInterface;
 use Spryker\Zed\Development\Business\Dependency\DependencyContainer\DependencyContainerInterface;
 use Spryker\Zed\Development\Business\Dependency\DependencyFinder\Context\DependencyFinderContextInterface;
 use Spryker\Zed\Development\Business\Dependency\ModuleParser\UseStatementParserInterface;
@@ -23,18 +24,33 @@ class ExternalDependencyFinder extends AbstractFileDependencyFinder
      */
     protected $useStatementParser;
 
+    /**
+     * @var \Spryker\Zed\Development\Business\Dependency\ComposerParser\ExternalDependencyParserInterface
+     */
+    protected $externalDependencyParser;
+
     /**
      * @var \Spryker\Zed\Development\DevelopmentConfig
      */
     protected $config;
 
+    /**
+     * @var array
+     */
+    protected $foundPackagesByUseStatement = [];
+
     /**
      * @param \Spryker\Zed\Development\Business\Dependency\ModuleParser\UseStatementParserInterface $useStatementParser
+     * @param \Spryker\Zed\Development\Business\Dependency\ComposerParser\ExternalDependencyParserInterface $externalDependencyParser
      * @param \Spryker\Zed\Development\DevelopmentConfig $config
      */
-    public function __construct(UseStatementParserInterface $useStatementParser, DevelopmentConfig $config)
-    {
+    public function __construct(
+        UseStatementParserInterface $useStatementParser,
+        ExternalDependencyParserInterface $externalDependencyParser,
+        DevelopmentConfig $config
+    ) {
         $this->useStatementParser = $useStatementParser;
+        $this->externalDependencyParser = $externalDependencyParser;
         $this->config = $config;
     }
 
@@ -116,8 +132,18 @@ protected function getModuleNamesFromUseStatements(array $useStatements): array
     {
         $dependentModules = [];
         foreach ($useStatements as $useStatement) {
-            if ($this->isExternalDependency($useStatement)) {
+            if ($this->isMappedExternalDependency($useStatement)) {
                 $dependentModules[] = $this->getDependentModule($useStatement);
+
+                continue;
+            }
+
+            if ($this->isInternalNamespace($useStatement)) {
+                continue;
+            }
+
+            if ($this->isUnMappedExternalDependency($useStatement)) {
+                $dependentModules[] = $this->externalDependencyParser->findPackageNameByNamespace($useStatement);
             }
         }
 
@@ -129,7 +155,27 @@ protected function getModuleNamesFromUseStatements(array $useStatements): array
      *
      * @return bool
      */
-    protected function isExternalDependency(string $useStatement): bool
+    protected function isInternalNamespace(string $useStatement): bool
+    {
+        if (strpos($useStatement, '\\') === false) {
+            return true;
+        }
+
+        foreach ($this->config->getInternalNamespaces() as $namespace) {
+            if (strpos($useStatement, $namespace) === 0) {
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+    /**
+     * @param string $useStatement
+     *
+     * @return bool
+     */
+    protected function isMappedExternalDependency(string $useStatement): bool
     {
         foreach ($this->config->getExternalToInternalNamespaceMap() as $namespace => $package) {
             if (strpos($useStatement, $namespace) === 0) {
@@ -140,6 +186,22 @@ protected function isExternalDependency(string $useStatement): bool
         return false;
     }
 
+    /**
+     * @param string $useStatement
+     *
+     * @return bool
+     */
+    protected function isUnMappedExternalDependency(string $useStatement): bool
+    {
+        $packageName = $this->externalDependencyParser->findPackageNameByNamespace($useStatement);
+
+        if ($packageName !== null) {
+            return true;
+        }
+
+        return false;
+    }
+
     /**
      * @param string $useStatement
      *
@@ -155,7 +217,11 @@ protected function getDependentModule(string $useStatement): string
             }
         }
 
-        throw new Exception('Could not map external to internal dependency!');
+        throw new Exception(sprintf(
+            'Could not map "%s" to a internal dependency! Please update "%s" and add a new mapping.',
+            $useStatement,
+            '\Spryker\Zed\Development\DevelopmentConfig::getExternalToInternalNamespaceMap()'
+        ));
     }
 
     /**
diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/MappedDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/MappedDependencyFinder.php
new file mode 100644
index 00000000..f2834a37
--- /dev/null
+++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/MappedDependencyFinder.php
@@ -0,0 +1,77 @@
+config = $config;
+    }
+
+    /**
+     * @return string
+     */
+    public function getType(): string
+    {
+        return static::TYPE_MAPPED;
+    }
+
+    /**
+     * @param \Spryker\Zed\Development\Business\Dependency\DependencyFinder\Context\DependencyFinderContextInterface $context
+     *
+     * @return bool
+     */
+    public function accept(DependencyFinderContextInterface $context): bool
+    {
+        if ($context->getDependencyType() !== null && $context->getDependencyType() !== $this->getType()) {
+            return false;
+        }
+
+        if ($context->getFileInfo()->getFilename() !== 'composer.json') {
+            return false;
+        }
+
+        return true;
+    }
+
+    /**
+     * @param \Spryker\Zed\Development\Business\Dependency\DependencyFinder\Context\DependencyFinderContextInterface $context
+     * @param \Spryker\Zed\Development\Business\Dependency\DependencyContainer\DependencyContainerInterface $dependencyContainer
+     *
+     * @return \Spryker\Zed\Development\Business\Dependency\DependencyContainer\DependencyContainerInterface
+     */
+    public function findDependencies(DependencyFinderContextInterface $context, DependencyContainerInterface $dependencyContainer): DependencyContainerInterface
+    {
+        $fileContent = $context->getFileInfo()->getContents();
+        $composerJsonAsArray = json_decode($fileContent, true);
+        $composerName = $composerJsonAsArray['name'];
+
+        foreach ($this->config->getExternalToInternalMap() as $externalPackageName => $internalModulePackageName) {
+            if ($internalModulePackageName === $composerName) {
+                $dependencyContainer->addDependency($externalPackageName, $this->getType());
+            }
+        }
+
+        return $dependencyContainer;
+    }
+}
diff --git a/src/Spryker/Zed/Development/Business/Dependency/ModuleParser/UseStatementParser.php b/src/Spryker/Zed/Development/Business/Dependency/ModuleParser/UseStatementParser.php
index 97196a27..1e418645 100644
--- a/src/Spryker/Zed/Development/Business/Dependency/ModuleParser/UseStatementParser.php
+++ b/src/Spryker/Zed/Development/Business/Dependency/ModuleParser/UseStatementParser.php
@@ -28,10 +28,10 @@ public function getUseStatements(SplFileInfo $fileInfo): array
      */
     protected function getUseStatementsInFile(SplFileInfo $fileInfo): array
     {
-        preg_match_all('#use (.*);#', $fileInfo->getContents(), $matches);
+        preg_match_all('/^(use\s([^\s|;]+))/m', $fileInfo->getContents(), $matches);
 
         $useStatements = [];
-        foreach ($matches[1] as $useStatement) {
+        foreach ($matches[2] as $useStatement) {
             $useStatements[] = $useStatement;
         }
 
diff --git a/src/Spryker/Zed/Development/Business/Dependency/Validator/DependencyValidator.php b/src/Spryker/Zed/Development/Business/Dependency/Validator/DependencyValidator.php
index c7058ceb..1740c900 100644
--- a/src/Spryker/Zed/Development/Business/Dependency/Validator/DependencyValidator.php
+++ b/src/Spryker/Zed/Development/Business/Dependency/Validator/DependencyValidator.php
@@ -91,15 +91,15 @@ protected function buildModuleDependencyTransferCollection(DependencyValidationR
      */
     protected function getComposerDependencies(DependencyValidationRequestTransfer $dependencyValidationRequestTransfer): array
     {
-        $moduleDependencies = $this->moduleDependencyParser->parseOutgoingDependencies(
+        $dependencyCollectionTransfer = $this->moduleDependencyParser->parseOutgoingDependencies(
             $dependencyValidationRequestTransfer->getModule(),
             $dependencyValidationRequestTransfer->getDependencyType()
         );
-        foreach ($moduleDependencies->getDependencyModules() as $dependencyModuleTransfer) {
+        foreach ($dependencyCollectionTransfer->getDependencyModules() as $dependencyModuleTransfer) {
             $composerName = $dependencyModuleTransfer->getComposerName() ?? $this->composerNameFinder->findComposerNameByModuleName($dependencyModuleTransfer->getModule());
             $dependencyModuleTransfer->setComposerName($composerName);
         }
-        $composerDependencies = $this->composerDependencyParser->getComposerDependencyComparison($moduleDependencies);
+        $composerDependencies = $this->composerDependencyParser->getComposerDependencyComparison($dependencyCollectionTransfer);
 
         return $composerDependencies;
     }
@@ -115,7 +115,6 @@ protected function formatDependencies(array $composerDependencies): array
         foreach ($composerDependencies as $composerDependency) {
             $moduleDependencyTransfer = new ModuleDependencyTransfer();
             $moduleDependencyTransfer
-                ->setModuleName($composerDependency['moduleName'])
                 ->setComposerName($composerDependency['composerName'])
                 ->setIsValid(true)
                 ->setDependencyTypes($this->getDependencyTypes($composerDependency))
diff --git a/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleIsOptionalButNotSuggested.php b/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleIsOptionalButNotSuggested.php
index 579f3ab7..73384e43 100644
--- a/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleIsOptionalButNotSuggested.php
+++ b/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleIsOptionalButNotSuggested.php
@@ -22,7 +22,7 @@ public function validateModuleDependency(ModuleDependencyTransfer $moduleDepende
         if ($moduleDependencyTransfer->getIsOptionalDependency() && $moduleDependencyTransfer->getIsSrcDependency() && !$moduleDependencyTransfer->getIsSuggested()) {
             $moduleDependencyTransfer->setIsValid(false);
             $validationMessageTransfer = new ValidationMessageTransfer();
-            $validationMessageTransfer->setMessage('Optional dependency should be listed in composer suggests');
+            $validationMessageTransfer->setMessage('Optional dependency should be listed in composer suggest');
             $validationMessageTransfer->setFixType(static::ADD_SUGGEST);
 
             $moduleDependencyTransfer->addValidationMessage($validationMessageTransfer);
diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php b/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php
index 67ba57dc..c4d433e5 100644
--- a/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php
+++ b/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php
@@ -48,39 +48,39 @@ public function __construct(ComposerNameFinderInterface $composerNameFinder)
      */
     public function getComposerDependencyComparison(DependencyCollectionTransfer $dependencyCollectionTransfer): array
     {
+        // Code dependencies
         $dependencyCollectionTransfer = $this->getOverwrittenDependenciesForBundle($dependencyCollectionTransfer);
-        $composerDependencyCollectionTransfer = $this->getParsedComposerDependenciesForBundle($dependencyCollectionTransfer->getModule());
-
         $composerNames = $this->getComposerNames($dependencyCollectionTransfer);
         $composerNamesInSrc = $this->getComposerNamesForInSrcUsedModules($dependencyCollectionTransfer);
         $composerNamesInTests = $this->getComposerNamesForInTestsUsedModules($dependencyCollectionTransfer);
 
-        $suggestedNames = $this->getSuggested($composerDependencyCollectionTransfer);
-        $requireNames = $this->getRequireNames($composerDependencyCollectionTransfer);
-        $requireDevNames = $this->getRequireNames($composerDependencyCollectionTransfer, true);
+        // Declared composer dependencies
+        $composerDependencyCollectionTransfer = $this->parseComposerJson($dependencyCollectionTransfer->getModule());
+        $composerSuggestedNames = $this->getSuggested($composerDependencyCollectionTransfer);
+        $composerRequiredNames = $this->getRequireNames($composerDependencyCollectionTransfer);
+        $composerRequiredDevNames = $this->getRequireNames($composerDependencyCollectionTransfer, true);
 
-        $allComposerNames = $composerNames + $requireNames + $requireDevNames + $suggestedNames;
+        $allComposerNames = array_unique(array_merge($composerNames, $composerRequiredNames, $composerRequiredDevNames, $composerSuggestedNames));
         asort($allComposerNames);
 
         $dependencies = [];
 
         $currentComposerName = sprintf('%s/%s', $dependencyCollectionTransfer->getModule()->getOrganization()->getNameDashed(), $dependencyCollectionTransfer->getModule()->getNameDashed());
 
-        foreach ($allComposerNames as $moduleName => $composerName) {
+        foreach ($allComposerNames as $composerName) {
             if ($currentComposerName === $composerName) {
                 continue;
             }
 
             $dependencies[] = [
-                'moduleName' => $moduleName,
                 'composerName' => $composerName,
                 'types' => $this->getDependencyTypes($composerName, $dependencyCollectionTransfer),
                 'isOptional' => $this->getIsOptional($composerName, $dependencyCollectionTransfer),
                 'src' => in_array($composerName, $composerNamesInSrc) ? $composerName : '',
                 'tests' => in_array($composerName, $composerNamesInTests) ? $composerName : '',
-                'composerRequire' => in_array($composerName, $requireNames) ? $composerName : '',
-                'composerRequireDev' => in_array($composerName, $requireDevNames) ? $composerName : '',
-                'suggested' => in_array($composerName, $suggestedNames) ? $composerName : '',
+                'composerRequire' => in_array($composerName, $composerRequiredNames) ? $composerName : '',
+                'composerRequireDev' => in_array($composerName, $composerRequiredDevNames) ? $composerName : '',
+                'suggested' => in_array($composerName, $composerSuggestedNames) ? $composerName : '',
                 'isOwnExtensionModule' => $this->isOwnExtensionModule($composerName, $dependencyCollectionTransfer),
             ];
         }
@@ -145,7 +145,7 @@ protected function getComposerNames(DependencyCollectionTransfer $moduleDependen
     {
         $composerNames = [];
         foreach ($moduleDependencyCollectionTransfer->getDependencyModules() as $moduleDependencyTransfer) {
-            $composerNames[$moduleDependencyTransfer->getModule()] = $moduleDependencyTransfer->getComposerName();
+            $composerNames[] = $moduleDependencyTransfer->getComposerName();
         }
 
         return array_unique($composerNames);
@@ -162,7 +162,7 @@ protected function getComposerNamesForInSrcUsedModules(DependencyCollectionTrans
         foreach ($moduleDependencyCollectionTransfer->getDependencyModules() as $moduleDependencyTransfer) {
             foreach ($moduleDependencyTransfer->getDependencies() as $dependencyTransfer) {
                 if (!$dependencyTransfer->getIsInTest()) {
-                    $composerNames[$moduleDependencyTransfer->getModule()] = $moduleDependencyTransfer->getComposerName();
+                    $composerNames[] = $moduleDependencyTransfer->getComposerName();
                 }
             }
         }
@@ -181,7 +181,7 @@ protected function getComposerNamesForInTestsUsedModules(DependencyCollectionTra
         foreach ($moduleDependencyCollectionTransfer->getDependencyModules() as $moduleDependencyTransfer) {
             foreach ($moduleDependencyTransfer->getDependencies() as $dependencyTransfer) {
                 if ($dependencyTransfer->getIsInTest()) {
-                    $composerNames[$moduleDependencyTransfer->getModule()] = $moduleDependencyTransfer->getComposerName();
+                    $composerNames[] = $moduleDependencyTransfer->getComposerName();
                 }
             }
         }
@@ -202,7 +202,7 @@ protected function getSuggested(ComposerDependencyCollectionTransfer $composerDe
         $composerNames = [];
         foreach ($composerDependencyCollectionTransfer->getComposerDependencies() as $composerDependency) {
             if ($composerDependency->getName() && $composerDependency->getIsOptional()) {
-                $composerNames[$composerDependency->getModuleName()] = $composerDependency->getName();
+                $composerNames[] = $composerDependency->getName();
             }
         }
 
@@ -220,7 +220,7 @@ protected function getRequireNames(ComposerDependencyCollectionTransfer $compose
         $composerNames = [];
         foreach ($composerDependencyCollectionTransfer->getComposerDependencies() as $composerDependency) {
             if ($composerDependency->getName() && $composerDependency->getIsDev() === $isDev) {
-                $composerNames[$composerDependency->getModuleName()] = $composerDependency->getName();
+                $composerNames[] = $composerDependency->getName();
             }
         }
 
@@ -300,7 +300,7 @@ protected function parseDeclaredDependenciesForBundle(ModuleTransfer $moduleTran
      *
      * @return \Generated\Shared\Transfer\ComposerDependencyCollectionTransfer
      */
-    protected function getParsedComposerDependenciesForBundle(ModuleTransfer $moduleTransfer): ComposerDependencyCollectionTransfer
+    protected function parseComposerJson(ModuleTransfer $moduleTransfer): ComposerDependencyCollectionTransfer
     {
         $composerDependencies = new ComposerDependencyCollectionTransfer();
 
@@ -343,7 +343,7 @@ protected function getParsedComposerDependenciesForBundle(ModuleTransfer $module
     protected function addComposerDependencies(array $require, ComposerDependencyCollectionTransfer $composerDependencyCollectionTransfer, $isDev = false)
     {
         foreach ($require as $package => $version) {
-            if (strpos($package, 'spryker') !== 0) {
+            if (strpos($package, '/') === false) {
                 continue;
             }
             $module = $this->getBundleName($package);
@@ -367,9 +367,6 @@ protected function addComposerDependencies(array $require, ComposerDependencyCol
     protected function addSuggestedDependencies(array $suggested, ComposerDependencyCollectionTransfer $composerDependencyCollectionTransfer)
     {
         foreach ($suggested as $package => $description) {
-            if (strpos($package, 'spryker') !== 0) {
-                continue;
-            }
             $module = $this->getBundleName($package);
 
             $composerDependencyTransfer = new ComposerDependencyTransfer();
diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php
index 3ef22ca3..17d4df10 100644
--- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php
+++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php
@@ -45,6 +45,8 @@
 use Spryker\Zed\Development\Business\Composer\Validator\ComposerJsonUnboundRequireConstraintValidator;
 use Spryker\Zed\Development\Business\Composer\Validator\ComposerJsonValidatorComposite;
 use Spryker\Zed\Development\Business\Composer\Validator\ComposerJsonValidatorInterface;
+use Spryker\Zed\Development\Business\Dependency\ComposerParser\ExternalDependencyParser;
+use Spryker\Zed\Development\Business\Dependency\ComposerParser\ExternalDependencyParserInterface;
 use Spryker\Zed\Development\Business\Dependency\DependencyContainer\DependencyContainer;
 use Spryker\Zed\Development\Business\Dependency\DependencyContainer\DependencyContainerInterface;
 use Spryker\Zed\Development\Business\Dependency\DependencyFinder\BehaviorDependencyFinder;
@@ -56,6 +58,7 @@
 use Spryker\Zed\Development\Business\Dependency\DependencyFinder\ExternalDependencyFinder;
 use Spryker\Zed\Development\Business\Dependency\DependencyFinder\InternalDependencyFinder;
 use Spryker\Zed\Development\Business\Dependency\DependencyFinder\LocatorDependencyFinder;
+use Spryker\Zed\Development\Business\Dependency\DependencyFinder\MappedDependencyFinder;
 use Spryker\Zed\Development\Business\Dependency\DependencyFinder\ModuleAnnotationDependencyFinder;
 use Spryker\Zed\Development\Business\Dependency\DependencyFinder\PersistenceDependencyFinder;
 use Spryker\Zed\Development\Business\Dependency\DependencyFinder\SprykerSdkDependencyFinder;
@@ -403,6 +406,7 @@ public function createDependencyFinder(): DependencyFinderInterface
             $this->createSprykerSdkDependencyFinder(),
             $this->createInternalDependencyFinder(),
             $this->createExternalDependencyFinder(),
+            $this->createMappedDependencyFinder(),
             $this->createExtensionDependencyFinder(),
             $this->createLocatorDependencyFinder(),
             $this->createPersistenceDependencyFinder(),
@@ -444,10 +448,27 @@ public function createExternalDependencyFinder(): DependencyFinderInterface
     {
         return new ExternalDependencyFinder(
             $this->createUseStatementParser(),
+            $this->createExternalDependencyParser(),
             $this->getConfig()
         );
     }
 
+    /**
+     * @return \Spryker\Zed\Development\Business\Dependency\DependencyFinder\DependencyFinderInterface
+     */
+    public function createMappedDependencyFinder(): DependencyFinderInterface
+    {
+        return new MappedDependencyFinder($this->getConfig());
+    }
+
+    /**
+     * @return \Spryker\Zed\Development\Business\Dependency\ComposerParser\ExternalDependencyParserInterface
+     */
+    public function createExternalDependencyParser(): ExternalDependencyParserInterface
+    {
+        return new ExternalDependencyParser($this->getConfig());
+    }
+
     /**
      * @return \Spryker\Zed\Development\Business\Dependency\DependencyFinder\DependencyFinderInterface
      */
diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php
index c6aafa8b..3645ca88 100644
--- a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php
+++ b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php
@@ -190,7 +190,6 @@ protected function buildTableRow(ModuleDependencyTransfer $moduleDependencyTrans
 
         return [
             'Composer name' => sprintf('%s', $color, $composerName),
-            'Module name' => $moduleDependencyTransfer->getModuleName(),
             'is valid' => $this->getColoredYesOrNo($moduleDependencyTransfer->getIsValid()),
             'src dependency' => $this->getYesOrNo($moduleDependencyTransfer->getIsSrcDependency()),
             'test dependency' => $this->getYesOrNo($moduleDependencyTransfer->getIsTestDependency()),
diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php
index d6ac77da..7ef87d6c 100644
--- a/src/Spryker/Zed/Development/DevelopmentConfig.php
+++ b/src/Spryker/Zed/Development/DevelopmentConfig.php
@@ -300,59 +300,100 @@ public function getPathToBundleConfig()
     public function getExternalToInternalNamespaceMap()
     {
         return [
-            'Psr\\Log\\' => 'spryker/log',
-            'Psr\\Container\\' => 'spryker/container',
-            'Propel\\' => 'spryker/propel-orm',
-            'Silex\\' => 'spryker/silex',
-            'Spryker\\DecimalObject\\' => 'spryker/decimal-object',
-            'Pimple' => 'spryker/container',
-            'Predis\\' => 'spryker/redis',
+            'Codeception\\' => 'spryker/testify',
+            'CodeItNow\\BarcodeBundle' => 'spryker/code-it-now',
+            'Doctrine\\Common\\Inflector' => 'spryker/doctrine-inflector',
+            'DMS\\PHPUnitExtensions\\' => 'spryker/testify',
+            'Egulias\\EmailValidator\\' => 'spryker/egulias',
+            'Elastica\\' => 'spryker/elastica',
+            'Faker\\' => 'spryker/testify',
             'Guzzle\\' => 'spryker/guzzle',
             'GuzzleHttp\\' => 'spryker/guzzle',
+            'JsonPath\\' => 'spryker/json-path',
+            'JsonSchema\\' => 'spryker/json-schema',
             'League\\Csv\\' => 'spryker/csv',
             'Monolog\\' => 'spryker/monolog',
-            'Elastica\\' => 'spryker/elastica',
+            'org\\bovigo\\vfs\\' => 'spryker/testify',
+            'phpDocumentor\\GraphViz\\' => 'spryker/graphviz',
+            'Propel\\' => 'spryker/propel-orm',
+            'PHPUnit\\' => 'spryker/testify',
+            'Pimple' => 'spryker/container',
+            'Predis\\' => 'spryker/redis',
+            'Psr\\Log\\' => 'spryker/log',
+            'Psr\\Container\\' => 'spryker/container',
+            'Ramsey\\Uuid' => 'spryker/ramsey-uuid',
+            'Silex\\' => 'spryker/silex',
+            'Spryker\\DecimalObject\\' => 'spryker/decimal-object',
+            'Symfony\\Bridge\\Twig\\' => 'spryker/symfony',
+            'Symfony\\Bundle\\WebProfilerBundle\\' => 'spryker/symfony',
             'Symfony\\Component\\' => 'spryker/symfony',
+            'Symfony\\Contracts\\' => 'spryker/symfony',
+            'Symfony\\Cmf\\' => 'spryker/symfony',
             'Twig_' => 'spryker/twig',
             'Twig\\' => 'spryker/twig',
-            'Zend\\' => 'spryker/zend',
-            'phpDocumentor\\GraphViz\\' => 'spryker/graphviz',
-            'Egulias\\EmailValidator\\' => 'spryker/egulias',
-            'Ramsey\\Uuid' => 'spryker/ramsey-uuid',
-            'Doctrine\\Common\\Inflector' => 'spryker/doctrine-inflector',
-            'JsonPath\\' => 'spryker/json-path',
-            'JsonSchema\\' => 'spryker/json-schema',
             'Webmozart\\Glob' => 'spryker/util-glob',
+            'Zend\\' => 'spryker/zend',
         ];
     }
 
     /**
      * @api
      *
-     * @return array
+     * @return string[]
      */
     public function getExternalToInternalMap()
     {
         return [
-            'psr/log' => 'spryker/log',
-            'propel/propel' => 'spryker/propel-orm',
-            'silex/silex' => 'spryker/silex',
-            'pimple/pimple' => 'spryker/container',
-            'mandrill/mandrill' => 'spryker/mandrill',
-            'predis/predis' => 'spryker/redis',
-            'guzzle/guzzle' => 'spryker/guzzle',
+            'codeception/codeception' => 'spryker/testify',
+            'codeitnowin/barcode' => 'spryker/code-it-now',
+            'dms/phpunit-arraysubset-asserts' => 'spryker/testify',
+            'doctrine/inflector' => 'spryker/doctrine-inflector',
+            'egulias/email-validator' => 'spryker/egulias',
+            'fzaninotto/faker' => 'spryker/testify',
+            'galbar/jsonpath' => 'spryker/json-path',
             'guzzlehttp/guzzle' => 'spryker/guzzle',
+            'justinrainbow/json-schema' => 'spryker/json-schema',
             'league/csv' => 'spryker/csv',
+            'league/oauth2-server' => 'spryker/oauth',
+            'mandrill/mandrill' => 'spryker/mandrill',
+            'mikey179/vfsstream' => 'spryker/testify',
+            'moneyphp/money' => 'spryker/money',
             'monolog/monolog' => 'spryker/monolog',
-            'ruflin/elastica' => 'spryker/elastica',
-            '/symfony/' => 'spryker/symfony',
-            'twig/twig' => 'spryker/twig',
-            '/zendframework/' => 'spryker/zend',
+            'pimple/pimple' => 'spryker/container',
             'phpdocumentor/graphviz' => 'spryker/graphviz',
-            'egulias/email-validator' => 'spryker/egulias',
+            'predis/predis' => 'spryker/redis',
+            'propel/propel' => 'spryker/propel-orm',
+            'psr/log' => 'spryker/log',
+            'psr/container' => 'spryker/container',
             'ramsey/uuid' => 'spryker/ramsey-uuid',
-            'doctrine/inflector' => 'spryker/doctrine-inflector',
+            'ruflin/elastica' => 'spryker/elastica',
+            'symfony-cmf/routing' => 'spryker/symfony',
+            'symfony/console' => 'spryker/symfony',
+            'symfony/debug' => 'spryker/symfony',
+            'symfony/filesystem' => 'spryker/symfony',
+            'symfony/finder' => 'spryker/symfony',
+            'symfony/form' => 'spryker/symfony',
+            'symfony/http-kernel' => 'spryker/symfony',
+            'symfony/intl' => 'spryker/symfony',
+            'symfony/mime' => 'spryker/symfony',
+            'symfony/options-resolver' => 'spryker/symfony',
+            'symfony/process' => 'spryker/symfony',
+            'symfony/property-access' => 'spryker/symfony',
+            'symfony/routing' => 'spryker/symfony',
+            'symfony/security' => 'spryker/symfony',
+            'symfony/serializer' => 'spryker/symfony',
+            'symfony/stopwatch' => 'spryker/symfony',
+            'symfony/translation' => 'spryker/symfony',
+            'symfony/twig-bridge' => 'spryker/symfony',
+            'symfony/validator' => 'spryker/symfony',
+            'symfony/web-profiler-bundle' => 'spryker/web-profiler',
+            'symfony/yaml' => 'spryker/symfony',
+            'swiftmailer/swiftmailer' => 'spryker/mail',
+            'twig/twig' => 'spryker/twig',
             'webmozart/glob' => 'spryker/util-glob',
+            'zendframework/zend-config' => 'spryker/zend',
+            'zendframework/zend-filter' => 'spryker/zend',
+            'zendframework/zend-servicemanager' => 'spryker/zend',
         ];
     }
 
@@ -370,7 +411,6 @@ public function getIgnorableDependencies()
             'phploc/phploc',
             'phpmd/phpmd',
             'sebastian/phpcpd',
-            'codeception/codeception',
             'fabpot/php-cs-fixer',
             'sensiolabs/security-checker',
             'sllh/composer-versions-check',

From 8dd642103dd3dc39cd90e70af3919ba76b1723db Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ren=C3=A9=20Klatt?= 
Date: Thu, 8 Oct 2020 08:07:03 +0000
Subject: [PATCH 179/336] TE-7611 Fixed dependencies.

---
 .../DependencyFinder/ComposerDependencyFinder.php     | 10 +++++++---
 .../DependencyFinder/ExternalDependencyFinder.php     |  4 +++-
 src/Spryker/Zed/Development/DevelopmentConfig.php     | 11 ++++++++++-
 3 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ComposerDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ComposerDependencyFinder.php
index 968b771a..5f9e69d7 100644
--- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ComposerDependencyFinder.php
+++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ComposerDependencyFinder.php
@@ -51,15 +51,19 @@ public function findDependencies(DependencyFinderContextInterface $context, Depe
         $fileContent = $context->getFileInfo()->getContents();
 
         if (strpos($fileContent, 'cs-check') !== false) {
-            $dependencyContainer->addDependency('CodeSniffer', $this->getType(), false, true);
+            $dependencyContainer->addDependency('spryker/code-sniffer', $this->getType(), false, true);
         }
 
         if (preg_match('/code-sniffer\/(Spryker|SprykerStrict)/', $fileContent)) {
-            $dependencyContainer->addDependency('CodeSniffer', $this->getType(), false, true);
+            $dependencyContainer->addDependency('spryker/code-sniffer', $this->getType(), false, true);
         }
 
         if (strpos($fileContent, 'codecept run') !== false) {
-            $dependencyContainer->addDependency('Testify', $this->getType(), false, true);
+            $dependencyContainer->addDependency('spryker/testify', $this->getType(), false, true);
+        }
+
+        if (strpos($fileContent, 'phpstan analyse') !== false) {
+            $dependencyContainer->addDependency('phpstan/phpstan', $this->getType(), false, true);
         }
 
         return $dependencyContainer;
diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php
index dbe19a15..9112daa9 100644
--- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php
+++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php
@@ -213,7 +213,9 @@ protected function getDependentModule(string $useStatement): string
     {
         foreach ($this->config->getExternalToInternalNamespaceMap() as $namespace => $package) {
             if (strpos($useStatement, $namespace) === 0) {
-                return $this->getDependentModuleNameFromPackage($package);
+                return $package;
+
+                $this->getDependentModuleNameFromPackage($package);
             }
         }
 
diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php
index 7ef87d6c..280a4170 100644
--- a/src/Spryker/Zed/Development/DevelopmentConfig.php
+++ b/src/Spryker/Zed/Development/DevelopmentConfig.php
@@ -360,6 +360,7 @@ public function getExternalToInternalMap()
             'moneyphp/money' => 'spryker/money',
             'monolog/monolog' => 'spryker/monolog',
             'pimple/pimple' => 'spryker/container',
+            'phpbench/phpbench' => 'spryker-sdk/benchmark',
             'phpdocumentor/graphviz' => 'spryker/graphviz',
             'predis/predis' => 'spryker/redis',
             'propel/propel' => 'spryker/propel-orm',
@@ -368,11 +369,15 @@ public function getExternalToInternalMap()
             'ramsey/uuid' => 'spryker/ramsey-uuid',
             'ruflin/elastica' => 'spryker/elastica',
             'symfony-cmf/routing' => 'spryker/symfony',
+            'symfony/config' => 'spryker/symfony',
             'symfony/console' => 'spryker/symfony',
             'symfony/debug' => 'spryker/symfony',
+            'symfony/error-handler' => 'spryker/symfony',
+            'symfony/event-dispatcher' => 'spryker/symfony',
             'symfony/filesystem' => 'spryker/symfony',
             'symfony/finder' => 'spryker/symfony',
             'symfony/form' => 'spryker/symfony',
+            'symfony/http-foundation' => 'spryker/symfony',
             'symfony/http-kernel' => 'spryker/symfony',
             'symfony/intl' => 'spryker/symfony',
             'symfony/mime' => 'spryker/symfony',
@@ -380,10 +385,14 @@ public function getExternalToInternalMap()
             'symfony/process' => 'spryker/symfony',
             'symfony/property-access' => 'spryker/symfony',
             'symfony/routing' => 'spryker/symfony',
-            'symfony/security' => 'spryker/symfony',
+            'symfony/security-core' => 'spryker/symfony',
+            'symfony/security-csrf' => 'spryker/symfony',
+            'symfony/security-guard' => 'spryker/symfony',
+            'symfony/security-http' => 'spryker/symfony',
             'symfony/serializer' => 'spryker/symfony',
             'symfony/stopwatch' => 'spryker/symfony',
             'symfony/translation' => 'spryker/symfony',
+            'symfony/translation-contracts' => 'spryker/symfony',
             'symfony/twig-bridge' => 'spryker/symfony',
             'symfony/validator' => 'spryker/symfony',
             'symfony/web-profiler-bundle' => 'spryker/web-profiler',

From 931b8cff968719f174b28dab280137880daa94c7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ren=C3=A9=20Klatt?= 
Date: Fri, 9 Oct 2020 07:47:59 +0000
Subject: [PATCH 180/336] TE-7611 Added deprecation.

---
 src/Spryker/Zed/Development/DevelopmentConfig.php | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php
index 280a4170..b8bfc6a0 100644
--- a/src/Spryker/Zed/Development/DevelopmentConfig.php
+++ b/src/Spryker/Zed/Development/DevelopmentConfig.php
@@ -409,6 +409,8 @@ public function getExternalToInternalMap()
     /**
      * @api
      *
+     * @deprecated Will be removed without replacement.
+     *
      * @return array
      */
     public function getIgnorableDependencies()

From 9bf1648f540be0c52df5e3ffb02bfb6f2e3fc0b4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ren=C3=A9=20Klatt?= 
Date: Fri, 9 Oct 2020 08:55:14 +0000
Subject: [PATCH 181/336] TE-7611 Removed dead code.

---
 .../Dependency/DependencyFinder/ExternalDependencyFinder.php    | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php
index 9112daa9..3105b35c 100644
--- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php
+++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php
@@ -214,8 +214,6 @@ protected function getDependentModule(string $useStatement): string
         foreach ($this->config->getExternalToInternalNamespaceMap() as $namespace => $package) {
             if (strpos($useStatement, $namespace) === 0) {
                 return $package;
-
-                $this->getDependentModuleNameFromPackage($package);
             }
         }
 

From 0a47b8ff0e52a97cf835f05d55b7654c41f43799 Mon Sep 17 00:00:00 2001
From: mscherer 
Date: Mon, 26 Oct 2020 11:50:44 +0100
Subject: [PATCH 182/336] Update psalm report.

---
 psalm-report.json | 1430 +++++++++++++++++----------------------------
 1 file changed, 538 insertions(+), 892 deletions(-)

diff --git a/psalm-report.json b/psalm-report.json
index 78295eb7..d5087baa 100644
--- a/psalm-report.json
+++ b/psalm-report.json
@@ -10,8 +10,7 @@
             "snippet": "        return array_filter($lookupPaths, 'glob');",
             "selected_text": "'glob'",
             "error_level": 6,
-            "shortcode": 4,
-            "taint_trace": null
+            "shortcode": 4
         },
         {
             "severity": "error",
@@ -23,8 +22,7 @@
             "snippet": "        return array_filter($twigFilePaths, 'glob');",
             "selected_text": "'glob'",
             "error_level": 6,
-            "shortcode": 4,
-            "taint_trace": null
+            "shortcode": 4
         },
         {
             "severity": "error",
@@ -36,8 +34,7 @@
             "snippet": "        $directories = array_filter($directories, function (string $directory) {\n            return glob($directory);\n        });",
             "selected_text": "function (string $directory) {\n            return glob($directory);\n        }",
             "error_level": 6,
-            "shortcode": 4,
-            "taint_trace": null
+            "shortcode": 4
         },
         {
             "severity": "error",
@@ -49,8 +46,7 @@
             "snippet": "            ->sort($this->getFilenameSortCallback());",
             "selected_text": "$this->getFilenameSortCallback()",
             "error_level": 6,
-            "shortcode": 4,
-            "taint_trace": null
+            "shortcode": 4
         },
         {
             "severity": "error",
@@ -62,8 +58,7 @@
             "snippet": "        $directories = array_filter($directories, 'glob');",
             "selected_text": "'glob'",
             "error_level": 6,
-            "shortcode": 4,
-            "taint_trace": null
+            "shortcode": 4
         },
         {
             "severity": "error",
@@ -75,8 +70,7 @@
             "snippet": "            ->sort($this->getFilenameSortCallback());",
             "selected_text": "$this->getFilenameSortCallback()",
             "error_level": 6,
-            "shortcode": 4,
-            "taint_trace": null
+            "shortcode": 4
         }
     ],
     "warning": [
@@ -90,8 +84,7 @@
             "snippet": "        usort($rules, $sortAlphabetically);",
             "selected_text": "$sortAlphabetically",
             "error_level": 4,
-            "shortcode": 12,
-            "taint_trace": null
+            "shortcode": 12
         },
         {
             "severity": "info",
@@ -103,8 +96,7 @@
             "snippet": "        $results = $this->xmlReader->fromString($output);",
             "selected_text": "$output",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -116,8 +108,7 @@
             "snippet": "            throw new Exception('Sniffer run was not successful: ' . $process->getExitCodeText());",
             "selected_text": "$process->getExitCodeText()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -129,8 +120,7 @@
             "snippet": "        $fileName = $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface.php';",
             "selected_text": "$bridgeBuilderDataTransfer->getModule()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -142,8 +132,7 @@
             "snippet": "        $fileName = $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface.php';",
             "selected_text": "$bridgeBuilderDataTransfer->getToModule()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -155,8 +144,7 @@
             "snippet": "        $fileName = $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface.php';",
             "selected_text": "$bridgeBuilderDataTransfer->getToType()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -168,8 +156,7 @@
             "snippet": "                $bridgeBuilderDataTransfer->getVendor() . '\\\\' .",
             "selected_text": "$bridgeBuilderDataTransfer->getVendor()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -181,8 +168,7 @@
             "snippet": "                $bridgeBuilderDataTransfer->getVendor() . '\\\\' .\n                $bridgeBuilderDataTransfer->getApplication() . '\\\\' .\n                $bridgeBuilderDataTransfer->getModule() . '\\\\' .\n                'Dependency\\\\' .\n                $bridgeBuilderDataTransfer->getToType() . '\\\\' .\n                $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface'",
             "selected_text": "$bridgeBuilderDataTransfer->getVendor() . '\\\\' .\n                $bridgeBuilderDataTransfer->getApplication() . '\\\\' .\n                $bridgeBuilderDataTransfer->getModule() . '\\\\' .\n                'Dependency\\\\' .\n                $bridgeBuilderDataTransfer->getToType() . '\\\\' .\n                $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface'",
             "error_level": 3,
-            "shortcode": 193,
-            "taint_trace": null
+            "shortcode": 193
         },
         {
             "severity": "info",
@@ -194,8 +180,7 @@
             "snippet": "                $bridgeBuilderDataTransfer->getApplication() . '\\\\' .",
             "selected_text": "$bridgeBuilderDataTransfer->getApplication()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -207,8 +192,7 @@
             "snippet": "                $bridgeBuilderDataTransfer->getModule() . '\\\\' .",
             "selected_text": "$bridgeBuilderDataTransfer->getModule()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -220,8 +204,7 @@
             "snippet": "                $bridgeBuilderDataTransfer->getToType() . '\\\\' .",
             "selected_text": "$bridgeBuilderDataTransfer->getToType()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -233,8 +216,7 @@
             "snippet": "                $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface'",
             "selected_text": "$bridgeBuilderDataTransfer->getModule()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -246,8 +228,7 @@
             "snippet": "                $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface'",
             "selected_text": "$bridgeBuilderDataTransfer->getToModule()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -259,8 +240,7 @@
             "snippet": "                $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface'",
             "selected_text": "$bridgeBuilderDataTransfer->getToType()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -272,8 +252,7 @@
             "snippet": "        $fileName = $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge.php';",
             "selected_text": "$bridgeBuilderDataTransfer->getModule()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -285,8 +264,7 @@
             "snippet": "        $fileName = $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge.php';",
             "selected_text": "$bridgeBuilderDataTransfer->getToModule()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -298,8 +276,7 @@
             "snippet": "        $fileName = $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge.php';",
             "selected_text": "$bridgeBuilderDataTransfer->getToType()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -311,8 +288,7 @@
             "snippet": "                $bridgeBuilderDataTransfer->getVendor() . '\\\\' .",
             "selected_text": "$bridgeBuilderDataTransfer->getVendor()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -324,8 +300,7 @@
             "snippet": "                $bridgeBuilderDataTransfer->getVendor() . '\\\\' .\n                $bridgeBuilderDataTransfer->getApplication() . '\\\\' .\n                $bridgeBuilderDataTransfer->getModule() . '\\\\' .\n                'Dependency\\\\' .\n                $bridgeBuilderDataTransfer->getToType() . '\\\\' .\n                $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge'",
             "selected_text": "$bridgeBuilderDataTransfer->getVendor() . '\\\\' .\n                $bridgeBuilderDataTransfer->getApplication() . '\\\\' .\n                $bridgeBuilderDataTransfer->getModule() . '\\\\' .\n                'Dependency\\\\' .\n                $bridgeBuilderDataTransfer->getToType() . '\\\\' .\n                $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge'",
             "error_level": 3,
-            "shortcode": 193,
-            "taint_trace": null
+            "shortcode": 193
         },
         {
             "severity": "info",
@@ -337,8 +312,7 @@
             "snippet": "                $bridgeBuilderDataTransfer->getApplication() . '\\\\' .",
             "selected_text": "$bridgeBuilderDataTransfer->getApplication()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -350,8 +324,7 @@
             "snippet": "                $bridgeBuilderDataTransfer->getModule() . '\\\\' .",
             "selected_text": "$bridgeBuilderDataTransfer->getModule()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -363,8 +336,7 @@
             "snippet": "                $bridgeBuilderDataTransfer->getToType() . '\\\\' .",
             "selected_text": "$bridgeBuilderDataTransfer->getToType()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -376,8 +348,7 @@
             "snippet": "                $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge'",
             "selected_text": "$bridgeBuilderDataTransfer->getModule()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -389,8 +360,7 @@
             "snippet": "                $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge'",
             "selected_text": "$bridgeBuilderDataTransfer->getToModule()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -402,8 +372,7 @@
             "snippet": "                $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge'",
             "selected_text": "$bridgeBuilderDataTransfer->getToType()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -415,8 +384,7 @@
             "snippet": "            '{toModuleVariable}' => lcfirst($bridgeBuilderDataTransfer->getToModule()),",
             "selected_text": "$bridgeBuilderDataTransfer->getToModule()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -428,8 +396,7 @@
             "snippet": "        if ($this->getModuleLayer($bridgeBuilderDataTransfer->getToType())) {",
             "selected_text": "$bridgeBuilderDataTransfer->getToType()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -441,8 +408,7 @@
             "snippet": "            $replacements['{toModuleLayer}'] = '\\\\' . $this->getModuleLayer($bridgeBuilderDataTransfer->getToType());",
             "selected_text": "$bridgeBuilderDataTransfer->getToType()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -454,8 +420,7 @@
             "snippet": "        $pathToInternalNamespace = $this->config->getPathToInternalNamespace($bridgeBuilderDataTransfer->getVendor());",
             "selected_text": "$bridgeBuilderDataTransfer->getVendor()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -467,8 +432,7 @@
             "snippet": "            return $pathToInternalNamespace . $bridgeBuilderDataTransfer->getModule();",
             "selected_text": "$bridgeBuilderDataTransfer->getModule()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -480,8 +444,7 @@
             "snippet": "        $vendorDirectory = $this->normalizeNameForSplit($bridgeBuilderDataTransfer->getVendor());",
             "selected_text": "$bridgeBuilderDataTransfer->getVendor()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -493,8 +456,7 @@
             "snippet": "        $moduleDirectory = $this->normalizeNameForSplit($bridgeBuilderDataTransfer->getModule());",
             "selected_text": "$bridgeBuilderDataTransfer->getModule()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -506,8 +468,7 @@
             "snippet": "        $pathToInternalNamespace = $this->config->getPathToInternalNamespace($bridgeBuilderDataTransfer->getToVendor());",
             "selected_text": "$bridgeBuilderDataTransfer->getToVendor()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -519,8 +480,7 @@
             "snippet": "            return $pathToInternalNamespace . $bridgeBuilderDataTransfer->getToModule();",
             "selected_text": "$bridgeBuilderDataTransfer->getToModule()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -532,8 +492,7 @@
             "snippet": "        $vendorDirectory = $this->normalizeNameForSplit($bridgeBuilderDataTransfer->getToVendor());",
             "selected_text": "$bridgeBuilderDataTransfer->getToVendor()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -545,8 +504,7 @@
             "snippet": "        $moduleDirectory = $this->normalizeNameForSplit($bridgeBuilderDataTransfer->getToModule());",
             "selected_text": "$bridgeBuilderDataTransfer->getToModule()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -558,8 +516,7 @@
             "snippet": "            $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType(),",
             "selected_text": "$bridgeBuilderDataTransfer->getToModule()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -571,8 +528,7 @@
             "snippet": "            $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType(),",
             "selected_text": "$bridgeBuilderDataTransfer->getToType()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -584,8 +540,7 @@
             "snippet": "            $bridgeBuilderDataTransfer->getToVendor() . '\\\\' .",
             "selected_text": "$bridgeBuilderDataTransfer->getToVendor()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -597,8 +552,7 @@
             "snippet": "            $bridgeBuilderDataTransfer->getToApplication() . '\\\\' .",
             "selected_text": "$bridgeBuilderDataTransfer->getToApplication()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -610,8 +564,19 @@
             "snippet": "            $bridgeBuilderDataTransfer->getToModule() . '\\\\';",
             "selected_text": "$bridgeBuilderDataTransfer->getToModule()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
+        },
+        {
+            "severity": "info",
+            "line_from": 458,
+            "line_to": 458,
+            "type": "PossiblyNullOperand",
+            "message": "Cannot concatenate with a possibly null null|string",
+            "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php",
+            "snippet": "            $path .= $bridgeBuilderDataTransfer->getToModuleLayer() . '\\\\';",
+            "selected_text": "$bridgeBuilderDataTransfer->getToModuleLayer()",
+            "error_level": 1,
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -623,8 +588,7 @@
             "snippet": "        $path .= $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType();",
             "selected_text": "$bridgeBuilderDataTransfer->getToModule()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -636,8 +600,7 @@
             "snippet": "        $path .= $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType();",
             "selected_text": "$bridgeBuilderDataTransfer->getToType()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -649,8 +612,7 @@
             "snippet": "        $targetBridgeClass = new ReflectionClass($path);",
             "selected_text": "$path",
             "error_level": 3,
-            "shortcode": 193,
-            "taint_trace": null
+            "shortcode": 193
         },
         {
             "severity": "info",
@@ -662,8 +624,7 @@
             "snippet": "            $bridgeBuilderDataTransfer->getToVendor() . '\\\\' .",
             "selected_text": "$bridgeBuilderDataTransfer->getToVendor()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -675,8 +636,7 @@
             "snippet": "            $bridgeBuilderDataTransfer->getToApplication() . '\\\\' .",
             "selected_text": "$bridgeBuilderDataTransfer->getToApplication()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -688,8 +648,19 @@
             "snippet": "            $bridgeBuilderDataTransfer->getToModule() . '\\\\';",
             "selected_text": "$bridgeBuilderDataTransfer->getToModule()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
+        },
+        {
+            "severity": "info",
+            "line_from": 487,
+            "line_to": 487,
+            "type": "PossiblyNullOperand",
+            "message": "Cannot concatenate with a possibly null null|string",
+            "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php",
+            "snippet": "            $path .= $bridgeBuilderDataTransfer->getToModuleLayer() . '\\\\';",
+            "selected_text": "$bridgeBuilderDataTransfer->getToModuleLayer()",
+            "error_level": 1,
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -701,8 +672,7 @@
             "snippet": "        $path .= $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface';",
             "selected_text": "$bridgeBuilderDataTransfer->getToModule()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -714,8 +684,7 @@
             "snippet": "        $path .= $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface';",
             "selected_text": "$bridgeBuilderDataTransfer->getToType()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -727,8 +696,7 @@
             "snippet": "        $targetBridgeInterface = new ReflectionClass($path);",
             "selected_text": "$path",
             "error_level": 3,
-            "shortcode": 193,
-            "taint_trace": null
+            "shortcode": 193
         },
         {
             "severity": "info",
@@ -740,8 +708,7 @@
             "snippet": "                $finalOutput .= $this->getClassNameFromFqcn($parameter->getType()->getName()) . ' ';",
             "selected_text": "getName",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
+            "shortcode": 83
         },
         {
             "severity": "info",
@@ -753,8 +720,7 @@
             "snippet": "            if ($parameter->hasType() && !$parameter->getType()->isBuiltin()) {",
             "selected_text": "isBuiltin",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
+            "shortcode": 83
         },
         {
             "severity": "info",
@@ -766,8 +732,7 @@
             "snippet": "                $type = $parameter->getType()->getName();",
             "selected_text": "getName",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
+            "shortcode": 83
         },
         {
             "severity": "info",
@@ -779,8 +744,7 @@
             "snippet": "        $module = strtolower($filter->filter($module));",
             "selected_text": "$filter->filter($module)",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -792,8 +756,7 @@
             "snippet": "        if (strpos($module, '.') !== false) {",
             "selected_text": "$module",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -805,8 +768,7 @@
             "snippet": "            [$namespace, $module] = explode('.', $module, 2);",
             "selected_text": "$module",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -818,8 +780,7 @@
             "snippet": "        $path = $this->resolvePath($module, $namespace, $pathOption);",
             "selected_text": "$module",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -831,8 +792,7 @@
             "snippet": "                return $this->getPathToCore($namespace, $path);",
             "selected_text": "$path",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -844,8 +804,7 @@
             "snippet": "            return $pathToRoot . $path;",
             "selected_text": "$path",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -857,8 +816,7 @@
             "snippet": "            return $this->buildPath($pathToInternalNamespace . $module . DIRECTORY_SEPARATOR, $pathSuffix);",
             "selected_text": "$pathSuffix",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -870,8 +828,7 @@
             "snippet": "        return $this->buildPath($path, $pathSuffix);",
             "selected_text": "$pathSuffix",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -883,8 +840,7 @@
             "snippet": "        return $process->getExitCode();",
             "selected_text": "$process->getExitCode()",
             "error_level": 5,
-            "shortcode": 139,
-            "taint_trace": null
+            "shortcode": 139
         },
         {
             "severity": "info",
@@ -896,8 +852,7 @@
             "snippet": "     * @return int",
             "selected_text": "int",
             "error_level": 5,
-            "shortcode": 144,
-            "taint_trace": null
+            "shortcode": 144
         },
         {
             "severity": "info",
@@ -909,8 +864,7 @@
             "snippet": "        return $process->getExitCode();",
             "selected_text": "$process->getExitCode()",
             "error_level": 5,
-            "shortcode": 139,
-            "taint_trace": null
+            "shortcode": 139
         },
         {
             "severity": "info",
@@ -922,8 +876,7 @@
             "snippet": "     * @return int",
             "selected_text": "int",
             "error_level": 5,
-            "shortcode": 144,
-            "taint_trace": null
+            "shortcode": 144
         },
         {
             "severity": "info",
@@ -935,8 +888,7 @@
             "snippet": "        return $process->getExitCode();",
             "selected_text": "$process->getExitCode()",
             "error_level": 5,
-            "shortcode": 139,
-            "taint_trace": null
+            "shortcode": 139
         },
         {
             "severity": "info",
@@ -948,8 +900,7 @@
             "snippet": "        if (!$this->hasComposerJson($moduleTransfer)) {",
             "selected_text": "$moduleTransfer",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -961,8 +912,7 @@
             "snippet": "        $composerJsonFilePath = sprintf('%s/composer.json', $moduleTransfer->getPath());",
             "selected_text": "$moduleTransfer->getPath()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -974,8 +924,7 @@
             "snippet": "            ->in($module->getPath())",
             "selected_text": "$module->getPath()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -987,8 +936,7 @@
             "snippet": "            $moduleKey = implode('.', [$moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName()]);",
             "selected_text": "getName",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
+            "shortcode": 83
         },
         {
             "severity": "info",
@@ -1000,8 +948,7 @@
             "snippet": "        uksort($composerJson, $callable);",
             "selected_text": "$callable",
             "error_level": 4,
-            "shortcode": 12,
-            "taint_trace": null
+            "shortcode": 12
         },
         {
             "severity": "info",
@@ -1013,112 +960,103 @@
             "snippet": "        $moduleName = mb_strtolower($filter->filter(basename($composerJsonFile->getPath())));",
             "selected_text": "$filter->filter(basename($composerJsonFile->getPath()))",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
-            "line_from": 73,
-            "line_to": 73,
+            "line_from": 78,
+            "line_to": 78,
             "type": "PossiblyNullArgument",
             "message": "Argument 2 of sprintf cannot be null, possibly null value provided",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php",
             "snippet": "            return sprintf('%s/%s', $moduleTransfer->getOrganization()->getNameDashed(), $moduleTransfer->getNameDashed());",
             "selected_text": "$moduleTransfer->getOrganization()->getNameDashed()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
-            "line_from": 73,
-            "line_to": 73,
+            "line_from": 78,
+            "line_to": 78,
             "type": "PossiblyNullReference",
             "message": "Cannot call method getNameDashed on possibly null value",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php",
             "snippet": "            return sprintf('%s/%s', $moduleTransfer->getOrganization()->getNameDashed(), $moduleTransfer->getNameDashed());",
             "selected_text": "getNameDashed",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
+            "shortcode": 83
         },
         {
             "severity": "info",
-            "line_from": 73,
-            "line_to": 73,
+            "line_from": 78,
+            "line_to": 78,
             "type": "PossiblyNullArgument",
             "message": "Argument 3 of sprintf cannot be null, possibly null value provided",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php",
             "snippet": "            return sprintf('%s/%s', $moduleTransfer->getOrganization()->getNameDashed(), $moduleTransfer->getNameDashed());",
             "selected_text": "$moduleTransfer->getNameDashed()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
-            "line_from": 88,
-            "line_to": 88,
+            "line_from": 93,
+            "line_to": 93,
             "type": "PossiblyNullArgument",
             "message": "Argument 2 of sprintf cannot be null, possibly null value provided",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php",
             "snippet": "        return sprintf('%s/%s', $moduleTransfer->getOrganization()->getNameDashed(), $moduleTransfer->getNameDashed());",
             "selected_text": "$moduleTransfer->getOrganization()->getNameDashed()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
-            "line_from": 88,
-            "line_to": 88,
+            "line_from": 93,
+            "line_to": 93,
             "type": "PossiblyNullReference",
             "message": "Cannot call method getNameDashed on possibly null value",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php",
             "snippet": "        return sprintf('%s/%s', $moduleTransfer->getOrganization()->getNameDashed(), $moduleTransfer->getNameDashed());",
             "selected_text": "getNameDashed",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
+            "shortcode": 83
         },
         {
             "severity": "info",
-            "line_from": 88,
-            "line_to": 88,
+            "line_from": 93,
+            "line_to": 93,
             "type": "PossiblyNullArgument",
             "message": "Argument 3 of sprintf cannot be null, possibly null value provided",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php",
             "snippet": "        return sprintf('%s/%s', $moduleTransfer->getOrganization()->getNameDashed(), $moduleTransfer->getNameDashed());",
             "selected_text": "$moduleTransfer->getNameDashed()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
-            "line_from": 154,
-            "line_to": 154,
+            "line_from": 159,
+            "line_to": 159,
             "type": "PossiblyNullArrayOffset",
             "message": "Cannot access value on variable $this->moduleTransferCollectionGroupedByModuleName[null|string] using possibly null offset null|string",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php",
             "snippet": "            $this->moduleTransferCollectionGroupedByModuleName[$moduleTransfer->getName()][] = $moduleTransfer;",
             "selected_text": "$this->moduleTransferCollectionGroupedByModuleName",
             "error_level": 3,
-            "shortcode": 125,
-            "taint_trace": null
+            "shortcode": 125
         },
         {
             "severity": "info",
-            "line_from": 173,
-            "line_to": 173,
+            "line_from": 178,
+            "line_to": 178,
             "type": "PossiblyNullArrayOffset",
             "message": "Cannot access value on variable $this->packageTransferCollectionGroupedByPackageName[null|string] using possibly null offset null|string",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php",
             "snippet": "            $this->packageTransferCollectionGroupedByPackageName[$packageTransfer->getPackageName()] = $packageTransfer;",
             "selected_text": "$this->packageTransferCollectionGroupedByPackageName",
             "error_level": 3,
-            "shortcode": 125,
-            "taint_trace": null
+            "shortcode": 125
         },
         {
             "severity": "info",
@@ -1130,8 +1068,7 @@
             "snippet": "            $dependentModule = strtolower($filter->filter($dependentModule));",
             "selected_text": "$filter->filter($dependentModule)",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -1143,60 +1080,67 @@
             "snippet": "        return (string)$filter->filter($moduleName);",
             "selected_text": "$filter->filter($moduleName)",
             "error_level": 3,
-            "shortcode": 190,
-            "taint_trace": null
+            "shortcode": 190
         },
         {
             "severity": "info",
-            "line_from": 107,
-            "line_to": 107,
+            "line_from": 50,
+            "line_to": 50,
+            "type": "ArgumentTypeCoercion",
+            "message": "Argument 1 of ReflectionClass::__construct expects class-string|object|trait-string, parent type string provided",
+            "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/ComposerParser/ExternalDependencyParser.php",
+            "snippet": "            $reflectionClass = new ReflectionClass($className);",
+            "selected_text": "$className",
+            "error_level": 3,
+            "shortcode": 193
+        },
+        {
+            "severity": "info",
+            "line_from": 113,
+            "line_to": 113,
             "type": "PossiblyNullArgument",
             "message": "Argument 1 of strcmp cannot be null, possibly null value provided",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyContainer/DependencyContainer.php",
             "snippet": "            return strcmp($dependencyBundleTransferA->getModule(), $dependencyBundleTransferB->getModule());",
             "selected_text": "$dependencyBundleTransferA->getModule()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
-            "line_from": 107,
-            "line_to": 107,
+            "line_from": 113,
+            "line_to": 113,
             "type": "PossiblyNullArgument",
             "message": "Argument 2 of strcmp cannot be null, possibly null value provided",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyContainer/DependencyContainer.php",
             "snippet": "            return strcmp($dependencyBundleTransferA->getModule(), $dependencyBundleTransferB->getModule());",
             "selected_text": "$dependencyBundleTransferB->getModule()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
-            "line_from": 110,
-            "line_to": 110,
+            "line_from": 116,
+            "line_to": 116,
             "type": "PossiblyInvalidMethodCall",
             "message": "Cannot call method on possible array variable ",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyContainer/DependencyContainer.php",
             "snippet": "        $dependencyModules = $dependencyCollectionTransfer->getDependencyModules()->getArrayCopy();",
             "selected_text": "getArrayCopy",
             "error_level": 3,
-            "shortcode": 113,
-            "taint_trace": null
+            "shortcode": 113
         },
         {
             "severity": "info",
-            "line_from": 134,
-            "line_to": 134,
+            "line_from": 140,
+            "line_to": 140,
             "type": "PossiblyInvalidArgument",
             "message": "Argument 1 of ucfirst expects string, possibly different type array|string provided",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyContainer/DependencyContainer.php",
             "snippet": "        return ucfirst($filter->filter($moduleName));",
             "selected_text": "$filter->filter($moduleName)",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -1208,8 +1152,7 @@
             "snippet": "        $moduleExtensionKey = sprintf('%s.%sExtension', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName());",
             "selected_text": "$moduleTransfer->getOrganization()->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -1221,8 +1164,7 @@
             "snippet": "        $moduleExtensionKey = sprintf('%s.%sExtension', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName());",
             "selected_text": "getName",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
+            "shortcode": 83
         },
         {
             "severity": "info",
@@ -1234,8 +1176,7 @@
             "snippet": "        $moduleExtensionKey = sprintf('%s.%sExtension', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName());",
             "selected_text": "$moduleTransfer->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -1247,8 +1188,7 @@
             "snippet": "            $composerName = $this->buildComposerName($moduleTransfer->getOrganization()->getName(), sprintf('%sExtension', $moduleTransfer->getName()));",
             "selected_text": "$moduleTransfer->getOrganization()->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -1260,8 +1200,7 @@
             "snippet": "            $composerName = $this->buildComposerName($moduleTransfer->getOrganization()->getName(), sprintf('%sExtension', $moduleTransfer->getName()));",
             "selected_text": "getName",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
+            "shortcode": 83
         },
         {
             "severity": "info",
@@ -1273,21 +1212,19 @@
             "snippet": "            $composerName = $this->buildComposerName($moduleTransfer->getOrganization()->getName(), sprintf('%sExtension', $moduleTransfer->getName()));",
             "selected_text": "$moduleTransfer->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
-            "line_from": 171,
-            "line_to": 171,
+            "line_from": 237,
+            "line_to": 237,
             "type": "PossiblyInvalidArgument",
             "message": "Argument 1 of ucfirst expects string, possibly different type array|string provided",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php",
             "snippet": "        return ucfirst($filter->filter($dependentModule));",
             "selected_text": "$filter->filter($dependentModule)",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -1299,8 +1236,7 @@
             "snippet": "        $composerNames = $this->getNamesFromUseStatements($useStatements, $context->getModule()->getName());",
             "selected_text": "$context->getModule()->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -1312,8 +1248,7 @@
             "snippet": "            $dependentModule = $this->propelSchemaParser->getModuleNameByForeignReference($foreignIdColumnName, $context->getModule()->getName());",
             "selected_text": "$context->getModule()->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -1325,8 +1260,7 @@
             "snippet": "        $modules = $this->getModuleNamesFromUseStatements($useStatements, $context->getModule()->getName());",
             "selected_text": "$context->getModule()->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -1338,8 +1272,7 @@
             "snippet": "        return $this->addFindings($context->getModule()->getName(), $matches, $dependencyContainer);",
             "selected_text": "$context->getModule()->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -1351,8 +1284,7 @@
             "snippet": "        return $this->addFindings($context->getModule()->getName(), $matches, $dependencyContainer);",
             "selected_text": "$context->getModule()->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -1364,8 +1296,7 @@
             "snippet": "        return $this->addFindings($context->getModule()->getName(), $matches, $dependencyContainer);",
             "selected_text": "$context->getModule()->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -1377,8 +1308,7 @@
             "snippet": "        return $this->addFindings($context->getModule()->getName(), $matches, $dependencyContainer);",
             "selected_text": "$context->getModule()->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -1390,8 +1320,7 @@
             "snippet": "        return $this->addFindings($context->getModule()->getName(), $matches, $dependencyContainer);",
             "selected_text": "$context->getModule()->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -1403,8 +1332,7 @@
             "snippet": "            $moduleTransfer->setNameDashed($this->dasherize($moduleTransfer->getName()));",
             "selected_text": "$moduleTransfer->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -1416,8 +1344,7 @@
             "snippet": "     * @return array",
             "selected_text": "array",
             "error_level": 5,
-            "shortcode": 166,
-            "taint_trace": null
+            "shortcode": 166
         },
         {
             "severity": "info",
@@ -1429,8 +1356,7 @@
             "snippet": "     * @return \\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]",
             "selected_text": "\\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]",
             "error_level": 4,
-            "shortcode": 142,
-            "taint_trace": null
+            "shortcode": 142
         },
         {
             "severity": "info",
@@ -1442,8 +1368,7 @@
             "snippet": "     * @return \\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder",
             "selected_text": "\\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder",
             "error_level": 4,
-            "shortcode": 142,
-            "taint_trace": null
+            "shortcode": 142
         },
         {
             "severity": "info",
@@ -1455,8 +1380,7 @@
             "snippet": "     * @return \\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder",
             "selected_text": "\\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder",
             "error_level": 4,
-            "shortcode": 142,
-            "taint_trace": null
+            "shortcode": 142
         },
         {
             "severity": "info",
@@ -1468,8 +1392,7 @@
             "snippet": "            $dependencyValidationRequestTransfer->getModule(),",
             "selected_text": "$dependencyValidationRequestTransfer->getModule()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -1481,151 +1404,79 @@
             "snippet": "            $composerName = $dependencyModuleTransfer->getComposerName() ?? $this->composerNameFinder->findComposerNameByModuleName($dependencyModuleTransfer->getModule());",
             "selected_text": "$dependencyModuleTransfer->getModule()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
-            "line_from": 52,
-            "line_to": 52,
+            "line_from": 58,
+            "line_to": 58,
             "type": "PossiblyNullArgument",
-            "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DependencyTree\\ComposerDependencyParser::getParsedComposerDependenciesForBundle cannot be null, possibly null value provided",
+            "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DependencyTree\\ComposerDependencyParser::parseComposerJson cannot be null, possibly null value provided",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php",
-            "snippet": "        $composerDependencyCollectionTransfer = $this->getParsedComposerDependenciesForBundle($dependencyCollectionTransfer->getModule());",
+            "snippet": "        $composerDependencyCollectionTransfer = $this->parseComposerJson($dependencyCollectionTransfer->getModule());",
             "selected_text": "$dependencyCollectionTransfer->getModule()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
-            "line_from": 67,
-            "line_to": 67,
+            "line_from": 68,
+            "line_to": 68,
             "type": "PossiblyNullArgument",
             "message": "Argument 2 of sprintf cannot be null, possibly null value provided",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php",
             "snippet": "        $currentComposerName = sprintf('%s/%s', $dependencyCollectionTransfer->getModule()->getOrganization()->getNameDashed(), $dependencyCollectionTransfer->getModule()->getNameDashed());",
             "selected_text": "$dependencyCollectionTransfer->getModule()->getOrganization()->getNameDashed()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
-            "line_from": 67,
-            "line_to": 67,
+            "line_from": 68,
+            "line_to": 68,
             "type": "PossiblyNullReference",
             "message": "Cannot call method getOrganization on possibly null value",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php",
             "snippet": "        $currentComposerName = sprintf('%s/%s', $dependencyCollectionTransfer->getModule()->getOrganization()->getNameDashed(), $dependencyCollectionTransfer->getModule()->getNameDashed());",
             "selected_text": "getOrganization",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
+            "shortcode": 83
         },
         {
             "severity": "info",
-            "line_from": 67,
-            "line_to": 67,
+            "line_from": 68,
+            "line_to": 68,
             "type": "PossiblyNullReference",
             "message": "Cannot call method getNameDashed on possibly null value",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php",
             "snippet": "        $currentComposerName = sprintf('%s/%s', $dependencyCollectionTransfer->getModule()->getOrganization()->getNameDashed(), $dependencyCollectionTransfer->getModule()->getNameDashed());",
             "selected_text": "getNameDashed",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
+            "shortcode": 83
         },
         {
             "severity": "info",
-            "line_from": 67,
-            "line_to": 67,
+            "line_from": 68,
+            "line_to": 68,
             "type": "PossiblyNullArgument",
             "message": "Argument 3 of sprintf cannot be null, possibly null value provided",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php",
             "snippet": "        $currentComposerName = sprintf('%s/%s', $dependencyCollectionTransfer->getModule()->getOrganization()->getNameDashed(), $dependencyCollectionTransfer->getModule()->getNameDashed());",
             "selected_text": "$dependencyCollectionTransfer->getModule()->getNameDashed()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
-            "line_from": 67,
-            "line_to": 67,
+            "line_from": 68,
+            "line_to": 68,
             "type": "PossiblyNullReference",
             "message": "Cannot call method getNameDashed on possibly null value",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php",
             "snippet": "        $currentComposerName = sprintf('%s/%s', $dependencyCollectionTransfer->getModule()->getOrganization()->getNameDashed(), $dependencyCollectionTransfer->getModule()->getNameDashed());",
             "selected_text": "getNameDashed",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
-        },
-        {
-            "severity": "info",
-            "line_from": 148,
-            "line_to": 148,
-            "type": "PossiblyNullArrayOffset",
-            "message": "Cannot access value on variable $composerNames[mixed|null|string] using possibly null offset mixed|null|string",
-            "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php",
-            "snippet": "            $composerNames[$moduleDependencyTransfer->getModule()] = $moduleDependencyTransfer->getComposerName();",
-            "selected_text": "$composerNames",
-            "error_level": 3,
-            "shortcode": 125,
-            "taint_trace": null
-        },
-        {
-            "severity": "info",
-            "line_from": 165,
-            "line_to": 165,
-            "type": "PossiblyNullArrayOffset",
-            "message": "Cannot access value on variable $composerNames[mixed|null|string] using possibly null offset mixed|null|string",
-            "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php",
-            "snippet": "                    $composerNames[$moduleDependencyTransfer->getModule()] = $moduleDependencyTransfer->getComposerName();",
-            "selected_text": "$composerNames",
-            "error_level": 3,
-            "shortcode": 125,
-            "taint_trace": null
-        },
-        {
-            "severity": "info",
-            "line_from": 184,
-            "line_to": 184,
-            "type": "PossiblyNullArrayOffset",
-            "message": "Cannot access value on variable $composerNames[mixed|null|string] using possibly null offset mixed|null|string",
-            "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php",
-            "snippet": "                    $composerNames[$moduleDependencyTransfer->getModule()] = $moduleDependencyTransfer->getComposerName();",
-            "selected_text": "$composerNames",
-            "error_level": 3,
-            "shortcode": 125,
-            "taint_trace": null
-        },
-        {
-            "severity": "info",
-            "line_from": 205,
-            "line_to": 205,
-            "type": "PossiblyNullArrayOffset",
-            "message": "Cannot access value on variable $composerNames[mixed|null|string] using possibly null offset mixed|null|string",
-            "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php",
-            "snippet": "                $composerNames[$composerDependency->getModuleName()] = $composerDependency->getName();",
-            "selected_text": "$composerNames",
-            "error_level": 3,
-            "shortcode": 125,
-            "taint_trace": null
-        },
-        {
-            "severity": "info",
-            "line_from": 223,
-            "line_to": 223,
-            "type": "PossiblyNullArrayOffset",
-            "message": "Cannot access value on variable $composerNames[mixed|null|string] using possibly null offset mixed|null|string",
-            "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php",
-            "snippet": "                $composerNames[$composerDependency->getModuleName()] = $composerDependency->getName();",
-            "selected_text": "$composerNames",
-            "error_level": 3,
-            "shortcode": 125,
-            "taint_trace": null
+            "shortcode": 83
         },
         {
             "severity": "info",
@@ -1637,8 +1488,7 @@
             "snippet": "        $declaredDependencies = $this->parseDeclaredDependenciesForBundle($dependencyCollectionTransfer->getModule());",
             "selected_text": "$dependencyCollectionTransfer->getModule()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -1650,8 +1500,7 @@
             "snippet": "        $dependencyJsonFilePath = sprintf('%s/dependency.json', $moduleTransfer->getPath());",
             "selected_text": "$moduleTransfer->getPath()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -1663,60 +1512,55 @@
             "snippet": "        $composerJsonFilePath = sprintf('%s/composer.json', $moduleTransfer->getPath());",
             "selected_text": "$moduleTransfer->getPath()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
-            "line_from": 407,
-            "line_to": 407,
+            "line_from": 404,
+            "line_to": 404,
             "type": "PossiblyFalseOperand",
             "message": "Left operand cannot be falsable, got false|int",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php",
             "snippet": "        $name = substr($package, strpos($package, '/') + 1);",
             "selected_text": "strpos($package, '/')",
             "error_level": 3,
-            "shortcode": 162,
-            "taint_trace": null
+            "shortcode": 162
         },
         {
             "severity": "info",
-            "line_from": 409,
-            "line_to": 409,
+            "line_from": 406,
+            "line_to": 406,
             "type": "PossiblyInvalidArgument",
             "message": "Argument 1 of ucfirst expects string, possibly different type array|string provided",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php",
             "snippet": "        $name = ucfirst($filter->filter($name));",
             "selected_text": "$filter->filter($name)",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
-            "line_from": 422,
-            "line_to": 422,
+            "line_from": 419,
+            "line_to": 419,
             "type": "PossiblyNullOperand",
             "message": "Cannot concatenate with a possibly null null|string",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php",
             "snippet": "        return $moduleName === $dependencyCollectionTransfer->getModule()->getName() . 'Extension';",
             "selected_text": "$dependencyCollectionTransfer->getModule()->getName()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
-            "line_from": 422,
-            "line_to": 422,
+            "line_from": 419,
+            "line_to": 419,
             "type": "PossiblyNullReference",
             "message": "Cannot call method getName on possibly null value",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php",
             "snippet": "        return $moduleName === $dependencyCollectionTransfer->getModule()->getName() . 'Extension';",
             "selected_text": "getName",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
+            "shortcode": 83
         },
         {
             "severity": "info",
@@ -1728,8 +1572,7 @@
             "snippet": "                $classNameParts = array_slice($tokens, $pointer, $endOfNew - $foundPosition - 2);",
             "selected_text": "$endOfNew",
             "error_level": 3,
-            "shortcode": 162,
-            "taint_trace": null
+            "shortcode": 162
         },
         {
             "severity": "info",
@@ -1741,8 +1584,7 @@
             "snippet": "                $startOf = $file->findPrevious([T_OPEN_PARENTHESIS, T_WHITESPACE, T_OPEN_SQUARE_BRACKET], $foundPosition - 1) + 1;",
             "selected_text": "$file->findPrevious([T_OPEN_PARENTHESIS, T_WHITESPACE, T_OPEN_SQUARE_BRACKET], $foundPosition - 1)",
             "error_level": 3,
-            "shortcode": 162,
-            "taint_trace": null
+            "shortcode": 162
         },
         {
             "severity": "info",
@@ -1754,8 +1596,7 @@
             "snippet": "            $dependencyInformation[DependencyTree::META_FOREIGN_LAYER] = 'external';",
             "selected_text": "$dependencyInformation",
             "error_level": 3,
-            "shortcode": 18,
-            "taint_trace": null
+            "shortcode": 18
         },
         {
             "severity": "info",
@@ -1767,8 +1608,7 @@
             "snippet": "                return ucfirst($filter->filter($foreignBundle));",
             "selected_text": "$filter->filter($foreignBundle)",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -1780,8 +1620,7 @@
             "snippet": "                'url' => '/development/dependency/outgoing-graph?bundle=' . $incomingBundle->getName(),",
             "selected_text": "$incomingBundle->getName()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -1793,8 +1632,7 @@
             "snippet": "            $this->graph->addNode($incomingBundle->getName(), $attributes);",
             "selected_text": "$incomingBundle->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -1806,8 +1644,7 @@
             "snippet": "            $this->graph->addEdge($incomingBundle->getName(), $this->bundleName);",
             "selected_text": "$incomingBundle->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -1819,8 +1656,7 @@
             "snippet": "        return strtolower($filter->filter($classNameParts[0]));",
             "selected_text": "$filter->filter($classNameParts[0])",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -1832,8 +1668,7 @@
             "snippet": "     * @return array",
             "selected_text": "array",
             "error_level": 5,
-            "shortcode": 166,
-            "taint_trace": null
+            "shortcode": 166
         },
         {
             "severity": "info",
@@ -1845,8 +1680,7 @@
             "snippet": "        $basePath = rtrim($this->config->getPathToInternalNamespace(static::ORGANIZATION), '/');",
             "selected_text": "$this->config->getPathToInternalNamespace(static::ORGANIZATION)",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -1858,8 +1692,7 @@
             "snippet": "        $basePath = rtrim($this->config->getPathToInternalNamespace(static::ORGANIZATION), '/');",
             "selected_text": "$this->config->getPathToInternalNamespace(static::ORGANIZATION)",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -1871,8 +1704,7 @@
             "snippet": "        $basePath = rtrim($this->config->getPathToInternalNamespace(static::ORGANIZATION), '/');",
             "selected_text": "$this->config->getPathToInternalNamespace(static::ORGANIZATION)",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -1884,8 +1716,7 @@
             "snippet": "    public function drawOutgoingDependencyTreeGraph($moduleToView, array $excludedModules = [], $showIncomingDependencies = false)",
             "selected_text": "$moduleToView",
             "error_level": 5,
-            "shortcode": 140,
-            "taint_trace": null
+            "shortcode": 140
         },
         {
             "severity": "info",
@@ -1897,8 +1728,7 @@
             "snippet": "                $bundleTransferCollection[$bundleTransfer->getName()] = $bundleTransfer;",
             "selected_text": "$bundleTransferCollection",
             "error_level": 3,
-            "shortcode": 125,
-            "taint_trace": null
+            "shortcode": 125
         },
         {
             "severity": "info",
@@ -1910,8 +1740,7 @@
             "snippet": "        if (!array_key_exists($bundleTransfer->getName(), $bundles)) {",
             "selected_text": "$bundleTransfer->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -1923,8 +1752,7 @@
             "snippet": "        $existingBundleTransfer = $bundles[$bundleTransfer->getName()];",
             "selected_text": "$bundles",
             "error_level": 3,
-            "shortcode": 125,
-            "taint_trace": null
+            "shortcode": 125
         },
         {
             "severity": "info",
@@ -1936,8 +1764,7 @@
             "snippet": "     * @param \\ArrayObject|\\Generated\\Shared\\Transfer\\IdeAutoCompletionBundleMethodTransfer[] $existingMethodTransferCollection",
             "selected_text": "\\ArrayObject|\\Generated\\Shared\\Transfer\\IdeAutoCompletionBundleMethodTransfer[]",
             "error_level": 4,
-            "shortcode": 141,
-            "taint_trace": null
+            "shortcode": 141
         },
         {
             "severity": "info",
@@ -1949,8 +1776,7 @@
             "snippet": "     * @param \\ArrayObject|\\Generated\\Shared\\Transfer\\IdeAutoCompletionBundleMethodTransfer[] $methodTransferCollection",
             "selected_text": "\\ArrayObject|\\Generated\\Shared\\Transfer\\IdeAutoCompletionBundleMethodTransfer[]",
             "error_level": 4,
-            "shortcode": 141,
-            "taint_trace": null
+            "shortcode": 141
         },
         {
             "severity": "info",
@@ -1962,8 +1788,7 @@
             "snippet": "            $methodsByName[$methodTransfer->getName()] = $methodTransfer;",
             "selected_text": "$methodsByName",
             "error_level": 3,
-            "shortcode": 125,
-            "taint_trace": null
+            "shortcode": 125
         },
         {
             "severity": "info",
@@ -1975,8 +1800,7 @@
             "snippet": "            $methodsByName[$methodTransfer->getName()] = $methodTransfer;",
             "selected_text": "$methodsByName",
             "error_level": 3,
-            "shortcode": 125,
-            "taint_trace": null
+            "shortcode": 125
         },
         {
             "severity": "info",
@@ -1988,8 +1812,7 @@
             "snippet": "        $interfaceFileName = $this->getInterfaceFileName($bundleTransfer->getName());",
             "selected_text": "$bundleTransfer->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2001,8 +1824,7 @@
             "snippet": "        $classFileName = $this->getClassFileName($bundleTransfer->getName());",
             "selected_text": "$bundleTransfer->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2014,8 +1836,7 @@
             "snippet": "        return $this->namespaceExtractor->fromDirectory($directory, $bundleTransfer->getBaseDirectory());",
             "selected_text": "$bundleTransfer->getBaseDirectory()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2027,8 +1848,7 @@
             "snippet": "            $bundleTransfer->getDirectory(),",
             "selected_text": "$bundleTransfer->getDirectory()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2040,8 +1860,7 @@
             "snippet": "            $bundleTransfer->getName()",
             "selected_text": "$bundleTransfer->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2053,8 +1872,7 @@
             "snippet": "            $bundleTransfer->getDirectory(),",
             "selected_text": "$bundleTransfer->getDirectory()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2066,8 +1884,7 @@
             "snippet": "            $bundleTransfer->getName()",
             "selected_text": "$bundleTransfer->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2079,8 +1896,7 @@
             "snippet": "            $bundleTransfer->getDirectory(),",
             "selected_text": "$bundleTransfer->getDirectory()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2092,8 +1908,7 @@
             "snippet": "            $bundleTransfer->getName()",
             "selected_text": "$bundleTransfer->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2105,8 +1920,7 @@
             "snippet": "            $bundleTransfer->getDirectory(),",
             "selected_text": "$bundleTransfer->getDirectory()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2118,8 +1932,7 @@
             "snippet": "            $bundleTransfer->getName()",
             "selected_text": "$bundleTransfer->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2131,8 +1944,7 @@
             "snippet": "            $bundleTransfer->getDirectory(),",
             "selected_text": "$bundleTransfer->getDirectory()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2144,8 +1956,7 @@
             "snippet": "            $bundleTransfer->getName()",
             "selected_text": "$bundleTransfer->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2157,8 +1968,7 @@
             "snippet": "            if ($moduleTransfer->getMethods()->count() === 0) {",
             "selected_text": "count",
             "error_level": 3,
-            "shortcode": 113,
-            "taint_trace": null
+            "shortcode": 113
         },
         {
             "severity": "info",
@@ -2170,8 +1980,7 @@
             "snippet": "            $fileName = sprintf('%s.php', $moduleTransfer->getName());",
             "selected_text": "$moduleTransfer->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2183,8 +1992,7 @@
             "snippet": "            $moduleTransfer->getPath(),",
             "selected_text": "$moduleTransfer->getPath()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2196,8 +2004,7 @@
             "snippet": "            $moduleTransfer->getOrganization()->getName(),",
             "selected_text": "$moduleTransfer->getOrganization()->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2209,8 +2016,7 @@
             "snippet": "            $moduleTransfer->getOrganization()->getName(),",
             "selected_text": "getName",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
+            "shortcode": 83
         },
         {
             "severity": "info",
@@ -2222,8 +2028,7 @@
             "snippet": "            $applicationTransfer->getName(),",
             "selected_text": "$applicationTransfer->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2235,8 +2040,7 @@
             "snippet": "            $moduleTransfer->getName()",
             "selected_text": "$moduleTransfer->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2248,8 +2052,7 @@
             "snippet": "     * @return \\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder",
             "selected_text": "\\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder",
             "error_level": 4,
-            "shortcode": 142,
-            "taint_trace": null
+            "shortcode": 142
         },
         {
             "severity": "info",
@@ -2261,8 +2064,7 @@
             "snippet": "        $dependencyProviderClassName = str_replace([$moduleTransfer->getPath() . 'src/', '.php', DIRECTORY_SEPARATOR], ['', '', '\\\\'], $splFileInfo->getPathname());",
             "selected_text": "$moduleTransfer->getPath()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -2274,8 +2076,7 @@
             "snippet": "     * @return \\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]",
             "selected_text": "\\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]",
             "error_level": 4,
-            "shortcode": 142,
-            "taint_trace": null
+            "shortcode": 142
         },
         {
             "severity": "info",
@@ -2287,8 +2088,7 @@
             "snippet": "     * @return \\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder",
             "selected_text": "\\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder",
             "error_level": 4,
-            "shortcode": 142,
-            "taint_trace": null
+            "shortcode": 142
         },
         {
             "severity": "info",
@@ -2300,8 +2100,7 @@
             "snippet": "        $composerJsonAsArray = $this->getComposerJsonAsArray($moduleTransfer->getPath());",
             "selected_text": "$moduleTransfer->getPath()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2313,8 +2112,7 @@
             "snippet": "     * @return \\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder",
             "selected_text": "\\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder",
             "error_level": 4,
-            "shortcode": 142,
-            "taint_trace": null
+            "shortcode": 142
         },
         {
             "severity": "info",
@@ -2326,8 +2124,7 @@
             "snippet": "        return sprintf('%s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName());",
             "selected_text": "$moduleTransfer->getOrganization()->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2339,8 +2136,7 @@
             "snippet": "        return sprintf('%s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName());",
             "selected_text": "getName",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
+            "shortcode": 83
         },
         {
             "severity": "info",
@@ -2352,8 +2148,7 @@
             "snippet": "        return sprintf('%s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName());",
             "selected_text": "$moduleTransfer->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2365,8 +2160,7 @@
             "snippet": "        $lookupDirectory = sprintf('%s/src/%s/', $moduleTransfer->getPath(), $moduleTransfer->getOrganization()->getName());",
             "selected_text": "$moduleTransfer->getPath()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2378,8 +2172,7 @@
             "snippet": "        $lookupDirectory = sprintf('%s/src/%s/', $moduleTransfer->getPath(), $moduleTransfer->getOrganization()->getName());",
             "selected_text": "$moduleTransfer->getOrganization()->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2391,8 +2184,7 @@
             "snippet": "        $lookupDirectory = sprintf('%s/src/%s/', $moduleTransfer->getPath(), $moduleTransfer->getOrganization()->getName());",
             "selected_text": "getName",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
+            "shortcode": 83
         },
         {
             "severity": "info",
@@ -2404,8 +2196,7 @@
             "snippet": "        $organizationName = $pathFragments[$vendorPosition + 1];",
             "selected_text": "$vendorPosition",
             "error_level": 3,
-            "shortcode": 162,
-            "taint_trace": null
+            "shortcode": 162
         },
         {
             "severity": "info",
@@ -2417,8 +2208,7 @@
             "snippet": "        $applicationName = $pathFragments[$vendorPosition + 2];",
             "selected_text": "$vendorPosition",
             "error_level": 3,
-            "shortcode": 162,
-            "taint_trace": null
+            "shortcode": 162
         },
         {
             "severity": "info",
@@ -2430,8 +2220,7 @@
             "snippet": "        if (!$this->matchesOrganization($moduleFilterTransfer, $moduleTransfer->getOrganization())) {",
             "selected_text": "$moduleTransfer->getOrganization()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2443,8 +2232,7 @@
             "snippet": "        return $this->match($moduleFilterTransfer->getOrganization()->getName(), $organizationTransfer->getName());",
             "selected_text": "$moduleFilterTransfer->getOrganization()->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2456,8 +2244,7 @@
             "snippet": "        return $this->match($moduleFilterTransfer->getOrganization()->getName(), $organizationTransfer->getName());",
             "selected_text": "getName",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
+            "shortcode": 83
         },
         {
             "severity": "info",
@@ -2469,8 +2256,7 @@
             "snippet": "        return $this->match($moduleFilterTransfer->getOrganization()->getName(), $organizationTransfer->getName());",
             "selected_text": "$organizationTransfer->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2482,8 +2268,7 @@
             "snippet": "            if ($this->match($moduleFilterTransfer->getApplication()->getName(), $applicationTransfer->getName())) {",
             "selected_text": "$moduleFilterTransfer->getApplication()->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2495,8 +2280,7 @@
             "snippet": "            if ($this->match($moduleFilterTransfer->getApplication()->getName(), $applicationTransfer->getName())) {",
             "selected_text": "getName",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
+            "shortcode": 83
         },
         {
             "severity": "info",
@@ -2508,8 +2292,7 @@
             "snippet": "            if ($this->match($moduleFilterTransfer->getApplication()->getName(), $applicationTransfer->getName())) {",
             "selected_text": "$applicationTransfer->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2521,8 +2304,7 @@
             "snippet": "        return $this->match($moduleFilterTransfer->getModule()->getName(), $moduleTransfer->getName());",
             "selected_text": "$moduleFilterTransfer->getModule()->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2534,8 +2316,7 @@
             "snippet": "        return $this->match($moduleFilterTransfer->getModule()->getName(), $moduleTransfer->getName());",
             "selected_text": "getName",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
+            "shortcode": 83
         },
         {
             "severity": "info",
@@ -2547,8 +2328,7 @@
             "snippet": "        return $this->match($moduleFilterTransfer->getModule()->getName(), $moduleTransfer->getName());",
             "selected_text": "$moduleTransfer->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2560,8 +2340,7 @@
             "snippet": "                $this->config->getPathToInternalNamespace(static::ORGANIZATION),",
             "selected_text": "$this->config->getPathToInternalNamespace(static::ORGANIZATION)",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2573,8 +2352,7 @@
             "snippet": "        return ($moduleTransfer->getOrganization()->getName() === static::ORGANIZATION);",
             "selected_text": "getName",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
+            "shortcode": 83
         },
         {
             "severity": "info",
@@ -2586,8 +2364,7 @@
             "snippet": "     * @return string",
             "selected_text": "string",
             "error_level": 5,
-            "shortcode": 144,
-            "taint_trace": null
+            "shortcode": 144
         },
         {
             "severity": "info",
@@ -2599,8 +2376,7 @@
             "snippet": "        return $moduleTransfer->getName();",
             "selected_text": "$moduleTransfer->getName()",
             "error_level": 5,
-            "shortcode": 139,
-            "taint_trace": null
+            "shortcode": 139
         },
         {
             "severity": "info",
@@ -2612,8 +2388,7 @@
             "snippet": "     * @return string",
             "selected_text": "string",
             "error_level": 5,
-            "shortcode": 144,
-            "taint_trace": null
+            "shortcode": 144
         },
         {
             "severity": "info",
@@ -2625,8 +2400,7 @@
             "snippet": "        return $moduleTransfer->getNameDashed();",
             "selected_text": "$moduleTransfer->getNameDashed()",
             "error_level": 5,
-            "shortcode": 139,
-            "taint_trace": null
+            "shortcode": 139
         },
         {
             "severity": "info",
@@ -2638,8 +2412,7 @@
             "snippet": "     * @return string",
             "selected_text": "string",
             "error_level": 5,
-            "shortcode": 144,
-            "taint_trace": null
+            "shortcode": 144
         },
         {
             "severity": "info",
@@ -2651,8 +2424,7 @@
             "snippet": "        return $moduleTransfer->getNameDashed();",
             "selected_text": "$moduleTransfer->getNameDashed()",
             "error_level": 5,
-            "shortcode": 139,
-            "taint_trace": null
+            "shortcode": 139
         },
         {
             "severity": "info",
@@ -2664,8 +2436,7 @@
             "snippet": "     * @return string",
             "selected_text": "string",
             "error_level": 5,
-            "shortcode": 144,
-            "taint_trace": null
+            "shortcode": 144
         },
         {
             "severity": "info",
@@ -2677,8 +2448,7 @@
             "snippet": "        return $moduleTransfer->getNameDashed();",
             "selected_text": "$moduleTransfer->getNameDashed()",
             "error_level": 5,
-            "shortcode": 139,
-            "taint_trace": null
+            "shortcode": 139
         },
         {
             "severity": "info",
@@ -2690,8 +2460,7 @@
             "snippet": "     * @return \\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder",
             "selected_text": "\\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder",
             "error_level": 4,
-            "shortcode": 142,
-            "taint_trace": null
+            "shortcode": 142
         },
         {
             "severity": "info",
@@ -2703,8 +2472,7 @@
             "snippet": "        $organizationName = $pathFragments[$srcPosition + 1];",
             "selected_text": "$srcPosition",
             "error_level": 3,
-            "shortcode": 162,
-            "taint_trace": null
+            "shortcode": 162
         },
         {
             "severity": "info",
@@ -2716,8 +2484,7 @@
             "snippet": "        $organizationName = $pathFragments[$srcPosition + 2];",
             "selected_text": "$srcPosition",
             "error_level": 3,
-            "shortcode": 162,
-            "taint_trace": null
+            "shortcode": 162
         },
         {
             "severity": "info",
@@ -2729,8 +2496,7 @@
             "snippet": "        return sprintf('%s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName());",
             "selected_text": "$moduleTransfer->getOrganization()->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2742,8 +2508,7 @@
             "snippet": "        return sprintf('%s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName());",
             "selected_text": "getName",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
+            "shortcode": 83
         },
         {
             "severity": "info",
@@ -2755,8 +2520,7 @@
             "snippet": "        return sprintf('%s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName());",
             "selected_text": "$moduleTransfer->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2768,8 +2532,7 @@
             "snippet": "            $packageCollectionKey = sprintf('%s.%s', $packageTransfer->getOrganizationName(), $packageTransfer->getPackageName());",
             "selected_text": "$packageTransfer->getOrganizationName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2781,8 +2544,7 @@
             "snippet": "            $packageCollectionKey = sprintf('%s.%s', $packageTransfer->getOrganizationName(), $packageTransfer->getPackageName());",
             "selected_text": "$packageTransfer->getPackageName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2794,8 +2556,7 @@
             "snippet": "     * @return \\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder",
             "selected_text": "\\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder",
             "error_level": 4,
-            "shortcode": 142,
-            "taint_trace": null
+            "shortcode": 142
         },
         {
             "severity": "info",
@@ -2807,8 +2568,7 @@
             "snippet": "        $composerJsonAsArray = $this->getComposerJsonAsArray($packageTransfer->getPath());",
             "selected_text": "$packageTransfer->getPath()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2820,8 +2580,7 @@
             "snippet": "        $path = $this->resolvePath($bundle);",
             "selected_text": "$bundle",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2833,8 +2592,7 @@
             "snippet": "        return ucfirst($filter->filter($value));",
             "selected_text": "$filter->filter($value)",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -2846,8 +2604,7 @@
             "snippet": "        return $process->getExitCode();",
             "selected_text": "$process->getExitCode()",
             "error_level": 5,
-            "shortcode": 139,
-            "taint_trace": null
+            "shortcode": 139
         },
         {
             "severity": "info",
@@ -2859,8 +2616,7 @@
             "snippet": "    public function apply(AbstractNode $node)",
             "selected_text": "$node",
             "error_level": 5,
-            "shortcode": 140,
-            "taint_trace": null
+            "shortcode": 140
         },
         {
             "severity": "info",
@@ -2872,8 +2628,7 @@
             "snippet": "    public function apply(AbstractNode $node)",
             "selected_text": "$node",
             "error_level": 5,
-            "shortcode": 140,
-            "taint_trace": null
+            "shortcode": 140
         },
         {
             "severity": "info",
@@ -2885,86 +2640,91 @@
             "snippet": "            $paths = $this->getPaths($module);",
             "selected_text": "$module",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
-            "line_from": 193,
-            "line_to": 193,
+            "line_from": 160,
+            "line_to": 160,
+            "type": "RedundantCondition",
+            "message": "Found a redundant condition when evaluating $progressBar and trying to reconcile type 'Symfony\\Component\\Console\\Helper\\ProgressBar' to object with method maxSecondsBetweenRedraws",
+            "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php",
+            "snippet": "        if (method_exists($progressBar, 'maxSecondsBetweenRedraws')) {",
+            "selected_text": "method_exists($progressBar, 'maxSecondsBetweenRedraws')",
+            "error_level": 4,
+            "shortcode": 122
+        },
+        {
+            "severity": "info",
+            "line_from": 195,
+            "line_to": 195,
             "type": "PossiblyInvalidArgument",
             "message": "Argument 2 of preg_match expects string, possibly different type array|bool|null|string provided",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php",
             "snippet": "        if (preg_match('/^([+])(\\d)$/', $level, $matches)) {",
             "selected_text": "$level",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
-            "line_from": 224,
-            "line_to": 224,
+            "line_from": 226,
+            "line_to": 226,
             "type": "NullableReturnStatement",
             "message": "The declared return type 'int' for Spryker\\Zed\\Development\\Business\\Phpstan\\PhpstanRunner::runCommand is not nullable, but the function returns 'int|null'",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php",
             "snippet": "        return $process->getExitCode();",
             "selected_text": "$process->getExitCode()",
             "error_level": 5,
-            "shortcode": 139,
-            "taint_trace": null
+            "shortcode": 139
         },
         {
             "severity": "info",
-            "line_from": 369,
-            "line_to": 369,
+            "line_from": 371,
+            "line_to": 371,
             "type": "PossiblyNullArgument",
             "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Phpstan\\PhpstanRunner::getVendorPathByNamespace cannot be null, possibly null value provided",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php",
             "snippet": "        $vendorDirectoryPath = $this->getVendorPathByNamespace($namespace);",
             "selected_text": "$namespace",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
-            "line_from": 372,
-            "line_to": 372,
+            "line_from": 374,
+            "line_to": 374,
             "type": "PossiblyNullArgument",
             "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Phpstan\\Config\\PhpstanConfigFileFinderInterface::searchIn cannot be null, possibly null value provided",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php",
             "snippet": "            ->searchIn($vendorDirectoryPath);",
             "selected_text": "$vendorDirectoryPath",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
-            "line_from": 377,
-            "line_to": 377,
+            "line_from": 379,
+            "line_to": 379,
             "type": "PossiblyNullArgument",
             "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\Phpstan\\Config\\PhpstanConfigFileManagerInterface::merge cannot be null, possibly null value provided",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php",
             "snippet": "                $this->getConfigFilenameForMerge($moduleConfigFile)",
             "selected_text": "$this->getConfigFilenameForMerge($moduleConfigFile)",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
-            "line_from": 426,
-            "line_to": 426,
+            "line_from": 428,
+            "line_to": 428,
             "type": "PossiblyNullArgument",
             "message": "Argument 1 of dirname cannot be null, possibly null value provided",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php",
             "snippet": "        return dirname($pathToModules) . DIRECTORY_SEPARATOR;",
             "selected_text": "$pathToModules",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -2976,8 +2736,7 @@
             "snippet": "            $this->bundles[$currentBundleName]['out'][$outgoingBundleName] = $outgoingBundleName;",
             "selected_text": "$this->bundles[$currentBundleName]['out']",
             "error_level": 3,
-            "shortcode": 120,
-            "taint_trace": null
+            "shortcode": 120
         },
         {
             "severity": "info",
@@ -2989,8 +2748,7 @@
             "snippet": "            $this->bundles[$outgoingBundleName]['in'][$currentBundleName] = $currentBundleName;",
             "selected_text": "$this->bundles[$outgoingBundleName]['in']",
             "error_level": 3,
-            "shortcode": 120,
-            "taint_trace": null
+            "shortcode": 120
         },
         {
             "severity": "info",
@@ -3002,8 +2760,7 @@
             "snippet": "     * @return \\ArrayObject|\\Generated\\Shared\\Transfer\\ModuleDependencyTransfer[]",
             "selected_text": "\\ArrayObject|\\Generated\\Shared\\Transfer\\ModuleDependencyTransfer[]",
             "error_level": 4,
-            "shortcode": 142,
-            "taint_trace": null
+            "shortcode": 142
         },
         {
             "severity": "info",
@@ -3015,8 +2772,7 @@
             "snippet": "     * @param \\Generated\\Shared\\Transfer\\ModuleDependencyTransfer[]|\\ArrayObject $moduleDependencyTransferCollection",
             "selected_text": "\\Generated\\Shared\\Transfer\\ModuleDependencyTransfer[]|\\ArrayObject",
             "error_level": 4,
-            "shortcode": 141,
-            "taint_trace": null
+            "shortcode": 141
         },
         {
             "severity": "info",
@@ -3028,8 +2784,7 @@
             "snippet": "        if (strpos($moduleArgument, '.') === false) {",
             "selected_text": "$moduleArgument",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3041,8 +2796,7 @@
             "snippet": "            $moduleTransfer->setName($moduleArgument);",
             "selected_text": "$moduleArgument",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3054,8 +2808,7 @@
             "snippet": "        $this->addFilterDetails($moduleArgument, $moduleFilterTransfer);",
             "selected_text": "$moduleArgument",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3067,8 +2820,7 @@
             "snippet": "        return sprintf('%s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName());",
             "selected_text": "$moduleTransfer->getOrganization()->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -3080,8 +2832,7 @@
             "snippet": "        return sprintf('%s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName());",
             "selected_text": "getName",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
+            "shortcode": 83
         },
         {
             "severity": "info",
@@ -3093,8 +2844,7 @@
             "snippet": "        return sprintf('%s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName());",
             "selected_text": "$moduleTransfer->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -3106,8 +2856,7 @@
             "snippet": "        $isCore = strpos($module, '.') !== false;",
             "selected_text": "$module",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3119,8 +2868,7 @@
             "snippet": "            $module = $this->normalizeModuleName($module);",
             "selected_text": "$module",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3132,8 +2880,7 @@
             "snippet": "            $message .= ' (' . $path . ')';",
             "selected_text": "$path",
             "error_level": 3,
-            "shortcode": 163,
-            "taint_trace": null
+            "shortcode": 163
         },
         {
             "severity": "info",
@@ -3145,8 +2892,7 @@
             "snippet": "            $success = $this->runForCore($output, $module, $path);",
             "selected_text": "$module",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3158,8 +2904,7 @@
             "snippet": "            $success = $this->runForCore($output, $module, $path);",
             "selected_text": "$path",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3171,8 +2916,7 @@
             "snippet": "            $customPath = $this->getCustomPath($module, $path);",
             "selected_text": "$module",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3184,8 +2928,7 @@
             "snippet": "            $customPath = $this->getCustomPath($module, $path);",
             "selected_text": "$path",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3197,8 +2940,7 @@
             "snippet": "                $success = $this->runForProject($output, $module, $path);",
             "selected_text": "$module",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3210,8 +2952,7 @@
             "snippet": "                $success = $this->runForProject($output, $module, $path);",
             "selected_text": "$path",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3223,8 +2964,7 @@
             "snippet": "        return $this->buildPath($moduleTransfer->getPath(), $pathSuffix);",
             "selected_text": "$moduleTransfer->getPath()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -3236,8 +2976,7 @@
             "snippet": "        return rtrim($path . $suffix, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;",
             "selected_text": "$suffix",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -3249,8 +2988,7 @@
             "snippet": "        $normalized = ucfirst($normalized);",
             "selected_text": "$normalized",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3262,8 +3000,7 @@
             "snippet": "        $customPath = $pathToRoot . $path;",
             "selected_text": "$path",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -3275,8 +3012,7 @@
             "snippet": "        $this->displayRunInfo($module);",
             "selected_text": "$module",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3288,8 +3024,7 @@
             "snippet": "        return $this->getFacade()->runFixtures($module, $this->input->getOptions());",
             "selected_text": "$module",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3301,8 +3036,7 @@
             "snippet": "        return $this->getFacade()->runPhpMd($module, $this->input->getOptions());",
             "selected_text": "$module",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3314,8 +3048,7 @@
             "snippet": "        $this->info($this->buildMessage($module, $path));",
             "selected_text": "$module",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3327,8 +3060,7 @@
             "snippet": "        $this->info($this->buildMessage($module, $path));",
             "selected_text": "$path",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3340,8 +3072,7 @@
             "snippet": "        $exitCode = $this->getFacade()->checkCodeStyle($module, $this->input->getOptions() + [static::ARGUMENT_SUB_PATH => $path]);",
             "selected_text": "$module",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3353,8 +3084,7 @@
             "snippet": "        $isCore = strpos($module, '.') !== false;",
             "selected_text": "$module",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -3366,8 +3096,7 @@
             "snippet": "        $normalized = ucfirst($normalized);",
             "selected_text": "$normalized",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3379,8 +3108,7 @@
             "snippet": "        $this->displayRunInfo($input, $module);",
             "selected_text": "$module",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3392,8 +3120,7 @@
             "snippet": "            $module,",
             "selected_text": "$module",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3405,8 +3132,7 @@
             "snippet": "                    $this->input->getArgument(static::ARGUMENT_MODULE)",
             "selected_text": "$this->input->getArgument(static::ARGUMENT_MODULE)",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3418,8 +3144,7 @@
             "snippet": "        $processedModules = $this->getFacade()->updateComposerJsonInModules($modules, $isDryRun);",
             "selected_text": "$isDryRun",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3431,8 +3156,7 @@
             "snippet": "            $this->output->writeln($validationMessageTransfer->getMessage());",
             "selected_text": "$validationMessageTransfer->getMessage()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -3444,8 +3168,7 @@
             "snippet": "        $this->getFacade()->buildDependencyTree($module);",
             "selected_text": "$module",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3457,8 +3180,7 @@
             "snippet": "     * @param \\Generated\\Shared\\Transfer\\ModuleDependencyTransfer[]|\\ArrayObject $moduleDependencyTransferCollection",
             "selected_text": "\\Generated\\Shared\\Transfer\\ModuleDependencyTransfer[]|\\ArrayObject",
             "error_level": 4,
-            "shortcode": 141,
-            "taint_trace": null
+            "shortcode": 141
         },
         {
             "severity": "info",
@@ -3470,8 +3192,7 @@
             "snippet": "     * @param \\Generated\\Shared\\Transfer\\ModuleDependencyTransfer[]|\\ArrayObject $moduleDependencyTransferCollection",
             "selected_text": "\\Generated\\Shared\\Transfer\\ModuleDependencyTransfer[]|\\ArrayObject",
             "error_level": 4,
-            "shortcode": 141,
-            "taint_trace": null
+            "shortcode": 141
         },
         {
             "severity": "info",
@@ -3483,112 +3204,103 @@
             "snippet": "            'Composer name' => sprintf('%s', $color, $composerName),",
             "selected_text": "$composerName",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
-            "line_from": 194,
-            "line_to": 194,
+            "line_from": 193,
+            "line_to": 193,
             "type": "PossiblyNullArgument",
             "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\DependencyViolationFinderConsole::getColoredYesOrNo cannot be null, possibly null value provided",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php",
             "snippet": "            'is valid' => $this->getColoredYesOrNo($moduleDependencyTransfer->getIsValid()),",
             "selected_text": "$moduleDependencyTransfer->getIsValid()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
-            "line_from": 195,
-            "line_to": 195,
+            "line_from": 194,
+            "line_to": 194,
             "type": "PossiblyNullArgument",
             "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\DependencyViolationFinderConsole::getYesOrNo cannot be null, possibly null value provided",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php",
             "snippet": "            'src dependency' => $this->getYesOrNo($moduleDependencyTransfer->getIsSrcDependency()),",
             "selected_text": "$moduleDependencyTransfer->getIsSrcDependency()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
-            "line_from": 196,
-            "line_to": 196,
+            "line_from": 195,
+            "line_to": 195,
             "type": "PossiblyNullArgument",
             "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\DependencyViolationFinderConsole::getYesOrNo cannot be null, possibly null value provided",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php",
             "snippet": "            'test dependency' => $this->getYesOrNo($moduleDependencyTransfer->getIsTestDependency()),",
             "selected_text": "$moduleDependencyTransfer->getIsTestDependency()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
-            "line_from": 197,
-            "line_to": 197,
+            "line_from": 196,
+            "line_to": 196,
             "type": "PossiblyNullArgument",
             "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\DependencyViolationFinderConsole::getYesOrNo cannot be null, possibly null value provided",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php",
             "snippet": "            'in composer require' => $this->getYesOrNo($moduleDependencyTransfer->getIsInComposerRequire()),",
             "selected_text": "$moduleDependencyTransfer->getIsInComposerRequire()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
-            "line_from": 198,
-            "line_to": 198,
+            "line_from": 197,
+            "line_to": 197,
             "type": "PossiblyNullArgument",
             "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\DependencyViolationFinderConsole::getYesOrNo cannot be null, possibly null value provided",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php",
             "snippet": "            'in composer require-dev' => $this->getYesOrNo($moduleDependencyTransfer->getIsInComposerRequireDev()),",
             "selected_text": "$moduleDependencyTransfer->getIsInComposerRequireDev()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
-            "line_from": 199,
-            "line_to": 199,
+            "line_from": 198,
+            "line_to": 198,
             "type": "PossiblyNullArgument",
             "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\DependencyViolationFinderConsole::getYesOrNo cannot be null, possibly null value provided",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php",
             "snippet": "            'in composer suggest' => $this->getYesOrNo($moduleDependencyTransfer->getIsSuggested()),",
             "selected_text": "$moduleDependencyTransfer->getIsSuggested()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
-            "line_from": 200,
-            "line_to": 200,
+            "line_from": 199,
+            "line_to": 199,
             "type": "PossiblyNullArgument",
             "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\DependencyViolationFinderConsole::getYesOrNo cannot be null, possibly null value provided",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php",
             "snippet": "            'is optional dependency' => $this->getYesOrNo($moduleDependencyTransfer->getIsOptionalDependency()),",
             "selected_text": "$moduleDependencyTransfer->getIsOptionalDependency()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
-            "line_from": 201,
-            "line_to": 201,
+            "line_from": 200,
+            "line_to": 200,
             "type": "PossiblyNullArgument",
             "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\DependencyViolationFinderConsole::getYesOrNo cannot be null, possibly null value provided",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php",
             "snippet": "            'is own extension module' => $this->getYesOrNo($moduleDependencyTransfer->getIsOwnExtensionModule()),",
             "selected_text": "$moduleDependencyTransfer->getIsOwnExtensionModule()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -3600,8 +3312,7 @@
             "snippet": "            $this->output->writeln(sprintf('No dependency issues found in %s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName()));",
             "selected_text": "$moduleTransfer->getOrganization()->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -3613,8 +3324,7 @@
             "snippet": "            $this->output->writeln(sprintf('No dependency issues found in %s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName()));",
             "selected_text": "getName",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
+            "shortcode": 83
         },
         {
             "severity": "info",
@@ -3626,8 +3336,7 @@
             "snippet": "            $this->output->writeln(sprintf('No dependency issues found in %s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName()));",
             "selected_text": "$moduleTransfer->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -3639,8 +3348,7 @@
             "snippet": "            $composerNameToFix = $this->getFacade()->findComposerNameByModuleName($moduleDependencyTransfer->getModuleName());",
             "selected_text": "$moduleDependencyTransfer->getModuleName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -3652,8 +3360,7 @@
             "snippet": "                $this->output->writeln(sprintf('Could not get a composer name for \"%s\"', $moduleDependencyTransfer->getModuleName()));",
             "selected_text": "$moduleDependencyTransfer->getModuleName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -3665,8 +3372,7 @@
             "snippet": "                $this->output->writeln(sprintf('Please check the module %s.%s manually.', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName()));",
             "selected_text": "$moduleTransfer->getOrganization()->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -3678,8 +3384,7 @@
             "snippet": "                $this->output->writeln(sprintf('Please check the module %s.%s manually.', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName()));",
             "selected_text": "getName",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
+            "shortcode": 83
         },
         {
             "severity": "info",
@@ -3691,8 +3396,7 @@
             "snippet": "                $this->output->writeln(sprintf('Please check the module %s.%s manually.', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName()));",
             "selected_text": "$moduleTransfer->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -3704,8 +3408,7 @@
             "snippet": "        $this->output->writeln(sprintf('Fixed dependencies in %s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName()));",
             "selected_text": "$moduleTransfer->getOrganization()->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -3717,8 +3420,7 @@
             "snippet": "        $this->output->writeln(sprintf('Fixed dependencies in %s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName()));",
             "selected_text": "getName",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
+            "shortcode": 83
         },
         {
             "severity": "info",
@@ -3730,8 +3432,7 @@
             "snippet": "        $this->output->writeln(sprintf('Fixed dependencies in %s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName()));",
             "selected_text": "$moduleTransfer->getName()",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -3743,8 +3444,7 @@
             "snippet": "        $composerJsonFile = $moduleTransfer->getPath() . '/composer.json';",
             "selected_text": "$moduleTransfer->getPath()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -3756,8 +3456,7 @@
             "snippet": "        $composerJsonFile = $moduleTransfer->getPath() . '/composer.json';",
             "selected_text": "$moduleTransfer->getPath()",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -3769,8 +3468,7 @@
             "snippet": "        $methods = explode(',', $this->input->getOption(static::OPTION_METHODS));",
             "selected_text": "$this->input->getOption(static::OPTION_METHODS)",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3782,8 +3480,7 @@
             "snippet": "        $message = 'Create bridge in ' . $module;",
             "selected_text": "$module",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -3795,8 +3492,7 @@
             "snippet": "        $message = 'Create bridge in ' . $module;",
             "selected_text": "$module",
             "error_level": 3,
-            "shortcode": 163,
-            "taint_trace": null
+            "shortcode": 163
         },
         {
             "severity": "info",
@@ -3808,8 +3504,7 @@
             "snippet": "        $this->getFacade()->createBridge($module, $toModule, $methods);",
             "selected_text": "$module",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3821,8 +3516,7 @@
             "snippet": "        $this->getFacade()->createBridge($module, $toModule, $methods);",
             "selected_text": "$toModule",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3834,8 +3528,7 @@
             "snippet": "            $message = 'Create or update Spryker core module ' . $module;",
             "selected_text": "$module",
             "error_level": 1,
-            "shortcode": 80,
-            "taint_trace": null
+            "shortcode": 80
         },
         {
             "severity": "info",
@@ -3847,8 +3540,7 @@
             "snippet": "            $message = 'Create or update Spryker core module ' . $module;",
             "selected_text": "$module",
             "error_level": 3,
-            "shortcode": 163,
-            "taint_trace": null
+            "shortcode": 163
         },
         {
             "severity": "info",
@@ -3860,8 +3552,7 @@
             "snippet": "        $this->getFacade()->createModule($module, $options);",
             "selected_text": "$module",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3873,8 +3564,7 @@
             "snippet": "        if (strpos($moduleArgument, '.') === false) {",
             "selected_text": "$moduleArgument",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3886,8 +3576,7 @@
             "snippet": "            $moduleTransfer->setName($moduleArgument);",
             "selected_text": "$moduleArgument",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3899,8 +3588,7 @@
             "snippet": "        $this->addFilterDetails($moduleArgument, $moduleFilterTransfer);",
             "selected_text": "$moduleArgument",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3912,8 +3600,7 @@
             "snippet": "        $message = $this->buildMessage($module);",
             "selected_text": "$module",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3925,8 +3612,7 @@
             "snippet": "        $result = $this->getFacade()->runPropelAbstractValidation($output, $module);",
             "selected_text": "$module",
             "error_level": 3,
-            "shortcode": 92,
-            "taint_trace": null
+            "shortcode": 92
         },
         {
             "severity": "info",
@@ -3938,8 +3624,7 @@
             "snippet": "        $fileViolations = $this->getFacade()->runArchitectureSniffer($directory);",
             "selected_text": "$directory",
             "error_level": 3,
-            "shortcode": 78,
-            "taint_trace": null
+            "shortcode": 78
         },
         {
             "severity": "info",
@@ -3951,8 +3636,7 @@
             "snippet": "                        'organization' => $dependencyProviderTransfer->getModule()->getOrganization()->getName(),",
             "selected_text": "getOrganization",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
+            "shortcode": 83
         },
         {
             "severity": "info",
@@ -3964,8 +3648,7 @@
             "snippet": "                        'organization' => $dependencyProviderTransfer->getModule()->getOrganization()->getName(),",
             "selected_text": "getName",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
+            "shortcode": 83
         },
         {
             "severity": "info",
@@ -3977,8 +3660,7 @@
             "snippet": "                        'module' => $dependencyProviderTransfer->getModule()->getName(),",
             "selected_text": "getName",
             "error_level": 3,
-            "shortcode": 83,
-            "taint_trace": null
+            "shortcode": 83
         }
     ],
     "deprecation": [
@@ -3992,8 +3674,19 @@
             "snippet": "class AllBundleFinder implements AllBundleFinderInterface",
             "selected_text": "AllBundleFinder",
             "error_level": 2,
-            "shortcode": 152,
-            "taint_trace": null
+            "shortcode": 152
+        },
+        {
+            "severity": "info",
+            "line_from": 55,
+            "line_to": 55,
+            "type": "DeprecatedMethod",
+            "message": "The method Spryker\\Zed\\Development\\Business\\Dependency\\DependencyContainer\\DependencyContainer::makeOptionalIfSilex has been marked as deprecated",
+            "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyContainer/DependencyContainer.php",
+            "snippet": "        $isOptional = $this->makeOptionalIfSilex($moduleName, $isOptional);",
+            "selected_text": "makeOptionalIfSilex",
+            "error_level": 2,
+            "shortcode": 1
         },
         {
             "severity": "info",
@@ -4005,333 +3698,307 @@
             "snippet": "class DependencyViolationChecker implements DependencyViolationCheckerInterface",
             "selected_text": "DependencyViolationChecker",
             "error_level": 2,
-            "shortcode": 152,
-            "taint_trace": null
+            "shortcode": 152
         },
         {
             "severity": "info",
-            "line_from": 836,
-            "line_to": 836,
+            "line_from": 857,
+            "line_to": 857,
             "type": "DeprecatedClass",
             "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ModuleFinder\\ModuleFinderInterface is marked as deprecated",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php",
             "snippet": "     * @return \\Spryker\\Zed\\Development\\Business\\Module\\ModuleFinder\\ModuleFinderInterface",
             "selected_text": "\\Spryker\\Zed\\Development\\Business\\Module\\ModuleFinder\\ModuleFinderInterface",
             "error_level": 2,
-            "shortcode": 98,
-            "taint_trace": null
+            "shortcode": 98
         },
         {
             "severity": "info",
-            "line_from": 838,
-            "line_to": 838,
+            "line_from": 859,
+            "line_to": 859,
             "type": "DeprecatedClass",
             "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ModuleFinder\\ModuleFinderInterface is marked as deprecated",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php",
             "snippet": "    public function createModuleFinder(): ModuleFinderInterface",
             "selected_text": "ModuleFinderInterface",
             "error_level": 2,
-            "shortcode": 98,
-            "taint_trace": null
+            "shortcode": 98
         },
         {
             "severity": "info",
-            "line_from": 840,
-            "line_to": 840,
+            "line_from": 861,
+            "line_to": 861,
             "type": "DeprecatedClass",
             "message": "Spryker\\Zed\\Development\\Business\\Module\\ModuleFinder\\ModuleFinder is marked deprecated",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php",
             "snippet": "        return new ModuleFinder($this->getConfig(), $this->createModuleMatcher());",
             "selected_text": "new ModuleFinder($this->getConfig(), $this->createModuleMatcher())",
             "error_level": 2,
-            "shortcode": 98,
-            "taint_trace": null
+            "shortcode": 98
         },
         {
             "severity": "info",
-            "line_from": 840,
-            "line_to": 840,
+            "line_from": 861,
+            "line_to": 861,
             "type": "DeprecatedMethod",
             "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createModuleMatcher has been marked as deprecated",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php",
             "snippet": "        return new ModuleFinder($this->getConfig(), $this->createModuleMatcher());",
             "selected_text": "createModuleMatcher",
             "error_level": 2,
-            "shortcode": 1,
-            "taint_trace": null
+            "shortcode": 1
         },
         {
             "severity": "info",
-            "line_from": 846,
-            "line_to": 846,
+            "line_from": 867,
+            "line_to": 867,
             "type": "DeprecatedClass",
             "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface is marked as deprecated",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php",
             "snippet": "     * @return \\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface",
             "selected_text": "\\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface",
             "error_level": 2,
-            "shortcode": 98,
-            "taint_trace": null
+            "shortcode": 98
         },
         {
             "severity": "info",
-            "line_from": 848,
-            "line_to": 848,
+            "line_from": 869,
+            "line_to": 869,
             "type": "DeprecatedClass",
             "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface is marked as deprecated",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php",
             "snippet": "    public function createModuleMatcher(): ModuleMatcherInterface",
             "selected_text": "ModuleMatcherInterface",
             "error_level": 2,
-            "shortcode": 98,
-            "taint_trace": null
+            "shortcode": 98
         },
         {
             "severity": "info",
-            "line_from": 850,
-            "line_to": 850,
+            "line_from": 871,
+            "line_to": 871,
             "type": "DeprecatedClass",
             "message": "Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcher is marked deprecated",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php",
             "snippet": "        return new ModuleMatcher();",
             "selected_text": "new ModuleMatcher()",
             "error_level": 2,
-            "shortcode": 98,
-            "taint_trace": null
+            "shortcode": 98
         },
         {
             "severity": "info",
-            "line_from": 1287,
-            "line_to": 1287,
+            "line_from": 1308,
+            "line_to": 1308,
             "type": "DeprecatedClass",
             "message": "Class Spryker\\Zed\\Development\\Business\\DependencyTree\\ViolationChecker\\DependencyViolationCheckerInterface is marked as deprecated",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php",
             "snippet": "     * @return \\Spryker\\Zed\\Development\\Business\\DependencyTree\\ViolationChecker\\DependencyViolationCheckerInterface",
             "selected_text": "\\Spryker\\Zed\\Development\\Business\\DependencyTree\\ViolationChecker\\DependencyViolationCheckerInterface",
             "error_level": 2,
-            "shortcode": 98,
-            "taint_trace": null
+            "shortcode": 98
         },
         {
             "severity": "info",
-            "line_from": 1291,
-            "line_to": 1295,
+            "line_from": 1312,
+            "line_to": 1316,
             "type": "DeprecatedClass",
             "message": "Spryker\\Zed\\Development\\Business\\DependencyTree\\ViolationChecker\\DependencyViolationChecker is marked deprecated",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php",
             "snippet": "        return new DependencyViolationChecker(\n            $this->createDependencyTreeReader(),\n            $this->createViolationFinder(),\n            $this->createDependencyViolationFilter()\n        );",
             "selected_text": "new DependencyViolationChecker(\n            $this->createDependencyTreeReader(),\n            $this->createViolationFinder(),\n            $this->createDependencyViolationFilter()\n        )",
             "error_level": 2,
-            "shortcode": 98,
-            "taint_trace": null
+            "shortcode": 98
         },
         {
             "severity": "info",
-            "line_from": 1293,
-            "line_to": 1293,
+            "line_from": 1314,
+            "line_to": 1314,
             "type": "DeprecatedMethod",
             "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createViolationFinder has been marked as deprecated",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php",
             "snippet": "            $this->createViolationFinder(),",
             "selected_text": "createViolationFinder",
             "error_level": 2,
-            "shortcode": 1,
-            "taint_trace": null
+            "shortcode": 1
         },
         {
             "severity": "info",
-            "line_from": 1294,
-            "line_to": 1294,
+            "line_from": 1315,
+            "line_to": 1315,
             "type": "DeprecatedMethod",
             "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createDependencyViolationFilter has been marked as deprecated",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php",
             "snippet": "            $this->createDependencyViolationFilter()",
             "selected_text": "createDependencyViolationFilter",
             "error_level": 2,
-            "shortcode": 1,
-            "taint_trace": null
+            "shortcode": 1
         },
         {
             "severity": "info",
-            "line_from": 1307,
-            "line_to": 1307,
+            "line_from": 1328,
+            "line_to": 1328,
             "type": "DeprecatedMethod",
             "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createViolationFinderUseForeignConstants has been marked as deprecated",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php",
             "snippet": "            ->addViolationFinder($this->createViolationFinderUseForeignConstants())",
             "selected_text": "createViolationFinderUseForeignConstants",
             "error_level": 2,
-            "shortcode": 1,
-            "taint_trace": null
+            "shortcode": 1
         },
         {
             "severity": "info",
-            "line_from": 1308,
-            "line_to": 1308,
+            "line_from": 1329,
+            "line_to": 1329,
             "type": "DeprecatedMethod",
             "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createViolationFinderUseForeignException has been marked as deprecated",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php",
             "snippet": "            ->addViolationFinder($this->createViolationFinderUseForeignException())",
             "selected_text": "createViolationFinderUseForeignException",
             "error_level": 2,
-            "shortcode": 1,
-            "taint_trace": null
+            "shortcode": 1
         },
         {
             "severity": "info",
-            "line_from": 1309,
-            "line_to": 1309,
+            "line_from": 1330,
+            "line_to": 1330,
             "type": "DeprecatedMethod",
             "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createViolationFinderBundleUsesConnector has been marked as deprecated",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php",
             "snippet": "            ->addViolationFinder($this->createViolationFinderBundleUsesConnector());",
             "selected_text": "createViolationFinderBundleUsesConnector",
             "error_level": 2,
-            "shortcode": 1,
-            "taint_trace": null
+            "shortcode": 1
         },
         {
             "severity": "info",
-            "line_from": 1323,
-            "line_to": 1323,
+            "line_from": 1344,
+            "line_to": 1344,
             "type": "DeprecatedMethod",
             "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createDependencyTreeConstantsToForeignConstantsFilter has been marked as deprecated",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php",
             "snippet": "            ->addFilter($this->createDependencyTreeConstantsToForeignConstantsFilter())",
             "selected_text": "createDependencyTreeConstantsToForeignConstantsFilter",
             "error_level": 2,
-            "shortcode": 1,
-            "taint_trace": null
+            "shortcode": 1
         },
         {
             "severity": "info",
-            "line_from": 1376,
-            "line_to": 1376,
+            "line_from": 1397,
+            "line_to": 1397,
             "type": "DeprecatedClass",
             "message": "Spryker\\Zed\\Development\\Business\\DependencyTree\\ViolationFinder\\BundleUsesConnector is marked deprecated",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php",
             "snippet": "        return new BundleUsesConnector();",
             "selected_text": "new BundleUsesConnector()",
             "error_level": 2,
-            "shortcode": 98,
-            "taint_trace": null
+            "shortcode": 98
         },
         {
             "severity": "info",
-            "line_from": 1951,
-            "line_to": 1951,
+            "line_from": 1972,
+            "line_to": 1972,
             "type": "DeprecatedClass",
             "message": "Class Spryker\\Zed\\Development\\Business\\ArchitectureSniffer\\AllBundleFinderInterface is marked as deprecated",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php",
             "snippet": "     * @return \\Spryker\\Zed\\Development\\Business\\ArchitectureSniffer\\AllBundleFinderInterface",
             "selected_text": "\\Spryker\\Zed\\Development\\Business\\ArchitectureSniffer\\AllBundleFinderInterface",
             "error_level": 2,
-            "shortcode": 98,
-            "taint_trace": null
+            "shortcode": 98
         },
         {
             "severity": "info",
-            "line_from": 1955,
-            "line_to": 1960,
+            "line_from": 1976,
+            "line_to": 1981,
             "type": "DeprecatedClass",
             "message": "Spryker\\Zed\\Development\\Business\\ArchitectureSniffer\\AllBundleFinder is marked deprecated",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php",
             "snippet": "        return new AllBundleFinder(\n            $this->createFinder(),\n            $this->createCamelCaseToDashFilter(),\n            $this->getConfig()->getProjectNamespaces(),\n            $this->getConfig()->getCoreNamespaces()\n        );",
             "selected_text": "new AllBundleFinder(\n            $this->createFinder(),\n            $this->createCamelCaseToDashFilter(),\n            $this->getConfig()->getProjectNamespaces(),\n            $this->getConfig()->getCoreNamespaces()\n        )",
             "error_level": 2,
-            "shortcode": 98,
-            "taint_trace": null
+            "shortcode": 98
         },
         {
             "severity": "info",
-            "line_from": 1986,
-            "line_to": 1986,
+            "line_from": 2007,
+            "line_to": 2007,
             "type": "DeprecatedClass",
             "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ProjectModuleFinder\\ProjectModuleFinderInterface is marked as deprecated",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php",
             "snippet": "     * @return \\Spryker\\Zed\\Development\\Business\\Module\\ProjectModuleFinder\\ProjectModuleFinderInterface",
             "selected_text": "\\Spryker\\Zed\\Development\\Business\\Module\\ProjectModuleFinder\\ProjectModuleFinderInterface",
             "error_level": 2,
-            "shortcode": 98,
-            "taint_trace": null
+            "shortcode": 98
         },
         {
             "severity": "info",
-            "line_from": 1988,
-            "line_to": 1988,
+            "line_from": 2009,
+            "line_to": 2009,
             "type": "DeprecatedClass",
             "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ProjectModuleFinder\\ProjectModuleFinderInterface is marked as deprecated",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php",
             "snippet": "    public function createProjectModuleFinder(): ProjectModuleFinderInterface",
             "selected_text": "ProjectModuleFinderInterface",
             "error_level": 2,
-            "shortcode": 98,
-            "taint_trace": null
+            "shortcode": 98
         },
         {
             "severity": "info",
-            "line_from": 1990,
-            "line_to": 1990,
+            "line_from": 2011,
+            "line_to": 2011,
             "type": "DeprecatedClass",
             "message": "Spryker\\Zed\\Development\\Business\\Module\\ProjectModuleFinder\\ProjectModuleFinder is marked deprecated",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php",
             "snippet": "        return new ProjectModuleFinder($this->getConfig(), $this->createModuleMatcher());",
             "selected_text": "new ProjectModuleFinder($this->getConfig(), $this->createModuleMatcher())",
             "error_level": 2,
-            "shortcode": 98,
-            "taint_trace": null
+            "shortcode": 98
         },
         {
             "severity": "info",
-            "line_from": 1990,
-            "line_to": 1990,
+            "line_from": 2011,
+            "line_to": 2011,
             "type": "DeprecatedMethod",
             "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createModuleMatcher has been marked as deprecated",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php",
             "snippet": "        return new ProjectModuleFinder($this->getConfig(), $this->createModuleMatcher());",
             "selected_text": "createModuleMatcher",
             "error_level": 2,
-            "shortcode": 1,
-            "taint_trace": null
+            "shortcode": 1
         },
         {
             "severity": "info",
-            "line_from": 1996,
-            "line_to": 1996,
+            "line_from": 2017,
+            "line_to": 2017,
             "type": "DeprecatedClass",
             "message": "Class Spryker\\Zed\\Development\\Business\\Package\\PackageFinder\\PackageFinderInterface is marked as deprecated",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php",
             "snippet": "     * @return \\Spryker\\Zed\\Development\\Business\\Package\\PackageFinder\\PackageFinderInterface",
             "selected_text": "\\Spryker\\Zed\\Development\\Business\\Package\\PackageFinder\\PackageFinderInterface",
             "error_level": 2,
-            "shortcode": 98,
-            "taint_trace": null
+            "shortcode": 98
         },
         {
             "severity": "info",
-            "line_from": 1998,
-            "line_to": 1998,
+            "line_from": 2019,
+            "line_to": 2019,
             "type": "DeprecatedClass",
             "message": "Class Spryker\\Zed\\Development\\Business\\Package\\PackageFinder\\PackageFinderInterface is marked as deprecated",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php",
             "snippet": "    public function createPackageFinder(): PackageFinderInterface",
             "selected_text": "PackageFinderInterface",
             "error_level": 2,
-            "shortcode": 98,
-            "taint_trace": null
+            "shortcode": 98
         },
         {
             "severity": "info",
-            "line_from": 2000,
-            "line_to": 2000,
+            "line_from": 2021,
+            "line_to": 2021,
             "type": "DeprecatedClass",
             "message": "Spryker\\Zed\\Development\\Business\\Package\\PackageFinder\\PackageFinder is marked deprecated",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php",
             "snippet": "        return new PackageFinder($this->getConfig());",
             "selected_text": "new PackageFinder($this->getConfig())",
             "error_level": 2,
-            "shortcode": 98,
-            "taint_trace": null
+            "shortcode": 98
         },
         {
             "severity": "info",
@@ -4343,8 +4010,7 @@
             "snippet": "        return $this->getAllModules();",
             "selected_text": "getAllModules",
             "error_level": 2,
-            "shortcode": 1,
-            "taint_trace": null
+            "shortcode": 1
         },
         {
             "severity": "info",
@@ -4356,8 +4022,7 @@
             "snippet": "        return $this->getFactory()->createDependencyViolationChecker()->getDependencyViolations();",
             "selected_text": "createDependencyViolationChecker",
             "error_level": 2,
-            "shortcode": 1,
-            "taint_trace": null
+            "shortcode": 1
         },
         {
             "severity": "info",
@@ -4369,8 +4034,7 @@
             "snippet": "class ModuleFinder implements ModuleFinderInterface",
             "selected_text": "ModuleFinder",
             "error_level": 2,
-            "shortcode": 152,
-            "taint_trace": null
+            "shortcode": 152
         },
         {
             "severity": "info",
@@ -4382,8 +4046,7 @@
             "snippet": "     * @var \\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface",
             "selected_text": "\\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface",
             "error_level": 2,
-            "shortcode": 98,
-            "taint_trace": null
+            "shortcode": 98
         },
         {
             "severity": "info",
@@ -4395,8 +4058,7 @@
             "snippet": "     * @param \\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface $moduleMatcher",
             "selected_text": "\\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface",
             "error_level": 2,
-            "shortcode": 98,
-            "taint_trace": null
+            "shortcode": 98
         },
         {
             "severity": "info",
@@ -4408,8 +4070,7 @@
             "snippet": "class ModuleMatcher implements ModuleMatcherInterface",
             "selected_text": "ModuleMatcher",
             "error_level": 2,
-            "shortcode": 152,
-            "taint_trace": null
+            "shortcode": 152
         },
         {
             "severity": "info",
@@ -4421,8 +4082,7 @@
             "snippet": "class ProjectModuleFinder implements ProjectModuleFinderInterface",
             "selected_text": "ProjectModuleFinder",
             "error_level": 2,
-            "shortcode": 152,
-            "taint_trace": null
+            "shortcode": 152
         },
         {
             "severity": "info",
@@ -4434,8 +4094,7 @@
             "snippet": "     * @var \\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface",
             "selected_text": "\\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface",
             "error_level": 2,
-            "shortcode": 98,
-            "taint_trace": null
+            "shortcode": 98
         },
         {
             "severity": "info",
@@ -4447,8 +4106,7 @@
             "snippet": "     * @param \\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface $moduleMatcher",
             "selected_text": "\\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface",
             "error_level": 2,
-            "shortcode": 98,
-            "taint_trace": null
+            "shortcode": 98
         },
         {
             "severity": "info",
@@ -4460,8 +4118,7 @@
             "snippet": "class PackageFinder implements PackageFinderInterface",
             "selected_text": "PackageFinder",
             "error_level": 2,
-            "shortcode": 152,
-            "taint_trace": null
+            "shortcode": 152
         },
         {
             "severity": "info",
@@ -4473,8 +4130,7 @@
             "snippet": "            if (in_array($directoryInfo->getFilename(), $this->config->getInternalPackageDirectories())) {",
             "selected_text": "getInternalPackageDirectories",
             "error_level": 2,
-            "shortcode": 1,
-            "taint_trace": null
+            "shortcode": 1
         },
         {
             "severity": "info",
@@ -4486,8 +4142,7 @@
             "snippet": "                return $this->config->getPathToCore();",
             "selected_text": "getPathToCore",
             "error_level": 2,
-            "shortcode": 1,
-            "taint_trace": null
+            "shortcode": 1
         },
         {
             "severity": "info",
@@ -4499,8 +4154,7 @@
             "snippet": "        return $this->config->getPathToCore() . $bundle . DIRECTORY_SEPARATOR;",
             "selected_text": "getPathToCore",
             "error_level": 2,
-            "shortcode": 1,
-            "taint_trace": null
+            "shortcode": 1
         },
         {
             "severity": "info",
@@ -4512,8 +4166,7 @@
             "snippet": "        $this->getFacade()->createModule($module, $options);",
             "selected_text": "createModule",
             "error_level": 2,
-            "shortcode": 1,
-            "taint_trace": null
+            "shortcode": 1
         },
         {
             "severity": "info",
@@ -4525,8 +4178,7 @@
             "snippet": "            $this->getPathToCore() . '%1$s/src/Spryker/Zed/%1$s/Presentation/',",
             "selected_text": "getPathToCore",
             "error_level": 2,
-            "shortcode": 1,
-            "taint_trace": null
+            "shortcode": 1
         },
         {
             "severity": "info",
@@ -4538,8 +4190,7 @@
             "snippet": "            $this->getPathToCore() . '%1$s/src/Spryker/Yves/%1$s/Theme/',",
             "selected_text": "getPathToCore",
             "error_level": 2,
-            "shortcode": 1,
-            "taint_trace": null
+            "shortcode": 1
         },
         {
             "severity": "info",
@@ -4551,8 +4202,7 @@
             "snippet": "            $this->getPathToShop() . '%1$s/src/SprykerShop/Yves/%1$s/Theme/',",
             "selected_text": "getPathToShop",
             "error_level": 2,
-            "shortcode": 1,
-            "taint_trace": null
+            "shortcode": 1
         },
         {
             "severity": "info",
@@ -4564,8 +4214,7 @@
             "snippet": "        $path = $this->getConfig()->get(KernelConstants::SPRYKER_ROOT);",
             "selected_text": "KernelConstants::SPRYKER_ROOT",
             "error_level": 2,
-            "shortcode": 170,
-            "taint_trace": null
+            "shortcode": 170
         },
         {
             "severity": "info",
@@ -4577,8 +4226,7 @@
             "snippet": "            'Spryker' => $this->getPathToCore(),",
             "selected_text": "getPathToCore",
             "error_level": 2,
-            "shortcode": 1,
-            "taint_trace": null
+            "shortcode": 1
         },
         {
             "severity": "info",
@@ -4590,21 +4238,19 @@
             "snippet": "            'SprykerEco' => $this->getPathToEco(),",
             "selected_text": "getPathToEco",
             "error_level": 2,
-            "shortcode": 1,
-            "taint_trace": null
+            "shortcode": 1
         },
         {
             "severity": "info",
-            "line_from": 634,
-            "line_to": 634,
+            "line_from": 687,
+            "line_to": 687,
             "type": "DeprecatedConstant",
             "message": "Constant Spryker\\Shared\\Kernel\\KernelConstants::SPRYKER_ROOT is deprecated",
             "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/DevelopmentConfig.php",
             "snippet": "            $path = $this->getConfig()->get(KernelConstants::SPRYKER_ROOT);",
             "selected_text": "KernelConstants::SPRYKER_ROOT",
             "error_level": 2,
-            "shortcode": 170,
-            "taint_trace": null
+            "shortcode": 170
         }
     ]
-}
\ No newline at end of file
+}

From ab0f9b0586da39ae36bc04939e10989c64c0a688 Mon Sep 17 00:00:00 2001
From: mscherer 
Date: Tue, 27 Oct 2020 11:00:56 +0100
Subject: [PATCH 183/336] TE-7661 Upgrade to PHP 7.3+

---
 .travis.yml                                                   | 4 ++--
 composer.json                                                 | 2 +-
 .../Business/CodeBuilder/Module/Templates/.travis.yml.tpl     | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 184b3e68..dfc12b55 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,14 +1,14 @@
 language: php
 
 php:
-    - 7.2
+    - 7.3
     - 7.4
 
 matrix:
     fast_finish: true
 
     include:
-        -   php: 7.2
+        -   php: 7.3
             env: PREFER_LOWEST=1
 
 env:
diff --git a/composer.json b/composer.json
index 941e44e3..caaa42a3 100644
--- a/composer.json
+++ b/composer.json
@@ -5,7 +5,7 @@
   "license": "proprietary",
   "require": {
     "nette/di": "^2.4.7 || ^3.0",
-    "php": ">=7.2",
+    "php": ">=7.3",
     "phpmd/phpmd": "^2.0.0",
     "spryker/config": "^3.0.0",
     "spryker/graph": "^3.0.0",
diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.travis.yml.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.travis.yml.tpl
index b1e29ef8..b3bb9e70 100644
--- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.travis.yml.tpl
+++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.travis.yml.tpl
@@ -1,7 +1,7 @@
 language: php
 
 php:
-    - 7.2
+    - 7.3
     - 7.4
 
 cache:

From e88d25037d3b8c53c7674a67571653a10fc53fa9 Mon Sep 17 00:00:00 2001
From: mscherer 
Date: Tue, 27 Oct 2020 12:32:54 +0100
Subject: [PATCH 184/336] TE-7661 Upgrade to PHP 7.3+

---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index aac9f960..386982eb 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 # Development Module
 [![Build Status](https://travis-ci.org/spryker/development.svg)](https://travis-ci.org/spryker/development)
-[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.2-8892BF.svg)](https://php.net/)
+[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.3-8892BF.svg)](https://php.net/)
 
 Development is a tooling module for (local) development.
 

From 108406092a8660402d88e6da2639ae4577dbe47e Mon Sep 17 00:00:00 2001
From: AntonKhabiuk 
Date: Mon, 2 Nov 2020 15:28:57 +0200
Subject: [PATCH 185/336] TE-7664 Add spryker/laminas module and replace usage
 of spryker/zed with it.

---
 composer.json                                          |  4 ++--
 .../Business/ArchitectureSniffer/AllBundleFinder.php   |  6 +++---
 .../Business/ArchitectureSniffer/AllModuleFinder.php   |  6 +++---
 .../ArchitectureSniffer/ArchitectureSniffer.php        |  6 +++---
 .../Business/CodeBuilder/Bridge/BridgeBuilder.php      |  6 +++---
 .../Business/CodeBuilder/Module/ModuleBuilder.php      |  6 +++---
 .../Business/CodeStyleSniffer/CodeStyleSniffer.php     |  6 +++---
 .../Business/Composer/ComposerJsonUpdater.php          |  2 +-
 .../Business/Composer/Updater/AutoloadUpdater.php      |  4 ++--
 .../Business/Composer/Updater/DescriptionUpdater.php   |  6 +++---
 .../Composer/Updater/RequireExternalUpdater.php        |  4 ++--
 .../DependencyContainer/DependencyContainer.php        |  2 +-
 .../DependencyFinder/AbstractFileDependencyFinder.php  | 10 +++++-----
 .../DependencyFinder/BehaviorDependencyFinder.php      |  8 ++++----
 .../DependencyFinder/ExtensionDependencyFinder.php     |  2 +-
 .../DependencyFinder/ExternalDependencyFinder.php      |  2 +-
 .../Zed/Development/Business/Dependency/Manager.php    |  4 ++--
 .../Business/Dependency/ModuleDependencyParser.php     |  6 +++---
 .../DependencyTree/ComposerDependencyParser.php        |  6 +++---
 .../DependencyFinder/ExternalDependency.php            |  2 +-
 .../Business/DependencyTree/FileInfoExtractor.php      |  2 +-
 .../Finder/PathBuilder/AbstractPathBuilder.php         |  6 +++---
 .../Business/DevelopmentBusinessFactory.php            |  8 ++++----
 .../Business/Module/ModuleFinder/ModuleFinder.php      |  8 ++++----
 .../Business/Package/PackageFinder/PackageFinder.php   |  4 ++--
 .../Zed/Development/Business/PhpMd/PhpMdRunner.php     |  2 +-
 .../Zed/Development/Business/Phpstan/PhpstanRunner.php |  6 +++---
 .../Business/Propel/PropelAbstractClassValidator.php   |  4 ++--
 .../Console/CodeArchitectureSnifferConsole.php         |  8 ++++----
 .../Communication/Console/CodeStyleSnifferConsole.php  |  2 +-
 src/Spryker/Zed/Development/DevelopmentConfig.php      |  4 ++++
 31 files changed, 78 insertions(+), 74 deletions(-)

diff --git a/composer.json b/composer.json
index caaa42a3..a9a24565 100644
--- a/composer.json
+++ b/composer.json
@@ -10,10 +10,10 @@
     "spryker/config": "^3.0.0",
     "spryker/graph": "^3.0.0",
     "spryker/kernel": "^3.52.0",
+    "spryker/laminas": "^1.0.0",
     "spryker/module-finder": "^1.0.0",
     "spryker/symfony": "^3.0.0",
-    "spryker/twig": "^3.0.0",
-    "spryker/zend": "^2.0.0"
+    "spryker/twig": "^3.0.0"
   },
   "require-dev": {
     "spryker/code-sniffer": "*",
diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php
index 07540ee1..5f21b79f 100644
--- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php
+++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php
@@ -8,8 +8,8 @@
 namespace Spryker\Zed\Development\Business\ArchitectureSniffer;
 
 use InvalidArgumentException;
+use Laminas\Filter\FilterInterface;
 use Symfony\Component\Finder\Finder;
-use Zend\Filter\FilterInterface;
 
 /**
  * @deprecated Use {@link AllModuleFinder} instead.
@@ -22,7 +22,7 @@ class AllBundleFinder implements AllBundleFinderInterface
     protected $finder;
 
     /**
-     * @var \Zend\Filter\FilterInterface
+     * @var \Laminas\Filter\FilterInterface
      */
     protected $filter;
 
@@ -38,7 +38,7 @@ class AllBundleFinder implements AllBundleFinderInterface
 
     /**
      * @param \Symfony\Component\Finder\Finder $finder
-     * @param \Zend\Filter\FilterInterface $filter
+     * @param \Laminas\Filter\FilterInterface $filter
      * @param array $projectNamespaces
      * @param array $coreNamespaces
      */
diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php
index c4a8cbd0..85e6902c 100644
--- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php
+++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php
@@ -8,9 +8,9 @@
 namespace Spryker\Zed\Development\Business\ArchitectureSniffer;
 
 use InvalidArgumentException;
+use Laminas\Filter\FilterInterface;
 use Spryker\Zed\Development\DevelopmentConfig;
 use Symfony\Component\Finder\Finder;
-use Zend\Filter\FilterInterface;
 
 class AllModuleFinder implements AllModuleFinderInterface
 {
@@ -25,14 +25,14 @@ class AllModuleFinder implements AllModuleFinderInterface
     protected $developmentConfig;
 
     /**
-     * @var \Zend\Filter\FilterInterface
+     * @var \Laminas\Filter\FilterInterface
      */
     protected $filter;
 
     /**
      * @param \Symfony\Component\Finder\Finder $finder
      * @param \Spryker\Zed\Development\DevelopmentConfig $developmentConfig
-     * @param \Zend\Filter\FilterInterface $filter
+     * @param \Laminas\Filter\FilterInterface $filter
      */
     public function __construct(Finder $finder, DevelopmentConfig $developmentConfig, FilterInterface $filter)
     {
diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php
index e961fdcb..7ee0321a 100644
--- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php
+++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php
@@ -8,12 +8,12 @@
 namespace Spryker\Zed\Development\Business\ArchitectureSniffer;
 
 use Exception;
+use Laminas\Config\Reader\ReaderInterface;
 use PHPMD\RuleSetFactory;
 use PHPMD\TextUI\CommandLineOptions;
 use Spryker\Zed\Development\Business\SnifferConfiguration\Builder\SnifferConfigurationBuilderInterface;
 use Spryker\Zed\Development\DevelopmentConfig;
 use Symfony\Component\Process\Process;
-use Zend\Config\Reader\ReaderInterface;
 
 class ArchitectureSniffer implements ArchitectureSnifferInterface
 {
@@ -31,7 +31,7 @@ class ArchitectureSniffer implements ArchitectureSnifferInterface
     protected $command;
 
     /**
-     * @var \Zend\Config\Reader\ReaderInterface
+     * @var \Laminas\Config\Reader\ReaderInterface
      */
     protected $xmlReader;
 
@@ -41,7 +41,7 @@ class ArchitectureSniffer implements ArchitectureSnifferInterface
     protected $configurationBuilder;
 
     /**
-     * @param \Zend\Config\Reader\ReaderInterface $xmlReader
+     * @param \Laminas\Config\Reader\ReaderInterface $xmlReader
      * @param string $command
      * @param \Spryker\Zed\Development\Business\SnifferConfiguration\Builder\SnifferConfigurationBuilderInterface $configurationBuilder
      */
diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php b/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php
index e0be68d3..f95da885 100644
--- a/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php
+++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php
@@ -8,14 +8,14 @@
 namespace Spryker\Zed\Development\Business\CodeBuilder\Bridge;
 
 use Generated\Shared\Transfer\BridgeBuilderDataTransfer;
+use Laminas\Filter\FilterChain;
+use Laminas\Filter\Word\CamelCaseToDash;
+use Laminas\Filter\Word\UnderscoreToCamelCase;
 use ReflectionClass;
 use ReflectionMethod;
 use Spryker\Zed\Development\DevelopmentConfig;
 use Symfony\Component\Console\Exception\InvalidArgumentException;
 use Symfony\Component\Filesystem\Filesystem;
-use Zend\Filter\FilterChain;
-use Zend\Filter\Word\CamelCaseToDash;
-use Zend\Filter\Word\UnderscoreToCamelCase;
 
 class BridgeBuilder
 {
diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php
index 9cad16a0..dfc54483 100644
--- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php
+++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php
@@ -7,10 +7,10 @@
 
 namespace Spryker\Zed\Development\Business\CodeBuilder\Module;
 
+use Laminas\Filter\FilterChain;
+use Laminas\Filter\Word\CamelCaseToDash;
 use Spryker\Zed\Development\DevelopmentConfig;
 use Symfony\Component\Filesystem\Filesystem;
-use Zend\Filter\FilterChain;
-use Zend\Filter\Word\CamelCaseToDash;
 
 class ModuleBuilder
 {
@@ -80,7 +80,7 @@ public function build($module, array $options)
     }
 
     /**
-     * @return \Zend\Filter\FilterChain
+     * @return \Laminas\Filter\FilterChain
      */
     protected function getUnderscoreToCamelCaseFilter()
     {
diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php
index 18a22124..abddedfc 100644
--- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php
+++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php
@@ -7,15 +7,15 @@
 
 namespace Spryker\Zed\Development\Business\CodeStyleSniffer;
 
+use Laminas\Filter\FilterChain;
+use Laminas\Filter\StringToLower;
+use Laminas\Filter\Word\CamelCaseToDash;
 use RuntimeException;
 use Spryker\Zed\Development\Business\CodeStyleSniffer\Config\CodeStyleSnifferConfigurationInterface;
 use Spryker\Zed\Development\Business\CodeStyleSniffer\Config\CodeStyleSnifferConfigurationLoaderInterface;
 use Spryker\Zed\Development\Business\Exception\CodeStyleSniffer\PathDoesNotExistException;
 use Spryker\Zed\Development\DevelopmentConfig;
 use Symfony\Component\Process\Process;
-use Zend\Filter\FilterChain;
-use Zend\Filter\StringToLower;
-use Zend\Filter\Word\CamelCaseToDash;
 
 class CodeStyleSniffer
 {
diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php
index 6b86db6f..7f17cd16 100644
--- a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php
+++ b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php
@@ -7,11 +7,11 @@
 
 namespace Spryker\Zed\Development\Business\Composer;
 
+use Laminas\Filter\Word\CamelCaseToDash;
 use RuntimeException;
 use Spryker\Zed\Development\Business\Composer\Updater\UpdaterInterface;
 use Spryker\Zed\Development\Business\Exception\DependencyTree\InvalidComposerJsonException;
 use Symfony\Component\Finder\SplFileInfo;
-use Zend\Filter\Word\CamelCaseToDash;
 
 class ComposerJsonUpdater implements ComposerJsonUpdaterInterface
 {
diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php
index 5c833ea4..08770f38 100644
--- a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php
+++ b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php
@@ -7,10 +7,10 @@
 
 namespace Spryker\Zed\Development\Business\Composer\Updater;
 
+use Laminas\Filter\FilterChain;
+use Laminas\Filter\Word\DashToCamelCase;
 use Symfony\Component\Finder\Finder;
 use Symfony\Component\Finder\SplFileInfo;
-use Zend\Filter\FilterChain;
-use Zend\Filter\Word\DashToCamelCase;
 
 class AutoloadUpdater implements UpdaterInterface
 {
diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/DescriptionUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/DescriptionUpdater.php
index 9ba13b5b..2afa1fab 100644
--- a/src/Spryker/Zed/Development/Business/Composer/Updater/DescriptionUpdater.php
+++ b/src/Spryker/Zed/Development/Business/Composer/Updater/DescriptionUpdater.php
@@ -7,10 +7,10 @@
 
 namespace Spryker\Zed\Development\Business\Composer\Updater;
 
+use Laminas\Filter\FilterChain;
+use Laminas\Filter\Word\DashToCamelCase;
+use Laminas\Filter\Word\UnderscoreToCamelCase;
 use Symfony\Component\Finder\SplFileInfo;
-use Zend\Filter\FilterChain;
-use Zend\Filter\Word\DashToCamelCase;
-use Zend\Filter\Word\UnderscoreToCamelCase;
 
 class DescriptionUpdater implements UpdaterInterface
 {
diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php
index fb6f33d2..51e3203f 100644
--- a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php
+++ b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php
@@ -7,12 +7,12 @@
 
 namespace Spryker\Zed\Development\Business\Composer\Updater;
 
+use Laminas\Filter\Word\CamelCaseToDash;
+use Laminas\Filter\Word\DashToCamelCase;
 use Spryker\Shared\Config\Config;
 use Spryker\Shared\Development\DevelopmentConstants;
 use Spryker\Zed\Development\Business\DependencyTree\DependencyTree;
 use Symfony\Component\Finder\SplFileInfo;
-use Zend\Filter\Word\CamelCaseToDash;
-use Zend\Filter\Word\DashToCamelCase;
 
 class RequireExternalUpdater implements UpdaterInterface
 {
diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyContainer/DependencyContainer.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyContainer/DependencyContainer.php
index f177f10d..83c4c9d0 100644
--- a/src/Spryker/Zed/Development/Business/Dependency/DependencyContainer/DependencyContainer.php
+++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyContainer/DependencyContainer.php
@@ -12,7 +12,7 @@
 use Generated\Shared\Transfer\DependencyModuleTransfer;
 use Generated\Shared\Transfer\DependencyTransfer;
 use Generated\Shared\Transfer\ModuleTransfer;
-use Zend\Filter\Word\DashToCamelCase;
+use Laminas\Filter\Word\DashToCamelCase;
 
 class DependencyContainer implements DependencyContainerInterface
 {
diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/AbstractFileDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/AbstractFileDependencyFinder.php
index e94d7d4c..f01afc46 100644
--- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/AbstractFileDependencyFinder.php
+++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/AbstractFileDependencyFinder.php
@@ -7,14 +7,14 @@
 
 namespace Spryker\Zed\Development\Business\Dependency\DependencyFinder;
 
-use Zend\Filter\FilterChain;
-use Zend\Filter\StringToLower;
-use Zend\Filter\Word\CamelCaseToDash;
+use Laminas\Filter\FilterChain;
+use Laminas\Filter\StringToLower;
+use Laminas\Filter\Word\CamelCaseToDash;
 
 abstract class AbstractFileDependencyFinder implements DependencyFinderInterface
 {
     /**
-     * @var \Zend\Filter\FilterChain|null
+     * @var \Laminas\Filter\FilterChain|null
      */
     protected $filter;
 
@@ -63,7 +63,7 @@ protected function buildComposerName(string $organizationName, string $moduleNam
     }
 
     /**
-     * @return \Zend\Filter\FilterChain
+     * @return \Laminas\Filter\FilterChain
      */
     protected function getFilter(): FilterChain
     {
diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/BehaviorDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/BehaviorDependencyFinder.php
index 7c35e567..c2cd4aed 100644
--- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/BehaviorDependencyFinder.php
+++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/BehaviorDependencyFinder.php
@@ -7,18 +7,18 @@
 
 namespace Spryker\Zed\Development\Business\Dependency\DependencyFinder;
 
+use Laminas\Filter\FilterChain;
+use Laminas\Filter\Word\DashToCamelCase;
 use Spryker\Zed\Development\Business\Dependency\DependencyContainer\DependencyContainerInterface;
 use Spryker\Zed\Development\Business\Dependency\DependencyFinder\Context\DependencyFinderContextInterface;
 use Spryker\Zed\Development\Dependency\Facade\DevelopmentToModuleFinderFacadeInterface;
-use Zend\Filter\FilterChain;
-use Zend\Filter\Word\DashToCamelCase;
 
 class BehaviorDependencyFinder implements DependencyFinderInterface
 {
     public const TYPE_PERSISTENCE = 'persistence';
 
     /**
-     * @var \Zend\Filter\FilterChain|null
+     * @var \Laminas\Filter\FilterChain|null
      */
     protected $filter;
 
@@ -94,7 +94,7 @@ protected function getModuleNameFromMatch(array $match): string
     }
 
     /**
-     * @return \Zend\Filter\FilterChain
+     * @return \Laminas\Filter\FilterChain
      */
     protected function getFilter(): FilterChain
     {
diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php
index 935787b3..ec826554 100644
--- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php
+++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php
@@ -26,7 +26,7 @@ class ExtensionDependencyFinder extends AbstractFileDependencyFinder
     protected $moduleFinderFacade;
 
     /**
-     * @var \Zend\Filter\FilterChain|null
+     * @var \Laminas\Filter\FilterChain|null
      */
     protected $filter;
 
diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php
index 3105b35c..cb2fd2fc 100644
--- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php
+++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php
@@ -8,12 +8,12 @@
 namespace Spryker\Zed\Development\Business\Dependency\DependencyFinder;
 
 use Exception;
+use Laminas\Filter\Word\SeparatorToCamelCase;
 use Spryker\Zed\Development\Business\Dependency\ComposerParser\ExternalDependencyParserInterface;
 use Spryker\Zed\Development\Business\Dependency\DependencyContainer\DependencyContainerInterface;
 use Spryker\Zed\Development\Business\Dependency\DependencyFinder\Context\DependencyFinderContextInterface;
 use Spryker\Zed\Development\Business\Dependency\ModuleParser\UseStatementParserInterface;
 use Spryker\Zed\Development\DevelopmentConfig;
-use Zend\Filter\Word\SeparatorToCamelCase;
 
 class ExternalDependencyFinder extends AbstractFileDependencyFinder
 {
diff --git a/src/Spryker/Zed/Development/Business/Dependency/Manager.php b/src/Spryker/Zed/Development/Business/Dependency/Manager.php
index 78efe4dc..5cac8e36 100644
--- a/src/Spryker/Zed/Development/Business/Dependency/Manager.php
+++ b/src/Spryker/Zed/Development/Business/Dependency/Manager.php
@@ -12,11 +12,11 @@
 use Generated\Shared\Transfer\DependencyModuleViewTransfer;
 use Generated\Shared\Transfer\ModuleTransfer;
 use Generated\Shared\Transfer\OrganizationTransfer;
+use Laminas\Filter\FilterChain;
+use Laminas\Filter\Word\DashToCamelCase;
 use Spryker\Zed\Development\Business\Dependency\Mapper\DependencyModuleMapperInterface;
 use Spryker\Zed\Development\DevelopmentConfig;
 use Symfony\Component\Finder\Finder;
-use Zend\Filter\FilterChain;
-use Zend\Filter\Word\DashToCamelCase;
 
 class Manager implements ManagerInterface
 {
diff --git a/src/Spryker/Zed/Development/Business/Dependency/ModuleDependencyParser.php b/src/Spryker/Zed/Development/Business/Dependency/ModuleDependencyParser.php
index 9e515254..5c242700 100644
--- a/src/Spryker/Zed/Development/Business/Dependency/ModuleDependencyParser.php
+++ b/src/Spryker/Zed/Development/Business/Dependency/ModuleDependencyParser.php
@@ -9,13 +9,13 @@
 
 use Generated\Shared\Transfer\DependencyCollectionTransfer;
 use Generated\Shared\Transfer\ModuleTransfer;
+use Laminas\Filter\FilterChain;
+use Laminas\Filter\StringToLower;
+use Laminas\Filter\Word\CamelCaseToDash;
 use Spryker\Zed\Development\Business\Dependency\DependencyContainer\DependencyContainerInterface;
 use Spryker\Zed\Development\Business\Dependency\DependencyFinder\Context\DependencyFinderContext;
 use Spryker\Zed\Development\Business\Dependency\DependencyFinder\DependencyFinderInterface;
 use Spryker\Zed\Development\Business\Module\ModuleFileFinder\ModuleFileFinderInterface;
-use Zend\Filter\FilterChain;
-use Zend\Filter\StringToLower;
-use Zend\Filter\Word\CamelCaseToDash;
 
 class ModuleDependencyParser implements ModuleDependencyParserInterface
 {
diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php b/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php
index c4d433e5..dc306ab7 100644
--- a/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php
+++ b/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php
@@ -14,12 +14,12 @@
 use Generated\Shared\Transfer\DependencyModuleTransfer;
 use Generated\Shared\Transfer\DependencyTransfer;
 use Generated\Shared\Transfer\ModuleTransfer;
+use Laminas\Filter\FilterChain;
+use Laminas\Filter\Word\DashToCamelCase;
+use Laminas\Filter\Word\SeparatorToCamelCase;
 use Spryker\Zed\Development\Business\Composer\ComposerNameFinderInterface;
 use Spryker\Zed\Development\Business\Exception\DependencyTree\InvalidComposerJsonException;
 use Symfony\Component\Finder\SplFileInfo;
-use Zend\Filter\FilterChain;
-use Zend\Filter\Word\DashToCamelCase;
-use Zend\Filter\Word\SeparatorToCamelCase;
 
 class ComposerDependencyParser implements ComposerDependencyParserInterface
 {
diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php
index 76f05f49..c65ae7a0 100644
--- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php
+++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php
@@ -7,13 +7,13 @@
 
 namespace Spryker\Zed\Development\Business\DependencyTree\DependencyFinder;
 
+use Laminas\Filter\Word\SeparatorToCamelCase;
 use PHP_CodeSniffer\Config;
 use PHP_CodeSniffer\Files\File;
 use PHP_CodeSniffer\Ruleset;
 use PHP_CodeSniffer\Runner;
 use Spryker\Zed\Development\Business\DependencyTree\DependencyTree;
 use Symfony\Component\Finder\SplFileInfo;
-use Zend\Filter\Word\SeparatorToCamelCase;
 
 $manualAutoload = APPLICATION_VENDOR_DIR . '/squizlabs/php_codesniffer/autoload.php';
 if (!class_exists(Config::class) && file_exists($manualAutoload)) {
diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/FileInfoExtractor.php b/src/Spryker/Zed/Development/Business/DependencyTree/FileInfoExtractor.php
index 291e1df6..9b3e4767 100644
--- a/src/Spryker/Zed/Development/Business/DependencyTree/FileInfoExtractor.php
+++ b/src/Spryker/Zed/Development/Business/DependencyTree/FileInfoExtractor.php
@@ -8,8 +8,8 @@
 namespace Spryker\Zed\Development\Business\DependencyTree;
 
 use Exception;
+use Laminas\Filter\Word\CamelCaseToDash;
 use Symfony\Component\Finder\SplFileInfo;
-use Zend\Filter\Word\CamelCaseToDash;
 
 class FileInfoExtractor
 {
diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/AbstractPathBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/AbstractPathBuilder.php
index bd8821b8..de2acc4c 100644
--- a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/AbstractPathBuilder.php
+++ b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/AbstractPathBuilder.php
@@ -7,10 +7,10 @@
 
 namespace Spryker\Zed\Development\Business\DependencyTree\Finder\PathBuilder;
 
+use Laminas\Filter\FilterChain;
+use Laminas\Filter\StringToLower;
+use Laminas\Filter\Word\CamelCaseToDash;
 use Spryker\Zed\Development\DevelopmentConfig;
-use Zend\Filter\FilterChain;
-use Zend\Filter\StringToLower;
-use Zend\Filter\Word\CamelCaseToDash;
 
 class AbstractPathBuilder
 {
diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php
index 17d4df10..319af92a 100644
--- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php
+++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php
@@ -7,6 +7,8 @@
 
 namespace Spryker\Zed\Development\Business;
 
+use Laminas\Config\Reader\Xml;
+use Laminas\Filter\Word\CamelCaseToDash;
 use Nette\DI\Config\Loader;
 use Spryker\Zed\Development\Business\ArchitectureSniffer\AllBundleFinder;
 use Spryker\Zed\Development\Business\ArchitectureSniffer\AllModuleFinder;
@@ -200,8 +202,6 @@
 use Symfony\Component\Finder\Finder;
 use Symfony\Component\Finder\Finder as SymfonyFinder;
 use Symfony\Component\Yaml\Parser;
-use Zend\Config\Reader\Xml;
-use Zend\Filter\Word\CamelCaseToDash;
 
 /**
  * @method \Spryker\Zed\Development\DevelopmentConfig getConfig()
@@ -1959,7 +1959,7 @@ public function createArchitectureSniffer(): ArchitectureSnifferInterface
     }
 
     /**
-     * @return \Zend\Config\Reader\ReaderInterface
+     * @return \Laminas\Config\Reader\ReaderInterface
      */
     protected function createXmlReader()
     {
@@ -1994,7 +1994,7 @@ public function createAllModuleFinder(): AllModuleFinderInterface
     }
 
     /**
-     * @return \Zend\Filter\FilterInterface
+     * @return \Laminas\Filter\FilterInterface
      */
     protected function createCamelCaseToDashFilter()
     {
diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php b/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php
index 9263fdf1..ecc265f5 100644
--- a/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php
+++ b/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php
@@ -11,14 +11,14 @@
 use Generated\Shared\Transfer\ModuleFilterTransfer;
 use Generated\Shared\Transfer\ModuleTransfer;
 use Generated\Shared\Transfer\OrganizationTransfer;
+use Laminas\Filter\FilterChain;
+use Laminas\Filter\StringToLower;
+use Laminas\Filter\Word\CamelCaseToDash;
+use Laminas\Filter\Word\DashToCamelCase;
 use Spryker\Zed\Development\Business\Module\ModuleMatcher\ModuleMatcherInterface;
 use Spryker\Zed\Development\DevelopmentConfig;
 use Symfony\Component\Finder\Finder;
 use Symfony\Component\Finder\SplFileInfo;
-use Zend\Filter\FilterChain;
-use Zend\Filter\StringToLower;
-use Zend\Filter\Word\CamelCaseToDash;
-use Zend\Filter\Word\DashToCamelCase;
 
 /**
  * @deprecated Use `spryker/module-finder` instead.
diff --git a/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php b/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php
index 810a1ee0..25427a3c 100644
--- a/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php
+++ b/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php
@@ -8,11 +8,11 @@
 namespace Spryker\Zed\Development\Business\Package\PackageFinder;
 
 use Generated\Shared\Transfer\PackageTransfer;
+use Laminas\Filter\FilterChain;
+use Laminas\Filter\Word\DashToCamelCase;
 use Spryker\Zed\Development\DevelopmentConfig;
 use Symfony\Component\Finder\Finder;
 use Symfony\Component\Finder\SplFileInfo;
-use Zend\Filter\FilterChain;
-use Zend\Filter\Word\DashToCamelCase;
 
 /**
  * @deprecated Use `spryker/module-finder` instead.
diff --git a/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php b/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php
index 56d08578..7dae8952 100644
--- a/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php
+++ b/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php
@@ -8,9 +8,9 @@
 namespace Spryker\Zed\Development\Business\PhpMd;
 
 use ErrorException;
+use Laminas\Filter\Word\UnderscoreToCamelCase;
 use Spryker\Zed\Development\DevelopmentConfig;
 use Symfony\Component\Process\Process;
-use Zend\Filter\Word\UnderscoreToCamelCase;
 
 class PhpMdRunner
 {
diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php
index e1d8d125..e455be94 100644
--- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php
+++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php
@@ -7,6 +7,9 @@
 
 namespace Spryker\Zed\Development\Business\Phpstan;
 
+use Laminas\Filter\FilterChain;
+use Laminas\Filter\StringToLower;
+use Laminas\Filter\Word\CamelCaseToDash;
 use RuntimeException;
 use SplFileInfo;
 use Spryker\Zed\Development\Business\Phpstan\Config\PhpstanConfigFileFinderInterface;
@@ -20,9 +23,6 @@
 use Symfony\Component\Console\Output\OutputInterface;
 use Symfony\Component\Finder\Finder;
 use Symfony\Component\Process\Process;
-use Zend\Filter\FilterChain;
-use Zend\Filter\StringToLower;
-use Zend\Filter\Word\CamelCaseToDash;
 
 class PhpstanRunner implements PhpstanRunnerInterface
 {
diff --git a/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php b/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php
index e894325f..709dff51 100644
--- a/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php
+++ b/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php
@@ -8,12 +8,12 @@
 namespace Spryker\Zed\Development\Business\Propel;
 
 use Exception;
+use Laminas\Filter\FilterChain;
+use Laminas\Filter\Word\UnderscoreToCamelCase;
 use SimpleXMLElement;
 use Symfony\Component\Console\Output\OutputInterface;
 use Symfony\Component\Finder\Finder;
 use Symfony\Component\Finder\SplFileInfo;
-use Zend\Filter\FilterChain;
-use Zend\Filter\Word\UnderscoreToCamelCase;
 
 class PropelAbstractClassValidator implements PropelAbstractClassValidatorInterface
 {
diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php
index 120804be..cb9a57ac 100644
--- a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php
+++ b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php
@@ -10,15 +10,15 @@
 use Generated\Shared\Transfer\ModuleFilterTransfer;
 use Generated\Shared\Transfer\ModuleTransfer;
 use Generated\Shared\Transfer\OrganizationTransfer;
+use Laminas\Filter\FilterChain;
+use Laminas\Filter\StringToLower;
+use Laminas\Filter\Word\CamelCaseToDash;
+use Laminas\Filter\Word\UnderscoreToCamelCase;
 use Spryker\Zed\Kernel\Communication\Console\Console;
 use Symfony\Component\Console\Input\InputArgument;
 use Symfony\Component\Console\Input\InputInterface;
 use Symfony\Component\Console\Input\InputOption;
 use Symfony\Component\Console\Output\OutputInterface;
-use Zend\Filter\FilterChain;
-use Zend\Filter\StringToLower;
-use Zend\Filter\Word\CamelCaseToDash;
-use Zend\Filter\Word\UnderscoreToCamelCase;
 
 /**
  * @method \Spryker\Zed\Development\Business\DevelopmentFacadeInterface getFacade()
diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php
index 03f0de6b..77e627b7 100644
--- a/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php
+++ b/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php
@@ -7,12 +7,12 @@
 
 namespace Spryker\Zed\Development\Communication\Console;
 
+use Laminas\Filter\Word\UnderscoreToCamelCase;
 use Spryker\Zed\Kernel\Communication\Console\Console;
 use Symfony\Component\Console\Input\InputArgument;
 use Symfony\Component\Console\Input\InputInterface;
 use Symfony\Component\Console\Input\InputOption;
 use Symfony\Component\Console\Output\OutputInterface;
-use Zend\Filter\Word\UnderscoreToCamelCase;
 
 /**
  * @method \Spryker\Zed\Development\Business\DevelopmentFacadeInterface getFacade()
diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php
index b8bfc6a0..32933412 100644
--- a/src/Spryker/Zed/Development/DevelopmentConfig.php
+++ b/src/Spryker/Zed/Development/DevelopmentConfig.php
@@ -311,6 +311,7 @@ public function getExternalToInternalNamespaceMap()
             'GuzzleHttp\\' => 'spryker/guzzle',
             'JsonPath\\' => 'spryker/json-path',
             'JsonSchema\\' => 'spryker/json-schema',
+            'Laminas\\' => 'spryker/laminas',
             'League\\Csv\\' => 'spryker/csv',
             'Monolog\\' => 'spryker/monolog',
             'org\\bovigo\\vfs\\' => 'spryker/testify',
@@ -353,6 +354,9 @@ public function getExternalToInternalMap()
             'galbar/jsonpath' => 'spryker/json-path',
             'guzzlehttp/guzzle' => 'spryker/guzzle',
             'justinrainbow/json-schema' => 'spryker/json-schema',
+            'laminas/laminas-config' => 'spryker/laminas',
+            'laminas/laminas-filter' => 'spryker/laminas',
+            'laminas/laminas-servicemanager' => 'spryker/laminas',
             'league/csv' => 'spryker/csv',
             'league/oauth2-server' => 'spryker/oauth',
             'mandrill/mandrill' => 'spryker/mandrill',

From 27943f58230e8c75e2129011cbf4d2d70de167a7 Mon Sep 17 00:00:00 2001
From: mscherer 
Date: Tue, 3 Nov 2020 12:05:57 +0100
Subject: [PATCH 186/336] Fix up min constraint for PHP min.

---
 .../Development/Business/Composer/Updater/RequireUpdater.php    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php
index bd62b93a..0e5ea236 100644
--- a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php
+++ b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php
@@ -13,7 +13,7 @@ class RequireUpdater implements UpdaterInterface
 {
     public const KEY_REQUIRE = 'require';
     public const KEY_REQUIRE_PHP = 'php';
-    public const PHP_MINIMUM = '>=7.2';
+    public const PHP_MINIMUM = '>=7.3';
 
     /**
      * @param array $composerJson

From 385deff38ba22a08a5d745a8d68672641bb26a7e Mon Sep 17 00:00:00 2001
From: mscherer 
Date: Tue, 3 Nov 2020 21:16:41 +0100
Subject: [PATCH 187/336] Add tmp fix to avoid master fails.

---
 .../Zed/Development/Business/Composer/ComposerJsonUpdater.php | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php
index 7f17cd16..b77c9666 100644
--- a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php
+++ b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php
@@ -74,6 +74,10 @@ protected function updateComposerJsonFile(SplFileInfo $composerJsonFile, $dryRun
         $composerJson = $composerJsonFile->getContents();
         $composerJsonArray = json_decode($composerJson, true);
 
+        if (!empty($composerJsonArray['abandoned']) || $composerJsonArray['name'] === 'spryker/zend') {
+            return false;
+        }
+
         $this->assertCorrectName($composerJsonArray['name'], $composerJsonFile);
 
         $composerJsonArray = $this->updater->update($composerJsonArray, $composerJsonFile);

From 2992229655deb73ea7aa4efd707def60967d3e8a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ren=C3=A9=20Klatt?= 
Date: Fri, 30 Oct 2020 13:06:51 +0000
Subject: [PATCH 188/336] TE-7741 Removed wrong autload-dev entries, added
 missing entry and updated AutoloadUpdater.

---
 .../Composer/Updater/AutoloadUpdater.php      | 46 +++++--------------
 1 file changed, 12 insertions(+), 34 deletions(-)

diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php
index 08770f38..d26acc08 100644
--- a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php
+++ b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php
@@ -21,6 +21,7 @@ class AutoloadUpdater implements UpdaterInterface
     public const BASE_SRC_DIRECTORY = 'src';
     public const BASE_SUPPORT_DIRECTORY = '_support';
     public const BASE_HELPER_DIRECTORY = 'Helper';
+    public const BASE_STUB_DIRECTORY = 'Stub';
     protected const BASE_PAGE_OBJECT_DIRECTORY = 'PageObject';
     public const BASE_TESTER_DIRECTORY = 'Tester';
     public const BASE_FIXTURES_DIRECTORY = 'Fixtures';
@@ -74,16 +75,22 @@ class AutoloadUpdater implements UpdaterInterface
      */
     protected $autoloadPSR4Whitelist = [
         self::SPRYKER_NAMESPACE,
+        self::SPRYKER_TEST_NAMESPACE,
         self::SPRYKER_SHOP_NAMESPACE,
+        self::SPRYKER_SHOP_TEST_NAMESPACE,
         self::SPRYKER_ECO_NAMESPACE,
+        self::SPRYKER_ECO_TEST_NAMESPACE,
+        self::SPRYKER_SDK_NAMESPACE,
+        self::SPRYKER_SDK_TEST_NAMESPACE,
+        self::SPRYKER_MERCHANT_PORTAL_NAMESPACE,
+        self::SPRYKER_MERCHANT_PORTAL_SHOP_TEST_NAMESPACE,
         self::BASE_HELPER_DIRECTORY,
+        self::BASE_STUB_DIRECTORY,
         self::BASE_PAGE_OBJECT_DIRECTORY,
         self::BASE_TESTER_DIRECTORY,
         self::BASE_STEP_OVERRIDE_DIRECTORY,
         self::BASE_FIXTURES_DIRECTORY,
         self::BASE_FILTER_DIRECTORY,
-        self::SPRYKER_SDK_NAMESPACE,
-        self::SPRYKER_MERCHANT_PORTAL_NAMESPACE,
     ];
 
     /**
@@ -234,9 +241,7 @@ protected function getNonEmptyDirectoriesWithHelpers($directory)
      */
     protected function getLastPartOfPath($path)
     {
-        $pathArray = explode(DIRECTORY_SEPARATOR, rtrim($path, DIRECTORY_SEPARATOR));
-
-        return end($pathArray);
+        return basename($path);
     }
 
     /**
@@ -336,7 +341,7 @@ protected function buildTestDirectoryKeys()
      */
     protected function getPath(array $pathParts)
     {
-        return implode(DIRECTORY_SEPARATOR, $pathParts) . DIRECTORY_SEPARATOR;
+        return rtrim(implode(DIRECTORY_SEPARATOR, $pathParts), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
     }
 
     /**
@@ -401,7 +406,7 @@ protected function cleanupAutoload(array $composerJson, $modulePath)
             $composerJson,
             [
                 static::AUTOLOAD_KEY => [$this, 'removeInvalidAutoloadPaths'],
-                static::AUTOLOAD_DEV_KEY => [$this, 'removeInvalidAutoloadNamespaces'],
+                static::AUTOLOAD_DEV_KEY => [$this, 'removeInvalidAutoloadPaths'],
             ],
             $modulePath
         );
@@ -464,33 +469,6 @@ protected function removeInvalidAutoloadPaths(array $autoload, $modulePath)
         return $autoload;
     }
 
-    /**
-     * @param array $autoload
-     * @param string $modulePath
-     *
-     * @return array
-     */
-    protected function removeInvalidAutoloadNamespaces(array $autoload, $modulePath)
-    {
-        foreach ($autoload as $namespace => $relativeDirectory) {
-            if ($this->isReservedNamespace($relativeDirectory)) {
-                continue;
-            }
-
-            $pathParts = [
-                rtrim($modulePath, DIRECTORY_SEPARATOR),
-                static::BASE_TESTS_DIRECTORY,
-                rtrim($namespace, '\\'),
-            ];
-
-            if (!$this->pathExists($this->getPath($pathParts))) {
-                unset($autoload[$namespace]);
-            }
-        }
-
-        return $autoload;
-    }
-
     /**
      * @param array $composerJson
      *

From 4c29f4ac52dffe901300364eb1f71ebda2e5fe39 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ren=C3=A9=20Klatt?= 
Date: Mon, 2 Nov 2020 09:22:08 +0000
Subject: [PATCH 189/336] TE-7741 Moved Stub to different location.

---
 .../Composer/Updater/AutoloadUpdater.php      | 46 ++++++++++++++-----
 1 file changed, 34 insertions(+), 12 deletions(-)

diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php
index d26acc08..08770f38 100644
--- a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php
+++ b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php
@@ -21,7 +21,6 @@ class AutoloadUpdater implements UpdaterInterface
     public const BASE_SRC_DIRECTORY = 'src';
     public const BASE_SUPPORT_DIRECTORY = '_support';
     public const BASE_HELPER_DIRECTORY = 'Helper';
-    public const BASE_STUB_DIRECTORY = 'Stub';
     protected const BASE_PAGE_OBJECT_DIRECTORY = 'PageObject';
     public const BASE_TESTER_DIRECTORY = 'Tester';
     public const BASE_FIXTURES_DIRECTORY = 'Fixtures';
@@ -75,22 +74,16 @@ class AutoloadUpdater implements UpdaterInterface
      */
     protected $autoloadPSR4Whitelist = [
         self::SPRYKER_NAMESPACE,
-        self::SPRYKER_TEST_NAMESPACE,
         self::SPRYKER_SHOP_NAMESPACE,
-        self::SPRYKER_SHOP_TEST_NAMESPACE,
         self::SPRYKER_ECO_NAMESPACE,
-        self::SPRYKER_ECO_TEST_NAMESPACE,
-        self::SPRYKER_SDK_NAMESPACE,
-        self::SPRYKER_SDK_TEST_NAMESPACE,
-        self::SPRYKER_MERCHANT_PORTAL_NAMESPACE,
-        self::SPRYKER_MERCHANT_PORTAL_SHOP_TEST_NAMESPACE,
         self::BASE_HELPER_DIRECTORY,
-        self::BASE_STUB_DIRECTORY,
         self::BASE_PAGE_OBJECT_DIRECTORY,
         self::BASE_TESTER_DIRECTORY,
         self::BASE_STEP_OVERRIDE_DIRECTORY,
         self::BASE_FIXTURES_DIRECTORY,
         self::BASE_FILTER_DIRECTORY,
+        self::SPRYKER_SDK_NAMESPACE,
+        self::SPRYKER_MERCHANT_PORTAL_NAMESPACE,
     ];
 
     /**
@@ -241,7 +234,9 @@ protected function getNonEmptyDirectoriesWithHelpers($directory)
      */
     protected function getLastPartOfPath($path)
     {
-        return basename($path);
+        $pathArray = explode(DIRECTORY_SEPARATOR, rtrim($path, DIRECTORY_SEPARATOR));
+
+        return end($pathArray);
     }
 
     /**
@@ -341,7 +336,7 @@ protected function buildTestDirectoryKeys()
      */
     protected function getPath(array $pathParts)
     {
-        return rtrim(implode(DIRECTORY_SEPARATOR, $pathParts), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
+        return implode(DIRECTORY_SEPARATOR, $pathParts) . DIRECTORY_SEPARATOR;
     }
 
     /**
@@ -406,7 +401,7 @@ protected function cleanupAutoload(array $composerJson, $modulePath)
             $composerJson,
             [
                 static::AUTOLOAD_KEY => [$this, 'removeInvalidAutoloadPaths'],
-                static::AUTOLOAD_DEV_KEY => [$this, 'removeInvalidAutoloadPaths'],
+                static::AUTOLOAD_DEV_KEY => [$this, 'removeInvalidAutoloadNamespaces'],
             ],
             $modulePath
         );
@@ -469,6 +464,33 @@ protected function removeInvalidAutoloadPaths(array $autoload, $modulePath)
         return $autoload;
     }
 
+    /**
+     * @param array $autoload
+     * @param string $modulePath
+     *
+     * @return array
+     */
+    protected function removeInvalidAutoloadNamespaces(array $autoload, $modulePath)
+    {
+        foreach ($autoload as $namespace => $relativeDirectory) {
+            if ($this->isReservedNamespace($relativeDirectory)) {
+                continue;
+            }
+
+            $pathParts = [
+                rtrim($modulePath, DIRECTORY_SEPARATOR),
+                static::BASE_TESTS_DIRECTORY,
+                rtrim($namespace, '\\'),
+            ];
+
+            if (!$this->pathExists($this->getPath($pathParts))) {
+                unset($autoload[$namespace]);
+            }
+        }
+
+        return $autoload;
+    }
+
     /**
      * @param array $composerJson
      *

From 3919c73307c60a0b9d76f253429c7d0544af9b85 Mon Sep 17 00:00:00 2001
From: pivovarov 
Date: Fri, 6 Nov 2020 09:19:38 +0200
Subject: [PATCH 190/336] CC-11626 - fix snifer

---
 src/Spryker/Zed/Development/DevelopmentConfig.php | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php
index 32933412..94f29520 100644
--- a/src/Spryker/Zed/Development/DevelopmentConfig.php
+++ b/src/Spryker/Zed/Development/DevelopmentConfig.php
@@ -325,6 +325,7 @@ public function getExternalToInternalNamespaceMap()
             'Ramsey\\Uuid' => 'spryker/ramsey-uuid',
             'Silex\\' => 'spryker/silex',
             'Spryker\\DecimalObject\\' => 'spryker/decimal-object',
+            'Spryker\\ChecksumGenerator\\' => 'spryker/checksum-generator',
             'Symfony\\Bridge\\Twig\\' => 'spryker/symfony',
             'Symfony\\Bundle\\WebProfilerBundle\\' => 'spryker/symfony',
             'Symfony\\Component\\' => 'spryker/symfony',

From 4ef64b7bf7b4de131377ce84b2c8a6275716a5da Mon Sep 17 00:00:00 2001
From: mscherer 
Date: Fri, 6 Nov 2020 10:57:56 +0100
Subject: [PATCH 191/336] Remove tmp fix to avoid master fails.

---
 .../Zed/Development/Business/Composer/ComposerJsonUpdater.php   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php
index b77c9666..3c3b4e06 100644
--- a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php
+++ b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php
@@ -74,7 +74,7 @@ protected function updateComposerJsonFile(SplFileInfo $composerJsonFile, $dryRun
         $composerJson = $composerJsonFile->getContents();
         $composerJsonArray = json_decode($composerJson, true);
 
-        if (!empty($composerJsonArray['abandoned']) || $composerJsonArray['name'] === 'spryker/zend') {
+        if (!empty($composerJsonArray['abandoned'])) {
             return false;
         }
 

From df12f8fe740f37a999c714a1ad7e20f234136c1a Mon Sep 17 00:00:00 2001
From: mscherer 
Date: Fri, 20 Nov 2020 11:34:41 +0100
Subject: [PATCH 192/336] Sync meta files

---
 .gitattributes | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.gitattributes b/.gitattributes
index 03b625d7..2be6c6c9 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -2,6 +2,8 @@
 # Set the default behavior, in case people don't have core.autocrlf set.
 * text text=auto eol=lf
 
+*.php diff=php
+
 # Denote all files that are truly binary and should not be modified.
 *.png binary
 *.jpg binary

From defaa92fd3261640ceaaa0fea80921958b3c8c41 Mon Sep 17 00:00:00 2001
From: Pavel Asaulenko 
Date: Mon, 7 Dec 2020 14:42:50 +0200
Subject: [PATCH 193/336] TE-8146 Added xsd schema check to transfer validation

---
 .../Shared/Development/Transfer/development.transfer.xml  | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/src/Spryker/Shared/Development/Transfer/development.transfer.xml b/src/Spryker/Shared/Development/Transfer/development.transfer.xml
index 8cb81533..14c1c88b 100644
--- a/src/Spryker/Shared/Development/Transfer/development.transfer.xml
+++ b/src/Spryker/Shared/Development/Transfer/development.transfer.xml
@@ -1,9 +1,7 @@
 
-
+
 
     
         

From 94bc6117d1f4c854e9d5265540e0f3338219d3d1 Mon Sep 17 00:00:00 2001
From: mscherer 
Date: Mon, 7 Dec 2020 18:20:20 +0100
Subject: [PATCH 194/336] Code sniffer fix: Throw annotations.

---
 .../Development/_support/Helper/DependencyValidatorModule.php   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/SprykerTest/Zed/Development/_support/Helper/DependencyValidatorModule.php b/tests/SprykerTest/Zed/Development/_support/Helper/DependencyValidatorModule.php
index 49329e06..39aba370 100644
--- a/tests/SprykerTest/Zed/Development/_support/Helper/DependencyValidatorModule.php
+++ b/tests/SprykerTest/Zed/Development/_support/Helper/DependencyValidatorModule.php
@@ -44,7 +44,7 @@ public function getFacadeForDependencyTests(array $composerDependency): Developm
     /**
      * @param array $composerDependency
      *
-     * @return \Spryker\Zed\Development\Business\DevelopmentBusinessFactory|object
+     * @return \Spryker\Zed\Development\Business\DevelopmentBusinessFactory|\PHPUnit\Framework\MockObject\MockObject
      */
     protected function getDevelopmentFactory(array $composerDependency)
     {

From 4064deb8921452d84eee1dfdedf9ac5927422164 Mon Sep 17 00:00:00 2001
From: Pavel Asaulenko 
Date: Tue, 8 Dec 2020 17:36:20 +0200
Subject: [PATCH 195/336] TE-8146 CR edits: - added shimming for incorrectly
 spelled schema namespace - various style fixes

---
 .../Shared/Development/Transfer/development.transfer.xml  | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/Spryker/Shared/Development/Transfer/development.transfer.xml b/src/Spryker/Shared/Development/Transfer/development.transfer.xml
index 14c1c88b..8cb81533 100644
--- a/src/Spryker/Shared/Development/Transfer/development.transfer.xml
+++ b/src/Spryker/Shared/Development/Transfer/development.transfer.xml
@@ -1,7 +1,9 @@
 
-
+
 
     
         

From 1beffd5d2505e088901761f3afd3b0bf248daf4f Mon Sep 17 00:00:00 2001
From: Pavel Asaulenko 
Date: Tue, 8 Dec 2020 18:01:05 +0200
Subject: [PATCH 196/336] TE-8146 Replaced https with http in transfer XML
 files

---
 .../Shared/Development/Transfer/development.transfer.xml      | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/Spryker/Shared/Development/Transfer/development.transfer.xml b/src/Spryker/Shared/Development/Transfer/development.transfer.xml
index 8cb81533..5571c082 100644
--- a/src/Spryker/Shared/Development/Transfer/development.transfer.xml
+++ b/src/Spryker/Shared/Development/Transfer/development.transfer.xml
@@ -1,8 +1,8 @@
 
 
 
     

From c9b89ecff6759c287d7fb3d339e0987598af50a1 Mon Sep 17 00:00:00 2001
From: Andrey Maslov <37797323+andrew-maslov@users.noreply.github.com>
Date: Tue, 22 Dec 2020 22:04:50 +0200
Subject: [PATCH 197/336] TE-7414 Execute formatter on whole project (#7650)

* TE-7291: formatted files according to prettier config

* TE-7414: fixed code style according to formatter

* TE-7414: fixed formatting

* TE-7414: executed formatter

* TE-7414: Executed formatter for new files

* TE-7402 Execute format check in CI (#7746)

* TE-7402: added checks to travis

* TE-7414: test commit

* TE-7414: test commit

* TE-7414: updated prettierignor

* TE-7414: updated ignore files for travis

* TE-7402: added codelyzer package

* TE-7402: added additional modules

* TE-7402: updated travis config
---
 phpstan.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/phpstan.json b/phpstan.json
index cca5ff36..a2419a14 100644
--- a/phpstan.json
+++ b/phpstan.json
@@ -1,3 +1,3 @@
 {
     "defaultLevel": 6
-}
\ No newline at end of file
+}

From 686b2687d0a186c8be9a4d0b2009bc7c49c7379e Mon Sep 17 00:00:00 2001
From: Anton Sakharov 
Date: Wed, 20 Jan 2021 18:17:52 +0200
Subject: [PATCH 198/336] TE-8441: Fix missing specification cs issues

---
 .../Business/DevelopmentFacadeInterface.php   | 69 ++++++++++++++++++-
 1 file changed, 66 insertions(+), 3 deletions(-)

diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php
index 95f626bd..2864163a 100644
--- a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php
+++ b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php
@@ -78,6 +78,9 @@ public function runFixtures(?string $module, array $options = []): int;
     public function runPhpMd($module, array $options = []);
 
     /**
+     * Specification:
+     * - TODO: Add method specification.
+     *
      * @api
      *
      * @internal
@@ -91,6 +94,9 @@ public function runPhpMd($module, array $options = []);
     public function createBridge($module, $toModule, array $methods);
 
     /**
+     * Specification:
+     * - TODO: Add method specification.
+     *
      * @api
      *
      * @deprecated Use Spryk tool instead.
@@ -118,6 +124,9 @@ public function createModule($module, array $options);
     public function showOutgoingDependenciesForModule(ModuleTransfer $moduleTransfer, ?string $dependencyType = null): DependencyCollectionTransfer;
 
     /**
+     * Specification:
+     * - TODO: Add method specification.
+     *
      * @api
      *
      * @internal
@@ -129,6 +138,9 @@ public function showOutgoingDependenciesForModule(ModuleTransfer $moduleTransfer
     public function showIncomingDependenciesForModule($moduleName);
 
     /**
+     * Specification:
+     * - TODO: Add method specification.
+     *
      * @api
      *
      * @deprecated Use {@link getModules()} instead.
@@ -138,6 +150,9 @@ public function showIncomingDependenciesForModule($moduleName);
     public function getAllModules();
 
     /**
+     * Specification:
+     * - TODO: Add method specification.
+     *
      * @api
      *
      * @deprecated Use {@link getAllModules()} instead.
@@ -170,6 +185,9 @@ public function buildDependencyTree(string $module);
     public function calculateStability();
 
     /**
+     * Specification:
+     * - TODO: Add method specification.
+     *
      * @api
      *
      * @param string|bool $moduleToView
@@ -181,6 +199,9 @@ public function calculateStability();
     public function drawOutgoingDependencyTreeGraph($moduleToView, array $excludedModules = [], $showIncomingDependencies = false);
 
     /**
+     * Specification:
+     * - TODO: Add method specification.
+     *
      * @api
      *
      * @param string|bool $moduleToView
@@ -190,6 +211,9 @@ public function drawOutgoingDependencyTreeGraph($moduleToView, array $excludedMo
     public function drawDetailedDependencyTreeGraph($moduleToView);
 
     /**
+     * Specification:
+     * - TODO: Add method specification.
+     *
      * @api
      *
      * @param bool $showEngineModule
@@ -200,6 +224,9 @@ public function drawDetailedDependencyTreeGraph($moduleToView);
     public function drawSimpleDependencyTreeGraph($showEngineModule, $moduleToView);
 
     /**
+     * Specification:
+     * - TODO: Add method specification.
+     *
      * @api
      *
      * @param string $moduleToView
@@ -209,6 +236,9 @@ public function drawSimpleDependencyTreeGraph($showEngineModule, $moduleToView);
     public function drawExternalDependencyTreeGraph($moduleToView);
 
     /**
+     * Specification:
+     * - TODO: Add method specification.
+     *
      * @api
      *
      * @return array
@@ -216,6 +246,9 @@ public function drawExternalDependencyTreeGraph($moduleToView);
     public function getAdjacencyMatrixData();
 
     /**
+     * Specification:
+     * - TODO: Add method specification.
+     *
      * @api
      *
      * @return array
@@ -223,6 +256,9 @@ public function getAdjacencyMatrixData();
     public function getDependencyViolations();
 
     /**
+     * Specification:
+     * - TODO: Add method specification.
+     *
      * @api
      *
      * @return string[]
@@ -230,6 +266,9 @@ public function getDependencyViolations();
     public function getEngineModuleList();
 
     /**
+     * Specification:
+     * - TODO: Add method specification.
+     *
      * @api
      *
      * @internal
@@ -242,6 +281,9 @@ public function getEngineModuleList();
     public function updateComposerJsonInModules(array $modules, $dryRun = false): array;
 
     /**
+     * Specification:
+     * - TODO: Add method specification.
+     *
      * @api
      *
      * @return array
@@ -249,6 +291,9 @@ public function updateComposerJsonInModules(array $modules, $dryRun = false): ar
     public function getExternalDependencyTree();
 
     /**
+     * Specification:
+     * - TODO: Add method specification.
+     *
      * @api
      *
      * @param \Generated\Shared\Transfer\DependencyCollectionTransfer $dependencyCollectionTransfer
@@ -258,6 +303,9 @@ public function getExternalDependencyTree();
     public function getComposerDependencyComparison(DependencyCollectionTransfer $dependencyCollectionTransfer);
 
     /**
+     * Specification:
+     * - TODO: Add method specification.
+     *
      * @api
      *
      * @return void
@@ -275,6 +323,9 @@ public function generateYvesIdeAutoCompletion();
     public function removeYvesIdeAutoCompletion(): void;
 
     /**
+     * Specification:
+     * - TODO: Add method specification.
+     *
      * @api
      *
      * @return void
@@ -292,6 +343,9 @@ public function generateZedIdeAutoCompletion();
     public function removeZedIdeAutoCompletion(): void;
 
     /**
+     * Specification:
+     * - TODO: Add method specification.
+     *
      * @api
      *
      * @return void
@@ -309,6 +363,9 @@ public function generateClientIdeAutoCompletion();
     public function removeClientIdeAutoCompletion(): void;
 
     /**
+     * Specification:
+     * - TODO: Add method specification.
+     *
      * @api
      *
      * @return void
@@ -326,6 +383,9 @@ public function generateServiceIdeAutoCompletion();
     public function removeServiceIdeAutoCompletion(): void;
 
     /**
+     * Specification:
+     * - TODO: Add method specification.
+     *
      * @api
      *
      * @return void
@@ -343,7 +403,8 @@ public function generateGlueIdeAutoCompletion();
     public function removeGlueIdeAutoCompletion(): void;
 
     /**
-     * Run the architecture sniffer against the given module and returns the violations
+     * Specification:
+     * - Run the architecture sniffer against the given module and returns the violations
      *
      * @api
      *
@@ -355,7 +416,8 @@ public function removeGlueIdeAutoCompletion(): void;
     public function runArchitectureSniffer($directory, array $options = []);
 
     /**
-     * Returns a list of all modules in project and core namespaces
+     * Specification:
+     * - Returns a list of all modules in project and core namespaces.
      *
      * @api
      *
@@ -373,7 +435,8 @@ public function listAllModules();
     public function listAllBundles();
 
     /**
-     * Returns all architecture rules
+     * Specification:
+     * - Returns all architecture rules
      *
      * @api
      *

From 26e5cb0447069b247dfa843650df7f39bdd5e08e Mon Sep 17 00:00:00 2001
From: Anton Sakharov 
Date: Mon, 25 Jan 2021 13:27:58 +0200
Subject: [PATCH 199/336] TE-8441: Fix missing specification cs issues

---
 .../Zed/Development/Business/DevelopmentFacadeInterface.php    | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php
index 2864163a..761a4c4e 100644
--- a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php
+++ b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php
@@ -426,6 +426,9 @@ public function runArchitectureSniffer($directory, array $options = []);
     public function listAllModules();
 
     /**
+     * Specification:
+     * - TODO: Add method specification.
+     *
      * @api
      *
      * @deprecated Use {@link listAllModules()} instead.

From a200258ad201887a7919bb6ae674b48394f2e9f5 Mon Sep 17 00:00:00 2001
From: Dimitriy Kravchenko 
Date: Tue, 26 Jan 2021 17:23:21 +0200
Subject: [PATCH 200/336] TE-4011 / TE-8507 remove code that generate
 deprecated messages in tests

---
 .../Business/CodeBuilder/Module/Templates/codecept.yml.tpl       | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/codecept.yml.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/codecept.yml.tpl
index 57c16c21..8b0d7e28 100644
--- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/codecept.yml.tpl
+++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/codecept.yml.tpl
@@ -7,7 +7,6 @@ paths:
     support: tests/_support
     envs: tests/_envs
 settings:
-    bootstrap: _bootstrap.php
     suite_class: \PHPUnit\Framework\TestSuite
     colors: true
     memory_limit: 1024M

From c99ca40592a7ff40ecb67765d9bdb660e569b38d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ren=C3=A9=20Klatt?= 
Date: Fri, 5 Feb 2021 07:47:39 +0000
Subject: [PATCH 201/336] TE-4041 Fixed missing autoload for _support
 directories.

---
 .../Business/Composer/Updater/AutoloadUpdater.php           | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php
index 08770f38..c76c26a3 100644
--- a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php
+++ b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php
@@ -215,7 +215,11 @@ protected function updateAutoloadWithSupportTestClasses(array $composerJson, $mo
      */
     protected function getNonEmptyDirectoriesWithHelpers($directory)
     {
-        $files = (new Finder())->files()->in($directory)->name('/Helper.php$/');
+        $files = (new Finder())->files()->in($directory)
+            ->exclude('_generated')
+            ->name('*.php$')
+            ->notName('/Tester.php$/');
+
         $directories = [];
         foreach ($files as $file) {
             $directoryName = dirname(str_replace('//', '/', $file));

From 972f6e5f85b0fa50af363e7795d4318bfef2af05 Mon Sep 17 00:00:00 2001
From: Anton Sakharov 
Date: Tue, 9 Feb 2021 17:45:20 +0200
Subject: [PATCH 202/336] TE-1277: Development bundle to our standards

---
 .../Business/CodeBuilder/Module/ModuleBuilder.php          | 2 +-
 .../Business/Dependency/TwigFileFinder/TwigFileFinder.php  | 7 ++++++-
 .../Zed/Development/Business/DependencyTree/Finder.php     | 2 +-
 .../Business/DependencyTree/Finder/FileFinder.php          | 2 +-
 .../Business/Module/ModuleFileFinder/ModuleFileFinder.php  | 7 ++++++-
 5 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php
index dfc54483..f0ecb344 100644
--- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php
+++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php
@@ -100,7 +100,7 @@ protected function getModuleNames($namespace)
     {
         $moduleDirectory = $this->getDirectoryName($namespace);
 
-        $moduleDirectories = glob($moduleDirectory . '*');
+        $moduleDirectories = glob($moduleDirectory . '*', GLOB_NOSORT);
 
         $modules = [];
         foreach ($moduleDirectories as $moduleDirectory) {
diff --git a/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php b/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php
index 23617daf..ccba32a9 100644
--- a/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php
+++ b/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php
@@ -62,6 +62,11 @@ protected function buildTwigFilePaths(string $module): array
             $twigFilePaths[] = sprintf($pathPattern, $module);
         }
 
-        return array_filter($twigFilePaths, 'glob');
+        return array_filter(
+            $twigFilePaths,
+            function (string $twigFilePath) {
+                return glob($twigFilePath, GLOB_NOSORT);
+            }
+        );
     }
 }
diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/Finder.php b/src/Spryker/Zed/Development/Business/DependencyTree/Finder.php
index 1f7013b9..1f77e6fa 100644
--- a/src/Spryker/Zed/Development/Business/DependencyTree/Finder.php
+++ b/src/Spryker/Zed/Development/Business/DependencyTree/Finder.php
@@ -59,7 +59,7 @@ public function getFiles()
     {
         $directories = $this->getDirectories();
         foreach ($directories as $key => $directory) {
-            if (!glob($directory)) {
+            if (!glob($directory, GLOB_NOSORT)) {
                 unset($directories[$key]);
             }
         }
diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FileFinder.php b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FileFinder.php
index a2ce2585..c2cae46e 100644
--- a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FileFinder.php
+++ b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FileFinder.php
@@ -34,7 +34,7 @@ public function find(string $module): array
     {
         $directories = $this->pathBuilder->buildPaths($module);
         $directories = array_filter($directories, function (string $directory) {
-            return glob($directory);
+            return glob($directory, GLOB_NOSORT);
         });
 
         if (count($directories) === 0) {
diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinder.php b/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinder.php
index 556b688d..5bfe8bea 100644
--- a/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinder.php
+++ b/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinder.php
@@ -65,7 +65,12 @@ public function find(ModuleTransfer $moduleTransfer): Finder
     protected function getModuleDirectories(ModuleTransfer $moduleTransfer): array
     {
         $directories = $this->pathBuilder->buildPaths($moduleTransfer);
-        $directories = array_filter($directories, 'glob');
+        $directories = array_filter(
+            $directories,
+            function (string $directory) {
+                return glob($directory, GLOB_NOSORT);
+            }
+        );
 
         return $directories;
     }

From 544d501e8a07597b277df8530015a5ff1ddc87e2 Mon Sep 17 00:00:00 2001
From: Anton Sakharov 
Date: Fri, 19 Feb 2021 13:38:07 +0200
Subject: [PATCH 203/336] TE-1277: Add GLOB_ONLYDIR for path lookup functions.

---
 .../Business/Module/ModuleFileFinder/ModuleFileFinder.php       | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinder.php b/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinder.php
index 5bfe8bea..4ace8d2f 100644
--- a/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinder.php
+++ b/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinder.php
@@ -68,7 +68,7 @@ protected function getModuleDirectories(ModuleTransfer $moduleTransfer): array
         $directories = array_filter(
             $directories,
             function (string $directory) {
-                return glob($directory, GLOB_NOSORT);
+                return glob($directory, GLOB_NOSORT, GLOB_ONLYDIR);
             }
         );
 

From 98e9672eea0ee3bc0b243f47c7c991ddd42f23b2 Mon Sep 17 00:00:00 2001
From: Anton Sakharov 
Date: Fri, 19 Feb 2021 14:29:33 +0200
Subject: [PATCH 204/336] TE-1277: Add GLOB_ONLYDIR for path lookup functions.

---
 .../Business/Module/ModuleFileFinder/ModuleFileFinder.php       | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinder.php b/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinder.php
index 4ace8d2f..1c6ca9af 100644
--- a/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinder.php
+++ b/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinder.php
@@ -68,7 +68,7 @@ protected function getModuleDirectories(ModuleTransfer $moduleTransfer): array
         $directories = array_filter(
             $directories,
             function (string $directory) {
-                return glob($directory, GLOB_NOSORT, GLOB_ONLYDIR);
+                return glob($directory, GLOB_NOSORT | GLOB_ONLYDIR);
             }
         );
 

From d54209ab788e4d909d30563def3ac35e7436d22c Mon Sep 17 00:00:00 2001
From: Pavel Asaulenko 
Date: Tue, 2 Mar 2021 10:38:46 +0200
Subject: [PATCH 205/336] TE-8453 Added support for PHP 8

---
 phpstan.neon                                  |   3 +
 .../Business/Phpstan/PhpstanRunner.php        | 196 +++++++-----------
 2 files changed, 83 insertions(+), 116 deletions(-)

diff --git a/phpstan.neon b/phpstan.neon
index bf593415..365ba422 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -2,6 +2,9 @@ parameters:
     reportUnmatchedIgnoredErrors: false
     checkGenericClassInNonGenericObjectType: false
     checkMissingIterableValueType: false
+    excludePaths:
+            - %rootDir%/../../../vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php
+            - %rootDir%/../../../vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php
     ignoreErrors:
         - '#Constant T_SEMICOLON not found.#'
         - '#Constant T_OPEN_PARENTHESIS not found.#'
diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php
index e455be94..422bb7d3 100644
--- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php
+++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php
@@ -16,13 +16,9 @@
 use Spryker\Zed\Development\Business\Phpstan\Config\PhpstanConfigFileManagerInterface;
 use Spryker\Zed\Development\Business\Traits\PathTrait;
 use Spryker\Zed\Development\DevelopmentConfig;
-use Symfony\Component\Console\Helper\ProgressBar;
 use Symfony\Component\Console\Input\InputInterface;
-use Symfony\Component\Console\Output\ConsoleOutputInterface;
-use Symfony\Component\Console\Output\NullOutput;
 use Symfony\Component\Console\Output\OutputInterface;
 use Symfony\Component\Finder\Finder;
-use Symfony\Component\Process\Process;
 
 class PhpstanRunner implements PhpstanRunnerInterface
 {
@@ -42,6 +38,11 @@ class PhpstanRunner implements PhpstanRunnerInterface
     protected const PROGRESS_BAR_FREQUENCY = 50;
     protected const PROGRESS_BAR_SECONDS_FORCE_REDRAW = 5 * 60;
 
+    protected const SUCCESS_EXIT_CODE = 0;
+    protected const ERROR_EXIT_CODE = 1;
+
+    protected const PHPSTAN_MEMORY_LIMIT = '4000M';
+
     /**
      * @var \Spryker\Zed\Development\DevelopmentConfig
      */
@@ -81,8 +82,6 @@ public function __construct(
      * @param \Symfony\Component\Console\Input\InputInterface $input
      * @param \Symfony\Component\Console\Output\OutputInterface $output
      *
-     * @throws \RuntimeException
-     *
      * @return int Exit code
      */
     public function run(InputInterface $input, OutputInterface $output)
@@ -96,17 +95,7 @@ public function run(InputInterface $input, OutputInterface $output)
 
         $output->writeln($message);
 
-        if ($module) {
-            $paths = $this->getPaths($module);
-            if (empty($paths)) {
-                throw new RuntimeException('No path found for module ' . $module);
-            }
-        } else {
-            $paths = [
-                $this->config->getPathToRoot() => $this->config->getPathToRoot(),
-            ];
-        }
-
+        $paths = $this->getPathsToAnalyze($module);
         $resultCode = 0;
         $count = 0;
         $total = count($paths);
@@ -114,26 +103,15 @@ public function run(InputInterface $input, OutputInterface $output)
 
         asort($paths);
 
-        $progressBar = $this->getProgressBar($output, $total);
-        $progressBar->display();
-
         foreach ($paths as $path => $configFilePath) {
-            $progressBar->advance();
-
-            $resultCode |= $this->runCommand($path, $configFilePath, $input, $output, $progressBar);
+            $resultCode |= $this->runCommand($path, $configFilePath, $input, $output);
             $count++;
 
-            if ($output->isVerbose()) {
+            if ($input->getOption(static::OPTION_VERBOSE)) {
                 $output->writeln(sprintf('Finished %s/%s.', $count, $total));
             }
         }
 
-        $progressBar->finish();
-
-        if (!$output->isDecorated() && $output->getVerbosity() === OutputInterface::VERBOSITY_NORMAL) {
-            $output->writeln('');
-        }
-
         if ($this->getErrorCount()) {
             $output->writeln('Total errors found: ' . $this->errorCount . '');
         }
@@ -141,62 +119,22 @@ public function run(InputInterface $input, OutputInterface $output)
         return $resultCode;
     }
 
-    /**
-     * @param \Symfony\Component\Console\Output\OutputInterface $output
-     * @param int $stepsCount
-     *
-     * @return \Symfony\Component\Console\Helper\ProgressBar
-     */
-    protected function getProgressBar(OutputInterface $output, int $stepsCount): ProgressBar
-    {
-        $progressBarOutput = new NullOutput();
-
-        if ($output->getVerbosity() === OutputInterface::VERBOSITY_NORMAL && $stepsCount > 1) {
-            $progressBarOutput = $output instanceof ConsoleOutputInterface ? $output->section() : $output;
-        }
-
-        $progressBar = new ProgressBar($progressBarOutput, $stepsCount);
-        $progressBar->setRedrawFrequency(static::PROGRESS_BAR_FREQUENCY);
-        if (method_exists($progressBar, 'maxSecondsBetweenRedraws')) {
-            $progressBar->maxSecondsBetweenRedraws(static::PROGRESS_BAR_SECONDS_FORCE_REDRAW);
-        }
-
-        return $progressBar;
-    }
-
-    /**
-     * @return int
-     */
-    protected function getErrorCount(): int
-    {
-        return $this->errorCount;
-    }
-
     /**
      * @param string $path
      * @param string $configFilePath
      * @param \Symfony\Component\Console\Input\InputInterface $input
      * @param \Symfony\Component\Console\Output\OutputInterface $output
-     * @param \Symfony\Component\Console\Helper\ProgressBar $progressBar
      *
      * @return int Exit code
      */
     protected function runCommand(
-        $path,
-        $configFilePath,
+        string $path,
+        string $configFilePath,
         InputInterface $input,
-        OutputInterface $output,
-        ProgressBar $progressBar
-    ) {
-        $command = 'php -d memory_limit=%s vendor/bin/phpstan analyze --no-progress -c %s %s -l %s';
-
-        $defaultLevel = $this->getDefaultLevel($path, $configFilePath);
-        $level = $input->getOption('level');
-        if (preg_match('/^([+])(\d)$/', $level, $matches)) {
-            $level = $defaultLevel + (int)$matches[2];
-        } else {
-            $level = (int)$level ?: $defaultLevel;
-        }
+        OutputInterface $output
+    ): int {
+        $command = 'php -d memory_limit=%s vendor/bin/phpstan analyze --memory-limit=%s --no-progress -c %s %s -l %s';
+        $level = $this->getLevel($input, $path, $configFilePath);
 
         if (is_dir($path . 'src')) {
             $path .= 'src' . DIRECTORY_SEPARATOR;
@@ -204,7 +142,14 @@ protected function runCommand(
 
         $configFilePath .= $this->config->getPhpstanConfigFilename();
 
-        $command = sprintf($command, static::MEMORY_LIMIT, $configFilePath, $path, $level);
+        $command = sprintf(
+            $command,
+            static::MEMORY_LIMIT,
+            static::PHPSTAN_MEMORY_LIMIT,
+            $configFilePath,
+            $path,
+            $level
+        );
 
         if ($input->getOption(static::OPTION_DRY_RUN)) {
             $output->writeln($command);
@@ -216,82 +161,101 @@ protected function runCommand(
             $output->writeln(sprintf('Checking %s (level %s)', $path, $level));
         }
 
-        $process = $this->getProcess($command);
-        $process = $this->executeAndDispatchProcess($process, $output, $progressBar, $path);
+        $commandResult = $this->executeCommand($command, $output, $path);
 
         if ($this->phpstanConfigFileManager->isMergedConfigFile($configFilePath)) {
             $this->phpstanConfigFileManager->deleteConfigFile($configFilePath);
         }
 
-        return $process->getExitCode();
+        return $commandResult;
     }
 
     /**
-     * @param \Symfony\Component\Process\Process $process
+     * @param string $command
      * @param \Symfony\Component\Console\Output\OutputInterface $output
-     * @param \Symfony\Component\Console\Helper\ProgressBar $progressBar
      * @param string $path
      *
-     * @return \Symfony\Component\Process\Process
+     * @return int
      */
-    protected function executeAndDispatchProcess(
-        Process $process,
+    protected function executeCommand(
+        string $command,
         OutputInterface $output,
-        ProgressBar $progressBar,
         string $path
-    ): Process {
-        $outputBuffer = '';
-        $isAttemptSuccess = true;
-
-        $callback = function ($type, $buffer) use (&$outputBuffer, &$isAttemptSuccess) {
-            if ($type === Process::ERR) {
-                $isAttemptSuccess = false;
-            }
+    ): int {
+        gc_collect_cycles();
+        gc_mem_caches();
 
-            $outputBuffer .= $buffer;
-        };
+        $execResult = exec($command, $execOutput);
+        $outputBuffer = implode(PHP_EOL, $execOutput);
 
-        $process->run($callback);
-
-        if ($isAttemptSuccess) {
+        if ($execResult !== false) {
             $this->addErrors($outputBuffer);
             preg_match('#\[ERROR\] Found (\d+) error#i', $outputBuffer, $matches);
 
             if (!$matches) {
-                return $process;
+                return static::SUCCESS_EXIT_CODE;
             }
         }
 
-        $progressBar->clear();
-
-        if (!$output->isDecorated() && $output->getVerbosity() === OutputInterface::VERBOSITY_NORMAL) {
-            $output->writeln('');
-        }
-
         $output->write($outputBuffer);
 
         if ($output->getVerbosity() === OutputInterface::VERBOSITY_NORMAL) {
             $module = str_replace(getcwd() . DIRECTORY_SEPARATOR, '', $path);
             $output->writeln(sprintf('Errors in module %s', $module));
-
-            if ($output->isDecorated()) {
-                $output->writeln('');
-            }
         }
 
-        $progressBar->display();
+        return static::ERROR_EXIT_CODE;
+    }
+
+    /**
+     * @param \Symfony\Component\Console\Input\InputInterface $input
+     * @param string $path
+     * @param string $configFilePath
+     *
+     * @return int
+     */
+    protected function getLevel(InputInterface $input, string $path, string $configFilePath): int
+    {
+        $defaultLevel = $this->getDefaultLevel($path, $configFilePath);
+        $level = $input->getOption('level');
+
+        if (preg_match('/^([+])(\d)$/', $level, $matches)) {
+            return $defaultLevel + (int)$matches[2];
+        }
 
-        return $process;
+        return (int)$level ?: $defaultLevel;
     }
 
     /**
-     * @param string $command
+     * @param string|bool|null $module
+     *
+     * @throws \RuntimeException
      *
-     * @return \Symfony\Component\Process\Process
+     * @return array
      */
-    protected function getProcess($command)
+    protected function getPathsToAnalyze($module): array
     {
-        return new Process(explode(' ', $command), null, null, null, 0);
+        if ($module) {
+            $paths = $this->getPaths($module);
+
+            if (empty($paths)) {
+                throw new RuntimeException('No path found for module ' . $module);
+            }
+
+            return $paths;
+        }
+
+        return [
+            $this->config->getPathToRoot() => $this->config->getPathToRoot(),
+        ];
+    }
+
+    /**
+     * @return int
+     */
+    protected function getErrorCount(): int
+    {
+        return $this->errorCount;
     }
 
     /**

From 0cd4f493a63facfe86db7b4cdcc25b787a125db1 Mon Sep 17 00:00:00 2001
From: Pavel Asaulenko 
Date: Thu, 11 Mar 2021 23:49:37 +0200
Subject: [PATCH 206/336] TE-8748 Fixed wrong symfony/http-client version
 constraint

---
 src/Spryker/Zed/Development/DevelopmentConfig.php | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php
index 94f29520..a7256dfd 100644
--- a/src/Spryker/Zed/Development/DevelopmentConfig.php
+++ b/src/Spryker/Zed/Development/DevelopmentConfig.php
@@ -382,6 +382,7 @@ public function getExternalToInternalMap()
             'symfony/filesystem' => 'spryker/symfony',
             'symfony/finder' => 'spryker/symfony',
             'symfony/form' => 'spryker/symfony',
+            'symfony/http-client' => 'spryker/symfony',
             'symfony/http-foundation' => 'spryker/symfony',
             'symfony/http-kernel' => 'spryker/symfony',
             'symfony/intl' => 'spryker/symfony',

From 608e935a02632a5e650d8bd632d1a3cdd53c53d1 Mon Sep 17 00:00:00 2001
From: Olha Livitchuk 
Date: Mon, 29 Mar 2021 18:24:45 +0300
Subject: [PATCH 207/336] TE-4727 Fixed composer tpl && ModuleCreateConsole
 return value

---
 .../Business/CodeBuilder/Module/Templates/composer.json.tpl    | 3 ++-
 .../Development/Communication/Console/ModuleCreateConsole.php  | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/composer.json.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/composer.json.tpl
index 88131606..e2798925 100644
--- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/composer.json.tpl
+++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/composer.json.tpl
@@ -21,7 +21,8 @@
   },
   "minimum-stability": "dev",
   "prefer-stable": true,
-  "scripts: {},
+  "scripts": {
+  },
   "extra": {
     "branch-alias": {
       "dev-master": "1.0.x-dev"
diff --git a/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php b/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php
index 66904f8e..4c110f4d 100644
--- a/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php
+++ b/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php
@@ -25,6 +25,7 @@ class ModuleCreateConsole extends Console
     public const ARGUMENT_MODULE = 'module';
     public const ARGUMENT_FILE = 'file';
     public const OPTION_FORCE = 'force';
+    public const RESULT_SUCCESS = 1;
 
     /**
      * @return void
@@ -65,6 +66,6 @@ public function execute(InputInterface $input, OutputInterface $output)
 
         $this->getFacade()->createModule($module, $options);
 
-        return null;
+        return static::RESULT_SUCCESS;
     }
 }

From d21cd337ab264e080484a4a7f9beaaba59899092 Mon Sep 17 00:00:00 2001
From: Olha Livitchuk 
Date: Tue, 30 Mar 2021 12:29:20 +0300
Subject: [PATCH 208/336] TE-4727 Changed result value

---
 .../Development/Communication/Console/ModuleCreateConsole.php  | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php b/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php
index 4c110f4d..0aa494a5 100644
--- a/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php
+++ b/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php
@@ -25,7 +25,6 @@ class ModuleCreateConsole extends Console
     public const ARGUMENT_MODULE = 'module';
     public const ARGUMENT_FILE = 'file';
     public const OPTION_FORCE = 'force';
-    public const RESULT_SUCCESS = 1;
 
     /**
      * @return void
@@ -66,6 +65,6 @@ public function execute(InputInterface $input, OutputInterface $output)
 
         $this->getFacade()->createModule($module, $options);
 
-        return static::RESULT_SUCCESS;
+        return static::CODE_SUCCESS;
     }
 }

From 2a0023c0848d6c762e4765cdb92da7334ac8808d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ren=C3=A9=20Klatt?= 
Date: Fri, 9 Apr 2021 05:57:19 +0000
Subject: [PATCH 209/336] TE-8947 Fixed Dependency fix tool.

---
 .../Console/DependencyViolationFixConsole.php | 24 ++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php
index e7cecb62..d9f0d028 100644
--- a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php
+++ b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php
@@ -96,16 +96,16 @@ protected function fixModuleDependencies(ModuleTransfer $moduleTransfer): void
         $composerJsonArray = $this->getComposerJsonAsArray($moduleTransfer);
 
         foreach ($this->getModuleDependencies($moduleTransfer) as $moduleDependencyTransfer) {
-            $composerNameToFix = $this->getFacade()->findComposerNameByModuleName($moduleDependencyTransfer->getModuleName());
+            $missingComposerName = $this->getMissingComposerName($moduleDependencyTransfer);
 
-            if ($composerNameToFix === null) {
+            if ($missingComposerName === null) {
                 $this->output->writeln(sprintf('Could not get a composer name for "%s"', $moduleDependencyTransfer->getModuleName()));
                 $this->output->writeln(sprintf('Please check the module %s.%s manually.', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName()));
 
                 continue;
             }
 
-            $composerJsonArray = $this->fixDependencyViolations($moduleDependencyTransfer, $composerJsonArray, $composerNameToFix);
+            $composerJsonArray = $this->fixDependencyViolations($moduleDependencyTransfer, $composerJsonArray, $missingComposerName);
         }
 
         $this->output->writeln(sprintf('Fixed dependencies in %s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName()));
@@ -113,6 +113,24 @@ protected function fixModuleDependencies(ModuleTransfer $moduleTransfer): void
         $this->saveComposerJsonArray($moduleTransfer, $composerJsonArray);
     }
 
+    /**
+     * @param \Generated\Shared\Transfer\ModuleDependencyTransfer $moduleDependencyTransfer
+     *
+     * @return string|null
+     */
+    protected function getMissingComposerName(ModuleDependencyTransfer $moduleDependencyTransfer): ?string
+    {
+        if ($moduleDependencyTransfer->getComposerName() !== null) {
+            return $moduleDependencyTransfer->getComposerName();
+        }
+
+        if ($moduleDependencyTransfer->getModuleName() !== null) {
+            return $this->getFacade()->findComposerNameByModuleName($moduleDependencyTransfer->getModuleName());
+        }
+
+        return null;
+    }
+
     /**
      * @param \Generated\Shared\Transfer\ModuleTransfer $moduleTransfer
      *

From fbfb8c8a4a8acf866832230f7531a6a44afb0d3c Mon Sep 17 00:00:00 2001
From: mscherer 
Date: Mon, 3 May 2021 16:18:58 +0200
Subject: [PATCH 210/336] TE-9106 Fix composer.json indentation

---
 .editorconfig |  2 --
 composer.json | 94 +++++++++++++++++++++++++--------------------------
 2 files changed, 47 insertions(+), 49 deletions(-)

diff --git a/.editorconfig b/.editorconfig
index 43fecdb3..3191e885 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -12,5 +12,3 @@ trim_trailing_whitespace = true
 [*.bat]
 end_of_line = crlf
 
-[composer.json]
-indent_size = 2
diff --git a/composer.json b/composer.json
index a9a24565..f02cd2a3 100644
--- a/composer.json
+++ b/composer.json
@@ -1,51 +1,51 @@
 {
-  "name": "spryker/development",
-  "type": "library",
-  "description": "Development module",
-  "license": "proprietary",
-  "require": {
-    "nette/di": "^2.4.7 || ^3.0",
-    "php": ">=7.3",
-    "phpmd/phpmd": "^2.0.0",
-    "spryker/config": "^3.0.0",
-    "spryker/graph": "^3.0.0",
-    "spryker/kernel": "^3.52.0",
-    "spryker/laminas": "^1.0.0",
-    "spryker/module-finder": "^1.0.0",
-    "spryker/symfony": "^3.0.0",
-    "spryker/twig": "^3.0.0"
-  },
-  "require-dev": {
-    "spryker/code-sniffer": "*",
-    "spryker/propel": "*",
-    "spryker/testify": "*"
-  },
-  "autoload": {
-    "psr-4": {
-      "Spryker\\": "src/Spryker/",
-      "SprykerTest\\Zed\\Development\\Helper\\": "tests/SprykerTest/Zed/Development/_support/Helper/"
+    "name": "spryker/development",
+    "type": "library",
+    "description": "Development module",
+    "license": "proprietary",
+    "require": {
+        "nette/di": "^2.4.7 || ^3.0",
+        "php": ">=7.3",
+        "phpmd/phpmd": "^2.0.0",
+        "spryker/config": "^3.0.0",
+        "spryker/graph": "^3.0.0",
+        "spryker/kernel": "^3.52.0",
+        "spryker/laminas": "^1.0.0",
+        "spryker/module-finder": "^1.0.0",
+        "spryker/symfony": "^3.0.0",
+        "spryker/twig": "^3.0.0"
     },
-    "files": [
-      "tests/dd.php"
-    ]
-  },
-  "autoload-dev": {
-    "psr-4": {
-      "SprykerTest\\": "tests/SprykerTest/"
-    }
-  },
-  "minimum-stability": "dev",
-  "prefer-stable": true,
-  "scripts": {
-    "cs-check": "phpcs -p -s --standard=vendor/spryker/code-sniffer/Spryker/ruleset.xml src/ tests/",
-    "cs-fix": "phpcbf -p --standard=vendor/spryker/code-sniffer/Spryker/ruleset.xml src/ tests/"
-  },
-  "extra": {
-    "branch-alias": {
-      "dev-master": "3.0.x-dev"
+    "require-dev": {
+        "spryker/code-sniffer": "*",
+        "spryker/propel": "*",
+        "spryker/testify": "*"
+    },
+    "autoload": {
+        "psr-4": {
+            "Spryker\\": "src/Spryker/",
+            "SprykerTest\\Zed\\Development\\Helper\\": "tests/SprykerTest/Zed/Development/_support/Helper/"
+        },
+        "files": [
+            "tests/dd.php"
+        ]
+    },
+    "autoload-dev": {
+        "psr-4": {
+            "SprykerTest\\": "tests/SprykerTest/"
+        }
+    },
+    "minimum-stability": "dev",
+    "prefer-stable": true,
+    "scripts": {
+        "cs-check": "phpcs -p -s --standard=vendor/spryker/code-sniffer/Spryker/ruleset.xml src/ tests/",
+        "cs-fix": "phpcbf -p --standard=vendor/spryker/code-sniffer/Spryker/ruleset.xml src/ tests/"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "3.0.x-dev"
+        }
+    },
+    "config": {
+        "sort-packages": true
     }
-  },
-  "config": {
-    "sort-packages": true
-  }
 }

From 73c70da910579172e75708088976d3aa8575c39a Mon Sep 17 00:00:00 2001
From: Alex Malkevich 
Date: Tue, 4 May 2021 15:30:22 +0200
Subject: [PATCH 211/336] format: apply to yaml and xml files

---
 .travis.yml                                   |  4 +-
 .../Transfer/development.transfer.xml         |  6 +-
 .../Development/Business/PhpMd/ruleset.xml    | 94 ++++++++++---------
 .../Propel/Schema/qux_quux.schema.xml         |  8 +-
 .../Propel/Schema/zip_zap.schema.xml          |  7 +-
 .../SchemaWithBadDependencies/test.schema.xml |  8 +-
 .../SchemaWithDependencies/test.schema.xml    |  8 +-
 .../test.schema.xml                           |  7 +-
 tooling.yml                                   |  2 +-
 9 files changed, 61 insertions(+), 83 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index dfc12b55..6c176e1f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -8,8 +8,8 @@ matrix:
     fast_finish: true
 
     include:
-        -   php: 7.3
-            env: PREFER_LOWEST=1
+        - php: 7.3
+          env: PREFER_LOWEST=1
 
 env:
     global:
diff --git a/src/Spryker/Shared/Development/Transfer/development.transfer.xml b/src/Spryker/Shared/Development/Transfer/development.transfer.xml
index 5571c082..d8f23514 100644
--- a/src/Spryker/Shared/Development/Transfer/development.transfer.xml
+++ b/src/Spryker/Shared/Development/Transfer/development.transfer.xml
@@ -1,9 +1,5 @@
 
-
+
 
     
         
diff --git a/src/Spryker/Zed/Development/Business/PhpMd/ruleset.xml b/src/Spryker/Zed/Development/Business/PhpMd/ruleset.xml
index 4020d7e6..2ef2cf1d 100644
--- a/src/Spryker/Zed/Development/Business/PhpMd/ruleset.xml
+++ b/src/Spryker/Zed/Development/Business/PhpMd/ruleset.xml
@@ -1,11 +1,13 @@
 
-
+    xsi:noNamespaceSchemaLocation="
+                     http://pmd.sf.net/ruleset_xml_schema.xsd"
+>
     
         Spryker Php Mess Detector rule set
     
@@ -28,11 +30,13 @@
         
     
 
-    
+    
         
             
     
 
-    
+    
         
             
     
 
-    
+    
         
             
     
 
-    
+    
         
             
     
 
-    
+    
         
             Detects when a field, local, or parameter has a very short name.
         
@@ -152,11 +164,13 @@ class Something {
         
     
 
-    
+    
         
             
         1
         
-            
-            
+            
+            
         
         
             
-
-
+
 
     
diff --git a/tests/_data/SchemaFiles/ZipZap/src/Spryker/Zed/ZipZap/Persistence/Propel/Schema/zip_zap.schema.xml b/tests/_data/SchemaFiles/ZipZap/src/Spryker/Zed/ZipZap/Persistence/Propel/Schema/zip_zap.schema.xml
index 8dbe00f8..3be7f7f4 100644
--- a/tests/_data/SchemaFiles/ZipZap/src/Spryker/Zed/ZipZap/Persistence/Propel/Schema/zip_zap.schema.xml
+++ b/tests/_data/SchemaFiles/ZipZap/src/Spryker/Zed/ZipZap/Persistence/Propel/Schema/zip_zap.schema.xml
@@ -1,10 +1,5 @@
 
-
-
+
 
     
diff --git a/tests/_data/SchemaWithBadDependencies/test.schema.xml b/tests/_data/SchemaWithBadDependencies/test.schema.xml index dc70999c..fc13462e 100644 --- a/tests/_data/SchemaWithBadDependencies/test.schema.xml +++ b/tests/_data/SchemaWithBadDependencies/test.schema.xml @@ -1,11 +1,5 @@ - - +
diff --git a/tests/_data/SchemaWithDependencies/test.schema.xml b/tests/_data/SchemaWithDependencies/test.schema.xml index dc70999c..fc13462e 100644 --- a/tests/_data/SchemaWithDependencies/test.schema.xml +++ b/tests/_data/SchemaWithDependencies/test.schema.xml @@ -1,11 +1,5 @@ - - +
diff --git a/tests/_data/StaleSchemaWithDependencies/test.schema.xml b/tests/_data/StaleSchemaWithDependencies/test.schema.xml index 1ea458aa..1d805619 100644 --- a/tests/_data/StaleSchemaWithDependencies/test.schema.xml +++ b/tests/_data/StaleSchemaWithDependencies/test.schema.xml @@ -1,10 +1,5 @@ - - +
diff --git a/tooling.yml b/tooling.yml index 00d1fcde..97b4ad9a 100644 --- a/tooling.yml +++ b/tooling.yml @@ -1,2 +1,2 @@ architecture-sniffer: - priority: 2 + priority: 2 From 65d124da5a8f59f56528505b316a8300b8009a5e Mon Sep 17 00:00:00 2001 From: mscherer Date: Tue, 4 May 2021 16:11:45 +0200 Subject: [PATCH 212/336] TE-9106 Fix composer.json indentation --- .../Development/Business/Composer/ComposerJsonUpdater.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php index 3c3b4e06..c6cb7e79 100644 --- a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php @@ -67,6 +67,8 @@ public function update(array $moduleTransferCollection, $dryRun = false) * @param \Symfony\Component\Finder\SplFileInfo $composerJsonFile * @param bool $dryRun * + * @throws \RuntimeException + * * @return bool */ protected function updateComposerJsonFile(SplFileInfo $composerJsonFile, $dryRun = false) @@ -85,7 +87,10 @@ protected function updateComposerJsonFile(SplFileInfo $composerJsonFile, $dryRun $composerJsonArray = $this->order($composerJsonArray); $modifiedComposerJson = json_encode($composerJsonArray, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT); - $modifiedComposerJson = preg_replace(static::REPLACE_4_WITH_2_SPACES, '$1', $modifiedComposerJson) . PHP_EOL; + if ($modifiedComposerJson === false) { + throw new RuntimeException('Cannot create composer.json file for ' . $composerJsonArray['name']); + } + $modifiedComposerJson .= PHP_EOL; if ($modifiedComposerJson === $composerJson) { return false; From b1d06354eb7e622c3a8255c1c1227fb7be8879ac Mon Sep 17 00:00:00 2001 From: mscherer Date: Tue, 4 May 2021 16:29:31 +0200 Subject: [PATCH 213/336] TE-9106 Fix composer.json indentation --- .../Zed/Development/Business/Composer/ComposerJsonUpdater.php | 1 - .../Communication/Console/DependencyViolationFixConsole.php | 4 +--- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php index c6cb7e79..ed6d1927 100644 --- a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php @@ -15,7 +15,6 @@ class ComposerJsonUpdater implements ComposerJsonUpdaterInterface { - public const REPLACE_4_WITH_2_SPACES = '/^( +?)\\1(?=[^ ])/m'; public const KEY_REQUIRE = 'require'; public const KEY_REQUIRE_DEV = 'require-dev'; diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php index d9f0d028..2c906e20 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php @@ -28,8 +28,6 @@ class DependencyViolationFixConsole extends AbstractCoreModuleAwareConsole protected const OPTION_DRY_RUN = 'dry-run'; protected const OPTION_DRY_RUN_SHORT = 'd'; - protected const REPLACE_4_WITH_2_SPACES = '/^( +?)\\1(?=[^ ])/m'; - /** * @return void */ @@ -165,7 +163,7 @@ protected function saveComposerJsonArray(ModuleTransfer $moduleTransfer, array $ $composerJsonArray['scripts'] = new stdClass(); } $modifiedComposerJson = json_encode($composerJsonArray, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT); - $modifiedComposerJson = preg_replace(static::REPLACE_4_WITH_2_SPACES, '$1', $modifiedComposerJson) . PHP_EOL; + $modifiedComposerJson .= PHP_EOL; file_put_contents($composerJsonFile, $modifiedComposerJson); } From 12b2ba2d68d5c09493159f8e896137781593e71b Mon Sep 17 00:00:00 2001 From: mscherer Date: Wed, 5 May 2021 19:20:55 +0200 Subject: [PATCH 214/336] TE-9104 CI to GithubActions --- .github/workflows/ci.yml | 58 ++++++++++++++++++++++++++++++++++++++++ .travis.yml | 37 ------------------------- README.md | 2 +- 3 files changed, 59 insertions(+), 38 deletions(-) create mode 100644 .github/workflows/ci.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..06f7a338 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,58 @@ +name: CI + +on: + push: + branches: + - 'master' + pull_request: + workflow_dispatch: + +jobs: + validation: + name: Validation + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v2 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '7.4' + extensions: mbstring, intl, bcmath + coverage: none + + - name: Composer Install + run: composer install --prefer-dist --no-interaction --profile + + - name: Run validation + run: composer validate + + - name: Syntax check + run: find ./src -path src -prune -o -type f -name '*.php' -print0 | xargs -0 -n1 -P4 php -l -n | (! grep -v "No syntax errors detected" ) + + lowest: + name: Prefer Lowest + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v2 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '7.3' + extensions: mbstring, intl, bcmath + coverage: none + + - name: Composer Install + run: composer install --prefer-dist --no-interaction --profile + + - name: Composer Update + run: composer update --prefer-lowest --prefer-dist --no-interaction --profile -vvv + + - name: Composer Install prefer lowest tool + run: composer require --dev dereuromark/composer-prefer-lowest; + + - name: Run validation + run: vendor/bin/validate-prefer-lowest -m diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 6c176e1f..00000000 --- a/.travis.yml +++ /dev/null @@ -1,37 +0,0 @@ -language: php - -php: - - 7.3 - - 7.4 - -matrix: - fast_finish: true - - include: - - php: 7.3 - env: PREFER_LOWEST=1 - -env: - global: - - APPLICATION_ENV=development - - APPLICATION_STORE=DE - -before_install: - - phpenv config-rm xdebug.ini - -install: - - COMPOSER_MEMORY_LIMIT=-1 composer install --prefer-dist --no-interaction - - if [[ $PREFER_LOWEST == 1 ]]; then COMPOSER_MEMORY_LIMIT=-1 composer update --prefer-lowest --prefer-stable --prefer-dist --no-interaction ; fi - - if [[ $PREFER_LOWEST == 1 ]]; then COMPOSER_MEMORY_LIMIT=-1 composer require --dev dereuromark/composer-prefer-lowest; fi - -script: - - find ./src -path src -prune -o -type f -name '*.php' -print0 | xargs -0 -n1 -P4 php -l -n | (! grep -v "No syntax errors detected" ) - - - if [[ $PREFER_LOWEST == 1 ]]; then vendor/bin/validate-prefer-lowest || true; fi - -cache: - directories: - - $HOME/.composer/cache/ - -notifications: - email: false diff --git a/README.md b/README.md index 386982eb..11f70a13 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Development Module -[![Build Status](https://travis-ci.org/spryker/development.svg)](https://travis-ci.org/spryker/development) +[![Latest Stable Version](https://poser.pugx.org/spryker/development/v/stable.svg)](https://packagist.org/packages/spryker/development) [![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.3-8892BF.svg)](https://php.net/) Development is a tooling module for (local) development. From a8141b14508cc04a0c1d9f2425d029e80f952d39 Mon Sep 17 00:00:00 2001 From: Svyatoslav V Date: Tue, 11 May 2021 13:29:37 +0300 Subject: [PATCH 215/336] TE-8788 Optimised performance for Company GUI (#8078) TE-8788 Performance issue on company user edit page in Zed UI with ~10k companies --- src/Spryker/Zed/Development/DevelopmentConfig.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index a7256dfd..7b7f909c 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -303,6 +303,7 @@ public function getExternalToInternalNamespaceMap() 'Codeception\\' => 'spryker/testify', 'CodeItNow\\BarcodeBundle' => 'spryker/code-it-now', 'Doctrine\\Common\\Inflector' => 'spryker/doctrine-inflector', + 'Doctrine\\Inflector\\InflectorFactory' => 'spryker/doctrine-inflector', 'DMS\\PHPUnitExtensions\\' => 'spryker/testify', 'Egulias\\EmailValidator\\' => 'spryker/egulias', 'Elastica\\' => 'spryker/elastica', From 6bf7591618fc01071da306036a00ec79f826a5d8 Mon Sep 17 00:00:00 2001 From: mscherer Date: Tue, 18 May 2021 12:14:00 +0200 Subject: [PATCH 216/336] Bump template updates for internal deprecated module create command. --- .../CodeBuilder/Module/ModuleBuilder.php | 1 - .../Module/Templates/.gitattributes.tpl | 11 ++-- .../Module/Templates/.travis.yml.tpl | 27 -------- .../Module/Templates/README.md.tpl | 3 +- .../Module/Templates/composer.json.tpl | 62 +++++++++---------- .../Module/Templates/phpstan.json.tpl | 2 +- 6 files changed, 41 insertions(+), 65 deletions(-) delete mode 100644 src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.travis.yml.tpl diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php index f0ecb344..e143698b 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php @@ -36,7 +36,6 @@ class ModuleBuilder '.coveralls.yml', '.gitattributes', '.gitignore', - '.travis.yml', 'CHANGELOG.md', 'codecept.yml' => 'codeception.yml', 'composer.json', diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl index 9e433bff..fc59ed6d 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl @@ -2,6 +2,8 @@ # Set the default behavior, in case people don't have core.autocrlf set. * text text=auto eol=lf +*.php diff=php + # Denote all files that are truly binary and should not be modified. *.png binary *.jpg binary @@ -22,12 +24,13 @@ # Remove files for archives generated using `git archive` codeception.yml export-ignore dependency.json export-ignore +phpstan.json export-ignore +phpstan.neon export-ignore +psalm-report.json export-ignore linguist-generated=true +tooling.yml export-ignore .coveralls.yml export-ignore .travis.yml export-ignore .editorconfig export-ignore .gitattributes export-ignore .gitignore export-ignore -phpstan.neon export-ignore -phpstan.json export-ignore -psalm-report.json export-ignore linguist-generated=true -tooling.yml export-ignore +.github export-ignore diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.travis.yml.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.travis.yml.tpl deleted file mode 100644 index b3bb9e70..00000000 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.travis.yml.tpl +++ /dev/null @@ -1,27 +0,0 @@ -language: php - -php: - - 7.3 - - 7.4 - -cache: - directories: - - $HOME/.composer/cache - -env: - global: - - APPLICATION_ENV=development - - APPLICATION_STORE=DE - -install: - - COMPOSER_MEMORY_LIMIT=-1 composer install --no-interaction --prefer-dist - -script: - - vendor/bin/phpcs src --standard=vendor/spryker/code-sniffer/Spryker/ruleset.xml - - vendor/bin/codecept run --env isolated --coverage-xml - -after_success: - - vendor/bin/coveralls -vvv - -notifications: - email: false diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl index 092e4065..0eced4ce 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl @@ -1,5 +1,6 @@ # {module} Module -[![Build Status](https://travis-ci.org/{namespaceDashed}/{moduleDashed}.svg)](https://travis-ci.org/{namespaceDashed}/{moduleDashed}) +[![Latest Stable Version](https://poser.pugx.org/{namespaceDashed}/{moduleDashed}/v/stable.svg)](https://packagist.org/packages/{namespaceDashed}/{moduleDashed}) +[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.2-8892BF.svg)](https://php.net/) {{ADD DESCRIPTION HERE}} diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/composer.json.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/composer.json.tpl index e2798925..6a3e30c3 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/composer.json.tpl +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/composer.json.tpl @@ -1,34 +1,34 @@ { - "name": "{namespaceDashed}/{moduleDashed}", - "type": "library", - "description": "{module} module", - "license": "proprietary", - "require": { - }, - "require-dev": { - "spryker/code-sniffer": "*", - "spryker/testify": "*" - }, - "autoload": { - "psr-4": { - "{namespace}\\": "src/{namespace}/" + "name": "{namespaceDashed}/{moduleDashed}", + "type": "library", + "description": "{module} module", + "license": "proprietary", + "require": { + }, + "require-dev": { + "spryker/code-sniffer": "*", + "spryker/testify": "*" + }, + "autoload": { + "psr-4": { + "{namespace}\\": "src/{namespace}/" + } + }, + "autoload-dev": { + "psr-4": { + "{namespace}Test\\": "tests/{namespace}Test/" + } + }, + "minimum-stability": "dev", + "prefer-stable": true, + "scripts": { + }, + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "config": { + "sort-packages": true } - }, - "autoload-dev": { - "psr-4": { - "{namespace}Test\\": "tests/{namespace}Test/" - } - }, - "minimum-stability": "dev", - "prefer-stable": true, - "scripts": { - }, - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "config": { - "sort-packages": true - } } diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/phpstan.json.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/phpstan.json.tpl index 1032bef5..29ea502e 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/phpstan.json.tpl +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/phpstan.json.tpl @@ -1,3 +1,3 @@ { - "defaultLevel": 5 + "defaultLevel": 8 } From 2639ab8bb3ac4282ee4e08ead3311f3b2d67f1f2 Mon Sep 17 00:00:00 2001 From: Olha Livitchuk Date: Fri, 21 May 2021 19:44:06 +0300 Subject: [PATCH 217/336] TE-8690 Added baseline functionality --- architecture-baseline.json | 1 + .../ArchitectureSniffer.php | 119 +++++++++++++++++- .../CodeArchitectureSnifferConsole.php | 42 +++++-- 3 files changed, 150 insertions(+), 12 deletions(-) create mode 100644 architecture-baseline.json diff --git a/architecture-baseline.json b/architecture-baseline.json new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/architecture-baseline.json @@ -0,0 +1 @@ +[] diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php index 7ee0321a..1ba9dd11 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php @@ -24,6 +24,9 @@ class ArchitectureSniffer implements ArchitectureSnifferInterface protected const SOURCE_FOLDER_NAME = 'src'; protected const OPTION_MODULE = 'module'; protected const OPTION_IGNORE_ERRORS = 'ignoreErrors'; + protected const OPTION_OVERWRITE = 'update-baseline'; + protected const OPTION_VERBOSE = 'verbose'; + protected const ARCHITECTURE_BASELINE_JSON = 'architecture-baseline.json'; /** * @var string @@ -94,11 +97,11 @@ public function getRules() /** * @param string $directory - * @param array $options + * @param string[] $options * - * @return array + * @return array[] */ - public function run($directory, array $options = []) + public function run($directory, array $options = []): array { $options = $this->configurationBuilder->getConfiguration($directory, $options); @@ -124,7 +127,71 @@ public function run($directory, array $options = []) $results = $this->getResultsWithoutIgnoredErrors($results, $options); $fileViolations = $this->formatResult($results); - return $fileViolations; + return $this->runAnalyzer($fileViolations, $directory, $options); + } + + /** + * @param array[] $fileViolations + * @param string $directory + * @param string[] $options + * + * @return array[] + */ + protected function runAnalyzer(array $fileViolations, $directory, array $options): array + { + $reportPath = $directory . '../' . static::ARCHITECTURE_BASELINE_JSON; + + $reportFileExists = file_exists($reportPath); + + $result = $this->formatViolations($fileViolations); + + $reportResult = $reportFileExists ? $this->getReportResult($reportPath) : []; + + if ($options[static::OPTION_OVERWRITE] || !$reportFileExists) { + $this->saveBaseline($result, $reportPath); + } + + if (!$result) { + $result = $reportResult; + } + + return $this->sortViolations($result, $reportResult); + } + + /** + * @param array[] $result + * @param string $reportPath + * + * @return void + */ + protected function saveBaseline(array $result, $reportPath): void + { + $content = json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) . PHP_EOL; + file_put_contents($reportPath, $content); + } + + /** + * @param array[] $result + * @param array[] $reportResult + * + * @return array[] + */ + protected function sortViolations(array $result, array $reportResult): array + { + $sortedViolations = [ + 'visible' => [], + 'ignored' => [], + ]; + + foreach ($result as $key => $violations) { + if (array_search($violations['description'], array_column($reportResult, 'description')) !== false) { + $sortedViolations['ignored'][] = $result[$key]; + } else { + $sortedViolations['visible'][] = $result[$key]; + } + } + + return $sortedViolations; } /** @@ -161,6 +228,7 @@ protected function runCommand($directory, array $options = []) $process = $this->getProcess($command); $process->run(); + if (substr($process->getOutput(), 0, 5) !== 'getExitCodeText()); } @@ -170,6 +238,49 @@ protected function runCommand($directory, array $options = []) return $output; } + /** + * @param array[] $array + * + * @return array[] + */ + protected function formatViolations(array $array): array + { + $result = []; + + foreach ($array as $file => $violations) { + foreach ($violations as $violation) { + $result[] = [ + 'fileName' => $file, + 'description' => $violation['_'], + 'rule' => $violation['rule'], + 'ruleset' => $violation['ruleset'], + 'priority' => $violation['priority'], + ]; + } + } + + return $result; + } + + /** + * @param string $path + * + * @return array[] + */ + protected function getReportResult(string $path): array + { + $content = file_get_contents($path); + + $result = json_decode($content, true); + if (!isset($result)) { + trigger_error('Invalid JSON file: ' . $path); + + return []; + } + + return $result; + } + /** * @param array $command * diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php index cb9a57ac..88c1f5d1 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php @@ -34,6 +34,7 @@ class CodeArchitectureSnifferConsole extends Console protected const ARGUMENT_SUB_PATH = 'path'; protected const OPTION_VERBOSE = 'verbose'; protected const APPLICATION_LAYERS = ['Zed', 'Client', 'Yves', 'Service', 'Shared']; + protected const OPTION_OVERWRITE = 'update-baseline'; protected const NAMESPACE_SPRYKER_SHOP = 'SprykerShop'; protected const NAMESPACE_SPRYKER = 'Spryker'; @@ -55,6 +56,7 @@ protected function configure() $this->addOption(static::OPTION_PRIORITY, 'p', InputOption::VALUE_OPTIONAL, 'Priority [1 (highest), 2 (medium), 3 (experimental)], defaults to 2.'); $this->addOption(static::OPTION_STRICT, 's', InputOption::VALUE_NONE, 'Also report those nodes with a @SuppressWarnings annotation'); $this->addOption(static::OPTION_DRY_RUN, 'd', InputOption::VALUE_NONE, 'Dry-Run the command, display it only'); + $this->addOption(static::OPTION_OVERWRITE, 'u', InputOption::VALUE_NONE, 'Update baseline'); $this->addArgument(static::ARGUMENT_SUB_PATH, InputArgument::OPTIONAL, 'Optional path or sub path element'); } @@ -128,8 +130,7 @@ protected function runForCore(OutputInterface $output, $moduleArgument, $subPath $violations = $this->getFacade()->runArchitectureSniffer($path, $this->input->getOptions()); $output->writeln($path, $violations ? OutputInterface::VERBOSITY_QUIET : OutputInterface::VERBOSITY_VERBOSE); - $countCurrent = $this->displayViolations($output, $violations); - $this->displayViolationsCountMessage($output, $countCurrent); + $countCurrent = $this->displayViolationsWithBaseline($output, $violations); $count += $countCurrent; } @@ -257,7 +258,7 @@ protected function runForProject(OutputInterface $output, $module, $subPath) $output->writeln('Checking path: ' . $path, OutputInterface::VERBOSITY_VERBOSE); $violations = $this->getFacade()->runArchitectureSniffer($path, $this->input->getOptions()); - $count = $this->displayViolations($output, $violations); + $count = $this->displayViolationsWithBaseline($output, $violations); $result += $count; } } @@ -284,14 +285,14 @@ protected function runCustomPath(OutputInterface $output, $customPath) $output->writeln($customPath, OutputInterface::VERBOSITY_VERBOSE); $violations = $this->getFacade()->runArchitectureSniffer($customPath, $this->input->getOptions()); - $count = $this->displayViolations($output, $violations); - - $this->displayViolationsCountMessage($output, $count); + $count = $this->displayViolationsWithBaseline($output, $violations); return $count === 0; } /** + * @deprecated Use {@link \Spryker\Zed\Development\Communication\Console\CodeArchitectureSnifferConsole::displayViolationsWithBaseline()} instead.} + * * @param \Symfony\Component\Console\Output\OutputInterface $output * @param array $violations * @@ -311,6 +312,30 @@ protected function displayViolations(OutputInterface $output, array $violations) return $count; } + /** + * @param \Symfony\Component\Console\Output\OutputInterface $output + * @param array[] $violations + * + * @return int + */ + protected function displayViolationsWithBaseline(OutputInterface $output, array $violations): int + { + foreach ($violations as $type => $violationsArray) { + $count = 0; + + foreach ($violationsArray as $violation) { + $output->writeln(($type === 'visible' ? ' ' . trim($violation['description']) . ' ' : ' - ' . trim($violation['description'])), OutputInterface::VERBOSITY_VERBOSE); + $output->writeln(' ' . $violation['ruleset'] . ' > ' . $violation['rule'], OutputInterface::VERBOSITY_VERBOSE); + + $count++; + } + + $this->displayViolationsCountMessage($output, $count, ($type === 'ignored')); + } + + return count($violations['visible']); + } + /** * @param string $module * @@ -343,16 +368,17 @@ protected function dasherize($name) /** * @param \Symfony\Component\Console\Output\OutputInterface $output * @param int $count + * @param bool $isIgnored * * @return void */ - protected function displayViolationsCountMessage(OutputInterface $output, int $count): void + protected function displayViolationsCountMessage(OutputInterface $output, int $count, $isIgnored = false): void { if (!$this->isVerboseModeEnabled() && $count === 0) { return; } - $output->writeln($count . ' violations found'); + $output->writeln($count . ($isIgnored ? ' ignored' : '') . ' violations found'); } /** From 5110d00003fe58d183fd0d08d5c653f55f1f8eb6 Mon Sep 17 00:00:00 2001 From: Olha Livitchuk Date: Mon, 24 May 2021 14:15:51 +0300 Subject: [PATCH 218/336] TE-8691 Refactored --- .../ArchitectureSniffer.php | 46 +++++++++---------- .../CodeArchitectureSnifferConsole.php | 15 ++++-- 2 files changed, 32 insertions(+), 29 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php index 1ba9dd11..2b6d2a52 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php @@ -11,6 +11,7 @@ use Laminas\Config\Reader\ReaderInterface; use PHPMD\RuleSetFactory; use PHPMD\TextUI\CommandLineOptions; +use Spryker\Shared\Sales\SalesConstants; use Spryker\Zed\Development\Business\SnifferConfiguration\Builder\SnifferConfigurationBuilderInterface; use Spryker\Zed\Development\DevelopmentConfig; use Symfony\Component\Process\Process; @@ -99,7 +100,7 @@ public function getRules() * @param string $directory * @param string[] $options * - * @return array[] + * @return array */ public function run($directory, array $options = []): array { @@ -131,20 +132,17 @@ public function run($directory, array $options = []): array } /** - * @param array[] $fileViolations + * @param array $fileViolations * @param string $directory * @param string[] $options * - * @return array[] + * @return array */ protected function runAnalyzer(array $fileViolations, $directory, array $options): array { $reportPath = $directory . '../' . static::ARCHITECTURE_BASELINE_JSON; - $reportFileExists = file_exists($reportPath); - $result = $this->formatViolations($fileViolations); - $reportResult = $reportFileExists ? $this->getReportResult($reportPath) : []; if ($options[static::OPTION_OVERWRITE] || !$reportFileExists) { @@ -159,7 +157,7 @@ protected function runAnalyzer(array $fileViolations, $directory, array $options } /** - * @param array[] $result + * @param array $result * @param string $reportPath * * @return void @@ -171,23 +169,23 @@ protected function saveBaseline(array $result, $reportPath): void } /** - * @param array[] $result - * @param array[] $reportResult + * @param array $result + * @param array $reportResult * - * @return array[] + * @return array */ protected function sortViolations(array $result, array $reportResult): array { $sortedViolations = [ - 'visible' => [], - 'ignored' => [], + SalesConstants::NAME_VISIBLE_VIOLATIONS => [], + SalesConstants::NAME_IGNORED_VIOLATIONS => [], ]; foreach ($result as $key => $violations) { - if (array_search($violations['description'], array_column($reportResult, 'description')) !== false) { - $sortedViolations['ignored'][] = $result[$key]; + if (array_search($violations[SalesConstants::VIOLATION_FIELD_NAME_DESCRIPTION], array_column($reportResult, SalesConstants::VIOLATION_FIELD_NAME_DESCRIPTION)) !== false) { + $sortedViolations[SalesConstants::NAME_IGNORED_VIOLATIONS][] = $result[$key]; } else { - $sortedViolations['visible'][] = $result[$key]; + $sortedViolations[SalesConstants::NAME_VISIBLE_VIOLATIONS][] = $result[$key]; } } @@ -239,9 +237,9 @@ protected function runCommand($directory, array $options = []) } /** - * @param array[] $array + * @param array $array * - * @return array[] + * @return array */ protected function formatViolations(array $array): array { @@ -250,11 +248,11 @@ protected function formatViolations(array $array): array foreach ($array as $file => $violations) { foreach ($violations as $violation) { $result[] = [ - 'fileName' => $file, - 'description' => $violation['_'], - 'rule' => $violation['rule'], - 'ruleset' => $violation['ruleset'], - 'priority' => $violation['priority'], + SalesConstants::VIOLATION_FIELD_NAME_FILENAME => $file, + SalesConstants::VIOLATION_FIELD_NAME_DESCRIPTION => $violation['_'], + SalesConstants::VIOLATION_FIELD_NAME_RULE => $violation['rule'], + SalesConstants::VIOLATION_FIELD_NAME_RULESET => $violation['ruleset'], + SalesConstants::VIOLATION_FIELD_NAME_PRIORITY => $violation['priority'], ]; } } @@ -265,14 +263,14 @@ protected function formatViolations(array $array): array /** * @param string $path * - * @return array[] + * @return array */ protected function getReportResult(string $path): array { $content = file_get_contents($path); $result = json_decode($content, true); - if (!isset($result)) { + if ($result === null) { trigger_error('Invalid JSON file: ' . $path); return []; diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php index 88c1f5d1..14b05cab 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php @@ -14,6 +14,7 @@ use Laminas\Filter\StringToLower; use Laminas\Filter\Word\CamelCaseToDash; use Laminas\Filter\Word\UnderscoreToCamelCase; +use Spryker\Shared\Sales\SalesConstants; use Spryker\Zed\Kernel\Communication\Console\Console; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; @@ -314,7 +315,7 @@ protected function displayViolations(OutputInterface $output, array $violations) /** * @param \Symfony\Component\Console\Output\OutputInterface $output - * @param array[] $violations + * @param array $violations * * @return int */ @@ -324,16 +325,20 @@ protected function displayViolationsWithBaseline(OutputInterface $output, array $count = 0; foreach ($violationsArray as $violation) { - $output->writeln(($type === 'visible' ? ' ' . trim($violation['description']) . ' ' : ' - ' . trim($violation['description'])), OutputInterface::VERBOSITY_VERBOSE); - $output->writeln(' ' . $violation['ruleset'] . ' > ' . $violation['rule'], OutputInterface::VERBOSITY_VERBOSE); + if ($type === SalesConstants::NAME_VISIBLE_VIOLATIONS) { + $output->writeln(' ' . trim($violation[SalesConstants::VIOLATION_FIELD_NAME_DESCRIPTION]) . ' ', OutputInterface::VERBOSITY_VERBOSE); + } else { + $output->writeln(' - ' . trim($violation[SalesConstants::VIOLATION_FIELD_NAME_DESCRIPTION]), OutputInterface::VERBOSITY_VERBOSE); + } + $output->writeln(' ' . $violation[SalesConstants::VIOLATION_FIELD_NAME_RULESET] . ' > ' . $violation[SalesConstants::VIOLATION_FIELD_NAME_RULE], OutputInterface::VERBOSITY_VERBOSE); $count++; } - $this->displayViolationsCountMessage($output, $count, ($type === 'ignored')); + $this->displayViolationsCountMessage($output, $count, ($type === SalesConstants::NAME_IGNORED_VIOLATIONS)); } - return count($violations['visible']); + return count($violations[SalesConstants::NAME_VISIBLE_VIOLATIONS]); } /** From 79170b8e6c7dfac9fe47433c488e71bdf5c3f15a Mon Sep 17 00:00:00 2001 From: Olha Livitchuk Date: Tue, 25 May 2021 11:32:33 +0300 Subject: [PATCH 219/336] TE-8991 Refactored --- .../Communication/Console/CodeArchitectureSnifferConsole.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php index 14b05cab..dd04f7ab 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php @@ -383,7 +383,7 @@ protected function displayViolationsCountMessage(OutputInterface $output, int $c return; } - $output->writeln($count . ($isIgnored ? ' ignored' : '') . ' violations found'); + $output->writeln($count . ($isIgnored ? ' ' . SalesConstants::NAME_IGNORED_VIOLATIONS : '') . ' violations found'); } /** From e1262540a9bc1bbeaa1f249671bc037dd7e85b1f Mon Sep 17 00:00:00 2001 From: Olha Livitchuk Date: Wed, 26 May 2021 12:36:26 +0300 Subject: [PATCH 220/336] TE-8691 Refactored --- .../Shared/Development/DevelopmentConfig.php | 21 ++++++++++++++++++ .../ArchitectureSniffer.php | 22 +++++++++---------- .../CodeArchitectureSnifferConsole.php | 16 +++++++------- 3 files changed, 40 insertions(+), 19 deletions(-) create mode 100644 src/Spryker/Shared/Development/DevelopmentConfig.php diff --git a/src/Spryker/Shared/Development/DevelopmentConfig.php b/src/Spryker/Shared/Development/DevelopmentConfig.php new file mode 100644 index 00000000..fd032e79 --- /dev/null +++ b/src/Spryker/Shared/Development/DevelopmentConfig.php @@ -0,0 +1,21 @@ + [], - SalesConstants::NAME_IGNORED_VIOLATIONS => [], + SharedDevelopmentConfig::NAME_VISIBLE_VIOLATIONS => [], + SharedDevelopmentConfig::NAME_IGNORED_VIOLATIONS => [], ]; foreach ($result as $key => $violations) { - if (array_search($violations[SalesConstants::VIOLATION_FIELD_NAME_DESCRIPTION], array_column($reportResult, SalesConstants::VIOLATION_FIELD_NAME_DESCRIPTION)) !== false) { - $sortedViolations[SalesConstants::NAME_IGNORED_VIOLATIONS][] = $result[$key]; + if (array_search($violations[SharedDevelopmentConfig::VIOLATION_FIELD_NAME_DESCRIPTION], array_column($reportResult, SharedDevelopmentConfig::VIOLATION_FIELD_NAME_DESCRIPTION)) !== false) { + $sortedViolations[SharedDevelopmentConfig::NAME_IGNORED_VIOLATIONS][] = $result[$key]; } else { - $sortedViolations[SalesConstants::NAME_VISIBLE_VIOLATIONS][] = $result[$key]; + $sortedViolations[SharedDevelopmentConfig::NAME_VISIBLE_VIOLATIONS][] = $result[$key]; } } @@ -248,11 +248,11 @@ protected function formatViolations(array $array): array foreach ($array as $file => $violations) { foreach ($violations as $violation) { $result[] = [ - SalesConstants::VIOLATION_FIELD_NAME_FILENAME => $file, - SalesConstants::VIOLATION_FIELD_NAME_DESCRIPTION => $violation['_'], - SalesConstants::VIOLATION_FIELD_NAME_RULE => $violation['rule'], - SalesConstants::VIOLATION_FIELD_NAME_RULESET => $violation['ruleset'], - SalesConstants::VIOLATION_FIELD_NAME_PRIORITY => $violation['priority'], + SharedDevelopmentConfig::VIOLATION_FIELD_NAME_FILENAME => $file, + SharedDevelopmentConfig::VIOLATION_FIELD_NAME_DESCRIPTION => $violation['_'], + SharedDevelopmentConfig::VIOLATION_FIELD_NAME_RULE => $violation['rule'], + SharedDevelopmentConfig::VIOLATION_FIELD_NAME_RULESET => $violation['ruleset'], + SharedDevelopmentConfig::VIOLATION_FIELD_NAME_PRIORITY => $violation['priority'], ]; } } diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php index dd04f7ab..6715dd54 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php @@ -14,7 +14,7 @@ use Laminas\Filter\StringToLower; use Laminas\Filter\Word\CamelCaseToDash; use Laminas\Filter\Word\UnderscoreToCamelCase; -use Spryker\Shared\Sales\SalesConstants; +use Spryker\Shared\Development\DevelopmentConfig; use Spryker\Zed\Kernel\Communication\Console\Console; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; @@ -325,20 +325,20 @@ protected function displayViolationsWithBaseline(OutputInterface $output, array $count = 0; foreach ($violationsArray as $violation) { - if ($type === SalesConstants::NAME_VISIBLE_VIOLATIONS) { - $output->writeln(' ' . trim($violation[SalesConstants::VIOLATION_FIELD_NAME_DESCRIPTION]) . ' ', OutputInterface::VERBOSITY_VERBOSE); + if ($type === DevelopmentConfig::NAME_VISIBLE_VIOLATIONS) { + $output->writeln(' ' . trim($violation[DevelopmentConfig::VIOLATION_FIELD_NAME_DESCRIPTION]) . ' ', OutputInterface::VERBOSITY_VERBOSE); } else { - $output->writeln(' - ' . trim($violation[SalesConstants::VIOLATION_FIELD_NAME_DESCRIPTION]), OutputInterface::VERBOSITY_VERBOSE); + $output->writeln(' - ' . trim($violation[DevelopmentConfig::VIOLATION_FIELD_NAME_DESCRIPTION]), OutputInterface::VERBOSITY_VERBOSE); } - $output->writeln(' ' . $violation[SalesConstants::VIOLATION_FIELD_NAME_RULESET] . ' > ' . $violation[SalesConstants::VIOLATION_FIELD_NAME_RULE], OutputInterface::VERBOSITY_VERBOSE); + $output->writeln(' ' . $violation[DevelopmentConfig::VIOLATION_FIELD_NAME_RULESET] . ' > ' . $violation[DevelopmentConfig::VIOLATION_FIELD_NAME_RULE], OutputInterface::VERBOSITY_VERBOSE); $count++; } - $this->displayViolationsCountMessage($output, $count, ($type === SalesConstants::NAME_IGNORED_VIOLATIONS)); + $this->displayViolationsCountMessage($output, $count, ($type === DevelopmentConfig::NAME_IGNORED_VIOLATIONS)); } - return count($violations[SalesConstants::NAME_VISIBLE_VIOLATIONS]); + return count($violations[DevelopmentConfig::NAME_VISIBLE_VIOLATIONS]); } /** @@ -383,7 +383,7 @@ protected function displayViolationsCountMessage(OutputInterface $output, int $c return; } - $output->writeln($count . ($isIgnored ? ' ' . SalesConstants::NAME_IGNORED_VIOLATIONS : '') . ' violations found'); + $output->writeln($count . ($isIgnored ? ' ' . DevelopmentConfig::NAME_IGNORED_VIOLATIONS : '') . ' violations found'); } /** From 9720a178a047bb0d4e76b776a8222c35fd1e2f27 Mon Sep 17 00:00:00 2001 From: Olha Livitchuk Date: Wed, 26 May 2021 15:46:00 +0300 Subject: [PATCH 221/336] TE-8691 Refactored --- .../Shared/Development/DevelopmentConfig.php | 21 ------------- .../ArchitectureSniffer.php | 30 +++++++++++-------- .../CodeArchitectureSnifferConsole.php | 24 ++++++++++----- 3 files changed, 34 insertions(+), 41 deletions(-) delete mode 100644 src/Spryker/Shared/Development/DevelopmentConfig.php diff --git a/src/Spryker/Shared/Development/DevelopmentConfig.php b/src/Spryker/Shared/Development/DevelopmentConfig.php deleted file mode 100644 index fd032e79..00000000 --- a/src/Spryker/Shared/Development/DevelopmentConfig.php +++ /dev/null @@ -1,21 +0,0 @@ -formatViolations($fileViolations); $reportResult = $reportFileExists ? $this->getReportResult($reportPath) : []; @@ -177,15 +183,15 @@ protected function saveBaseline(array $result, $reportPath): void protected function sortViolations(array $result, array $reportResult): array { $sortedViolations = [ - SharedDevelopmentConfig::NAME_VISIBLE_VIOLATIONS => [], - SharedDevelopmentConfig::NAME_IGNORED_VIOLATIONS => [], + static::NAME_VISIBLE_VIOLATIONS => [], + static::NAME_IGNORED_VIOLATIONS => [], ]; foreach ($result as $key => $violations) { - if (array_search($violations[SharedDevelopmentConfig::VIOLATION_FIELD_NAME_DESCRIPTION], array_column($reportResult, SharedDevelopmentConfig::VIOLATION_FIELD_NAME_DESCRIPTION)) !== false) { - $sortedViolations[SharedDevelopmentConfig::NAME_IGNORED_VIOLATIONS][] = $result[$key]; + if (array_search($violations[static::VIOLATION_FIELD_NAME_DESCRIPTION], array_column($reportResult, static::VIOLATION_FIELD_NAME_DESCRIPTION)) !== false) { + $sortedViolations[static::NAME_IGNORED_VIOLATIONS][] = $result[$key]; } else { - $sortedViolations[SharedDevelopmentConfig::NAME_VISIBLE_VIOLATIONS][] = $result[$key]; + $sortedViolations[static::NAME_VISIBLE_VIOLATIONS][] = $result[$key]; } } @@ -248,11 +254,11 @@ protected function formatViolations(array $array): array foreach ($array as $file => $violations) { foreach ($violations as $violation) { $result[] = [ - SharedDevelopmentConfig::VIOLATION_FIELD_NAME_FILENAME => $file, - SharedDevelopmentConfig::VIOLATION_FIELD_NAME_DESCRIPTION => $violation['_'], - SharedDevelopmentConfig::VIOLATION_FIELD_NAME_RULE => $violation['rule'], - SharedDevelopmentConfig::VIOLATION_FIELD_NAME_RULESET => $violation['ruleset'], - SharedDevelopmentConfig::VIOLATION_FIELD_NAME_PRIORITY => $violation['priority'], + static::VIOLATION_FIELD_NAME_FILENAME => $file, + static::VIOLATION_FIELD_NAME_DESCRIPTION => $violation['_'], + static::VIOLATION_FIELD_NAME_RULE => $violation['rule'], + static::VIOLATION_FIELD_NAME_RULESET => $violation['ruleset'], + static::VIOLATION_FIELD_NAME_PRIORITY => $violation['priority'], ]; } } diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php index 6715dd54..e3921db7 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php @@ -14,7 +14,6 @@ use Laminas\Filter\StringToLower; use Laminas\Filter\Word\CamelCaseToDash; use Laminas\Filter\Word\UnderscoreToCamelCase; -use Spryker\Shared\Development\DevelopmentConfig; use Spryker\Zed\Kernel\Communication\Console\Console; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; @@ -40,6 +39,11 @@ class CodeArchitectureSnifferConsole extends Console protected const NAMESPACE_SPRYKER_SHOP = 'SprykerShop'; protected const NAMESPACE_SPRYKER = 'Spryker'; protected const SOURCE_FOLDER_NAME = 'src'; + protected const NAME_VISIBLE_VIOLATIONS = 'visible'; + protected const NAME_IGNORED_VIOLATIONS = 'ignored'; + protected const VIOLATION_FIELD_NAME_DESCRIPTION = 'description'; + protected const VIOLATION_FIELD_NAME_RULESET = 'ruleset'; + protected const VIOLATION_FIELD_NAME_RULE = 'rule'; /** * @return void @@ -321,24 +325,28 @@ protected function displayViolations(OutputInterface $output, array $violations) */ protected function displayViolationsWithBaseline(OutputInterface $output, array $violations): int { + if (empty($violations)) { + return 0; + } + foreach ($violations as $type => $violationsArray) { $count = 0; foreach ($violationsArray as $violation) { - if ($type === DevelopmentConfig::NAME_VISIBLE_VIOLATIONS) { - $output->writeln(' ' . trim($violation[DevelopmentConfig::VIOLATION_FIELD_NAME_DESCRIPTION]) . ' ', OutputInterface::VERBOSITY_VERBOSE); + if ($type === static::NAME_VISIBLE_VIOLATIONS) { + $output->writeln(' ' . trim($violation[static::VIOLATION_FIELD_NAME_DESCRIPTION]) . ' ', OutputInterface::VERBOSITY_VERBOSE); } else { - $output->writeln(' - ' . trim($violation[DevelopmentConfig::VIOLATION_FIELD_NAME_DESCRIPTION]), OutputInterface::VERBOSITY_VERBOSE); + $output->writeln(' - ' . trim($violation[static::VIOLATION_FIELD_NAME_DESCRIPTION]), OutputInterface::VERBOSITY_VERBOSE); } - $output->writeln(' ' . $violation[DevelopmentConfig::VIOLATION_FIELD_NAME_RULESET] . ' > ' . $violation[DevelopmentConfig::VIOLATION_FIELD_NAME_RULE], OutputInterface::VERBOSITY_VERBOSE); + $output->writeln(' ' . $violation[static::VIOLATION_FIELD_NAME_RULESET] . ' > ' . $violation[static::VIOLATION_FIELD_NAME_RULE], OutputInterface::VERBOSITY_VERBOSE); $count++; } - $this->displayViolationsCountMessage($output, $count, ($type === DevelopmentConfig::NAME_IGNORED_VIOLATIONS)); + $this->displayViolationsCountMessage($output, $count, ($type === static::NAME_IGNORED_VIOLATIONS)); } - return count($violations[DevelopmentConfig::NAME_VISIBLE_VIOLATIONS]); + return count($violations[static::NAME_VISIBLE_VIOLATIONS]); } /** @@ -383,7 +391,7 @@ protected function displayViolationsCountMessage(OutputInterface $output, int $c return; } - $output->writeln($count . ($isIgnored ? ' ' . DevelopmentConfig::NAME_IGNORED_VIOLATIONS : '') . ' violations found'); + $output->writeln($count . ($isIgnored ? ' ' . static::NAME_IGNORED_VIOLATIONS : '') . ' violations found'); } /** From 748f902d9d552f61e60dd4881d6a0bef34fa0d98 Mon Sep 17 00:00:00 2001 From: Olha Livitchuk Date: Wed, 26 May 2021 15:53:01 +0300 Subject: [PATCH 222/336] TE-8691 Refactored --- .../Communication/Console/CodeArchitectureSnifferConsole.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php index e3921db7..c6abbd23 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php @@ -325,7 +325,7 @@ protected function displayViolations(OutputInterface $output, array $violations) */ protected function displayViolationsWithBaseline(OutputInterface $output, array $violations): int { - if (empty($violations)) { + if (!$violations) { return 0; } From 785696cd7f92aebb415d96ee3543d201c127b69e Mon Sep 17 00:00:00 2001 From: Olha Livitchuk Date: Wed, 26 May 2021 19:27:52 +0300 Subject: [PATCH 223/336] TE-8691 Refactored --- .../ArchitectureSniffer.php | 41 +++++++++++++------ .../CodeArchitectureSnifferConsole.php | 23 ++++------- .../Zed/Development/DevelopmentConfig.php | 7 ++++ 3 files changed, 44 insertions(+), 27 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php index 6f51a37d..c182f49b 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php @@ -24,16 +24,11 @@ class ArchitectureSniffer implements ArchitectureSnifferInterface protected const SOURCE_FOLDER_NAME = 'src'; protected const OPTION_MODULE = 'module'; protected const OPTION_IGNORE_ERRORS = 'ignoreErrors'; - protected const OPTION_OVERWRITE = 'update-baseline'; protected const OPTION_VERBOSE = 'verbose'; protected const ARCHITECTURE_BASELINE_JSON = 'architecture-baseline.json'; - protected const NAME_VISIBLE_VIOLATIONS = 'visible'; - protected const NAME_IGNORED_VIOLATIONS = 'ignored'; - protected const VIOLATION_FIELD_NAME_DESCRIPTION = 'description'; - protected const VIOLATION_FIELD_NAME_RULESET = 'ruleset'; - protected const VIOLATION_FIELD_NAME_RULE = 'rule'; protected const VIOLATION_FIELD_NAME_PRIORITY = 'priority'; protected const VIOLATION_FIELD_NAME_FILENAME = 'fileName'; + protected const VENDOR_FOLDER_NAME = 'vendor'; /** * @var string @@ -151,7 +146,7 @@ protected function runAnalyzer(array $fileViolations, $directory, array $options $result = $this->formatViolations($fileViolations); $reportResult = $reportFileExists ? $this->getReportResult($reportPath) : []; - if ($options[static::OPTION_OVERWRITE] || !$reportFileExists) { + if ($options[DevelopmentConfig::OPTION_UPDATE] || !$reportFileExists) { $this->saveBaseline($result, $reportPath); } @@ -171,6 +166,11 @@ protected function runAnalyzer(array $fileViolations, $directory, array $options protected function saveBaseline(array $result, $reportPath): void { $content = json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) . PHP_EOL; + + if ($content === false) { + throw new \RuntimeException('Error encoding:' . json_last_error()); + } + file_put_contents($reportPath, $content); } @@ -188,7 +188,7 @@ protected function sortViolations(array $result, array $reportResult): array ]; foreach ($result as $key => $violations) { - if (array_search($violations[static::VIOLATION_FIELD_NAME_DESCRIPTION], array_column($reportResult, static::VIOLATION_FIELD_NAME_DESCRIPTION)) !== false) { + if (array_search($violations[DevelopmentConfig::VIOLATION_FIELD_NAME_DESCRIPTION], array_column($reportResult, DevelopmentConfig::VIOLATION_FIELD_NAME_DESCRIPTION)) !== false) { $sortedViolations[static::NAME_IGNORED_VIOLATIONS][] = $result[$key]; } else { $sortedViolations[static::NAME_VISIBLE_VIOLATIONS][] = $result[$key]; @@ -254,10 +254,10 @@ protected function formatViolations(array $array): array foreach ($array as $file => $violations) { foreach ($violations as $violation) { $result[] = [ - static::VIOLATION_FIELD_NAME_FILENAME => $file, - static::VIOLATION_FIELD_NAME_DESCRIPTION => $violation['_'], - static::VIOLATION_FIELD_NAME_RULE => $violation['rule'], - static::VIOLATION_FIELD_NAME_RULESET => $violation['ruleset'], + static::VIOLATION_FIELD_NAME_FILENAME => $this->normalizeProjectPath($file), + DevelopmentConfig::VIOLATION_FIELD_NAME_DESCRIPTION => $violation['_'], + DevelopmentConfig::VIOLATION_FIELD_NAME_RULE => $violation['rule'], + DevelopmentConfig::VIOLATION_FIELD_NAME_RULESET => $violation['ruleset'], static::VIOLATION_FIELD_NAME_PRIORITY => $violation['priority'], ]; } @@ -266,6 +266,16 @@ protected function formatViolations(array $array): array return $result; } + /** + * @param string $path + * + * @return string + */ + protected function normalizeProjectPath(string $path): string + { + return substr($path, strpos($path, static::VENDOR_FOLDER_NAME)); + } + /** * @param string $path * @@ -274,10 +284,15 @@ protected function formatViolations(array $array): array protected function getReportResult(string $path): array { $content = file_get_contents($path); + if ($content === false) { + throw new \RuntimeException('Invalid content: ' . $path); + + return []; + } $result = json_decode($content, true); if ($result === null) { - trigger_error('Invalid JSON file: ' . $path); + throw new \RuntimeException('Invalid JSON file: ' . $path); return []; } diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php index c6abbd23..387657f4 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php @@ -14,6 +14,7 @@ use Laminas\Filter\StringToLower; use Laminas\Filter\Word\CamelCaseToDash; use Laminas\Filter\Word\UnderscoreToCamelCase; +use Spryker\Zed\Development\DevelopmentConfig; use Spryker\Zed\Kernel\Communication\Console\Console; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; @@ -34,16 +35,10 @@ class CodeArchitectureSnifferConsole extends Console protected const ARGUMENT_SUB_PATH = 'path'; protected const OPTION_VERBOSE = 'verbose'; protected const APPLICATION_LAYERS = ['Zed', 'Client', 'Yves', 'Service', 'Shared']; - protected const OPTION_OVERWRITE = 'update-baseline'; protected const NAMESPACE_SPRYKER_SHOP = 'SprykerShop'; protected const NAMESPACE_SPRYKER = 'Spryker'; protected const SOURCE_FOLDER_NAME = 'src'; - protected const NAME_VISIBLE_VIOLATIONS = 'visible'; - protected const NAME_IGNORED_VIOLATIONS = 'ignored'; - protected const VIOLATION_FIELD_NAME_DESCRIPTION = 'description'; - protected const VIOLATION_FIELD_NAME_RULESET = 'ruleset'; - protected const VIOLATION_FIELD_NAME_RULE = 'rule'; /** * @return void @@ -61,7 +56,7 @@ protected function configure() $this->addOption(static::OPTION_PRIORITY, 'p', InputOption::VALUE_OPTIONAL, 'Priority [1 (highest), 2 (medium), 3 (experimental)], defaults to 2.'); $this->addOption(static::OPTION_STRICT, 's', InputOption::VALUE_NONE, 'Also report those nodes with a @SuppressWarnings annotation'); $this->addOption(static::OPTION_DRY_RUN, 'd', InputOption::VALUE_NONE, 'Dry-Run the command, display it only'); - $this->addOption(static::OPTION_OVERWRITE, 'u', InputOption::VALUE_NONE, 'Update baseline'); + $this->addOption(DevelopmentConfig::OPTION_UPDATE, 'u', InputOption::VALUE_NONE, 'Update baseline'); $this->addArgument(static::ARGUMENT_SUB_PATH, InputArgument::OPTIONAL, 'Optional path or sub path element'); } @@ -333,20 +328,20 @@ protected function displayViolationsWithBaseline(OutputInterface $output, array $count = 0; foreach ($violationsArray as $violation) { - if ($type === static::NAME_VISIBLE_VIOLATIONS) { - $output->writeln(' ' . trim($violation[static::VIOLATION_FIELD_NAME_DESCRIPTION]) . ' ', OutputInterface::VERBOSITY_VERBOSE); + if ($type === DevelopmentConfig::NAME_VISIBLE_VIOLATIONS) { + $output->writeln(' ' . trim($violation[DevelopmentConfig::VIOLATION_FIELD_NAME_DESCRIPTION]) . ' ', OutputInterface::VERBOSITY_VERBOSE); } else { - $output->writeln(' - ' . trim($violation[static::VIOLATION_FIELD_NAME_DESCRIPTION]), OutputInterface::VERBOSITY_VERBOSE); + $output->writeln(' - ' . trim($violation[DevelopmentConfig::VIOLATION_FIELD_NAME_DESCRIPTION]), OutputInterface::VERBOSITY_VERBOSE); } - $output->writeln(' ' . $violation[static::VIOLATION_FIELD_NAME_RULESET] . ' > ' . $violation[static::VIOLATION_FIELD_NAME_RULE], OutputInterface::VERBOSITY_VERBOSE); + $output->writeln(' ' . $violation[DevelopmentConfig::VIOLATION_FIELD_NAME_RULESET] . ' > ' . $violation[DevelopmentConfig::VIOLATION_FIELD_NAME_RULE], OutputInterface::VERBOSITY_VERBOSE); $count++; } - $this->displayViolationsCountMessage($output, $count, ($type === static::NAME_IGNORED_VIOLATIONS)); + $this->displayViolationsCountMessage($output, $count, ($type === DevelopmentConfig::NAME_IGNORED_VIOLATIONS)); } - return count($violations[static::NAME_VISIBLE_VIOLATIONS]); + return count($violations[DevelopmentConfig::NAME_VISIBLE_VIOLATIONS]); } /** @@ -391,7 +386,7 @@ protected function displayViolationsCountMessage(OutputInterface $output, int $c return; } - $output->writeln($count . ($isIgnored ? ' ' . static::NAME_IGNORED_VIOLATIONS : '') . ' violations found'); + $output->writeln($count . ($isIgnored ? ' ' . DevelopmentConfig::NAME_IGNORED_VIOLATIONS : '') . ' violations found'); } /** diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 7b7f909c..ef5dbdf0 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -16,6 +16,13 @@ class DevelopmentConfig extends AbstractBundleConfig { public const BUNDLE_PLACEHOLDER = '[BUNDLE]'; + public const NAME_VISIBLE_VIOLATIONS = 'visible'; + public const NAME_IGNORED_VIOLATIONS = 'ignored'; + public const VIOLATION_FIELD_NAME_DESCRIPTION = 'description'; + public const VIOLATION_FIELD_NAME_RULESET = 'ruleset'; + public const VIOLATION_FIELD_NAME_RULE = 'rule'; + public const OPTION_UPDATE = 'update-baseline'; + protected const PHPSTAN_CONFIG_FILENAME = 'phpstan.neon'; protected const NAMESPACE_SPRYKER = 'Spryker'; From 23471b072e6d9c40843e3b33a29c663527661670 Mon Sep 17 00:00:00 2001 From: Olha Livitchuk Date: Wed, 26 May 2021 19:29:25 +0300 Subject: [PATCH 224/336] TE-8691 Refactored --- .../ArchitectureSniffer.php | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php index c182f49b..a9271ce1 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php @@ -11,6 +11,7 @@ use Laminas\Config\Reader\ReaderInterface; use PHPMD\RuleSetFactory; use PHPMD\TextUI\CommandLineOptions; +use RuntimeException; use Spryker\Zed\Development\Business\SnifferConfiguration\Builder\SnifferConfigurationBuilderInterface; use Spryker\Zed\Development\DevelopmentConfig; use Symfony\Component\Process\Process; @@ -161,6 +162,8 @@ protected function runAnalyzer(array $fileViolations, $directory, array $options * @param array $result * @param string $reportPath * + * @throws \RuntimeException + * * @return void */ protected function saveBaseline(array $result, $reportPath): void @@ -168,7 +171,7 @@ protected function saveBaseline(array $result, $reportPath): void $content = json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) . PHP_EOL; if ($content === false) { - throw new \RuntimeException('Error encoding:' . json_last_error()); + throw new RuntimeException('Error encoding:' . json_last_error()); } file_put_contents($reportPath, $content); @@ -183,15 +186,15 @@ protected function saveBaseline(array $result, $reportPath): void protected function sortViolations(array $result, array $reportResult): array { $sortedViolations = [ - static::NAME_VISIBLE_VIOLATIONS => [], - static::NAME_IGNORED_VIOLATIONS => [], + DevelopmentConfig::NAME_VISIBLE_VIOLATIONS => [], + DevelopmentConfig::NAME_IGNORED_VIOLATIONS => [], ]; foreach ($result as $key => $violations) { if (array_search($violations[DevelopmentConfig::VIOLATION_FIELD_NAME_DESCRIPTION], array_column($reportResult, DevelopmentConfig::VIOLATION_FIELD_NAME_DESCRIPTION)) !== false) { - $sortedViolations[static::NAME_IGNORED_VIOLATIONS][] = $result[$key]; + $sortedViolations[DevelopmentConfig::NAME_IGNORED_VIOLATIONS][] = $result[$key]; } else { - $sortedViolations[static::NAME_VISIBLE_VIOLATIONS][] = $result[$key]; + $sortedViolations[DevelopmentConfig::NAME_VISIBLE_VIOLATIONS][] = $result[$key]; } } @@ -279,20 +282,22 @@ protected function normalizeProjectPath(string $path): string /** * @param string $path * + * @throws \RuntimeException + * * @return array */ protected function getReportResult(string $path): array { $content = file_get_contents($path); if ($content === false) { - throw new \RuntimeException('Invalid content: ' . $path); + throw new RuntimeException('Invalid content: ' . $path); return []; } $result = json_decode($content, true); if ($result === null) { - throw new \RuntimeException('Invalid JSON file: ' . $path); + throw new RuntimeException('Invalid JSON file: ' . $path); return []; } From f75972bc38d79ae9d7e49cd622956facdcb9da78 Mon Sep 17 00:00:00 2001 From: Olha Livitchuk Date: Thu, 27 May 2021 16:57:01 +0300 Subject: [PATCH 225/336] TE-8691 Refactored --- .../ArchitectureSniffer.php | 27 +++++++++++-------- .../CodeArchitectureSnifferConsole.php | 18 ++++++------- .../Zed/Development/DevelopmentConfig.php | 7 ----- 3 files changed, 25 insertions(+), 27 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php index a9271ce1..6b554d1d 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php @@ -21,6 +21,12 @@ class ArchitectureSniffer implements ArchitectureSnifferInterface public const OPTION_PRIORITY = 'priority'; public const OPTION_STRICT = 'strict'; public const OPTION_DRY_RUN = 'dry-run'; + public const NAME_VISIBLE_VIOLATIONS = 'visible'; + public const NAME_IGNORED_VIOLATIONS = 'ignored'; + public const VIOLATION_FIELD_NAME_DESCRIPTION = 'description'; + public const VIOLATION_FIELD_NAME_RULESET = 'ruleset'; + public const VIOLATION_FIELD_NAME_RULE = 'rule'; + public const OPTION_UPDATE = 'update-baseline'; protected const SOURCE_FOLDER_NAME = 'src'; protected const OPTION_MODULE = 'module'; @@ -29,7 +35,6 @@ class ArchitectureSniffer implements ArchitectureSnifferInterface protected const ARCHITECTURE_BASELINE_JSON = 'architecture-baseline.json'; protected const VIOLATION_FIELD_NAME_PRIORITY = 'priority'; protected const VIOLATION_FIELD_NAME_FILENAME = 'fileName'; - protected const VENDOR_FOLDER_NAME = 'vendor'; /** * @var string @@ -147,7 +152,7 @@ protected function runAnalyzer(array $fileViolations, $directory, array $options $result = $this->formatViolations($fileViolations); $reportResult = $reportFileExists ? $this->getReportResult($reportPath) : []; - if ($options[DevelopmentConfig::OPTION_UPDATE] || !$reportFileExists) { + if ($options[static::OPTION_UPDATE] || !$reportFileExists) { $this->saveBaseline($result, $reportPath); } @@ -186,15 +191,15 @@ protected function saveBaseline(array $result, $reportPath): void protected function sortViolations(array $result, array $reportResult): array { $sortedViolations = [ - DevelopmentConfig::NAME_VISIBLE_VIOLATIONS => [], - DevelopmentConfig::NAME_IGNORED_VIOLATIONS => [], + static::NAME_VISIBLE_VIOLATIONS => [], + static::NAME_IGNORED_VIOLATIONS => [], ]; foreach ($result as $key => $violations) { - if (array_search($violations[DevelopmentConfig::VIOLATION_FIELD_NAME_DESCRIPTION], array_column($reportResult, DevelopmentConfig::VIOLATION_FIELD_NAME_DESCRIPTION)) !== false) { - $sortedViolations[DevelopmentConfig::NAME_IGNORED_VIOLATIONS][] = $result[$key]; + if (array_search($violations[static::VIOLATION_FIELD_NAME_DESCRIPTION], array_column($reportResult, static::VIOLATION_FIELD_NAME_DESCRIPTION)) !== false) { + $sortedViolations[static::NAME_IGNORED_VIOLATIONS][] = $result[$key]; } else { - $sortedViolations[DevelopmentConfig::NAME_VISIBLE_VIOLATIONS][] = $result[$key]; + $sortedViolations[static::NAME_VISIBLE_VIOLATIONS][] = $result[$key]; } } @@ -258,9 +263,9 @@ protected function formatViolations(array $array): array foreach ($violations as $violation) { $result[] = [ static::VIOLATION_FIELD_NAME_FILENAME => $this->normalizeProjectPath($file), - DevelopmentConfig::VIOLATION_FIELD_NAME_DESCRIPTION => $violation['_'], - DevelopmentConfig::VIOLATION_FIELD_NAME_RULE => $violation['rule'], - DevelopmentConfig::VIOLATION_FIELD_NAME_RULESET => $violation['ruleset'], + static::VIOLATION_FIELD_NAME_DESCRIPTION => $violation['_'], + static::VIOLATION_FIELD_NAME_RULE => $violation['rule'], + static::VIOLATION_FIELD_NAME_RULESET => $violation['ruleset'], static::VIOLATION_FIELD_NAME_PRIORITY => $violation['priority'], ]; } @@ -276,7 +281,7 @@ protected function formatViolations(array $array): array */ protected function normalizeProjectPath(string $path): string { - return substr($path, strpos($path, static::VENDOR_FOLDER_NAME)); + return str_replace(APPLICATION_ROOT_DIR, '', $path); } /** diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php index 387657f4..c720e35f 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php @@ -14,7 +14,7 @@ use Laminas\Filter\StringToLower; use Laminas\Filter\Word\CamelCaseToDash; use Laminas\Filter\Word\UnderscoreToCamelCase; -use Spryker\Zed\Development\DevelopmentConfig; +use Spryker\Zed\Development\Business\ArchitectureSniffer\ArchitectureSniffer; use Spryker\Zed\Kernel\Communication\Console\Console; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; @@ -56,7 +56,7 @@ protected function configure() $this->addOption(static::OPTION_PRIORITY, 'p', InputOption::VALUE_OPTIONAL, 'Priority [1 (highest), 2 (medium), 3 (experimental)], defaults to 2.'); $this->addOption(static::OPTION_STRICT, 's', InputOption::VALUE_NONE, 'Also report those nodes with a @SuppressWarnings annotation'); $this->addOption(static::OPTION_DRY_RUN, 'd', InputOption::VALUE_NONE, 'Dry-Run the command, display it only'); - $this->addOption(DevelopmentConfig::OPTION_UPDATE, 'u', InputOption::VALUE_NONE, 'Update baseline'); + $this->addOption(ArchitectureSniffer::OPTION_UPDATE, 'u', InputOption::VALUE_NONE, 'Update baseline'); $this->addArgument(static::ARGUMENT_SUB_PATH, InputArgument::OPTIONAL, 'Optional path or sub path element'); } @@ -328,20 +328,20 @@ protected function displayViolationsWithBaseline(OutputInterface $output, array $count = 0; foreach ($violationsArray as $violation) { - if ($type === DevelopmentConfig::NAME_VISIBLE_VIOLATIONS) { - $output->writeln(' ' . trim($violation[DevelopmentConfig::VIOLATION_FIELD_NAME_DESCRIPTION]) . ' ', OutputInterface::VERBOSITY_VERBOSE); + if ($type === ArchitectureSniffer::NAME_VISIBLE_VIOLATIONS) { + $output->writeln(' ' . trim($violation[ArchitectureSniffer::VIOLATION_FIELD_NAME_DESCRIPTION]) . ' ', OutputInterface::VERBOSITY_VERBOSE); } else { - $output->writeln(' - ' . trim($violation[DevelopmentConfig::VIOLATION_FIELD_NAME_DESCRIPTION]), OutputInterface::VERBOSITY_VERBOSE); + $output->writeln(' - ' . trim($violation[ArchitectureSniffer::VIOLATION_FIELD_NAME_DESCRIPTION]), OutputInterface::VERBOSITY_VERBOSE); } - $output->writeln(' ' . $violation[DevelopmentConfig::VIOLATION_FIELD_NAME_RULESET] . ' > ' . $violation[DevelopmentConfig::VIOLATION_FIELD_NAME_RULE], OutputInterface::VERBOSITY_VERBOSE); + $output->writeln(' ' . $violation[ArchitectureSniffer::VIOLATION_FIELD_NAME_RULESET] . ' > ' . $violation[ArchitectureSniffer::VIOLATION_FIELD_NAME_RULE], OutputInterface::VERBOSITY_VERBOSE); $count++; } - $this->displayViolationsCountMessage($output, $count, ($type === DevelopmentConfig::NAME_IGNORED_VIOLATIONS)); + $this->displayViolationsCountMessage($output, $count, ($type === ArchitectureSniffer::NAME_IGNORED_VIOLATIONS)); } - return count($violations[DevelopmentConfig::NAME_VISIBLE_VIOLATIONS]); + return count($violations[ArchitectureSniffer::NAME_VISIBLE_VIOLATIONS]); } /** @@ -386,7 +386,7 @@ protected function displayViolationsCountMessage(OutputInterface $output, int $c return; } - $output->writeln($count . ($isIgnored ? ' ' . DevelopmentConfig::NAME_IGNORED_VIOLATIONS : '') . ' violations found'); + $output->writeln($count . ($isIgnored ? ' ' . ArchitectureSniffer::NAME_IGNORED_VIOLATIONS : '') . ' violations found'); } /** diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index ef5dbdf0..7b7f909c 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -16,13 +16,6 @@ class DevelopmentConfig extends AbstractBundleConfig { public const BUNDLE_PLACEHOLDER = '[BUNDLE]'; - public const NAME_VISIBLE_VIOLATIONS = 'visible'; - public const NAME_IGNORED_VIOLATIONS = 'ignored'; - public const VIOLATION_FIELD_NAME_DESCRIPTION = 'description'; - public const VIOLATION_FIELD_NAME_RULESET = 'ruleset'; - public const VIOLATION_FIELD_NAME_RULE = 'rule'; - public const OPTION_UPDATE = 'update-baseline'; - protected const PHPSTAN_CONFIG_FILENAME = 'phpstan.neon'; protected const NAMESPACE_SPRYKER = 'Spryker'; From 6655da77f77aee59cded1de84ff79aa808e4c0e4 Mon Sep 17 00:00:00 2001 From: Olha Livitchuk Date: Thu, 27 May 2021 19:50:01 +0300 Subject: [PATCH 226/336] TE-8692 Reactivated modules with arch-sniffer D-L --- .gitattributes | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitattributes b/.gitattributes index 2be6c6c9..27334278 100644 --- a/.gitattributes +++ b/.gitattributes @@ -33,3 +33,4 @@ tooling.yml export-ignore .editorconfig export-ignore .gitattributes export-ignore .gitignore export-ignore +architecture-baseline.json export-ignore From a52b8706cddc8547fc8a0f45dbe8564d0b73d356 Mon Sep 17 00:00:00 2001 From: Olha Livitchuk Date: Fri, 28 May 2021 20:10:16 +0300 Subject: [PATCH 227/336] TE-8692 Adjusted gitattributes.tpl --- .../Business/CodeBuilder/Module/Templates/.gitattributes.tpl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl index fc59ed6d..89aa2ba1 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl @@ -34,3 +34,4 @@ tooling.yml export-ignore .gitattributes export-ignore .gitignore export-ignore .github export-ignore +architecture-baseline.json export-ignore From 148aeb08bb1db2177e92769ae918bc64383fe1a1 Mon Sep 17 00:00:00 2001 From: Olha Livitchuk Date: Fri, 28 May 2021 20:56:17 +0300 Subject: [PATCH 228/336] TE-8692 Adjusted sniffer configurations for 0 priority --- .../Builder/ArchitectureSnifferConfigurationBuilder.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php b/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php index 6f480a71..4cc0f240 100644 --- a/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php +++ b/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php @@ -7,6 +7,7 @@ namespace Spryker\Zed\Development\Business\SnifferConfiguration\Builder; +use RuntimeException; use Spryker\Zed\Development\Business\Exception\ArchitectureSniffer\InvalidTypeException; use Spryker\Zed\Development\Business\SnifferConfiguration\ConfigurationReader\ConfigurationReaderInterface; @@ -41,6 +42,8 @@ public function __construct(ConfigurationReaderInterface $configurationReader, i * @param string $absoluteModulePath * @param array $options * + * @throws \RuntimeException + * * @return array */ public function getConfiguration(string $absoluteModulePath, array $options = []): array @@ -53,7 +56,7 @@ public function getConfiguration(string $absoluteModulePath, array $options = [] ); if ($priority === static::CONFIG_PRIORITY_SKIP_VALUE) { - return []; + throw new RuntimeException('Priority should be more than 0'); } $options[static::CONFIG_PRIORITY_NAME] = $priority; From 0ed53de30313bf898b8c45378026115bb2a75115 Mon Sep 17 00:00:00 2001 From: Olha Livitchuk Date: Sun, 30 May 2021 18:10:09 +0300 Subject: [PATCH 229/336] TE-8692 Adjusted path for project sniffer --- .../ArchitectureSniffer/ArchitectureSniffer.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php index 6b554d1d..c887b3c0 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php @@ -147,7 +147,11 @@ public function run($directory, array $options = []): array */ protected function runAnalyzer(array $fileViolations, $directory, array $options): array { - $reportPath = dirname($directory) . DIRECTORY_SEPARATOR . static::ARCHITECTURE_BASELINE_JSON; + $reportPath = APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . static::ARCHITECTURE_BASELINE_JSON; + if ($this->isCoreModule($options)) { + $reportPath = dirname($directory) . DIRECTORY_SEPARATOR . static::ARCHITECTURE_BASELINE_JSON; + } + $reportFileExists = file_exists($reportPath); $result = $this->formatViolations($fileViolations); $reportResult = $reportFileExists ? $this->getReportResult($reportPath) : []; @@ -296,15 +300,11 @@ protected function getReportResult(string $path): array $content = file_get_contents($path); if ($content === false) { throw new RuntimeException('Invalid content: ' . $path); - - return []; } $result = json_decode($content, true); if ($result === null) { throw new RuntimeException('Invalid JSON file: ' . $path); - - return []; } return $result; From 27bd554b9cc4989a836d1c60314df1c86c2aec78 Mon Sep 17 00:00:00 2001 From: Olha Livitchuk Date: Mon, 31 May 2021 22:16:12 +0300 Subject: [PATCH 230/336] TE-8690 Fixed tests --- .../Builder/ArchitectureSnifferConfigurationBuilderTest.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilderTest.php index e86afa8b..914dfc42 100644 --- a/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilderTest.php @@ -55,11 +55,11 @@ public function testAclModuleHasPriorityDifferentFromDefaultPriority(): void */ public function testCustomerModuleWillBeSkipped(): void { + $this->expectExceptionMessage('Priority should be more than 0'); + $customerModuleArchitectureSnifferConfig = $this->tester->createArchitectureSnifferConfigurationBuilder()->getConfiguration( $this->tester->getZedCustomerModulePath() ); - - $this->assertEmpty($customerModuleArchitectureSnifferConfig); } /** From 07101bd863f0e7de897b70b00bf38b618d12d253 Mon Sep 17 00:00:00 2001 From: mscherer Date: Thu, 17 Jun 2021 16:04:35 +0200 Subject: [PATCH 231/336] Fix template version for PHP min --- .../Business/CodeBuilder/Module/Templates/README.md.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl index 0eced4ce..f3e8b729 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl @@ -1,6 +1,6 @@ # {module} Module [![Latest Stable Version](https://poser.pugx.org/{namespaceDashed}/{moduleDashed}/v/stable.svg)](https://packagist.org/packages/{namespaceDashed}/{moduleDashed}) -[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.2-8892BF.svg)](https://php.net/) +[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.3-8892BF.svg)](https://php.net/) {{ADD DESCRIPTION HERE}} From 58c0b5abc28ed881354ef7592c76e597b56ec632 Mon Sep 17 00:00:00 2001 From: Mark Sch Date: Mon, 5 Jul 2021 17:28:56 +0200 Subject: [PATCH 232/336] TE-9439 Allow splitting arch sniffer to chunks for CI performance. (#8393) TE-9439 Split spryker core PHPStan run into chunks --- .../Business/Phpstan/PhpstanRunner.php | 44 ++++++++++++++++--- .../Console/CodePhpstanConsole.php | 17 +++++-- 2 files changed, 52 insertions(+), 9 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index 422bb7d3..57eec119 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -34,9 +34,8 @@ class PhpstanRunner implements PhpstanRunnerInterface public const OPTION_DRY_RUN = 'dry-run'; public const OPTION_VERBOSE = 'verbose'; public const OPTION_MODULE = 'module'; - - protected const PROGRESS_BAR_FREQUENCY = 50; - protected const PROGRESS_BAR_SECONDS_FORCE_REDRAW = 5 * 60; + public const OPTION_LEVEL = 'level'; + public const OPTION_OFFSET = 'offset'; protected const SUCCESS_EXIT_CODE = 0; protected const ERROR_EXIT_CODE = 1; @@ -104,8 +103,12 @@ public function run(InputInterface $input, OutputInterface $output) asort($paths); foreach ($paths as $path => $configFilePath) { - $resultCode |= $this->runCommand($path, $configFilePath, $input, $output); $count++; + if ($this->skip($count, $input)) { + continue; + } + + $resultCode |= $this->runCommand($path, $configFilePath, $input, $output); if ($input->getOption(static::OPTION_VERBOSE)) { $output->writeln(sprintf('Finished %s/%s.', $count, $total)); @@ -217,7 +220,7 @@ protected function executeCommand( protected function getLevel(InputInterface $input, string $path, string $configFilePath): int { $defaultLevel = $this->getDefaultLevel($path, $configFilePath); - $level = $input->getOption('level'); + $level = $input->getOption(static::OPTION_LEVEL); if (preg_match('/^([+])(\d)$/', $level, $matches)) { return $defaultLevel + (int)$matches[2]; @@ -509,4 +512,35 @@ protected function addErrors(string $buffer): void } $this->errorCount += (int)$matches[1]; } + + /** + * Determines 1-based skipping as per `offset[,limit]` config. + * + * @param int $count + * @param \Symfony\Component\Console\Input\InputInterface $input + * + * @return bool + */ + protected function skip(int $count, InputInterface $input): bool + { + $limit = null; + $offset = (string)$input->getOption(static::OPTION_OFFSET) ?: null; + if ($offset && strpos($offset, ',') !== false) { + [$offset, $limit] = explode(',', $offset); + } + $limit = (int)$limit; + $offset = (int)$offset; + if (!$limit && !$offset) { + return false; + } + + if ($offset && $count <= $offset) { + return true; + } + if ($limit && $count > ($limit + $offset)) { + return true; + } + + return false; + } } diff --git a/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php index e612f99a..2e80b559 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php @@ -7,6 +7,7 @@ namespace Spryker\Zed\Development\Communication\Console; +use Spryker\Zed\Development\Business\Phpstan\PhpstanRunner; use Spryker\Zed\Kernel\Communication\Console\Console; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; @@ -19,9 +20,13 @@ class CodePhpstanConsole extends Console { protected const COMMAND_NAME = 'code:phpstan'; - protected const OPTION_MODULE = 'module'; - protected const OPTION_DRY_RUN = 'dry-run'; - protected const OPTION_LEVEL = 'level'; + protected const OPTION_MODULE = PhpstanRunner::OPTION_MODULE; + protected const OPTION_DRY_RUN = PhpstanRunner::OPTION_DRY_RUN; + protected const OPTION_LEVEL = PhpstanRunner::OPTION_LEVEL; + protected const OPTION_OFFSET = PhpstanRunner::OPTION_OFFSET; + /** + * @deprecated Not Used + */ protected const OPTION_FORMAT = 'format'; /** @@ -34,12 +39,16 @@ protected function configure() $this ->setName(static::COMMAND_NAME) ->setHelp('' . static::COMMAND_NAME . ' -h') - ->setDescription('Run Phpstan for project or core'); + ->setDescription('Run PHPStan static analyzer for project or core'); $this->addOption(static::OPTION_MODULE, 'm', InputOption::VALUE_OPTIONAL, 'Name of module to run PHPStan for. You can use dot syntax for namespaced ones, e.g. `SprykerEco.FooBar`. `Spryker.all`/`SprykerShop.all` is reserved for CORE internal usage.'); $this->addOption(static::OPTION_FORMAT, 'f', InputOption::VALUE_OPTIONAL, 'Output format [text, xml, json, md]'); $this->addOption(static::OPTION_DRY_RUN, 'd', InputOption::VALUE_NONE, 'Dry-run the command, display it only'); $this->addOption(static::OPTION_LEVEL, 'l', InputOption::VALUE_OPTIONAL, 'Level of rule options - the higher the stricter'); + + $description = 'Offset to use for path splitting. Mainly for core, where it is needed for runtime reasons.'; + $description .= PHP_EOL . 'Syntax: {offset}[,{limit}]'; + $this->addOption(static::OPTION_OFFSET, 'o', InputOption::VALUE_OPTIONAL, $description); } /** From 0b76ae9f5a8c1d806ac473fd882c059e77daf19c Mon Sep 17 00:00:00 2001 From: mscherer Date: Wed, 7 Jul 2021 17:14:17 +0200 Subject: [PATCH 233/336] TE-9134 Remove codecept test file from export-ignore --- .gitattributes | 1 - .../Business/CodeBuilder/Module/Templates/.gitattributes.tpl | 1 - 2 files changed, 2 deletions(-) diff --git a/.gitattributes b/.gitattributes index 27334278..03d7ba46 100644 --- a/.gitattributes +++ b/.gitattributes @@ -22,7 +22,6 @@ *.exe binary # Remove files for archives generated using `git archive` -codeception.yml export-ignore dependency.json export-ignore phpstan.json export-ignore phpstan.neon export-ignore diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl index 89aa2ba1..23cd1525 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl @@ -22,7 +22,6 @@ *.exe binary # Remove files for archives generated using `git archive` -codeception.yml export-ignore dependency.json export-ignore phpstan.json export-ignore phpstan.neon export-ignore From 27a07a5c5ea7de0345948e7a5cb90abe101307ce Mon Sep 17 00:00:00 2001 From: tienbuiDE Date: Thu, 8 Jul 2021 14:54:16 +0200 Subject: [PATCH 234/336] ignore '_after' method name in phpmd CamelCaseMethodName rule --- .../Business/PhpMd/Rules/Controversial/CamelCaseMethodName.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Controversial/CamelCaseMethodName.php b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Controversial/CamelCaseMethodName.php index 0e150bc3..668e911b 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Controversial/CamelCaseMethodName.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Controversial/CamelCaseMethodName.php @@ -44,7 +44,7 @@ class CamelCaseMethodName extends AbstractRule implements MethodAware '_beforeStep', '_afterStep', '_before', - '_before', + '_after', '_depends', '_inject', ]; From 62c47ccd61c075b78df9fe4b23511a59d3bbe517 Mon Sep 17 00:00:00 2001 From: mscherer Date: Wed, 1 Sep 2021 11:51:31 +0200 Subject: [PATCH 235/336] Clean up Development Dep Finder. --- .../Config/CodeStyleSnifferConfiguration.php | 2 +- .../Business/Composer/Updater/AutoloadUpdater.php | 4 ++-- .../Composer/Updater/RequireExternalUpdater.php | 2 +- .../DependencyFinder/InternalDependencyFinder.php | 2 +- .../DependencyFinder/MappedDependencyFinder.php | 8 +++++++- .../DependencyFinder/SprykerSdkDependencyFinder.php | 4 ++-- .../Dependency/SchemaParser/PropelSchemaParser.php | 4 ++-- .../DependencyTree/ComposerDependencyParser.php | 12 ++++++------ .../DependencyFilter/EngineBundleFilter.php | 2 +- .../DependencyFilter/ForeignEngineBundleFilter.php | 2 +- .../DependencyFilter/InvalidForeignBundleFilter.php | 2 +- .../DependencyTree/DependencyFinder/UseStatement.php | 2 +- .../DependencyGraph/OutgoingGraphBuilder.php | 2 +- .../Business/DependencyTree/DependencyTree.php | 2 +- .../Business/DependencyTree/FileInfoExtractor.php | 2 +- .../Business/DependencyTree/Finder/FileFinder.php | 2 +- .../Business/Package/PackageFinder/PackageFinder.php | 2 +- .../Rules/Controversial/CamelCaseMethodName.php | 2 +- .../Business/PhpMd/Rules/Naming/ShortVariable.php | 2 +- .../Business/Propel/PropelAbstractClassValidator.php | 2 +- .../Business/Stability/StabilityCalculator.php | 2 +- 21 files changed, 35 insertions(+), 29 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php index e1d4dcdb..4e2b13bc 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php @@ -199,7 +199,7 @@ public function getLevel(): int $optionLevel = $this->resolveOptionLevel(); $levelAllowed = $this->getAllowedLevels(); - if (!in_array($optionLevel, $levelAllowed)) { + if (!in_array($optionLevel, $levelAllowed, true)) { throw new InvalidArgumentException( sprintf('Level should be in [%s] range', implode(', ', $levelAllowed)) ); diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php index c76c26a3..3dc79910 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php @@ -223,7 +223,7 @@ protected function getNonEmptyDirectoriesWithHelpers($directory) $directories = []; foreach ($files as $file) { $directoryName = dirname(str_replace('//', '/', $file)); - if (!in_array($directoryName, $directories)) { + if (!in_array($directoryName, $directories, true)) { $directories[] = $directoryName; } } @@ -456,7 +456,7 @@ protected function removeInvalidAutoloadPaths(array $autoload, $modulePath) $relativeDirectory, ]); - if (!$this->pathExists($path) || !in_array($this->getLastPartOfPath($relativeDirectory), $this->autoloadPSR4Whitelist)) { + if (!$this->pathExists($path) || !in_array($this->getLastPartOfPath($relativeDirectory), $this->autoloadPSR4Whitelist, true)) { if ($this->isFile($path)) { continue; } diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php index 51e3203f..ca0d9f20 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php @@ -106,7 +106,7 @@ protected function getExternalModules($bundleName) foreach ($this->externalDependencyTree as $dependency) { if ( $dependency[DependencyTree::META_MODULE] === $bundleName - && !in_array($dependency[DependencyTree::META_COMPOSER_NAME], $this->ignorableDependencies) + && !in_array($dependency[DependencyTree::META_COMPOSER_NAME], $this->ignorableDependencies, true) ) { $dependentModule = $this->mapExternalToInternal($dependency[DependencyTree::META_COMPOSER_NAME]); diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/InternalDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/InternalDependencyFinder.php index 16d05a80..b4dbcaa2 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/InternalDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/InternalDependencyFinder.php @@ -155,6 +155,6 @@ protected function getNamesFromUseStatements(array $useStatements, string $modul */ protected function isIgnorableUseStatement(array $useStatementFragments): bool { - return (!in_array($useStatementFragments[0], $this->config->getInternalNamespaces()) || !in_array($useStatementFragments[1], $this->config->getApplications())); + return (!in_array($useStatementFragments[0], $this->config->getInternalNamespaces(), true) || !in_array($useStatementFragments[1], $this->config->getApplications(), true)); } } diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/MappedDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/MappedDependencyFinder.php index f2834a37..a085189a 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/MappedDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/MappedDependencyFinder.php @@ -7,6 +7,7 @@ namespace Spryker\Zed\Development\Business\Dependency\DependencyFinder; +use RuntimeException; use Spryker\Zed\Development\Business\Dependency\DependencyContainer\DependencyContainerInterface; use Spryker\Zed\Development\Business\Dependency\DependencyFinder\Context\DependencyFinderContextInterface; use Spryker\Zed\Development\DevelopmentConfig; @@ -58,13 +59,18 @@ public function accept(DependencyFinderContextInterface $context): bool * @param \Spryker\Zed\Development\Business\Dependency\DependencyFinder\Context\DependencyFinderContextInterface $context * @param \Spryker\Zed\Development\Business\Dependency\DependencyContainer\DependencyContainerInterface $dependencyContainer * + * @throws \RuntimeException + * * @return \Spryker\Zed\Development\Business\Dependency\DependencyContainer\DependencyContainerInterface */ public function findDependencies(DependencyFinderContextInterface $context, DependencyContainerInterface $dependencyContainer): DependencyContainerInterface { $fileContent = $context->getFileInfo()->getContents(); $composerJsonAsArray = json_decode($fileContent, true); - $composerName = $composerJsonAsArray['name']; + $composerName = $composerJsonAsArray['name'] ?? null; + if (!$composerName) { + throw new RuntimeException('Composer name missing: ' . $context->getFileInfo()->getPath()); + } foreach ($this->config->getExternalToInternalMap() as $externalPackageName => $internalModulePackageName) { if ($internalModulePackageName === $composerName) { diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/SprykerSdkDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/SprykerSdkDependencyFinder.php index 6d94fa25..6f224e5e 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/SprykerSdkDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/SprykerSdkDependencyFinder.php @@ -147,7 +147,7 @@ protected function getModuleNamesFromUseStatements(array $useStatements, string protected function isIgnorableUseStatement(array $useStatementFragments): bool { return $useStatementFragments[0] !== 'SprykerSdk' - || !in_array($useStatementFragments[0], $this->config->getInternalNamespaces()) - || in_array($useStatementFragments[1], $this->config->getApplications()); + || !in_array($useStatementFragments[0], $this->config->getInternalNamespaces(), true) + || in_array($useStatementFragments[1], $this->config->getApplications(), true); } } diff --git a/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php b/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php index e0c72893..09259dd8 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php +++ b/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php @@ -305,7 +305,7 @@ protected function addUniqueColumnNames(array $uniqueFieldToModuleNameMap, array foreach ($uniqueColumnNames as $uniqueColumnName) { if ( isset($uniqueFieldToModuleNameMap[$uniqueColumnName]) && $uniqueFieldToModuleNameMap[$uniqueColumnName] !== $module && - in_array($module . '.' . $uniqueColumnName, $requiredColumnNames) + in_array($module . '.' . $uniqueColumnName, $requiredColumnNames, true) ) { throw new PropelSchemaParserException(sprintf('Unique column "%s" was already found in the module "%s".', $uniqueColumnName, $uniqueFieldToModuleNameMap[$uniqueColumnName])); } @@ -336,7 +336,7 @@ protected function computeLookupPaths(): array */ protected function hasNamespaceInSchema(SimpleXMLElement $simpleXmlElement): bool { - if (in_array('spryker:schema-01', $simpleXmlElement->getNamespaces())) { + if (in_array('spryker:schema-01', $simpleXmlElement->getNamespaces(), true)) { return true; } diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php b/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php index dc306ab7..e62363aa 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php @@ -76,11 +76,11 @@ public function getComposerDependencyComparison(DependencyCollectionTransfer $de 'composerName' => $composerName, 'types' => $this->getDependencyTypes($composerName, $dependencyCollectionTransfer), 'isOptional' => $this->getIsOptional($composerName, $dependencyCollectionTransfer), - 'src' => in_array($composerName, $composerNamesInSrc) ? $composerName : '', - 'tests' => in_array($composerName, $composerNamesInTests) ? $composerName : '', - 'composerRequire' => in_array($composerName, $composerRequiredNames) ? $composerName : '', - 'composerRequireDev' => in_array($composerName, $composerRequiredDevNames) ? $composerName : '', - 'suggested' => in_array($composerName, $composerSuggestedNames) ? $composerName : '', + 'src' => in_array($composerName, $composerNamesInSrc, true) ? $composerName : '', + 'tests' => in_array($composerName, $composerNamesInTests, true) ? $composerName : '', + 'composerRequire' => in_array($composerName, $composerRequiredNames, true) ? $composerName : '', + 'composerRequireDev' => in_array($composerName, $composerRequiredDevNames, true) ? $composerName : '', + 'suggested' => in_array($composerName, $composerSuggestedNames, true) ? $composerName : '', 'isOwnExtensionModule' => $this->isOwnExtensionModule($composerName, $dependencyCollectionTransfer), ]; } @@ -245,7 +245,7 @@ protected function getOverwrittenDependenciesForBundle(DependencyCollectionTrans $dependencyCollectionTransfer->setDependencyModules(new ArrayObject()); foreach ($dependencyModulesCollectionTransfer as $moduleDependencyTransfer) { - if (!in_array($moduleDependencyTransfer->getComposerName(), $excluded)) { + if (!in_array($moduleDependencyTransfer->getComposerName(), $excluded, true)) { $dependencyCollectionTransfer->addDependencyModule($moduleDependencyTransfer); } } diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/EngineBundleFilter.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/EngineBundleFilter.php index 66460cd4..a2f220db 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/EngineBundleFilter.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/EngineBundleFilter.php @@ -32,6 +32,6 @@ public function __construct($pathToBundleConfig) */ public function filter(array $dependency) { - return in_array($dependency[DependencyTree::META_MODULE], $this->filterBundles); + return in_array($dependency[DependencyTree::META_MODULE], $this->filterBundles, true); } } diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ForeignEngineBundleFilter.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ForeignEngineBundleFilter.php index 5e3df288..df2c738b 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ForeignEngineBundleFilter.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ForeignEngineBundleFilter.php @@ -32,6 +32,6 @@ public function __construct($pathToBundleConfig) */ public function filter(array $dependency) { - return in_array($dependency[DependencyTree::META_FOREIGN_BUNDLE], $this->filterBundles); + return in_array($dependency[DependencyTree::META_FOREIGN_BUNDLE], $this->filterBundles, true); } } diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/InvalidForeignBundleFilter.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/InvalidForeignBundleFilter.php index 8e1cda3e..8edcd55a 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/InvalidForeignBundleFilter.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/InvalidForeignBundleFilter.php @@ -31,6 +31,6 @@ public function __construct(array $allowedBundles) */ public function filter(array $dependency) { - return (!in_array($dependency[DependencyTree::META_FOREIGN_BUNDLE], $this->allowedBundles) && !isset($dependency[DependencyTree::META_FOREIGN_IS_EXTERNAL])); + return (!in_array($dependency[DependencyTree::META_FOREIGN_BUNDLE], $this->allowedBundles, true) && !isset($dependency[DependencyTree::META_FOREIGN_IS_EXTERNAL])); } } diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/UseStatement.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/UseStatement.php index 6edca2e3..64c3ae94 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/UseStatement.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/UseStatement.php @@ -60,7 +60,7 @@ protected function getLayerFromUseStatement($match) if (preg_match('/\\\/', $relativeClassName)) { $classNameParts = explode('\\', $relativeClassName); $layer = array_shift($classNameParts); - if (in_array($layer, [static::LAYER_BUSINESS, static::LAYER_COMMUNICATION, static::LAYER_PERSISTENCE])) { + if (in_array($layer, [static::LAYER_BUSINESS, static::LAYER_COMMUNICATION, static::LAYER_PERSISTENCE], true)) { return $layer; } } diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php index f6927b23..c2161157 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php @@ -185,7 +185,7 @@ protected function getBundleNames(DependencyCollectionTransfer $bundleDependency protected function filterBundles(array $dependencies) { $callback = function ($bundle) { - return !in_array($bundle, $this->bundlesToFilter); + return !in_array($bundle, $this->bundlesToFilter, true); }; return array_filter($dependencies, $callback); diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTree.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTree.php index db5363a5..77213db1 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTree.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTree.php @@ -90,7 +90,7 @@ public function addDependency(SplFileInfo $fileInfo, $to, array $dependency = [] */ private function isEngineBundle($bundle) { - return (in_array($bundle, $this->engineBundles)); + return (in_array($bundle, $this->engineBundles, true)); } /** diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/FileInfoExtractor.php b/src/Spryker/Zed/Development/Business/DependencyTree/FileInfoExtractor.php index 9b3e4767..231b466f 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/FileInfoExtractor.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/FileInfoExtractor.php @@ -52,7 +52,7 @@ public function getLayerNameFromFileInfo(SplFileInfo $fileInfo) return 'tests'; } $layer = $classNameParts[3]; - if (in_array($layer, ['Business', 'Communication', 'Persistence'])) { + if (in_array($layer, ['Business', 'Communication', 'Persistence'], true)) { return $layer; } diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FileFinder.php b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FileFinder.php index c2cae46e..ff951d6d 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FileFinder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FileFinder.php @@ -44,7 +44,7 @@ public function find(string $module): array $res = []; foreach ($directories as $directory) { $finder = new Finder(); - $finder->files()->in($directory); + $finder->files()->ignoreVCSIgnored(true)->in($directory); $finder->name('*.php'); $res = array_merge($res, iterator_to_array($finder)); diff --git a/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php b/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php index 25427a3c..2880aad8 100644 --- a/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php +++ b/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php @@ -40,7 +40,7 @@ public function getPackages(): array $packageTransferCollection = []; foreach ($this->getPackageFinder() as $directoryInfo) { - if (in_array($directoryInfo->getFilename(), $this->config->getInternalPackageDirectories())) { + if (in_array($directoryInfo->getFilename(), $this->config->getInternalPackageDirectories(), true)) { continue; } $packageTransfer = $this->getPackageTransfer($directoryInfo); diff --git a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Controversial/CamelCaseMethodName.php b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Controversial/CamelCaseMethodName.php index 668e911b..08bd7b7b 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Controversial/CamelCaseMethodName.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Controversial/CamelCaseMethodName.php @@ -60,7 +60,7 @@ class CamelCaseMethodName extends AbstractRule implements MethodAware public function apply(AbstractNode $node) { $methodName = $node->getName(); - if (!in_array($methodName, $this->ignoredMethods)) { + if (!in_array($methodName, $this->ignoredMethods, true)) { if (!$this->isValid($methodName)) { $this->addViolation( $node, diff --git a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Naming/ShortVariable.php b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Naming/ShortVariable.php index 412cb5d7..a2a62ad9 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Naming/ShortVariable.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Naming/ShortVariable.php @@ -62,7 +62,7 @@ private function isInExceptionList(AbstractNode $node) { $exceptions = $this->getExceptionsList(); - if (in_array(substr($node->getImage(), 1), $exceptions)) { + if (in_array(substr($node->getImage(), 1), $exceptions, true)) { return true; } diff --git a/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php b/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php index 709dff51..a91c328d 100644 --- a/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php +++ b/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php @@ -172,7 +172,7 @@ protected function abstractClassesForTablesExist(OutputInterface $output, string */ protected function hasNamespaceInSchema(SimpleXMLElement $simpleXmlElement): bool { - if (in_array('spryker:schema-01', $simpleXmlElement->getNamespaces())) { + if (in_array('spryker:schema-01', $simpleXmlElement->getNamespaces(), true)) { return true; } diff --git a/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php b/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php index 03d3ec68..77bbd001 100644 --- a/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php +++ b/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php @@ -136,7 +136,7 @@ protected function calculateIndirectBundlesStability() $indirectIncomingDependencies = $indirectIncomingDependencies->getArrayCopy(); $callback = function ($bundle) use ($incomingBundles) { - return !in_array($bundle, $incomingBundles); + return !in_array($bundle, $incomingBundles, true); }; $indirectIncomingDependencies = array_filter($indirectIncomingDependencies, $callback); $this->bundles[$bundle]['indirectIn'] = $indirectIncomingDependencies; From 58389f4b256be7b8a81dfef187511615eaca9422 Mon Sep 17 00:00:00 2001 From: Olha Livitchuk <77281282+olhalivitchuk@users.noreply.github.com> Date: Tue, 7 Sep 2021 14:23:15 +0300 Subject: [PATCH 236/336] TE-9595 Fixed phpstan for module in project level (#8669) TE-9595: Fixed phpstan for a single module (project level) --- src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index 57eec119..f9decd1e 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -295,6 +295,7 @@ protected function resolveProjectPaths($module, $pathSuffix = null) foreach (DevelopmentConfig::APPLICATIONS as $layer) { $layerPath = $path . $layer . DIRECTORY_SEPARATOR . $module . DIRECTORY_SEPARATOR; + if ($pathSuffix) { $layerPath .= $pathSuffix; } @@ -303,7 +304,7 @@ protected function resolveProjectPaths($module, $pathSuffix = null) continue; } - $paths[$layerPath] = null; + $paths[$layerPath] = $pathToRoot; } } From dfecb0d5f5ce9a24afc03191a80d7400a1229619 Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Tue, 7 Sep 2021 17:12:59 +0200 Subject: [PATCH 237/336] TE-9806 Improve CS by adding const docblocks with var type (#8694) TE-9806 Const docblock sniff --- .../Development/DevelopmentConstants.php | 12 ++++ .../ArchitectureSniffer.php | 48 +++++++++++++ .../CodeBuilder/Bridge/BridgeBuilder.php | 39 ++++++++++ .../CodeBuilder/Module/ModuleBuilder.php | 12 ++++ .../CodeStyleSniffer/CodeStyleSniffer.php | 18 +++++ .../Config/CodeStyleSnifferConfiguration.php | 17 +++++ .../CodeStyleSnifferConfigurationLoader.php | 3 + .../Business/CodeTest/CodeTester.php | 21 ++++++ .../Builder/CodeceptionArgumentsBuilder.php | 13 ++++ .../Business/Composer/ComposerJsonFinder.php | 3 + .../Business/Composer/ComposerJsonUpdater.php | 6 ++ .../Composer/Updater/AutoloadUpdater.php | 72 +++++++++++++++++++ .../Composer/Updater/BranchAliasUpdater.php | 9 +++ .../Composer/Updater/DescriptionUpdater.php | 3 + .../Composer/Updater/LicenseUpdater.php | 18 +++++ .../Composer/Updater/RequireDevUpdater.php | 6 ++ .../Updater/RequireExternalUpdater.php | 9 +++ .../Composer/Updater/RequireUpdater.php | 9 +++ .../Composer/Updater/ScriptsUpdater.php | 3 + .../Composer/Updater/StabilityUpdater.php | 6 ++ .../Business/Composer/Updater/TypeUpdater.php | 3 + .../ComposerJsonPackageNameValidator.php | 6 ++ ...rJsonUnboundRequireConstraintValidator.php | 3 + .../BehaviorDependencyFinder.php | 3 + .../CodeceptionDependencyFinder.php | 3 + .../ComposerDependencyFinder.php | 3 + .../ExtensionDependencyFinder.php | 3 + .../ExternalDependencyFinder.php | 3 + .../InternalDependencyFinder.php | 3 + .../LocatorDependencyFinder.php | 3 + .../MappedDependencyFinder.php | 3 + .../ModuleAnnotationDependencyFinder.php | 3 + .../PersistenceDependencyFinder.php | 3 + .../SprykerSdkDependencyFinder.php | 3 + .../TravisDependencyFinder.php | 3 + .../DependencyFinder/TwigDependencyFinder.php | 3 + .../AtomFunctionDependencyFinder.php | 3 + .../MoleculeFunctionDependencyFinder.php | 3 + .../OrganismFunctionDependencyFinder.php | 3 + .../TemplateFunctionDependencyFinder.php | 3 + .../ViewFunctionDependencyFinder.php | 3 + .../SchemaParser/PropelSchemaParser.php | 3 + .../ValidationRuleInterface.php | 21 ++++++ .../ComposerDependencyParser.php | 12 ++++ .../AbstractDependencyFinder.php | 12 ++++ .../DependencyFinder/LocatorClient.php | 6 ++ .../DependencyFinder/LocatorFacade.php | 3 + .../LocatorQueryContainer.php | 3 + .../DependencyFinder/LocatorService.php | 6 ++ .../DependencyFinder/UseStatement.php | 6 ++ .../DependencyGraph/ExternalGraphBuilder.php | 6 ++ .../DependencyGraph/GraphBuilderInterface.php | 6 ++ .../DependencyGraph/SimpleGraphBuilder.php | 6 ++ .../PackageVersionHydrator.php | 6 ++ .../DependencyTree/DependencyTree.php | 51 +++++++++++++ .../DependencyTree/FileInfoExtractor.php | 3 + .../PathBuilder/AbstractPathBuilder.php | 6 ++ .../PathBuilder/SprykerEcoPathBuilder.php | 6 ++ .../SprykerMerchantPortalPathBuilder.php | 6 ++ .../Finder/PathBuilder/SprykerPathBuilder.php | 6 ++ .../PathBuilder/SprykerSdkPathBuilder.php | 6 ++ .../PathBuilder/SprykerShopPathBuilder.php | 6 ++ .../AbstractBundleMethodBuilder.php | 3 + .../IdeAutoCompletionConstants.php | 6 ++ .../IdeAutoCompletionOptionConstants.php | 27 +++++++ .../Business/PhpMd/PhpMdRunner.php | 12 ++++ .../Rules/Design/CouplingBetweenObjects.php | 6 ++ .../PhpMd/Rules/Design/NumberOfChildren.php | 6 ++ .../PhpMd/Rules/Design/TooManyMethods.php | 6 ++ .../Rules/Design/TooManyPublicMethods.php | 6 ++ .../Business/Phpstan/PhpstanRunner.php | 39 ++++++++++ ...rchitectureSnifferConfigurationBuilder.php | 12 ++++ .../ConfigurationReader.php | 3 + .../AbstractCoreModuleAwareConsole.php | 3 + .../CodeArchitectureSnifferConsole.php | 33 +++++++++ .../Console/CodeFixturesConsole.php | 15 ++++ .../Console/CodePhpMessDetectorConsole.php | 15 ++++ .../Console/CodePhpstanConsole.php | 4 ++ .../Console/CodeStyleSnifferConsole.php | 24 +++++++ .../Communication/Console/CodeTestConsole.php | 18 +++++ .../Console/ComposerJsonUpdaterConsole.php | 9 +++ .../Console/ComposerJsonValidatorConsole.php | 3 + .../Console/DependencyTreeBuilderConsole.php | 12 ++++ .../DependencyViolationFinderConsole.php | 15 ++++ .../Console/DependencyViolationFixConsole.php | 9 +++ ...GenerateClientIdeAutoCompletionConsole.php | 6 ++ .../GenerateGlueIdeAutoCompletionConsole.php | 6 ++ .../GenerateIdeAutoCompletionConsole.php | 6 ++ ...enerateServiceIdeAutoCompletionConsole.php | 6 ++ .../GenerateYvesIdeAutoCompletionConsole.php | 6 ++ .../GenerateZedIdeAutoCompletionConsole.php | 6 ++ .../Console/ModuleBridgeCreateConsole.php | 18 +++++ .../Console/ModuleCreateConsole.php | 12 ++++ .../Console/PluginUsageFinderConsole.php | 6 ++ .../Console/PropelAbstractValidateConsole.php | 9 +++ .../RemoveClientIdeAutoCompletionConsole.php | 3 + .../RemoveGlueIdeAutoCompletionConsole.php | 3 + .../RemoveIdeAutoCompletionConsole.php | 3 + .../RemoveServiceIdeAutoCompletionConsole.php | 3 + .../RemoveYvesIdeAutoCompletionConsole.php | 3 + .../RemoveZedIdeAutoCompletionConsole.php | 3 + .../Controller/DependencyController.php | 9 +++ .../Communication/Form/BundlesFormType.php | 12 ++++ .../Zed/Development/DevelopmentConfig.php | 48 +++++++++++++ .../DevelopmentDependencyProvider.php | 21 ++++++ .../SchemaParser/PropelSchemaParserTest.php | 6 ++ .../MethodBuilder/ClientMethodBuilderTest.php | 6 ++ .../MethodBuilder/FacadeMethodBuilderTest.php | 6 ++ .../QueryContainerMethodBuilderTest.php | 6 ++ .../ServiceMethodBuilderTest.php | 6 ++ .../Design/CouplingBetweenObjectsTest.php | 6 ++ .../Rules/Design/NumberOfChildrenTest.php | 6 ++ .../PhpMd/Rules/Design/TooManyMethodsTest.php | 9 +++ .../Rules/Design/TooManyPublicMethodsTest.php | 9 +++ ...tectureSnifferConfigurationBuilderTest.php | 6 ++ .../_support/DevelopmentBusinessTester.php | 3 + .../_support/Helper/IdeAutoCompletion.php | 3 + .../Helper/SnifferConfigurationHelper.php | 18 +++++ 118 files changed, 1144 insertions(+) diff --git a/src/Spryker/Shared/Development/DevelopmentConstants.php b/src/Spryker/Shared/Development/DevelopmentConstants.php index cab1da5d..87dc9adc 100644 --- a/src/Spryker/Shared/Development/DevelopmentConstants.php +++ b/src/Spryker/Shared/Development/DevelopmentConstants.php @@ -12,17 +12,28 @@ */ interface DevelopmentConstants { + /** + * @var string + */ public const COMPOSER_REQUIRE_VERSION = 'COMPOSER_REQUIRE_VERSION'; + /** + * @var string + */ public const COMPOSER_REQUIRE_VERSION_EXTERNAL = 'COMPOSER_REQUIRE_VERSION_EXTERNAL'; + /** + * @var string + */ public const COMPOSER_BRANCH_ALIAS = 'COMPOSER_BRANCH_ALIAS'; /** * @see \Spryker\Shared\Kernel\KernelConstants::PROJECT_NAMESPACES + * @var string */ public const PROJECT_NAMESPACES = 'PROJECT_NAMESPACES'; /** * @see \Spryker\Shared\Kernel\KernelConstants::CORE_NAMESPACES + * @var string */ public const CORE_NAMESPACES = 'CORE_NAMESPACES'; @@ -31,6 +42,7 @@ interface DevelopmentConstants * - Sets the permission mode for generated directories. * * @api + * @var string */ public const DIRECTORY_PERMISSION = 'DEVELOPMENT:DIRECTORY_PERMISSION'; } diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php index c887b3c0..7b4ce9b9 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php @@ -18,22 +18,70 @@ class ArchitectureSniffer implements ArchitectureSnifferInterface { + /** + * @var string + */ public const OPTION_PRIORITY = 'priority'; + /** + * @var string + */ public const OPTION_STRICT = 'strict'; + /** + * @var string + */ public const OPTION_DRY_RUN = 'dry-run'; + /** + * @var string + */ public const NAME_VISIBLE_VIOLATIONS = 'visible'; + /** + * @var string + */ public const NAME_IGNORED_VIOLATIONS = 'ignored'; + /** + * @var string + */ public const VIOLATION_FIELD_NAME_DESCRIPTION = 'description'; + /** + * @var string + */ public const VIOLATION_FIELD_NAME_RULESET = 'ruleset'; + /** + * @var string + */ public const VIOLATION_FIELD_NAME_RULE = 'rule'; + /** + * @var string + */ public const OPTION_UPDATE = 'update-baseline'; + /** + * @var string + */ protected const SOURCE_FOLDER_NAME = 'src'; + /** + * @var string + */ protected const OPTION_MODULE = 'module'; + /** + * @var string + */ protected const OPTION_IGNORE_ERRORS = 'ignoreErrors'; + /** + * @var string + */ protected const OPTION_VERBOSE = 'verbose'; + /** + * @var string + */ protected const ARCHITECTURE_BASELINE_JSON = 'architecture-baseline.json'; + /** + * @var string + */ protected const VIOLATION_FIELD_NAME_PRIORITY = 'priority'; + /** + * @var string + */ protected const VIOLATION_FIELD_NAME_FILENAME = 'fileName'; /** diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php b/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php index f95da885..5167008d 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php @@ -19,30 +19,69 @@ class BridgeBuilder { + /** + * @var string + */ protected const TEMPLATE_INTERFACE = 'interface'; + /** + * @var string + */ protected const TEMPLATE_BRIDGE = 'bridge'; + /** + * @var string + */ protected const TEMPLATE_INTERFACE_METHOD = 'interface_method'; + /** + * @var string + */ protected const TEMPLATE_BRIDGE_METHOD = 'bridge_method'; + /** + * @var string + */ protected const DEFAULT_VENDOR = 'Spryker'; + /** + * @var string + */ protected const DEFAULT_TO_TYPE = 'Facade'; + /** + * @var array + */ protected const APPLICATION_LAYER_MAP = [ 'Facade' => 'Zed', 'QueryContainer' => 'Zed', ]; + /** + * @var array + */ protected const MODULE_LAYER_MAP = [ 'Facade' => 'Business', 'QueryContainer' => 'Persistence', ]; + /** + * @var string + */ protected const FUNCTION_RETURN = 'return '; + /** + * @var string + */ protected const NULLABLE_RETURN_TYPE_HINT = ': ?'; + /** + * @var string + */ protected const NON_NULLABLE_RETURN_TYPE_HINT = ': '; + /** + * @var string + */ protected const TYPE_HINT = 'type_hint'; + /** + * @var string + */ protected const FQCN = 'fqcn'; /** diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php index e143698b..9ca4e0ff 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php @@ -14,10 +14,22 @@ class ModuleBuilder { + /** + * @var string + */ protected const OPTION_FILE = 'file'; + /** + * @var string + */ protected const OPTION_FORCE = 'force'; + /** + * @var string + */ protected const NAMESPACE_SPRYKER = 'Spryker'; + /** + * @var string + */ protected const NAMESPACE_SPRYKER_SHOP = 'SprykerShop'; /** diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php index abddedfc..cfcc621a 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php @@ -19,14 +19,32 @@ class CodeStyleSniffer { + /** + * @var int + */ protected const CODE_SUCCESS = 0; + /** + * @var string + */ protected const OPTION_IGNORE = 'ignore'; + /** + * @var array + */ protected const APPLICATION_NAMESPACES = ['Orm']; + /** + * @var array + */ protected const APPLICATION_LAYERS = ['Zed', 'Client', 'Yves', 'Service', 'Shared']; + /** + * @var string + */ protected const NAMESPACE_SPRYKER_SHOP = 'SprykerShop'; + /** + * @var string + */ protected const NAMESPACE_SPRYKER = 'Spryker'; /** diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php index 4e2b13bc..4d37d500 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php @@ -14,46 +14,63 @@ class CodeStyleSnifferConfiguration implements CodeStyleSnifferConfigurationInte { /** * @see \Spryker\Zed\Development\Communication\Console\CodeStyleSnifferConsole::OPTION_FIX + * @var string */ protected const OPTION_FIX = 'fix'; /** * @see \Spryker\Zed\Development\Communication\Console\CodeStyleSnifferConsole::OPTION_DRY_RUN + * @var string */ protected const OPTION_DRY_RUN = 'dry-run'; /** * @see \Spryker\Zed\Development\Communication\Console\CodeStyleSnifferConsole::OPTION_QUIET + * @var string */ protected const OPTION_QUIET = 'quiet'; /** * @see \Spryker\Zed\Development\Communication\Console\CodeStyleSnifferConsole::OPTION_EXPLAIN + * @var string */ protected const OPTION_EXPLAIN = 'explain'; /** * @see \Spryker\Zed\Development\Communication\Console\CodeStyleSnifferConsole::OPTION_SNIFFS + * @var string */ protected const OPTION_SNIFFS = 'sniffs'; /** * @see \Spryker\Zed\Development\Communication\Console\CodeStyleSnifferConsole::OPTION_VERBOSE + * @var string */ protected const OPTION_VERBOSE = 'verbose'; /** * @see \Spryker\Zed\Development\Business\CodeStyleSniffer\CodeStyleSniffer::OPTION_IGNORE + * @var string */ protected const OPTION_IGNORE = 'ignore'; /** * @see \Spryker\Zed\Development\Communication\Console\CodeStyleSnifferConsole::OPTION_LEVEL + * @var string */ protected const OPTION_LEVEL = 'level'; + /** + * @var string + */ protected const MODULE_CONFIG_LEVEL = 'level'; + /** + * @var int + */ protected const LEVEL_SPRYKER_BASIC = 1; + /** + * @var int + */ protected const LEVEL_SPRYKER_STRICT = 2; /** diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationLoader.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationLoader.php index 56b0d090..e298eda7 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationLoader.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationLoader.php @@ -11,6 +11,9 @@ class CodeStyleSnifferConfigurationLoader implements CodeStyleSnifferConfigurationLoaderInterface { + /** + * @var string + */ protected const MODULE_CONFIG_TOOL_KEY = 'code-sniffer'; /** diff --git a/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php b/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php index 24e68e7f..9b697053 100644 --- a/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php +++ b/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php @@ -18,17 +18,38 @@ class CodeTester { + /** + * @var string + */ public const OPTION_VERBOSE = 'verbose'; + /** + * @var string + */ public const OPTION_INITIALIZE = 'initialize'; + /** + * @var string + */ public const OPTION_GROUP = 'group'; + /** + * @var string + */ public const OPTION_TYPE_EXCLUDE = 'exclude'; + /** + * @var string + */ public const OPTION_DRY_RUN = 'dry-run'; + /** + * @var int + */ protected const CODE_SUCCESS = 0; + /** + * @var int + */ protected const CODE_ERROR = 1; /** diff --git a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php index 72ae7531..25ccabd1 100644 --- a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php +++ b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php @@ -14,11 +14,24 @@ class CodeceptionArgumentsBuilder implements CodeceptionArgumentsBuilderInterfac { /** * @see \Spryker\Zed\Development\Communication\Console\CodeTestConsole::OPTION_CONFIG_PATH + * @var string */ protected const OPTION_CONFIG_PATH = 'config'; + /** + * @var string + */ protected const OPTION_GROUP_INCLUDE = 'group'; + /** + * @var string + */ protected const OPTION_GROUP_EXCLUDE = 'exclude'; + /** + * @var string + */ protected const OPTION_VERBOSE = 'verbose'; + /** + * @var string + */ protected const OPTION_MODULE = 'module'; /** diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonFinder.php b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonFinder.php index e3426dd0..1e013106 100644 --- a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonFinder.php +++ b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonFinder.php @@ -13,6 +13,9 @@ class ComposerJsonFinder implements ComposerJsonFinderInterface { + /** + * @var string + */ protected const COMPOSER_JSON_FILE_NAME = 'composer.json'; /** diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php index ed6d1927..0f5c46a1 100644 --- a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php @@ -15,7 +15,13 @@ class ComposerJsonUpdater implements ComposerJsonUpdaterInterface { + /** + * @var string + */ public const KEY_REQUIRE = 'require'; + /** + * @var string + */ public const KEY_REQUIRE_DEV = 'require-dev'; /** diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php index 3dc79910..54d28dfe 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php @@ -14,34 +14,106 @@ class AutoloadUpdater implements UpdaterInterface { + /** + * @var string + */ public const AUTOLOAD_KEY = 'autoload'; + /** + * @var string + */ public const AUTOLOAD_DEV_KEY = 'autoload-dev'; + /** + * @var string + */ public const BASE_TESTS_DIRECTORY = 'tests'; + /** + * @var string + */ public const BASE_SRC_DIRECTORY = 'src'; + /** + * @var string + */ public const BASE_SUPPORT_DIRECTORY = '_support'; + /** + * @var string + */ public const BASE_HELPER_DIRECTORY = 'Helper'; + /** + * @var string + */ protected const BASE_PAGE_OBJECT_DIRECTORY = 'PageObject'; + /** + * @var string + */ public const BASE_TESTER_DIRECTORY = 'Tester'; + /** + * @var string + */ public const BASE_FIXTURES_DIRECTORY = 'Fixtures'; + /** + * @var string + */ public const BASE_STEP_OVERRIDE_DIRECTORY = 'StepOverride'; + /** + * @var string + */ public const BASE_FILTER_DIRECTORY = 'Filter'; + /** + * @var string + */ public const SPRYKER_TEST_NAMESPACE = 'SprykerTest'; + /** + * @var string + */ public const SPRYKER_SDK_TEST_NAMESPACE = 'SprykerSdkTest'; + /** + * @var string + */ public const SPRYKER_ECO_TEST_NAMESPACE = 'SprykerEcoTest'; + /** + * @var string + */ public const SPRYKER_SHOP_TEST_NAMESPACE = 'SprykerShopTest'; + /** + * @var string + */ public const SPRYKER_MERCHANT_PORTAL_SHOP_TEST_NAMESPACE = 'SprykerMerchantPortalTest'; + /** + * @var string + */ public const SPRYKER_NAMESPACE = 'Spryker'; + /** + * @var string + */ public const SPRYKER_SHOP_NAMESPACE = 'SprykerShop'; + /** + * @var string + */ public const SPRYKER_ECO_NAMESPACE = 'SprykerEco'; + /** + * @var string + */ public const SPRYKER_SDK_NAMESPACE = 'SprykerSdk'; + /** + * @var string + */ public const SPRYKER_MERCHANT_PORTAL_NAMESPACE = 'SprykerMerchantPortal'; + /** + * @var string + */ public const PSR_0 = 'psr-0'; + /** + * @var string + */ public const PSR_4 = 'psr-4'; + /** + * @var array + */ protected const RESERVED_NAMESPACES = [ 'vendor/', 'tests/_', diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/BranchAliasUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/BranchAliasUpdater.php index e157ff88..dd2e0518 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/BranchAliasUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/BranchAliasUpdater.php @@ -13,8 +13,17 @@ class BranchAliasUpdater implements UpdaterInterface { + /** + * @var string + */ public const KEY_EXTRA = 'extra'; + /** + * @var string + */ public const KEY_BRANCH_ALIAS = 'branch-alias'; + /** + * @var string + */ public const KEY_MASTER_BRANCH = 'dev-master'; /** diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/DescriptionUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/DescriptionUpdater.php index 2afa1fab..a23919d6 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/DescriptionUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/DescriptionUpdater.php @@ -14,6 +14,9 @@ class DescriptionUpdater implements UpdaterInterface { + /** + * @var string + */ public const KEY_DESCRIPTION = 'description'; /** diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/LicenseUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/LicenseUpdater.php index d3ab5f89..bbbf97a8 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/LicenseUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/LicenseUpdater.php @@ -12,16 +12,34 @@ class LicenseUpdater implements UpdaterInterface { + /** + * @var string + */ protected const KEY_LICENSE = 'license'; + /** + * @var string + */ protected const LICENSE_TYPE_MIT = 'MIT'; + /** + * @var string + */ protected const LICENSE_TYPE_PROPRIETARY = 'proprietary'; + /** + * @var string + */ protected const MIT_LICENSE = 'The MIT License (MIT)'; + /** + * @var int + */ protected const LICENSE_FILE_DEPTH = 0; + /** + * @var string + */ protected const LICENSE_FILE_NAME = 'LICENSE'; /** diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireDevUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireDevUpdater.php index 82caed7e..7927db96 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireDevUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireDevUpdater.php @@ -11,7 +11,13 @@ class RequireDevUpdater implements UpdaterInterface { + /** + * @var string + */ public const KEY_REQUIRE_DEV = 'require-dev'; + /** + * @var string + */ public const PACKAGE_CODE_SNIFFER = 'spryker/code-sniffer'; /** diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php index ca0d9f20..348aa18e 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php @@ -16,8 +16,17 @@ class RequireExternalUpdater implements UpdaterInterface { + /** + * @var string + */ public const KEY_REQUIRE = 'require'; + /** + * @var string + */ public const RELEASE_OPERATOR = '^'; + /** + * @var string + */ public const KEY_NAME = 'name'; /** diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php index 0e5ea236..2279ce99 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php @@ -11,8 +11,17 @@ class RequireUpdater implements UpdaterInterface { + /** + * @var string + */ public const KEY_REQUIRE = 'require'; + /** + * @var string + */ public const KEY_REQUIRE_PHP = 'php'; + /** + * @var string + */ public const PHP_MINIMUM = '>=7.3'; /** diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/ScriptsUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/ScriptsUpdater.php index d93a4fb3..347a6716 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/ScriptsUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/ScriptsUpdater.php @@ -13,6 +13,9 @@ class ScriptsUpdater implements UpdaterInterface { + /** + * @var string + */ public const KEY_SCRIPTS = 'scripts'; /** diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/StabilityUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/StabilityUpdater.php index 4ec1ef35..cb0312fd 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/StabilityUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/StabilityUpdater.php @@ -11,7 +11,13 @@ class StabilityUpdater implements UpdaterInterface { + /** + * @var string + */ public const KEY_MINIMUM_STABILITY = 'minimum-stability'; + /** + * @var string + */ public const KEY_PREFER_STABLE = 'prefer-stable'; /** diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/TypeUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/TypeUpdater.php index 693e87a1..fe14cb88 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/TypeUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/TypeUpdater.php @@ -11,6 +11,9 @@ class TypeUpdater implements UpdaterInterface { + /** + * @var string + */ public const KEY_TYPE = 'type'; /** diff --git a/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonPackageNameValidator.php b/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonPackageNameValidator.php index 0e7f0900..c680caad 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonPackageNameValidator.php +++ b/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonPackageNameValidator.php @@ -12,7 +12,13 @@ class ComposerJsonPackageNameValidator implements ComposerJsonValidatorInterface { + /** + * @var string + */ protected const REQUIRE = 'require'; + /** + * @var string + */ protected const REQUIRE_DEV = 'require-dev'; /** diff --git a/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonUnboundRequireConstraintValidator.php b/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonUnboundRequireConstraintValidator.php index 0fbcbcfb..bdd122a1 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonUnboundRequireConstraintValidator.php +++ b/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonUnboundRequireConstraintValidator.php @@ -12,6 +12,9 @@ class ComposerJsonUnboundRequireConstraintValidator implements ComposerJsonValidatorInterface { + /** + * @var string + */ protected const REQUIRE = 'require'; /** diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/BehaviorDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/BehaviorDependencyFinder.php index c2cd4aed..74918ff5 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/BehaviorDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/BehaviorDependencyFinder.php @@ -15,6 +15,9 @@ class BehaviorDependencyFinder implements DependencyFinderInterface { + /** + * @var string + */ public const TYPE_PERSISTENCE = 'persistence'; /** diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/CodeceptionDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/CodeceptionDependencyFinder.php index a7c9593f..b32bbbfe 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/CodeceptionDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/CodeceptionDependencyFinder.php @@ -12,6 +12,9 @@ class CodeceptionDependencyFinder extends AbstractFileDependencyFinder { + /** + * @var string + */ public const TYPE_CODECEPTION = 'codeception'; /** diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ComposerDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ComposerDependencyFinder.php index 5f9e69d7..773e6932 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ComposerDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ComposerDependencyFinder.php @@ -12,6 +12,9 @@ class ComposerDependencyFinder extends AbstractFileDependencyFinder { + /** + * @var string + */ public const TYPE_COMPOSER = 'composer'; /** diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php index ec826554..e68ec3a9 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php @@ -13,6 +13,9 @@ class ExtensionDependencyFinder extends AbstractFileDependencyFinder { + /** + * @var string + */ public const TYPE_EXTENSION = 'extension'; /** diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php index cb2fd2fc..edc8b32e 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php @@ -17,6 +17,9 @@ class ExternalDependencyFinder extends AbstractFileDependencyFinder { + /** + * @var string + */ public const TYPE_EXTERNAL = 'external'; /** diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/InternalDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/InternalDependencyFinder.php index b4dbcaa2..99ce06f3 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/InternalDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/InternalDependencyFinder.php @@ -14,6 +14,9 @@ class InternalDependencyFinder extends AbstractFileDependencyFinder { + /** + * @var string + */ public const TYPE_INTERNAL = 'internal'; /** diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/LocatorDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/LocatorDependencyFinder.php index 860b8681..a00c3412 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/LocatorDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/LocatorDependencyFinder.php @@ -13,6 +13,9 @@ class LocatorDependencyFinder implements DependencyFinderInterface { + /** + * @var string + */ public const TYPE_LOCATOR = 'locator'; /** diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/MappedDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/MappedDependencyFinder.php index a085189a..527efe57 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/MappedDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/MappedDependencyFinder.php @@ -14,6 +14,9 @@ class MappedDependencyFinder extends AbstractFileDependencyFinder { + /** + * @var string + */ public const TYPE_MAPPED = 'mapped'; /** diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ModuleAnnotationDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ModuleAnnotationDependencyFinder.php index 22a70c65..8f380426 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ModuleAnnotationDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ModuleAnnotationDependencyFinder.php @@ -12,6 +12,9 @@ class ModuleAnnotationDependencyFinder implements DependencyFinderInterface { + /** + * @var string + */ public const TYPE = 'module-annotation'; /** diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/PersistenceDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/PersistenceDependencyFinder.php index a50c9703..e7b4a118 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/PersistenceDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/PersistenceDependencyFinder.php @@ -13,6 +13,9 @@ class PersistenceDependencyFinder implements DependencyFinderInterface { + /** + * @var string + */ public const TYPE_PERSISTENCE = 'persistence'; /** diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/SprykerSdkDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/SprykerSdkDependencyFinder.php index 6f224e5e..91e3896c 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/SprykerSdkDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/SprykerSdkDependencyFinder.php @@ -14,6 +14,9 @@ class SprykerSdkDependencyFinder extends AbstractFileDependencyFinder { + /** + * @var string + */ public const TYPE_INTERNAL = 'internal'; /** diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TravisDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TravisDependencyFinder.php index 68c0dd6a..272bf790 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TravisDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TravisDependencyFinder.php @@ -12,6 +12,9 @@ class TravisDependencyFinder extends AbstractFileDependencyFinder { + /** + * @var string + */ public const TYPE_TRAVIS = 'travis'; /** diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder.php index 5f2b188b..dfa412e8 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder.php @@ -12,6 +12,9 @@ class TwigDependencyFinder implements DependencyFinderInterface { + /** + * @var string + */ public const TYPE_TWIG = 'twig'; /** diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/AtomFunctionDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/AtomFunctionDependencyFinder.php index 2ed809de..65cd0db3 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/AtomFunctionDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/AtomFunctionDependencyFinder.php @@ -13,6 +13,9 @@ class AtomFunctionDependencyFinder implements TwigDependencyFinderInterface { + /** + * @var string + */ protected const TEMPLATE_FUNCTION_PATTERN = '/atom\(\'(.*?),\s\'(.*?)\'/'; /** diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/MoleculeFunctionDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/MoleculeFunctionDependencyFinder.php index 0415e1e9..4ebaeca7 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/MoleculeFunctionDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/MoleculeFunctionDependencyFinder.php @@ -13,6 +13,9 @@ class MoleculeFunctionDependencyFinder implements TwigDependencyFinderInterface { + /** + * @var string + */ protected const TEMPLATE_FUNCTION_PATTERN = '/molecule\(\'(.*?),\s\'(.*?)\'/'; /** diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/OrganismFunctionDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/OrganismFunctionDependencyFinder.php index fc043f27..98f82c67 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/OrganismFunctionDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/OrganismFunctionDependencyFinder.php @@ -13,6 +13,9 @@ class OrganismFunctionDependencyFinder implements TwigDependencyFinderInterface { + /** + * @var string + */ protected const TEMPLATE_FUNCTION_PATTERN = '/organism\(\'(.*?),\s\'(.*?)\'/'; /** diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/TemplateFunctionDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/TemplateFunctionDependencyFinder.php index ee6cbfe8..61348ac5 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/TemplateFunctionDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/TemplateFunctionDependencyFinder.php @@ -13,6 +13,9 @@ class TemplateFunctionDependencyFinder implements TwigDependencyFinderInterface { + /** + * @var string + */ protected const TEMPLATE_FUNCTION_PATTERN = '/template\(\'(.*?),\s\'(.*?)\'/'; /** diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/ViewFunctionDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/ViewFunctionDependencyFinder.php index 05edca3b..3b8960c3 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/ViewFunctionDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/ViewFunctionDependencyFinder.php @@ -13,6 +13,9 @@ class ViewFunctionDependencyFinder implements TwigDependencyFinderInterface { + /** + * @var string + */ protected const TEMPLATE_FUNCTION_PATTERN = '/view\(\'(.*?),\s\'(.*?)\'/'; /** diff --git a/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php b/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php index 09259dd8..42c3511c 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php +++ b/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php @@ -15,6 +15,9 @@ class PropelSchemaParser implements PropelSchemaParserInterface { + /** + * @var string + */ protected const PROPEL_SCHEMA_PATH_PATTERN = '*/src/%s/Zed/*/Persistence/Propel/Schema'; /** diff --git a/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleInterface.php b/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleInterface.php index 0b0490fa..9f24a3a8 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleInterface.php +++ b/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleInterface.php @@ -11,14 +11,35 @@ interface ValidationRuleInterface { + /** + * @var string + */ public const ADD_REQUIRE = 'add-require'; + /** + * @var string + */ public const ADD_REQUIRE_DEV = 'add-require-dev'; + /** + * @var string + */ public const ADD_SUGGEST = 'add-suggest'; + /** + * @var string + */ public const REMOVE_REQUIRE = 'remove-require'; + /** + * @var string + */ public const REMOVE_REQUIRE_DEV = 'remove-require-dev'; + /** + * @var string + */ public const REMOVE_SUGGEST = 'remove-suggest'; + /** + * @var string + */ public const MANUAL_FIX = 'manual-fix'; /** diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php b/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php index e62363aa..7a411356 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php @@ -23,9 +23,21 @@ class ComposerDependencyParser implements ComposerDependencyParserInterface { + /** + * @var string + */ public const TYPE_INCLUDE = 'include'; + /** + * @var string + */ public const TYPE_EXCLUDE = 'exclude'; + /** + * @var string + */ public const TYPE_INCLUDE_DEV = 'include-dev'; + /** + * @var string + */ public const TYPE_EXCLUDE_DEV = 'exclude-dev'; /** diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/AbstractDependencyFinder.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/AbstractDependencyFinder.php index 32dc899b..d166a55a 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/AbstractDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/AbstractDependencyFinder.php @@ -13,9 +13,21 @@ abstract class AbstractDependencyFinder { + /** + * @var string + */ public const DEPENDS_LAYER = 'dependsLayer'; + /** + * @var string + */ public const LAYER_BUSINESS = 'Business'; + /** + * @var string + */ public const LAYER_PERSISTENCE = 'Persistence'; + /** + * @var string + */ public const LAYER_COMMUNICATION = 'Communication'; /** diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/LocatorClient.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/LocatorClient.php index 2e5a8b5a..a2f366dd 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/LocatorClient.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/LocatorClient.php @@ -12,7 +12,13 @@ class LocatorClient extends AbstractDependencyFinder { + /** + * @var string + */ public const NO_LAYER = 'Default'; + /** + * @var string + */ public const BUNDLE = 'bundle'; /** diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/LocatorFacade.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/LocatorFacade.php index 8e834b33..c9dcf413 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/LocatorFacade.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/LocatorFacade.php @@ -12,6 +12,9 @@ class LocatorFacade extends AbstractDependencyFinder { + /** + * @var string + */ public const BUNDLE = 'bundle'; /** diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/LocatorQueryContainer.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/LocatorQueryContainer.php index 2a5ee4c5..e20cf1f2 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/LocatorQueryContainer.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/LocatorQueryContainer.php @@ -12,6 +12,9 @@ class LocatorQueryContainer extends AbstractDependencyFinder { + /** + * @var string + */ public const BUNDLE = 'bundle'; /** diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/LocatorService.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/LocatorService.php index 4c870435..d6fbe87d 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/LocatorService.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/LocatorService.php @@ -12,7 +12,13 @@ class LocatorService extends AbstractDependencyFinder { + /** + * @var string + */ public const NO_LAYER = 'Default'; + /** + * @var string + */ public const BUNDLE = 'bundle'; /** diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/UseStatement.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/UseStatement.php index 64c3ae94..1f9987f0 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/UseStatement.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/UseStatement.php @@ -12,7 +12,13 @@ class UseStatement extends AbstractDependencyFinder { + /** + * @var string + */ public const LAYER_DEFAULT = 'Default'; + /** + * @var string + */ public const BUNDLE = 'bundle'; /** diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/ExternalGraphBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/ExternalGraphBuilder.php index c51b9114..76aaa416 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/ExternalGraphBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/ExternalGraphBuilder.php @@ -12,7 +12,13 @@ class ExternalGraphBuilder implements GraphBuilderInterface { + /** + * @var string + */ public const FONT_COLOR = 'fontcolor'; + /** + * @var string + */ public const LABEL = 'label'; /** diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/GraphBuilderInterface.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/GraphBuilderInterface.php index 3372d951..a24ad160 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/GraphBuilderInterface.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/GraphBuilderInterface.php @@ -9,7 +9,13 @@ interface GraphBuilderInterface { + /** + * @var string + */ public const ENGINE_BUNDLE_FONT_COLOR = 'grey'; + /** + * @var string + */ public const ENGINE_BUNDLE_INFO_TEXT = '
(engine)'; /** diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/SimpleGraphBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/SimpleGraphBuilder.php index 78bfbe02..4d4fbd9b 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/SimpleGraphBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/SimpleGraphBuilder.php @@ -12,7 +12,13 @@ class SimpleGraphBuilder implements GraphBuilderInterface { + /** + * @var string + */ public const FONT_COLOR = 'fontcolor'; + /** + * @var string + */ public const LABEL = 'label'; /** diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageVersionHydrator.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageVersionHydrator.php index d6b1d9a5..901ecc3e 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageVersionHydrator.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageVersionHydrator.php @@ -11,7 +11,13 @@ class PackageVersionHydrator implements DependencyHydratorInterface { + /** + * @var string + */ public const NAME = 'name'; + /** + * @var string + */ public const VERSION = 'version'; /** diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTree.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTree.php index 77213db1..47cd1769 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTree.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTree.php @@ -11,22 +11,73 @@ class DependencyTree extends AbstractDependencyTree { + /** + * @var string + */ public const META_FINDER = 'finder'; + /** + * @var string + */ public const META_FILE = 'file'; + /** + * @var string + */ public const META_IN_TEST = 'in test'; + /** + * @var string + */ public const META_IS_OPTIONAL = 'is optional'; + /** + * @var string + */ public const META_ORGANIZATION = 'organization'; + /** + * @var string + */ public const META_CLASS_NAME = 'class name'; + /** + * @var string + */ public const META_FOREIGN_BUNDLE = 'foreign bundle'; + /** + * @var string + */ public const META_FOREIGN_BUNDLE_IS_ENGINE = 'foreign bundle is engine'; + /** + * @var string + */ public const META_FOREIGN_LAYER = 'foreign layer'; + /** + * @var string + */ public const META_FOREIGN_CLASS_NAME = 'foreign class name'; + /** + * @var string + */ public const META_FOREIGN_IS_EXTERNAL = 'foreign is external'; + /** + * @var string + */ public const META_APPLICATION = 'application'; + /** + * @var string + */ public const META_MODULE = 'bundle'; + /** + * @var string + */ public const META_MODULE_IS_ENGINE = 'is engine'; + /** + * @var string + */ public const META_LAYER = 'layer'; + /** + * @var string + */ public const META_COMPOSER_NAME = 'composer name'; + /** + * @var string + */ public const META_COMPOSER_VERSION = 'composer version'; /** diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/FileInfoExtractor.php b/src/Spryker/Zed/Development/Business/DependencyTree/FileInfoExtractor.php index 231b466f..a2a54c12 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/FileInfoExtractor.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/FileInfoExtractor.php @@ -13,6 +13,9 @@ class FileInfoExtractor { + /** + * @var string + */ public const LAYER = 'Default'; /** diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/AbstractPathBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/AbstractPathBuilder.php index de2acc4c..03c031df 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/AbstractPathBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/AbstractPathBuilder.php @@ -14,8 +14,14 @@ class AbstractPathBuilder { + /** + * @var string + */ protected const ORGANIZATION = ''; + /** + * @var array + */ protected const LOOKUP_NAMESPACES = []; /** diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/SprykerEcoPathBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/SprykerEcoPathBuilder.php index bac04e80..5ed92633 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/SprykerEcoPathBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/SprykerEcoPathBuilder.php @@ -9,8 +9,14 @@ class SprykerEcoPathBuilder extends AbstractPathBuilder implements PathBuilderInterface { + /** + * @var string + */ protected const ORGANIZATION = 'SprykerEco'; + /** + * @var array + */ protected const LOOKUP_NAMESPACES = [ 'src' => 'SprykerEco', 'tests' => 'SprykerEcoTest', diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/SprykerMerchantPortalPathBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/SprykerMerchantPortalPathBuilder.php index 3e70474b..751ff5fe 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/SprykerMerchantPortalPathBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/SprykerMerchantPortalPathBuilder.php @@ -9,8 +9,14 @@ class SprykerMerchantPortalPathBuilder extends AbstractPathBuilder implements PathBuilderInterface { + /** + * @var string + */ protected const ORGANIZATION = 'SprykerMerchantPortal'; + /** + * @var array + */ protected const LOOKUP_NAMESPACES = [ 'src' => 'SprykerMerchantPortal', 'tests' => 'SprykerMerchantPortalTest', diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/SprykerPathBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/SprykerPathBuilder.php index 6e29473c..c7f3d129 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/SprykerPathBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/SprykerPathBuilder.php @@ -9,8 +9,14 @@ class SprykerPathBuilder extends AbstractPathBuilder implements PathBuilderInterface { + /** + * @var string + */ protected const ORGANIZATION = 'Spryker'; + /** + * @var array + */ protected const LOOKUP_NAMESPACES = [ 'src' => 'Spryker', 'tests' => 'SprykerTest', diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/SprykerSdkPathBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/SprykerSdkPathBuilder.php index 9411dc0e..aea073a5 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/SprykerSdkPathBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/SprykerSdkPathBuilder.php @@ -9,8 +9,14 @@ class SprykerSdkPathBuilder extends AbstractPathBuilder implements PathBuilderInterface { + /** + * @var string + */ protected const ORGANIZATION = 'SprykerSdk'; + /** + * @var array + */ protected const LOOKUP_NAMESPACES = [ 'src' => 'SprykerSdk', 'tests' => 'SprykerSdkTest', diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/SprykerShopPathBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/SprykerShopPathBuilder.php index e3ca42c2..bc39cfe4 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/SprykerShopPathBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/SprykerShopPathBuilder.php @@ -9,8 +9,14 @@ class SprykerShopPathBuilder extends AbstractPathBuilder implements PathBuilderInterface { + /** + * @var string + */ protected const ORGANIZATION = 'SprykerShop'; + /** + * @var array + */ protected const LOOKUP_NAMESPACES = [ 'src' => 'SprykerShop', 'tests' => 'SprykerShopTest', diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/AbstractBundleMethodBuilder.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/AbstractBundleMethodBuilder.php index e61bbdb4..ae5930be 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/AbstractBundleMethodBuilder.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/AbstractBundleMethodBuilder.php @@ -14,6 +14,9 @@ abstract class AbstractBundleMethodBuilder implements BundleMethodBuilderInterface { + /** + * @var string + */ public const FILE_EXTENSION = 'php'; /** diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionConstants.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionConstants.php index c25f0fe4..ac03866c 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionConstants.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionConstants.php @@ -9,6 +9,12 @@ final class IdeAutoCompletionConstants { + /** + * @var string + */ public const APPLICATION_NAME_PLACEHOLDER = '{{APPLICATION_NAME}}'; + /** + * @var string + */ public const DIRECTORY_PERMISSION = 'DIRECTORY_PERMISSION'; } diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionOptionConstants.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionOptionConstants.php index 7d2486ee..0a64ad49 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionOptionConstants.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionOptionConstants.php @@ -9,13 +9,40 @@ final class IdeAutoCompletionOptionConstants { + /** + * @var string + */ public const TARGET_BASE_DIRECTORY = 'target_base_directory'; + /** + * @var string + */ public const TARGET_DIRECTORY_PATTERN = 'target_path_pattern'; + /** + * @var string + */ public const TARGET_NAMESPACE_PATTERN = 'target_namespace_pattern'; + /** + * @var string + */ public const APPLICATION_NAME = 'application_name'; + /** + * @var string + */ public const YVES = 'Yves'; + /** + * @var string + */ public const ZED = 'Zed'; + /** + * @var string + */ public const CLIENT = 'Client'; + /** + * @var string + */ public const GLUE = 'Glue'; + /** + * @var string + */ public const SERVICE = 'Service'; } diff --git a/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php b/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php index 7dae8952..db6ddc29 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php @@ -14,11 +14,23 @@ class PhpMdRunner { + /** + * @var int + */ public const CODE_SUCCESS = 0; + /** + * @var string + */ public const BUNDLE_ALL = 'all'; + /** + * @var string + */ public const OPTION_DRY_RUN = 'dry-run'; + /** + * @var string + */ public const OPTION_FORMAT = 'format'; /** diff --git a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjects.php b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjects.php index 1de2c94d..ef1d96c3 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjects.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjects.php @@ -13,7 +13,13 @@ class CouplingBetweenObjects extends AbstractRule implements ClassAware { + /** + * @var string + */ public const COUPLING_BETWEEN_OBJECTS = 'cbo'; + /** + * @var string + */ public const THRESHOLD = 'minimum'; /** diff --git a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildren.php b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildren.php index ff3bc6ef..937047ea 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildren.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildren.php @@ -13,7 +13,13 @@ class NumberOfChildren extends AbstractRule implements ClassAware { + /** + * @var string + */ public const NUMBER_OF_CHILDREN = 'nocc'; + /** + * @var string + */ public const THRESHOLD = 'minimum'; /** diff --git a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethods.php b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethods.php index 3fd2caf0..3d5a83d1 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethods.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethods.php @@ -14,7 +14,13 @@ class TooManyMethods extends AbstractRule implements ClassAware { + /** + * @var string + */ public const MAX_METHODS = 'maxmethods'; + /** + * @var string + */ public const METHODS_IGNORE_PATTERN = 'ignorepattern'; /** diff --git a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethods.php b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethods.php index 231ffadb..22e767d6 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethods.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethods.php @@ -14,7 +14,13 @@ class TooManyPublicMethods extends AbstractRule implements ClassAware { + /** + * @var string + */ public const NUMBER_OF_PUBLIC_METHODS = 'npm'; + /** + * @var string + */ public const THRESHOLD = 'maxmethods'; /** diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index f9decd1e..9d5a9e76 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -24,22 +24,61 @@ class PhpstanRunner implements PhpstanRunnerInterface { use PathTrait; + /** + * @var string + */ public const NAMESPACE_SPRYKER_SHOP = 'SprykerShop'; + /** + * @var string + */ public const NAMESPACE_SPRYKER = 'Spryker'; + /** + * @var string + */ public const DEFAULT_LEVEL = 'defaultLevel'; + /** + * @var string + */ public const MEMORY_LIMIT = '-1'; + /** + * @var int + */ public const CODE_SUCCESS = 0; + /** + * @var string + */ public const OPTION_DRY_RUN = 'dry-run'; + /** + * @var string + */ public const OPTION_VERBOSE = 'verbose'; + /** + * @var string + */ public const OPTION_MODULE = 'module'; + /** + * @var string + */ public const OPTION_LEVEL = 'level'; + /** + * @var string + */ public const OPTION_OFFSET = 'offset'; + /** + * @var int + */ protected const SUCCESS_EXIT_CODE = 0; + /** + * @var int + */ protected const ERROR_EXIT_CODE = 1; + /** + * @var string + */ protected const PHPSTAN_MEMORY_LIMIT = '4000M'; /** diff --git a/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php b/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php index 4cc0f240..afb80b49 100644 --- a/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php +++ b/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php @@ -13,9 +13,21 @@ class ArchitectureSnifferConfigurationBuilder implements SnifferConfigurationBuilderInterface { + /** + * @var string + */ protected const CONFIG_NAME = 'architecture-sniffer'; + /** + * @var string + */ protected const CONFIG_PRIORITY_NAME = 'priority'; + /** + * @var int + */ protected const CONFIG_PRIORITY_SKIP_VALUE = 0; + /** + * @var string + */ protected const CONFIG_IGNORE_ERRORS = 'ignoreErrors'; /** diff --git a/src/Spryker/Zed/Development/Business/SnifferConfiguration/ConfigurationReader/ConfigurationReader.php b/src/Spryker/Zed/Development/Business/SnifferConfiguration/ConfigurationReader/ConfigurationReader.php index ec126624..8b930de5 100644 --- a/src/Spryker/Zed/Development/Business/SnifferConfiguration/ConfigurationReader/ConfigurationReader.php +++ b/src/Spryker/Zed/Development/Business/SnifferConfiguration/ConfigurationReader/ConfigurationReader.php @@ -11,6 +11,9 @@ class ConfigurationReader implements ConfigurationReaderInterface { + /** + * @var string + */ protected const CONFIG_FILE_NAME = 'tooling.yml'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php b/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php index 09367bbe..42835871 100644 --- a/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php @@ -23,6 +23,9 @@ */ class AbstractCoreModuleAwareConsole extends Console { + /** + * @var string + */ protected const ARGUMENT_MODULE = 'module'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php index c720e35f..e49f79ad 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php @@ -27,17 +27,50 @@ */ class CodeArchitectureSnifferConsole extends Console { + /** + * @var string + */ protected const COMMAND_NAME = 'code:sniff:architecture'; + /** + * @var string + */ protected const OPTION_MODULE = 'module'; + /** + * @var string + */ protected const OPTION_STRICT = 'strict'; + /** + * @var string + */ protected const OPTION_PRIORITY = 'priority'; + /** + * @var string + */ protected const OPTION_DRY_RUN = 'dry-run'; + /** + * @var string + */ protected const ARGUMENT_SUB_PATH = 'path'; + /** + * @var string + */ protected const OPTION_VERBOSE = 'verbose'; + /** + * @var array + */ protected const APPLICATION_LAYERS = ['Zed', 'Client', 'Yves', 'Service', 'Shared']; + /** + * @var string + */ protected const NAMESPACE_SPRYKER_SHOP = 'SprykerShop'; + /** + * @var string + */ protected const NAMESPACE_SPRYKER = 'Spryker'; + /** + * @var string + */ protected const SOURCE_FOLDER_NAME = 'src'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php index acd4f6e1..1be468e2 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php @@ -18,10 +18,25 @@ */ class CodeFixturesConsole extends Console { + /** + * @var string + */ public const COMMAND_NAME = 'code:fixtures'; + /** + * @var string + */ public const OPTION_MODULE = 'module'; + /** + * @var string + */ public const OPTION_INITIALIZE = 'initialize'; + /** + * @var string + */ public const OPTION_GROUP = 'group'; + /** + * @var string + */ public const OPTION_TYPE_EXCLUDE = 'exclude'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/CodePhpMessDetectorConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodePhpMessDetectorConsole.php index b2e66cd0..73352ca8 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodePhpMessDetectorConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodePhpMessDetectorConsole.php @@ -18,10 +18,25 @@ */ class CodePhpMessDetectorConsole extends Console { + /** + * @var string + */ public const COMMAND_NAME = 'code:phpmd'; + /** + * @var string + */ public const OPTION_MODULE = 'module'; + /** + * @var string + */ public const OPTION_MODULE_ALL = 'all'; + /** + * @var string + */ public const OPTION_DRY_RUN = 'dry-run'; + /** + * @var string + */ public const OPTION_FORMAT = 'format'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php index 2e80b559..8cbfdb74 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php @@ -19,6 +19,9 @@ */ class CodePhpstanConsole extends Console { + /** + * @var string + */ protected const COMMAND_NAME = 'code:phpstan'; protected const OPTION_MODULE = PhpstanRunner::OPTION_MODULE; protected const OPTION_DRY_RUN = PhpstanRunner::OPTION_DRY_RUN; @@ -26,6 +29,7 @@ class CodePhpstanConsole extends Console protected const OPTION_OFFSET = PhpstanRunner::OPTION_OFFSET; /** * @deprecated Not Used + * @var string */ protected const OPTION_FORMAT = 'format'; diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php index 77e627b7..cfc7371c 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php @@ -20,14 +20,38 @@ */ class CodeStyleSnifferConsole extends Console { + /** + * @var string + */ public const COMMAND_NAME = 'code:sniff:style'; + /** + * @var string + */ public const OPTION_MODULE = 'module'; + /** + * @var string + */ public const OPTION_SNIFFS = 'sniffs'; + /** + * @var string + */ public const OPTION_DRY_RUN = 'dry-run'; + /** + * @var string + */ public const OPTION_FIX = 'fix'; + /** + * @var string + */ public const OPTION_EXPLAIN = 'explain'; + /** + * @var string + */ public const ARGUMENT_SUB_PATH = 'path'; + /** + * @var string + */ protected const OPTION_LEVEL = 'level'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php index 01eed68f..8dba67f3 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php @@ -18,12 +18,30 @@ */ class CodeTestConsole extends Console { + /** + * @var string + */ public const COMMAND_NAME = 'code:test'; + /** + * @var string + */ public const OPTION_MODULE = 'module'; + /** + * @var string + */ public const OPTION_INITIALIZE = 'initialize'; + /** + * @var string + */ public const OPTION_GROUP = 'group'; + /** + * @var string + */ public const OPTION_TYPE_EXCLUDE = 'exclude'; + /** + * @var string + */ public const OPTION_DRY_RUN = 'dry-run'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php b/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php index 175d3cc0..9d48aa73 100644 --- a/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php @@ -19,8 +19,17 @@ */ class ComposerJsonUpdaterConsole extends AbstractCoreModuleAwareConsole { + /** + * @var string + */ public const COMMAND_NAME = 'dev:composer:update-json-files'; + /** + * @var string + */ public const OPTION_DRY_RUN = 'dry-run'; + /** + * @var string + */ public const VERBOSE = 'verbose'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/ComposerJsonValidatorConsole.php b/src/Spryker/Zed/Development/Communication/Console/ComposerJsonValidatorConsole.php index 6aa2c875..cf4d7c68 100644 --- a/src/Spryker/Zed/Development/Communication/Console/ComposerJsonValidatorConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/ComposerJsonValidatorConsole.php @@ -20,6 +20,9 @@ */ class ComposerJsonValidatorConsole extends AbstractCoreModuleAwareConsole { + /** + * @var string + */ protected const COMMAND_NAME = 'dev:composer:validate-json-files'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php index 060f40d1..d953e752 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php @@ -20,10 +20,22 @@ */ class DependencyTreeBuilderConsole extends Console { + /** + * @var string + */ public const COMMAND_NAME = 'dev:dependency:build-tree'; + /** + * @var string + */ public const OPTION_APPLICATION = 'application'; + /** + * @var string + */ public const OPTION_MODULE = 'module'; + /** + * @var string + */ public const OPTION_LAYER = 'layer'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php index 3645ca88..e6918f5f 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php @@ -24,10 +24,25 @@ */ class DependencyViolationFinderConsole extends AbstractCoreModuleAwareConsole { + /** + * @var string + */ public const COMMAND_NAME = 'dev:dependency:find'; + /** + * @var string + */ public const OPTION_DEPENDENCY_TYPE = 'dependency-type'; + /** + * @var string + */ public const OPTION_DEPENDENCY_TYPE_SHORT = 'd'; + /** + * @var string + */ public const OPTION_STOP_ON_VIOLATION = 'stop-on-violation'; + /** + * @var string + */ public const OPTION_STOP_ON_VIOLATION_SHORT = 's'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php index 2c906e20..d5755dfa 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php @@ -24,8 +24,17 @@ */ class DependencyViolationFixConsole extends AbstractCoreModuleAwareConsole { + /** + * @var string + */ protected const COMMAND_NAME = 'dev:dependency:fix'; + /** + * @var string + */ protected const OPTION_DRY_RUN = 'dry-run'; + /** + * @var string + */ protected const OPTION_DRY_RUN_SHORT = 'd'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateClientIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateClientIdeAutoCompletionConsole.php index 51ef98d7..3922e2c2 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateClientIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateClientIdeAutoCompletionConsole.php @@ -17,7 +17,13 @@ */ class GenerateClientIdeAutoCompletionConsole extends Console { + /** + * @var string + */ protected const OLD_COMMAND_NAME = 'dev:ide:generate-client-auto-completion'; + /** + * @var string + */ public const COMMAND_NAME = 'dev:ide-auto-completion:client:generate'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateGlueIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateGlueIdeAutoCompletionConsole.php index fa9078e7..5c38587b 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateGlueIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateGlueIdeAutoCompletionConsole.php @@ -17,7 +17,13 @@ */ class GenerateGlueIdeAutoCompletionConsole extends Console { + /** + * @var string + */ protected const OLD_COMMAND_NAME = 'dev:ide:generate-glue-auto-completion'; + /** + * @var string + */ public const COMMAND_NAME = 'dev:ide-auto-completion:glue:generate'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php index 68f06671..7193d0d9 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php @@ -17,7 +17,13 @@ */ class GenerateIdeAutoCompletionConsole extends Console { + /** + * @var string + */ protected const OLD_COMMAND_NAME = 'dev:ide:generate-auto-completion'; + /** + * @var string + */ public const COMMAND_NAME = 'dev:ide-auto-completion:generate'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateServiceIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateServiceIdeAutoCompletionConsole.php index b91e24c9..a8932db9 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateServiceIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateServiceIdeAutoCompletionConsole.php @@ -17,7 +17,13 @@ */ class GenerateServiceIdeAutoCompletionConsole extends Console { + /** + * @var string + */ protected const OLD_COMMAND_NAME = 'dev:ide:generate-service-auto-completion'; + /** + * @var string + */ public const COMMAND_NAME = 'dev:ide-auto-completion:service:generate'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateYvesIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateYvesIdeAutoCompletionConsole.php index e4a08894..ec9262cb 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateYvesIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateYvesIdeAutoCompletionConsole.php @@ -17,7 +17,13 @@ */ class GenerateYvesIdeAutoCompletionConsole extends Console { + /** + * @var string + */ protected const OLD_COMMAND_NAME = 'dev:ide:generate-yves-auto-completion'; + /** + * @var string + */ public const COMMAND_NAME = 'dev:ide-auto-completion:yves:generate'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateZedIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateZedIdeAutoCompletionConsole.php index 02ece788..20fd3c9e 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateZedIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateZedIdeAutoCompletionConsole.php @@ -17,7 +17,13 @@ */ class GenerateZedIdeAutoCompletionConsole extends Console { + /** + * @var string + */ protected const OLD_COMMAND_NAME = 'dev:ide:generate-zed-auto-completion'; + /** + * @var string + */ public const COMMAND_NAME = 'dev:ide-auto-completion:zed:generate'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php b/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php index 0ec2fb43..3cd42aff 100644 --- a/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php @@ -21,13 +21,31 @@ */ class ModuleBridgeCreateConsole extends Console { + /** + * @var string + */ public const COMMAND_NAME = 'dev:bridge:create'; + /** + * @var string + */ public const OPTION_BRIDGE_TYPE = 'bridge type'; + /** + * @var string + */ public const OPTION_MODULE = 'from module'; + /** + * @var string + */ public const OPTION_TO_MODULE = 'to module'; + /** + * @var string + */ public const OPTION_METHODS = 'methods'; + /** + * @var string + */ public const OPTION_METHODS_SHORT = 'm'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php b/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php index 0aa494a5..b0dbfe91 100644 --- a/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php @@ -21,9 +21,21 @@ */ class ModuleCreateConsole extends Console { + /** + * @var string + */ public const COMMAND_NAME = 'dev:module:create'; + /** + * @var string + */ public const ARGUMENT_MODULE = 'module'; + /** + * @var string + */ public const ARGUMENT_FILE = 'file'; + /** + * @var string + */ public const OPTION_FORCE = 'force'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php b/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php index 1633a336..7931632b 100644 --- a/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php @@ -24,7 +24,13 @@ */ class PluginUsageFinderConsole extends Console { + /** + * @var string + */ protected const COMMAND_NAME = 'dev:plugin-usage:dump'; + /** + * @var string + */ protected const ARGUMENT_MODULE = 'module'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/PropelAbstractValidateConsole.php b/src/Spryker/Zed/Development/Communication/Console/PropelAbstractValidateConsole.php index fff14a04..35e2843c 100644 --- a/src/Spryker/Zed/Development/Communication/Console/PropelAbstractValidateConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/PropelAbstractValidateConsole.php @@ -20,8 +20,17 @@ */ class PropelAbstractValidateConsole extends Console { + /** + * @var string + */ protected const COMMAND_NAME = 'code:propel:validate-abstract'; + /** + * @var string + */ protected const OPTION_MODULE = 'module'; + /** + * @var string + */ protected const OPTION_STRICT = 'strict'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveClientIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveClientIdeAutoCompletionConsole.php index be18e5ef..d70a14c8 100644 --- a/src/Spryker/Zed/Development/Communication/Console/RemoveClientIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveClientIdeAutoCompletionConsole.php @@ -17,6 +17,9 @@ */ class RemoveClientIdeAutoCompletionConsole extends Console { + /** + * @var string + */ public const COMMAND_NAME = 'dev:ide-auto-completion:client:remove'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveGlueIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveGlueIdeAutoCompletionConsole.php index 9efbdfc3..80f03cc0 100644 --- a/src/Spryker/Zed/Development/Communication/Console/RemoveGlueIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveGlueIdeAutoCompletionConsole.php @@ -17,6 +17,9 @@ */ class RemoveGlueIdeAutoCompletionConsole extends Console { + /** + * @var string + */ public const COMMAND_NAME = 'dev:ide-auto-completion:glue:remove'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php index 726cee16..a0b89a84 100644 --- a/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php @@ -17,6 +17,9 @@ */ class RemoveIdeAutoCompletionConsole extends Console { + /** + * @var string + */ public const COMMAND_NAME = 'dev:ide-auto-completion:remove'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveServiceIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveServiceIdeAutoCompletionConsole.php index 63cf5a2e..e1b653a3 100644 --- a/src/Spryker/Zed/Development/Communication/Console/RemoveServiceIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveServiceIdeAutoCompletionConsole.php @@ -17,6 +17,9 @@ */ class RemoveServiceIdeAutoCompletionConsole extends Console { + /** + * @var string + */ public const COMMAND_NAME = 'dev:ide-auto-completion:service:remove'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveYvesIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveYvesIdeAutoCompletionConsole.php index ebe36f19..dab68c14 100644 --- a/src/Spryker/Zed/Development/Communication/Console/RemoveYvesIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveYvesIdeAutoCompletionConsole.php @@ -17,6 +17,9 @@ */ class RemoveYvesIdeAutoCompletionConsole extends Console { + /** + * @var string + */ public const COMMAND_NAME = 'dev:ide-auto-completion:yves:remove'; /** diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveZedIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveZedIdeAutoCompletionConsole.php index 22793f13..66680df3 100644 --- a/src/Spryker/Zed/Development/Communication/Console/RemoveZedIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveZedIdeAutoCompletionConsole.php @@ -17,6 +17,9 @@ */ class RemoveZedIdeAutoCompletionConsole extends Console { + /** + * @var string + */ public const COMMAND_NAME = 'dev:ide-auto-completion:zed:remove'; /** diff --git a/src/Spryker/Zed/Development/Communication/Controller/DependencyController.php b/src/Spryker/Zed/Development/Communication/Controller/DependencyController.php index 3238326d..f55c6f50 100644 --- a/src/Spryker/Zed/Development/Communication/Controller/DependencyController.php +++ b/src/Spryker/Zed/Development/Communication/Controller/DependencyController.php @@ -19,8 +19,17 @@ */ class DependencyController extends AbstractController { + /** + * @var string + */ public const APPLICATION_ZED = 'Zed'; + /** + * @var string + */ public const QUERY_KEY_BUILD_TREE = 'build-tree'; + /** + * @var string + */ public const QUERY_KEY_MODULE = 'bundle'; /** diff --git a/src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php b/src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php index 1f36d989..4734e25b 100644 --- a/src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php +++ b/src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php @@ -20,9 +20,21 @@ */ class BundlesFormType extends AbstractType { + /** + * @var string + */ public const FORM_TYPE_NAME = 'bundlesFormType'; + /** + * @var string + */ public const BUNDLE_NAME_CHOICES = 'bundleNames'; + /** + * @var string + */ public const EXCLUDED_BUNDLES = 'excludedBundles'; + /** + * @var string + */ public const SHOW_INCOMING = 'showIncoming'; /** diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 7b7f909c..0472a824 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -15,22 +15,55 @@ class DevelopmentConfig extends AbstractBundleConfig { + /** + * @var string + */ public const BUNDLE_PLACEHOLDER = '[BUNDLE]'; + /** + * @var string + */ protected const PHPSTAN_CONFIG_FILENAME = 'phpstan.neon'; + /** + * @var string + */ protected const NAMESPACE_SPRYKER = 'Spryker'; + /** + * @var string + */ protected const NAMESPACE_SPRYKER_SHOP = 'SprykerShop'; + /** + * @var string + */ protected const NAMESPACE_SPRYKER_ECO = 'SprykerEco'; + /** + * @var string + */ protected const NAMESPACE_SPRYKER_SDK = 'SprykerSdk'; + /** + * @var string + */ protected const NAMESPACE_SPRYKER_MIDDLEWARE = 'SprykerMiddleware'; + /** + * @var string + */ protected const NAMESPACE_SPRYKER_MERCHANT_PORTAL = 'SprykerMerchantPortal'; + /** + * @var string + */ protected const GROUP_SPRYKER_TEST = 'SprykerTest'; + /** + * @var array + */ public const APPLICATION_NAMESPACES = [ 'Orm', ]; + /** + * @var array + */ public const APPLICATIONS = [ 'Client', 'Service', @@ -40,12 +73,19 @@ class DevelopmentConfig extends AbstractBundleConfig 'Glue', ]; + /** + * @var array + */ protected const INTERNAL_NAMESPACES_LIST = [ self::NAMESPACE_SPRYKER, self::NAMESPACE_SPRYKER_SHOP, self::NAMESPACE_SPRYKER_MERCHANT_PORTAL, ]; + /** + * @phpstan-var array + * @var string[] + */ protected const INTERNAL_NAMESPACES_TO_PATH_MAPPING = [ self::NAMESPACE_SPRYKER => APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . 'vendor/spryker/', self::NAMESPACE_SPRYKER_SHOP => APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . 'vendor/spryker-shop/', @@ -55,8 +95,15 @@ class DevelopmentConfig extends AbstractBundleConfig self::NAMESPACE_SPRYKER_MERCHANT_PORTAL => APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . 'vendor/spryker-merchant-portal/', ]; + /** + * @phpstan-var array + * @var array + */ protected const INTERNAL_PACKAGE_DIRECTORIES = ['spryker', 'spryker-shop', 'spryker-merchant-portal']; + /** + * @var int + */ protected const TIMEOUT_DEFAULT = 9000; /** @@ -522,6 +569,7 @@ protected function getDefaultIdeAutoCompletionOptions() /** * @api * + * @phpstan-return array * @return string[] */ public function getIdeAutoCompletionSourceDirectoryGlobPatterns() diff --git a/src/Spryker/Zed/Development/DevelopmentDependencyProvider.php b/src/Spryker/Zed/Development/DevelopmentDependencyProvider.php index 986e3404..c14ca0fb 100644 --- a/src/Spryker/Zed/Development/DevelopmentDependencyProvider.php +++ b/src/Spryker/Zed/Development/DevelopmentDependencyProvider.php @@ -22,12 +22,33 @@ */ class DevelopmentDependencyProvider extends AbstractBundleDependencyProvider { + /** + * @var string + */ public const FACADE_MODULE_FINDER = 'module finder facade'; + /** + * @var string + */ public const PLUGIN_GRAPH = 'graph plugin'; + /** + * @var string + */ public const FINDER = 'finder'; + /** + * @var string + */ public const FILESYSTEM = 'filesystem'; + /** + * @var string + */ public const CONFIG_LOADER = 'config loader'; + /** + * @var string + */ public const TWIG_ENVIRONMENT = 'twig environment'; + /** + * @var string + */ public const TWIG_LOADER_FILESYSTEM = 'twig loader filesystem'; /** diff --git a/tests/SprykerTest/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParserTest.php b/tests/SprykerTest/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParserTest.php index bff32e5f..828a6096 100644 --- a/tests/SprykerTest/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParserTest.php +++ b/tests/SprykerTest/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParserTest.php @@ -29,7 +29,13 @@ */ class PropelSchemaParserTest extends Unit { + /** + * @var string + */ protected const GENERATED_SCHEMA_FILES = 'SchemaFiles'; + /** + * @var string + */ protected const PROPEL_SCHEMA_PATH_PATTERN = '*/%s'; /** diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php index 957ff386..47c78ded 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php @@ -29,7 +29,13 @@ */ class ClientMethodBuilderTest extends Unit { + /** + * @var string + */ public const BASE_DIRECTORY = '/foo/bar/baz/*/src/'; + /** + * @var string + */ public const BUNDLE_DIRECTORY = '/foo/bar/baz/FooBundle/src/Spryker/Client/'; /** diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php index f9200ec0..715ab56e 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php @@ -30,7 +30,13 @@ */ class FacadeMethodBuilderTest extends Unit { + /** + * @var string + */ public const BASE_DIRECTORY = '/foo/bar/baz/*/src/'; + /** + * @var string + */ public const BUNDLE_DIRECTORY = '/foo/bar/baz/FooBundle/src/Spryker/FooApplication/'; /** diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php index e4805639..1fee6006 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php @@ -29,7 +29,13 @@ */ class QueryContainerMethodBuilderTest extends Unit { + /** + * @var string + */ public const BASE_DIRECTORY = '/foo/bar/baz/*/src/'; + /** + * @var string + */ public const BUNDLE_DIRECTORY = '/foo/bar/baz/FooBundle/src/Spryker/FooApplication/'; /** diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php index 8643d039..440c8694 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php @@ -29,7 +29,13 @@ */ class ServiceMethodBuilderTest extends Unit { + /** + * @var string + */ public const BASE_DIRECTORY = '/foo/bar/baz/*/src/'; + /** + * @var string + */ public const BUNDLE_DIRECTORY = '/foo/bar/baz/FooBundle/src/Spryker/Service/'; /** diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjectsTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjectsTest.php index 98a7277d..111c13cf 100644 --- a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjectsTest.php +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjectsTest.php @@ -26,7 +26,13 @@ */ class CouplingBetweenObjectsTest extends Unit { + /** + * @var int + */ public const NUMBER_OF_COUPLING_BETWEEN_OBJECTS = 2; + /** + * @var int + */ public const THRESHOLD = 1; /** diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildrenTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildrenTest.php index 87da5089..e8f27cc8 100644 --- a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildrenTest.php +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildrenTest.php @@ -26,7 +26,13 @@ */ class NumberOfChildrenTest extends Unit { + /** + * @var int + */ public const NUMBER_OF_CHILDREN = 2; + /** + * @var int + */ public const THRESHOLD = 1; /** diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php index 2e0e8a20..d8025702 100644 --- a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php @@ -27,8 +27,17 @@ */ class TooManyMethodsTest extends Unit { + /** + * @var int + */ public const THRESHOLD_LOW = 1; + /** + * @var int + */ public const THRESHOLD_HIGH = 3; + /** + * @var int + */ public const NUMBER_OF_METHODS = 2; /** diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php index 8fd81fc5..189793bd 100644 --- a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php @@ -27,8 +27,17 @@ */ class TooManyPublicMethodsTest extends Unit { + /** + * @var int + */ public const THRESHOLD_LOW = 1; + /** + * @var int + */ public const THRESHOLD_HIGH = 3; + /** + * @var int + */ public const NUMBER_OF_METHODS = 2; /** diff --git a/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilderTest.php index 914dfc42..961112ce 100644 --- a/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilderTest.php @@ -23,7 +23,13 @@ */ class ArchitectureSnifferConfigurationBuilderTest extends Unit { + /** + * @var string + */ protected const CONFIG_PRIORITY_NAME = 'priority'; + /** + * @var string + */ protected const CONFIG_IGNORE_ERRORS = 'ignoreErrors'; /** diff --git a/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php b/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php index 2d3cd972..5086e890 100644 --- a/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php +++ b/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php @@ -35,6 +35,9 @@ class DevelopmentBusinessTester extends Actor { use _generated\DevelopmentBusinessTesterActions; + /** + * @var int + */ protected const DEFAULT_PRIORITY = 2; /** diff --git a/tests/SprykerTest/Zed/Development/_support/Helper/IdeAutoCompletion.php b/tests/SprykerTest/Zed/Development/_support/Helper/IdeAutoCompletion.php index 638102da..def45f66 100644 --- a/tests/SprykerTest/Zed/Development/_support/Helper/IdeAutoCompletion.php +++ b/tests/SprykerTest/Zed/Development/_support/Helper/IdeAutoCompletion.php @@ -12,6 +12,9 @@ class IdeAutoCompletion extends Module { + /** + * @var string + */ public const TEST_TARGET_DIRECTORY = '/tmp/development-ide-auto-completion-test/'; /** diff --git a/tests/SprykerTest/Zed/Development/_support/Helper/SnifferConfigurationHelper.php b/tests/SprykerTest/Zed/Development/_support/Helper/SnifferConfigurationHelper.php index fba0a6ac..66433012 100644 --- a/tests/SprykerTest/Zed/Development/_support/Helper/SnifferConfigurationHelper.php +++ b/tests/SprykerTest/Zed/Development/_support/Helper/SnifferConfigurationHelper.php @@ -11,11 +11,29 @@ class SnifferConfigurationHelper extends Module { + /** + * @var string + */ protected const PATH_SPRYKER_ZED_ACL_MODULE = 'ConfigurationReader/Spryker/Zed/Acl/'; + /** + * @var string + */ protected const PATH_SPRYKER_ZED_CUSTOMER_MODULE = 'ConfigurationReader/Spryker/Zed/Customer/'; + /** + * @var string + */ protected const PATH_SPRYKER_ZED_COUNTRY_MODULE = 'ConfigurationReader/Spryker/Zed/Country/'; + /** + * @var string + */ protected const PATH_SPRYKER_ZED_DISCOUNT_MODULE = 'ConfigurationReader/Spryker/Zed/Discount/'; + /** + * @var string + */ protected const PATH_SPRYKER_ZED_PRODUCT_MODULE = 'ConfigurationReader/Spryker/Zed/Product/'; + /** + * @var string + */ protected const PATH_CUSTOM_FOLDER = 'ConfigurationReader/custom/'; /** From 66edc8d2ac4c3c899b16ee97a0baee1e211657e8 Mon Sep 17 00:00:00 2001 From: mscherer Date: Wed, 8 Sep 2021 01:37:27 +0200 Subject: [PATCH 238/336] TE-9806 Fix CS --- src/Spryker/Zed/Development/DevelopmentConfig.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 0472a824..b4a7fe56 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -570,6 +570,7 @@ protected function getDefaultIdeAutoCompletionOptions() * @api * * @phpstan-return array + * * @return string[] */ public function getIdeAutoCompletionSourceDirectoryGlobPatterns() From 39808f17d5ca2ef335bbc269e04a26b4764ccf6f Mon Sep 17 00:00:00 2001 From: mscherer Date: Fri, 10 Sep 2021 15:03:10 +0200 Subject: [PATCH 239/336] Fix broken composer json mod in Dev module. --- .../Business/Composer/ComposerJsonUpdater.php | 11 +- .../Business/Composer/Util/ComposerJson.php | 103 ++++++++++++++++++ .../Console/DependencyViolationFixConsole.php | 15 +-- 3 files changed, 110 insertions(+), 19 deletions(-) create mode 100644 src/Spryker/Zed/Development/Business/Composer/Util/ComposerJson.php diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php index 0f5c46a1..e59938f7 100644 --- a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php @@ -10,6 +10,7 @@ use Laminas\Filter\Word\CamelCaseToDash; use RuntimeException; use Spryker\Zed\Development\Business\Composer\Updater\UpdaterInterface; +use Spryker\Zed\Development\Business\Composer\Util\ComposerJson; use Spryker\Zed\Development\Business\Exception\DependencyTree\InvalidComposerJsonException; use Symfony\Component\Finder\SplFileInfo; @@ -72,14 +73,12 @@ public function update(array $moduleTransferCollection, $dryRun = false) * @param \Symfony\Component\Finder\SplFileInfo $composerJsonFile * @param bool $dryRun * - * @throws \RuntimeException - * * @return bool */ protected function updateComposerJsonFile(SplFileInfo $composerJsonFile, $dryRun = false) { $composerJson = $composerJsonFile->getContents(); - $composerJsonArray = json_decode($composerJson, true); + $composerJsonArray = ComposerJson::fromString($composerJson); if (!empty($composerJsonArray['abandoned'])) { return false; @@ -91,11 +90,7 @@ protected function updateComposerJsonFile(SplFileInfo $composerJsonFile, $dryRun $composerJsonArray = $this->clean($composerJsonArray); $composerJsonArray = $this->order($composerJsonArray); - $modifiedComposerJson = json_encode($composerJsonArray, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT); - if ($modifiedComposerJson === false) { - throw new RuntimeException('Cannot create composer.json file for ' . $composerJsonArray['name']); - } - $modifiedComposerJson .= PHP_EOL; + $modifiedComposerJson = ComposerJson::toString($composerJsonArray); if ($modifiedComposerJson === $composerJson) { return false; diff --git a/src/Spryker/Zed/Development/Business/Composer/Util/ComposerJson.php b/src/Spryker/Zed/Development/Business/Composer/Util/ComposerJson.php new file mode 100644 index 00000000..0c7320d0 --- /dev/null +++ b/src/Spryker/Zed/Development/Business/Composer/Util/ComposerJson.php @@ -0,0 +1,103 @@ +setName(static::COMMAND_NAME) - ->addOption(static::OPTION_DRY_RUN, 'd', InputOption::VALUE_NONE, 'Dry-run the command, changed composer.json will not be saved.') + ->addOption(static::OPTION_DRY_RUN, static::OPTION_DRY_RUN_SHORT, InputOption::VALUE_NONE, 'Dry-run the command, changed composer.json will not be saved.') ->setDescription('Fix dependency violations in composer.json.'); } @@ -146,8 +146,7 @@ protected function getMissingComposerName(ModuleDependencyTransfer $moduleDepend protected function getComposerJsonAsArray(ModuleTransfer $moduleTransfer): array { $composerJsonFile = $moduleTransfer->getPath() . '/composer.json'; - $composerJsonContent = file_get_contents($composerJsonFile); - $composerJsonArray = json_decode($composerJsonContent, true); + $composerJsonArray = ComposerJson::fromFile($composerJsonFile); return $composerJsonArray; } @@ -168,13 +167,7 @@ protected function saveComposerJsonArray(ModuleTransfer $moduleTransfer, array $ $composerJsonArray = $this->orderEntriesInComposerJsonArray($composerJsonArray); $composerJsonArray = $this->removeEmptyEntriesInComposerJsonArray($composerJsonArray); - if (isset($composerJsonArray['scripts']) && empty($composerJsonArray['scripts'])) { - $composerJsonArray['scripts'] = new stdClass(); - } - $modifiedComposerJson = json_encode($composerJsonArray, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT); - $modifiedComposerJson .= PHP_EOL; - - file_put_contents($composerJsonFile, $modifiedComposerJson); + ComposerJson::toFile($composerJsonFile, $composerJsonArray); } /** From 68af0660fcbd3de75f6eee6516257b02b418d79d Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Fri, 17 Sep 2021 13:54:32 +0200 Subject: [PATCH 240/336] TE-9886 CS iterable generics (#8722) TE-9886 CodeSniffer update for iterable generics --- .../ArchitectureSniffer/AllBundleFinder.php | 2 +- .../ArchitectureSniffer/AllModuleFinder.php | 2 +- .../ArchitectureSniffer.php | 8 +++--- .../CodeBuilder/Module/ModuleBuilder.php | 2 +- .../Config/CodeStyleSnifferConfiguration.php | 2 +- .../Business/CodeTest/CodeTester.php | 2 +- .../Builder/CodeceptionArgumentsBuilder.php | 4 +-- .../Argument/CodeceptionArguments.php | 6 ++--- .../Business/Composer/ComposerJsonUpdater.php | 2 +- .../Composer/ComposerJsonUpdaterInterface.php | 2 +- .../Business/Composer/ComposerNameFinder.php | 12 ++++----- .../Updater/ComposerUpdaterComposite.php | 2 +- .../Business/Composer/Util/ComposerJson.php | 2 +- .../ComposerJsonValidatorComposite.php | 4 +-- .../ExternalDependencyParser.php | 2 +- .../DependencyFinderComposite.php | 4 +-- .../ModuleAnnotationDependencyFinder.php | 2 +- .../DependencyFinder/TwigDependencyFinder.php | 2 +- .../Business/Dependency/Manager.php | 4 +-- .../Business/Dependency/ManagerInterface.php | 2 +- .../Mapper/DependencyModuleMapper.php | 2 +- .../SchemaParser/PropelSchemaParser.php | 22 ++++++++-------- .../PropelSchemaParserInterface.php | 2 +- .../TwigFileFinder/TwigFileFinder.php | 2 +- .../TwigFileFinderInterface.php | 2 +- .../Validator/DependencyValidator.php | 4 +-- .../ValidationRuleComposite.php | 4 +-- .../ComposerDependencyParser.php | 2 +- .../DependencyFilter/DependencyFilter.php | 2 +- .../DependencyFilter/TreeFilter.php | 2 +- .../DependencyHydrator/DependencyHydrator.php | 2 +- .../PackageNameHydrator.php | 2 +- .../PackageVersionHydrator.php | 2 +- .../DependencyTree/DependencyTreeBuilder.php | 2 +- .../DependencyTree/Finder/FileFinder.php | 2 +- .../DependencyTree/Finder/FinderComposite.php | 2 +- .../DependencyTree/Finder/FinderInterface.php | 2 +- .../PathBuilder/AbstractPathBuilder.php | 2 +- .../ViolationFinder/ViolationFinder.php | 2 +- .../Business/DevelopmentBusinessFactory.php | 16 ++++++------ .../Business/DevelopmentFacade.php | 12 ++++----- .../Business/DevelopmentFacadeInterface.php | 12 ++++----- .../Bundle/BundleBuilder.php | 4 +-- .../IdeAutoCompletion/Bundle/BundleFinder.php | 12 ++++----- .../Bundle/BundleFinderInterface.php | 2 +- .../Generator/AbstractGenerator.php | 2 +- .../Generator/BundleMethodGenerator.php | 2 +- .../Generator/GeneratorInterface.php | 2 +- .../IdeAutoCompletionWriter.php | 4 +-- .../Remover/TargetDirectoryResolver.php | 2 +- .../DependencyProviderUsedPluginFinder.php | 2 +- .../ModuleFileFinderInterface.php | 2 +- .../Module/ModuleFinder/ModuleFinder.php | 16 ++++++------ .../ModuleFinder/ModuleFinderInterface.php | 2 +- .../Business/Module/ModuleOverview.php | 10 +++---- .../Module/ModuleOverviewInterface.php | 2 +- .../PathBuilder/PathBuilderComposite.php | 4 +-- .../ProjectModuleFinder.php | 2 +- .../Package/PackageFinder/PackageFinder.php | 4 +-- .../PackageFinder/PackageFinderInterface.php | 2 +- .../PhpMd/Rules/Naming/ShortVariable.php | 2 +- .../Config/PhpstanConfigFileManager.php | 4 +-- .../PhpstanConfigFileManagerInterface.php | 2 +- .../Business/Phpstan/PhpstanRunner.php | 2 +- .../Propel/PropelAbstractClassValidator.php | 4 +-- ...rchitectureSnifferConfigurationBuilder.php | 2 +- .../AbstractCoreModuleAwareConsole.php | 12 ++++----- .../CodeArchitectureSnifferConsole.php | 2 +- .../DependencyViolationFinderConsole.php | 4 +-- .../DevelopmentToModuleFinderFacadeBridge.php | 6 ++--- ...velopmentToModuleFinderFacadeInterface.php | 6 ++--- .../Zed/Development/DevelopmentConfig.php | 26 +++++++++---------- .../Argument/CodeceptionArgumentsTest.php | 4 +-- 73 files changed, 161 insertions(+), 161 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php index 5f21b79f..6edc42de 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php @@ -75,7 +75,7 @@ public function find() protected function findBundles($path, $namespace, array $allBundles) { try { - /** @var \SplFileInfo[] $directories */ + /** @var array<\SplFileInfo> $directories */ $directories = (new Finder()) ->directories() ->in($path) diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php index 85e6902c..c3c14ded 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php @@ -117,7 +117,7 @@ protected function findModules($path, $namespace): array $finder = clone $this->finder; try { - /** @var \SplFileInfo[] $directories */ + /** @var array<\SplFileInfo> $directories */ $directories = $finder ->directories() ->in($path) diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php index 7b4ce9b9..6aeaa2b7 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php @@ -153,7 +153,7 @@ public function getRules() /** * @param string $directory - * @param string[] $options + * @param array $options * * @return array */ @@ -189,7 +189,7 @@ public function run($directory, array $options = []): array /** * @param array $fileViolations * @param string $directory - * @param string[] $options + * @param array $options * * @return array */ @@ -509,7 +509,7 @@ protected function getResultsWithoutIgnoredErrors(array $results, array $options /** * @param array $fileResult - * @param string[] $ignoreErrorPatterns + * @param array $ignoreErrorPatterns * * @return array */ @@ -544,7 +544,7 @@ protected function filterOutIgnoredErrors(array $fileResult, array $ignoreErrorP /** * @param array $violation - * @param string[] $ignoreErrorPatterns + * @param array $ignoreErrorPatterns * * @return bool */ diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php index 9ca4e0ff..b4ee293e 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php @@ -105,7 +105,7 @@ protected function getUnderscoreToCamelCaseFilter() /** * @param string $namespace * - * @return string[] + * @return array */ protected function getModuleNames($namespace) { diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php index 4d37d500..3d6f6823 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php @@ -244,7 +244,7 @@ protected function resolveOptionLevel(): int } /** - * @return int[] + * @return array */ protected function getAllowedLevels(): array { diff --git a/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php b/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php index 9b697053..f0b6d84a 100644 --- a/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php +++ b/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php @@ -301,7 +301,7 @@ protected function runCodeceptionBuild(array $options): void } /** - * @param string[] $command + * @param array $command * * @return int */ diff --git a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php index 25ccabd1..a045620d 100644 --- a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php +++ b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php @@ -35,12 +35,12 @@ class CodeceptionArgumentsBuilder implements CodeceptionArgumentsBuilderInterfac protected const OPTION_MODULE = 'module'; /** - * @var string[] + * @var array */ protected $defaultInclusiveTestGroups; /** - * @param string[] $defaultInclusiveTestGroups + * @param array $defaultInclusiveTestGroups */ public function __construct(array $defaultInclusiveTestGroups) { diff --git a/src/Spryker/Zed/Development/Business/Codeception/Argument/CodeceptionArguments.php b/src/Spryker/Zed/Development/Business/Codeception/Argument/CodeceptionArguments.php index f84e1f5b..b31c21eb 100644 --- a/src/Spryker/Zed/Development/Business/Codeception/Argument/CodeceptionArguments.php +++ b/src/Spryker/Zed/Development/Business/Codeception/Argument/CodeceptionArguments.php @@ -10,13 +10,13 @@ class CodeceptionArguments { /** - * @var string[] + * @var array */ protected $arguments = []; /** * @param string $argumentName - * @param string[] $argumentValues + * @param array $argumentValues * * @return $this */ @@ -37,7 +37,7 @@ public function addArgument(string $argumentName, array $argumentValues = []) } /** - * @return string[] + * @return array */ public function getArguments(): array { diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php index e59938f7..5e559604 100644 --- a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php @@ -46,7 +46,7 @@ public function __construct(ComposerJsonFinderInterface $finder, UpdaterInterfac } /** - * @param \Generated\Shared\Transfer\ModuleTransfer[] $moduleTransferCollection + * @param array<\Generated\Shared\Transfer\ModuleTransfer> $moduleTransferCollection * @param bool $dryRun * * @return array diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdaterInterface.php b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdaterInterface.php index e15fe414..640f2690 100644 --- a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdaterInterface.php +++ b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdaterInterface.php @@ -10,7 +10,7 @@ interface ComposerJsonUpdaterInterface { /** - * @param \Generated\Shared\Transfer\ModuleTransfer[] $moduleTransferCollection + * @param array<\Generated\Shared\Transfer\ModuleTransfer> $moduleTransferCollection * @param bool $dryRun * * @return array diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php b/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php index 1b75334a..1997cd54 100644 --- a/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php +++ b/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php @@ -18,17 +18,17 @@ class ComposerNameFinder implements ComposerNameFinderInterface protected $moduleFinderFacade; /** - * @var \Generated\Shared\Transfer\ModuleTransfer[] + * @var array<\Generated\Shared\Transfer\ModuleTransfer> */ protected $moduleTransferCollection = []; /** - * @var \Generated\Shared\Transfer\ModuleTransfer[][]|null + * @var array<\Generated\Shared\Transfer\ModuleTransfer[]>|null */ protected $moduleTransferCollectionGroupedByModuleName; /** - * @var \Generated\Shared\Transfer\PackageTransfer[]|null + * @var array<\Generated\Shared\Transfer\PackageTransfer>|null */ protected $packageTransferCollectionGroupedByPackageName; @@ -94,7 +94,7 @@ protected function getComposerNameFromModuleCollection(string $moduleName): ?str } /** - * @return \Generated\Shared\Transfer\ModuleTransfer[] + * @return array<\Generated\Shared\Transfer\ModuleTransfer> */ protected function getModuleTransferCollection(): array { @@ -144,7 +144,7 @@ protected function getCurrentModuleTransfer(array $moduleTransferCollection): Mo } /** - * @return \Generated\Shared\Transfer\ModuleTransfer[][] + * @return array<\Generated\Shared\Transfer\ModuleTransfer[]> */ protected function getModuleTransferCollectionGroupedByModuleName(): array { @@ -163,7 +163,7 @@ protected function getModuleTransferCollectionGroupedByModuleName(): array } /** - * @return \Generated\Shared\Transfer\PackageTransfer[] + * @return array<\Generated\Shared\Transfer\PackageTransfer> */ protected function getPackageTransferCollectionGroupedByPackageName(): array { diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/ComposerUpdaterComposite.php b/src/Spryker/Zed/Development/Business/Composer/Updater/ComposerUpdaterComposite.php index ba4ec67e..f55e8766 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/ComposerUpdaterComposite.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/ComposerUpdaterComposite.php @@ -12,7 +12,7 @@ class ComposerUpdaterComposite implements ComposerUpdaterCompositeInterface { /** - * @var \Spryker\Zed\Development\Business\Composer\Updater\UpdaterInterface[] + * @var array<\Spryker\Zed\Development\Business\Composer\Updater\UpdaterInterface> */ protected $updater; diff --git a/src/Spryker/Zed/Development/Business/Composer/Util/ComposerJson.php b/src/Spryker/Zed/Development/Business/Composer/Util/ComposerJson.php index 0c7320d0..e09b3375 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Util/ComposerJson.php +++ b/src/Spryker/Zed/Development/Business/Composer/Util/ComposerJson.php @@ -12,7 +12,7 @@ class ComposerJson { /** - * @var string[] + * @var array */ protected static $objectKeys = [ 'autoload', diff --git a/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonValidatorComposite.php b/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonValidatorComposite.php index beedf8a1..b158b81f 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonValidatorComposite.php +++ b/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonValidatorComposite.php @@ -12,12 +12,12 @@ class ComposerJsonValidatorComposite implements ComposerJsonValidatorInterface { /** - * @var \Spryker\Zed\Development\Business\Composer\Validator\ComposerJsonValidatorInterface[] + * @var array<\Spryker\Zed\Development\Business\Composer\Validator\ComposerJsonValidatorInterface> */ protected $composerJsonValidator; /** - * @param \Spryker\Zed\Development\Business\Composer\Validator\ComposerJsonValidatorInterface[] $composerJsonValidator + * @param array<\Spryker\Zed\Development\Business\Composer\Validator\ComposerJsonValidatorInterface> $composerJsonValidator */ public function __construct(array $composerJsonValidator) { diff --git a/src/Spryker/Zed/Development/Business/Dependency/ComposerParser/ExternalDependencyParser.php b/src/Spryker/Zed/Development/Business/Dependency/ComposerParser/ExternalDependencyParser.php index ffb87ba5..40a7a688 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/ComposerParser/ExternalDependencyParser.php +++ b/src/Spryker/Zed/Development/Business/Dependency/ComposerParser/ExternalDependencyParser.php @@ -19,7 +19,7 @@ class ExternalDependencyParser implements ExternalDependencyParserInterface protected $config; /** - * @var string[] + * @var array */ protected $resolvedComposerNameByClassNameMap = []; diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/DependencyFinderComposite.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/DependencyFinderComposite.php index e941a147..79f7362c 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/DependencyFinderComposite.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/DependencyFinderComposite.php @@ -13,12 +13,12 @@ class DependencyFinderComposite implements DependencyFinderInterface { /** - * @var \Spryker\Zed\Development\Business\Dependency\DependencyFinder\DependencyFinderInterface[] + * @var array<\Spryker\Zed\Development\Business\Dependency\DependencyFinder\DependencyFinderInterface> */ protected $dependencyFinder; /** - * @param \Spryker\Zed\Development\Business\Dependency\DependencyFinder\DependencyFinderInterface[] $dependencyFinder + * @param array<\Spryker\Zed\Development\Business\Dependency\DependencyFinder\DependencyFinderInterface> $dependencyFinder */ public function __construct(array $dependencyFinder) { diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ModuleAnnotationDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ModuleAnnotationDependencyFinder.php index 8f380426..13b72390 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ModuleAnnotationDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ModuleAnnotationDependencyFinder.php @@ -18,7 +18,7 @@ class ModuleAnnotationDependencyFinder implements DependencyFinderInterface public const TYPE = 'module-annotation'; /** - * @var string[] + * @var array */ protected $acceptedFileNames = [ 'Repository.php', diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder.php index dfa412e8..16058858 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder.php @@ -18,7 +18,7 @@ class TwigDependencyFinder implements DependencyFinderInterface public const TYPE_TWIG = 'twig'; /** - * @var \Spryker\Zed\Development\Business\Dependency\DependencyFinder\TwigDependencyFinder\TwigDependencyFinderInterface[] + * @var array<\Spryker\Zed\Development\Business\Dependency\DependencyFinder\TwigDependencyFinder\TwigDependencyFinderInterface> */ protected $twigDependencyFinder; diff --git a/src/Spryker/Zed/Development/Business/Dependency/Manager.php b/src/Spryker/Zed/Development/Business/Dependency/Manager.php index 5cac8e36..aa65d198 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/Manager.php +++ b/src/Spryker/Zed/Development/Business/Dependency/Manager.php @@ -53,7 +53,7 @@ public function __construct( /** * @param string $moduleName * - * @return \Generated\Shared\Transfer\DependencyModuleViewTransfer[] + * @return array<\Generated\Shared\Transfer\DependencyModuleViewTransfer> */ public function parseIncomingDependencies(string $moduleName): array { @@ -149,7 +149,7 @@ public function collectAllModules() } /** - * @return \Symfony\Component\Finder\Finder|\Symfony\Component\Finder\SplFileInfo[] + * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> */ protected function collectCoreModules() { diff --git a/src/Spryker/Zed/Development/Business/Dependency/ManagerInterface.php b/src/Spryker/Zed/Development/Business/Dependency/ManagerInterface.php index 9b6f6621..412a281d 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/ManagerInterface.php +++ b/src/Spryker/Zed/Development/Business/Dependency/ManagerInterface.php @@ -12,7 +12,7 @@ interface ManagerInterface /** * @param string $moduleName * - * @return \Generated\Shared\Transfer\DependencyModuleViewTransfer[] + * @return array<\Generated\Shared\Transfer\DependencyModuleViewTransfer> */ public function parseIncomingDependencies(string $moduleName): array; diff --git a/src/Spryker/Zed/Development/Business/Dependency/Mapper/DependencyModuleMapper.php b/src/Spryker/Zed/Development/Business/Dependency/Mapper/DependencyModuleMapper.php index 960537db..6ae0fde5 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/Mapper/DependencyModuleMapper.php +++ b/src/Spryker/Zed/Development/Business/Dependency/Mapper/DependencyModuleMapper.php @@ -33,7 +33,7 @@ public function mapDependencyModuleTransferToDependencyModuleViewTransfer( /** * @param \Generated\Shared\Transfer\DependencyModuleTransfer $dependencyModuleTransfer * - * @return int[] + * @return array */ protected function collectDependencyCount( DependencyModuleTransfer $dependencyModuleTransfer diff --git a/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php b/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php index 42c3511c..4512c6ba 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php +++ b/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php @@ -26,12 +26,12 @@ class PropelSchemaParser implements PropelSchemaParserInterface protected $config; /** - * @var string[] + * @var array */ protected static $idFieldToModuleNameMap; /** - * @var string[] + * @var array */ protected static $uniqueFieldToModuleNameMap; @@ -149,7 +149,7 @@ protected function buildUniqueFieldToModuleNameMap(): array } /** - * @return \Symfony\Component\Finder\Finder|\Symfony\Component\Finder\SplFileInfo[] + * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> */ protected function getSchemaFileFinder(): Finder { @@ -164,7 +164,7 @@ protected function getSchemaFileFinder(): Finder /** * @param \Symfony\Component\Finder\SplFileInfo $splFileInfo * - * @return string[] + * @return array */ protected function getIdColumnNames(SplFileInfo $splFileInfo): array { @@ -199,7 +199,7 @@ protected function getIdColumnNames(SplFileInfo $splFileInfo): array /** * @param \Symfony\Component\Finder\SplFileInfo $splFileInfo * - * @return string[] + * @return array */ protected function getUniqueColumnNames(SplFileInfo $splFileInfo): array { @@ -234,7 +234,7 @@ protected function getUniqueColumnNames(SplFileInfo $splFileInfo): array /** * @param \Symfony\Component\Finder\SplFileInfo $splFileInfo * - * @return string[] + * @return array */ protected function getRequiredColumnNames(SplFileInfo $splFileInfo): array { @@ -279,7 +279,7 @@ protected function getModuleNameFromFile(SplFileInfo $splFileInfo): string * * @throws \Spryker\Zed\Development\Business\Exception\Dependency\PropelSchemaParserException * - * @return string[] + * @return array */ protected function addIdColumnNames(array $idFieldToModuleNameMap, array $idColumnNames, string $module): array { @@ -295,13 +295,13 @@ protected function addIdColumnNames(array $idFieldToModuleNameMap, array $idColu /** * @param array $uniqueFieldToModuleNameMap - * @param string[] $requiredColumnNames - * @param string[] $uniqueColumnNames + * @param array $requiredColumnNames + * @param array $uniqueColumnNames * @param string $module * * @throws \Spryker\Zed\Development\Business\Exception\Dependency\PropelSchemaParserException * - * @return string[] + * @return array */ protected function addUniqueColumnNames(array $uniqueFieldToModuleNameMap, array $requiredColumnNames, array $uniqueColumnNames, string $module): array { @@ -319,7 +319,7 @@ protected function addUniqueColumnNames(array $uniqueFieldToModuleNameMap, array } /** - * @return string[] + * @return array */ protected function computeLookupPaths(): array { diff --git a/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParserInterface.php b/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParserInterface.php index 1428b214..1fb973dc 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParserInterface.php +++ b/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParserInterface.php @@ -14,7 +14,7 @@ interface PropelSchemaParserInterface /** * @param \Symfony\Component\Finder\SplFileInfo $fileInfo * - * @return string[] + * @return array */ public function getForeignColumnNames(SplFileInfo $fileInfo): array; diff --git a/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php b/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php index ccba32a9..f3e1f064 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php @@ -28,7 +28,7 @@ public function __construct(DevelopmentConfig $config) /** * @param string $module * - * @return \Symfony\Component\Finder\SplFileInfo[]|\Symfony\Component\Finder\Finder + * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> */ public function findTwigFiles(string $module): Finder { diff --git a/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinderInterface.php b/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinderInterface.php index 0aeed3d0..36f4afaf 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinderInterface.php +++ b/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinderInterface.php @@ -14,7 +14,7 @@ interface TwigFileFinderInterface /** * @param string $module * - * @return \Symfony\Component\Finder\SplFileInfo[]|\Symfony\Component\Finder\Finder + * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> */ public function findTwigFiles(string $module): Finder; diff --git a/src/Spryker/Zed/Development/Business/Dependency/Validator/DependencyValidator.php b/src/Spryker/Zed/Development/Business/Dependency/Validator/DependencyValidator.php index 1740c900..03d1b58b 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/Validator/DependencyValidator.php +++ b/src/Spryker/Zed/Development/Business/Dependency/Validator/DependencyValidator.php @@ -75,7 +75,7 @@ public function validate(DependencyValidationRequestTransfer $dependencyValidati /** * @param \Generated\Shared\Transfer\DependencyValidationRequestTransfer $dependencyValidationRequestTransfer * - * @return \Generated\Shared\Transfer\ModuleDependencyTransfer[] + * @return array<\Generated\Shared\Transfer\ModuleDependencyTransfer> */ protected function buildModuleDependencyTransferCollection(DependencyValidationRequestTransfer $dependencyValidationRequestTransfer): array { @@ -107,7 +107,7 @@ protected function getComposerDependencies(DependencyValidationRequestTransfer $ /** * @param array $composerDependencies * - * @return \Generated\Shared\Transfer\ModuleDependencyTransfer[] + * @return array<\Generated\Shared\Transfer\ModuleDependencyTransfer> */ protected function formatDependencies(array $composerDependencies): array { diff --git a/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleComposite.php b/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleComposite.php index c82eb66e..a39fa4a1 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleComposite.php +++ b/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleComposite.php @@ -12,12 +12,12 @@ class ValidationRuleComposite implements ValidationRuleInterface { /** - * @var \Spryker\Zed\Development\Business\Dependency\Validator\ValidationRules\ValidationRuleInterface[] + * @var array<\Spryker\Zed\Development\Business\Dependency\Validator\ValidationRules\ValidationRuleInterface> */ protected $validationRules; /** - * @param \Spryker\Zed\Development\Business\Dependency\Validator\ValidationRules\ValidationRuleInterface[] $validationRules + * @param array<\Spryker\Zed\Development\Business\Dependency\Validator\ValidationRules\ValidationRuleInterface> $validationRules */ public function __construct(array $validationRules) { diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php b/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php index 7a411356..456bfa23 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php @@ -130,7 +130,7 @@ protected function getIsOptional($composerName, DependencyCollectionTransfer $mo * @param string $composerName * @param \Generated\Shared\Transfer\DependencyCollectionTransfer $moduleDependencyCollectionTransfer * - * @return string[] + * @return array */ protected function getDependencyTypes($composerName, DependencyCollectionTransfer $moduleDependencyCollectionTransfer): array { diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/DependencyFilter.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/DependencyFilter.php index b6276698..0e36a1d7 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/DependencyFilter.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/DependencyFilter.php @@ -10,7 +10,7 @@ class DependencyFilter implements DependencyFilterCompositeInterface { /** - * @var \Spryker\Zed\Development\Business\DependencyTree\DependencyFilter\DependencyFilterInterface[] + * @var array<\Spryker\Zed\Development\Business\DependencyTree\DependencyFilter\DependencyFilterInterface> */ protected $dependencyFilter = []; diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/TreeFilter.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/TreeFilter.php index 235db1ca..3fb18549 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/TreeFilter.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/TreeFilter.php @@ -10,7 +10,7 @@ class TreeFilter implements TreeFilterCompositeInterface { /** - * @var \Spryker\Zed\Development\Business\DependencyTree\DependencyFilter\DependencyFilterInterface[] + * @var array<\Spryker\Zed\Development\Business\DependencyTree\DependencyFilter\DependencyFilterInterface> */ protected $filter; diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/DependencyHydrator.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/DependencyHydrator.php index 6ac8d9f0..c9903467 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/DependencyHydrator.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/DependencyHydrator.php @@ -10,7 +10,7 @@ class DependencyHydrator implements DependencyHydratorCompositeInterface { /** - * @var \Spryker\Zed\Development\Business\DependencyTree\DependencyHydrator\DependencyHydratorInterface[] + * @var array<\Spryker\Zed\Development\Business\DependencyTree\DependencyHydrator\DependencyHydratorInterface> */ protected $hydrator; diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageNameHydrator.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageNameHydrator.php index 7753854e..8b8844b2 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageNameHydrator.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageNameHydrator.php @@ -26,7 +26,7 @@ public function hydrate(array &$dependency) /** * @param array $dependency * - * @return bool|string + * @return string|bool */ private function getComposerNameByClassName(array $dependency) { diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageVersionHydrator.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageVersionHydrator.php index 901ecc3e..6b2d0631 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageVersionHydrator.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageVersionHydrator.php @@ -52,7 +52,7 @@ public function hydrate(array &$dependency) /** * @param array $dependency * - * @return bool|string|null + * @return string|bool|null */ private function getComposerVersion(array $dependency) { diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTreeBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTreeBuilder.php index 554b0b47..4afe84bd 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTreeBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTreeBuilder.php @@ -28,7 +28,7 @@ class DependencyTreeBuilder implements DependencyTreeBuilderInterface protected $writer; /** - * @var \Spryker\Zed\Development\Business\DependencyTree\DependencyFinder\AbstractDependencyFinder[] + * @var array<\Spryker\Zed\Development\Business\DependencyTree\DependencyFinder\AbstractDependencyFinder> */ protected $dependencyChecker = []; diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FileFinder.php b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FileFinder.php index ff951d6d..da8c7114 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FileFinder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FileFinder.php @@ -28,7 +28,7 @@ public function __construct(PathBuilderInterface $pathBuilder) /** * @param string $module * - * @return \Symfony\Component\Finder\SplFileInfo[] + * @return array<\Symfony\Component\Finder\SplFileInfo> */ public function find(string $module): array { diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FinderComposite.php b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FinderComposite.php index 80a6b10b..1164bc11 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FinderComposite.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FinderComposite.php @@ -10,7 +10,7 @@ class FinderComposite implements FinderCompositeInterface { /** - * @var \Spryker\Zed\Development\Business\DependencyTree\Finder\FinderInterface[] + * @var array<\Spryker\Zed\Development\Business\DependencyTree\Finder\FinderInterface> */ protected $finder = []; diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FinderInterface.php b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FinderInterface.php index bee6b691..d30e72c8 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FinderInterface.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FinderInterface.php @@ -12,7 +12,7 @@ interface FinderInterface /** * @param string $module * - * @return \Symfony\Component\Finder\SplFileInfo[] + * @return array<\Symfony\Component\Finder\SplFileInfo> */ public function find(string $module): array; } diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/AbstractPathBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/AbstractPathBuilder.php index 03c031df..8470937f 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/AbstractPathBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/AbstractPathBuilder.php @@ -59,7 +59,7 @@ public function buildPaths(string $module): array } /** - * @param string[] $pathComponents + * @param array $pathComponents * * @return string */ diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/ViolationFinder/ViolationFinder.php b/src/Spryker/Zed/Development/Business/DependencyTree/ViolationFinder/ViolationFinder.php index 3cad5b94..85e70091 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/ViolationFinder/ViolationFinder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/ViolationFinder/ViolationFinder.php @@ -10,7 +10,7 @@ class ViolationFinder implements ViolationFinderInterface { /** - * @var \Spryker\Zed\Development\Business\DependencyTree\ViolationFinder\ViolationFinderInterface[] + * @var array<\Spryker\Zed\Development\Business\DependencyTree\ViolationFinder\ViolationFinderInterface> */ protected $violationFinder; diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index 319af92a..0d6ffce6 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -576,7 +576,7 @@ public function createTwigFinder(): TwigFileFinderInterface } /** - * @return \Spryker\Zed\Development\Business\Dependency\DependencyFinder\TwigDependencyFinder\TwigDependencyFinderInterface[] + * @return array<\Spryker\Zed\Development\Business\Dependency\DependencyFinder\TwigDependencyFinder\TwigDependencyFinderInterface> */ public function getTwigDependencyFinder(): array { @@ -1462,7 +1462,7 @@ protected function createDependencyTreeFilter() } /** - * @return string[] + * @return array */ public function getEngineBundleList() { @@ -1748,7 +1748,7 @@ protected function createServiceIdeAutoCompletionBundleBuilder() } /** - * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\BundleMethodBuilderInterface[] + * @return array<\Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\BundleMethodBuilderInterface> */ protected function getYvesIdeAutoCompletionMethodBuilderStack() { @@ -1759,7 +1759,7 @@ protected function getYvesIdeAutoCompletionMethodBuilderStack() } /** - * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\BundleMethodBuilderInterface[] + * @return array<\Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\BundleMethodBuilderInterface> */ protected function getZedIdeAutoCompletionMethodBuilderStack() { @@ -1772,7 +1772,7 @@ protected function getZedIdeAutoCompletionMethodBuilderStack() } /** - * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\BundleMethodBuilderInterface[] + * @return array<\Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\BundleMethodBuilderInterface> */ protected function createGlueAutoCompletionMethodBuilderStack() { @@ -1784,7 +1784,7 @@ protected function createGlueAutoCompletionMethodBuilderStack() } /** - * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\BundleMethodBuilderInterface[] + * @return array<\Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\BundleMethodBuilderInterface> */ protected function getClientIdeAutoCompletionMethodBuilderStack() { @@ -1795,7 +1795,7 @@ protected function getClientIdeAutoCompletionMethodBuilderStack() } /** - * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\BundleMethodBuilderInterface[] + * @return array<\Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\BundleMethodBuilderInterface> */ protected function getServiceIdeAutoCompletionMethodBuilderStack() { @@ -1875,7 +1875,7 @@ protected function createIdeAutoCompletionBundleFinder(BundleBuilderInterface $b /** * @param array $options * - * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Generator\GeneratorInterface[] + * @return array<\Spryker\Zed\Development\Business\IdeAutoCompletion\Generator\GeneratorInterface> */ protected function getIdeAutoCompletionGeneratorStack(array $options) { diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php index ef19fd52..a165b211 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php @@ -127,7 +127,7 @@ public function createModule($module, array $options) * * @internal * - * @param \Generated\Shared\Transfer\ModuleTransfer[] $modules + * @param array<\Generated\Shared\Transfer\ModuleTransfer> $modules * @param bool $dryRun * * @return array @@ -314,7 +314,7 @@ public function getDependencyViolations() * * @api * - * @return string[] + * @return array */ public function getEngineModuleList() { @@ -601,7 +601,7 @@ public function getInProjectDependencyProviderUsedPlugins(?ModuleFilterTransfer * * @param \Generated\Shared\Transfer\ModuleFilterTransfer|null $moduleFilterTransfer * - * @return \Generated\Shared\Transfer\ModuleTransfer[] + * @return array<\Generated\Shared\Transfer\ModuleTransfer> */ public function getProjectModules(?ModuleFilterTransfer $moduleFilterTransfer = null): array { @@ -615,7 +615,7 @@ public function getProjectModules(?ModuleFilterTransfer $moduleFilterTransfer = * * @param \Generated\Shared\Transfer\ModuleFilterTransfer|null $moduleFilterTransfer * - * @return \Generated\Shared\Transfer\ModuleTransfer[] + * @return array<\Generated\Shared\Transfer\ModuleTransfer> */ public function getModules(?ModuleFilterTransfer $moduleFilterTransfer = null): array { @@ -629,7 +629,7 @@ public function getModules(?ModuleFilterTransfer $moduleFilterTransfer = null): * * @internal * - * @return \Generated\Shared\Transfer\PackageTransfer[] + * @return array<\Generated\Shared\Transfer\PackageTransfer> */ public function getPackages(): array { @@ -641,7 +641,7 @@ public function getPackages(): array * * @api * - * @return \Generated\Shared\Transfer\ModuleOverviewTransfer[] + * @return array<\Generated\Shared\Transfer\ModuleOverviewTransfer> */ public function getModuleOverview(): array { diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php index 761a4c4e..d72e8e5f 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php @@ -261,7 +261,7 @@ public function getDependencyViolations(); * * @api * - * @return string[] + * @return array */ public function getEngineModuleList(); @@ -273,7 +273,7 @@ public function getEngineModuleList(); * * @internal * - * @param \Generated\Shared\Transfer\ModuleTransfer[] $modules + * @param array<\Generated\Shared\Transfer\ModuleTransfer> $modules * @param bool $dryRun * * @return array @@ -520,7 +520,7 @@ public function getInProjectDependencyProviderUsedPlugins(?ModuleFilterTransfer * * @param \Generated\Shared\Transfer\ModuleFilterTransfer|null $moduleFilterTransfer * - * @return \Generated\Shared\Transfer\ModuleTransfer[] + * @return array<\Generated\Shared\Transfer\ModuleTransfer> */ public function getProjectModules(?ModuleFilterTransfer $moduleFilterTransfer = null): array; @@ -535,7 +535,7 @@ public function getProjectModules(?ModuleFilterTransfer $moduleFilterTransfer = * * @param \Generated\Shared\Transfer\ModuleFilterTransfer|null $moduleFilterTransfer * - * @return \Generated\Shared\Transfer\ModuleTransfer[] + * @return array<\Generated\Shared\Transfer\ModuleTransfer> */ public function getModules(?ModuleFilterTransfer $moduleFilterTransfer = null): array; @@ -548,7 +548,7 @@ public function getModules(?ModuleFilterTransfer $moduleFilterTransfer = null): * * @internal * - * @return \Generated\Shared\Transfer\PackageTransfer[] + * @return array<\Generated\Shared\Transfer\PackageTransfer> */ public function getPackages(): array; @@ -558,7 +558,7 @@ public function getPackages(): array; * * @api * - * @return \Generated\Shared\Transfer\ModuleOverviewTransfer[] + * @return array<\Generated\Shared\Transfer\ModuleOverviewTransfer> */ public function getModuleOverview(): array; diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleBuilder.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleBuilder.php index 4439421c..82312f19 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleBuilder.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleBuilder.php @@ -15,7 +15,7 @@ class BundleBuilder implements BundleBuilderInterface { /** - * @var \Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\BundleMethodBuilderInterface[] + * @var array<\Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\BundleMethodBuilderInterface> */ protected $bundleMethodBuilders; @@ -25,7 +25,7 @@ class BundleBuilder implements BundleBuilderInterface protected $options; /** - * @param \Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\BundleMethodBuilderInterface[] $bundleMethodBuilders + * @param array<\Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\BundleMethodBuilderInterface> $bundleMethodBuilders * @param array $options */ public function __construct(array $bundleMethodBuilders, array $options) diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinder.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinder.php index d53c4f5b..54e491bd 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinder.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinder.php @@ -43,7 +43,7 @@ public function __construct(Finder $finder, BundleBuilderInterface $bundleBuilde } /** - * @return \Generated\Shared\Transfer\IdeAutoCompletionBundleTransfer[] + * @return array<\Generated\Shared\Transfer\IdeAutoCompletionBundleTransfer> */ public function find() { @@ -66,7 +66,7 @@ public function find() /** * @param string $bundleDirectoryGlobPattern * - * @return \Traversable|\Symfony\Component\Finder\SplFileInfo[] + * @return \Traversable<\Symfony\Component\Finder\SplFileInfo> */ protected function getBundleDirectories($bundleDirectoryGlobPattern) { @@ -93,7 +93,7 @@ protected function getFinder() /** * @param \Generated\Shared\Transfer\IdeAutoCompletionBundleTransfer $bundleTransfer - * @param \Generated\Shared\Transfer\IdeAutoCompletionBundleTransfer[] $bundles + * @param array<\Generated\Shared\Transfer\IdeAutoCompletionBundleTransfer> $bundles * * @return \Generated\Shared\Transfer\IdeAutoCompletionBundleTransfer */ @@ -115,10 +115,10 @@ protected function mergeWithPossibleExistingBundle(IdeAutoCompletionBundleTransf } /** - * @param \ArrayObject|\Generated\Shared\Transfer\IdeAutoCompletionBundleMethodTransfer[] $existingMethodTransferCollection - * @param \ArrayObject|\Generated\Shared\Transfer\IdeAutoCompletionBundleMethodTransfer[] $methodTransferCollection + * @param \ArrayObject $existingMethodTransferCollection + * @param \ArrayObject $methodTransferCollection * - * @return \ArrayObject|\Generated\Shared\Transfer\IdeAutoCompletionBundleMethodTransfer[] + * @return \ArrayObject */ protected function mergeMethods( ArrayObject $existingMethodTransferCollection, diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinderInterface.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinderInterface.php index d76bdd81..44337578 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinderInterface.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinderInterface.php @@ -10,7 +10,7 @@ interface BundleFinderInterface { /** - * @return \Generated\Shared\Transfer\IdeAutoCompletionBundleTransfer[] + * @return array<\Generated\Shared\Transfer\IdeAutoCompletionBundleTransfer> */ public function find(); } diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Generator/AbstractGenerator.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Generator/AbstractGenerator.php index c04825db..bf0f1516 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Generator/AbstractGenerator.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Generator/AbstractGenerator.php @@ -42,7 +42,7 @@ public function __construct(Environment $twig, FileWriterInterface $fileWriter, } /** - * @param \Generated\Shared\Transfer\IdeAutoCompletionBundleTransfer[] $moduleTransferCollection + * @param array<\Generated\Shared\Transfer\IdeAutoCompletionBundleTransfer> $moduleTransferCollection * * @return void */ diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Generator/BundleMethodGenerator.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Generator/BundleMethodGenerator.php index e20ceec6..3ee4c2ae 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Generator/BundleMethodGenerator.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Generator/BundleMethodGenerator.php @@ -18,7 +18,7 @@ public function getName(): string } /** - * @param \Generated\Shared\Transfer\IdeAutoCompletionBundleTransfer[] $moduleTransferCollection + * @param array<\Generated\Shared\Transfer\IdeAutoCompletionBundleTransfer> $moduleTransferCollection * * @return void */ diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Generator/GeneratorInterface.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Generator/GeneratorInterface.php index 1f1d639a..ed7d5d65 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Generator/GeneratorInterface.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Generator/GeneratorInterface.php @@ -10,7 +10,7 @@ interface GeneratorInterface { /** - * @param \Generated\Shared\Transfer\IdeAutoCompletionBundleTransfer[] $moduleTransferCollection + * @param array<\Generated\Shared\Transfer\IdeAutoCompletionBundleTransfer> $moduleTransferCollection * * @return void */ diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriter.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriter.php index efcbc52e..08b1af9d 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriter.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriter.php @@ -12,7 +12,7 @@ class IdeAutoCompletionWriter implements IdeAutoCompletionWriterInterface { /** - * @var \Spryker\Zed\Development\Business\IdeAutoCompletion\Generator\GeneratorInterface[] + * @var array<\Spryker\Zed\Development\Business\IdeAutoCompletion\Generator\GeneratorInterface> */ protected $generators; @@ -22,7 +22,7 @@ class IdeAutoCompletionWriter implements IdeAutoCompletionWriterInterface protected $moduleFinder; /** - * @param \Spryker\Zed\Development\Business\IdeAutoCompletion\Generator\GeneratorInterface[] $generators + * @param array<\Spryker\Zed\Development\Business\IdeAutoCompletion\Generator\GeneratorInterface> $generators * @param \Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\BundleFinderInterface $moduleFinder */ public function __construct(array $generators, BundleFinderInterface $moduleFinder) diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/TargetDirectoryResolver.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/TargetDirectoryResolver.php index 69126ff1..f92615af 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/TargetDirectoryResolver.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/TargetDirectoryResolver.php @@ -58,7 +58,7 @@ public function resolveTargetDirectory(string $application): string * * @throws \InvalidArgumentException * - * @return string[] + * @return array */ private function getOptions(string $application): array { diff --git a/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php b/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php index 0ad6b764..d078043b 100644 --- a/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php +++ b/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php @@ -122,7 +122,7 @@ protected function getPath(ModuleTransfer $moduleTransfer, ApplicationTransfer $ /** * @param string $path * - * @return \Symfony\Component\Finder\SplFileInfo[]|\Symfony\Component\Finder\Finder + * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> */ protected function getFinderForModule(string $path): Finder { diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinderInterface.php b/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinderInterface.php index cc3a701c..9eb68a6d 100644 --- a/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinderInterface.php +++ b/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinderInterface.php @@ -15,7 +15,7 @@ interface ModuleFileFinderInterface /** * @param \Generated\Shared\Transfer\ModuleTransfer $moduleTransfer * - * @return \Symfony\Component\Finder\Finder|\Symfony\Component\Finder\SplFileInfo[] + * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> */ public function find(ModuleTransfer $moduleTransfer): Finder; diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php b/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php index ecc265f5..5ff9ef52 100644 --- a/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php +++ b/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php @@ -36,7 +36,7 @@ class ModuleFinder implements ModuleFinderInterface protected $moduleMatcher; /** - * @var \Generated\Shared\Transfer\ModuleTransfer[] + * @var array<\Generated\Shared\Transfer\ModuleTransfer> */ protected static $moduleTransferCollection; @@ -53,7 +53,7 @@ public function __construct(DevelopmentConfig $config, ModuleMatcherInterface $m /** * @param \Generated\Shared\Transfer\ModuleFilterTransfer|null $moduleFilterTransfer * - * @return \Generated\Shared\Transfer\ModuleTransfer[] + * @return array<\Generated\Shared\Transfer\ModuleTransfer> */ public function getModules(?ModuleFilterTransfer $moduleFilterTransfer = null): array { @@ -79,7 +79,7 @@ public function getModules(?ModuleFilterTransfer $moduleFilterTransfer = null): * @param array $moduleTransferCollection * @param \Generated\Shared\Transfer\ModuleFilterTransfer|null $moduleFilterTransfer * - * @return \Generated\Shared\Transfer\ModuleTransfer[] + * @return array<\Generated\Shared\Transfer\ModuleTransfer> */ protected function addStandaloneModulesToCollection(array $moduleTransferCollection, ?ModuleFilterTransfer $moduleFilterTransfer = null): array { @@ -101,7 +101,7 @@ protected function addStandaloneModulesToCollection(array $moduleTransferCollect } /** - * @return \Symfony\Component\Finder\SplFileInfo[]|\Symfony\Component\Finder\Finder + * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> */ protected function getStandaloneModuleFinder(): Finder { @@ -110,10 +110,10 @@ protected function getStandaloneModuleFinder(): Finder /** * @param \Generated\Shared\Transfer\ModuleTransfer $moduleTransfer - * @param \Generated\Shared\Transfer\ModuleTransfer[] $moduleTransferCollection + * @param array<\Generated\Shared\Transfer\ModuleTransfer> $moduleTransferCollection * @param \Generated\Shared\Transfer\ModuleFilterTransfer|null $moduleFilterTransfer * - * @return \Generated\Shared\Transfer\ModuleTransfer[] + * @return array<\Generated\Shared\Transfer\ModuleTransfer> */ protected function addModuleToCollection( ModuleTransfer $moduleTransfer, @@ -154,7 +154,7 @@ protected function isModule(ModuleTransfer $moduleTransfer): bool * @param array $moduleTransferCollection * @param \Generated\Shared\Transfer\ModuleFilterTransfer|null $moduleFilterTransfer * - * @return \Generated\Shared\Transfer\ModuleTransfer[] + * @return array<\Generated\Shared\Transfer\ModuleTransfer> */ protected function addModulesToCollection(array $moduleTransferCollection, ?ModuleFilterTransfer $moduleFilterTransfer = null): array { @@ -171,7 +171,7 @@ protected function addModulesToCollection(array $moduleTransferCollection, ?Modu } /** - * @return \Symfony\Component\Finder\SplFileInfo[]|\Symfony\Component\Finder\Finder + * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> */ protected function getModuleFinder(): Finder { diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinderInterface.php b/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinderInterface.php index 18092306..74c43e04 100644 --- a/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinderInterface.php +++ b/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinderInterface.php @@ -17,7 +17,7 @@ interface ModuleFinderInterface /** * @param \Generated\Shared\Transfer\ModuleFilterTransfer|null $moduleFilterTransfer * - * @return \Generated\Shared\Transfer\ModuleTransfer[] + * @return array<\Generated\Shared\Transfer\ModuleTransfer> */ public function getModules(?ModuleFilterTransfer $moduleFilterTransfer = null): array; } diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleOverview.php b/src/Spryker/Zed/Development/Business/Module/ModuleOverview.php index 24c41e59..302595a6 100644 --- a/src/Spryker/Zed/Development/Business/Module/ModuleOverview.php +++ b/src/Spryker/Zed/Development/Business/Module/ModuleOverview.php @@ -26,7 +26,7 @@ public function __construct(DevelopmentToModuleFinderFacadeInterface $moduleFind } /** - * @return \Generated\Shared\Transfer\ModuleOverviewTransfer[] + * @return array<\Generated\Shared\Transfer\ModuleOverviewTransfer> */ public function getOverview(): array { @@ -40,9 +40,9 @@ public function getOverview(): array } /** - * @param \Generated\Shared\Transfer\ModuleOverviewTransfer[] $moduleOverviewTransferCollection + * @param array<\Generated\Shared\Transfer\ModuleOverviewTransfer> $moduleOverviewTransferCollection * - * @return \Generated\Shared\Transfer\ModuleOverviewTransfer[] + * @return array<\Generated\Shared\Transfer\ModuleOverviewTransfer> */ protected function addProjectModules(array $moduleOverviewTransferCollection): array { @@ -64,9 +64,9 @@ protected function addProjectModules(array $moduleOverviewTransferCollection): a } /** - * @param \Generated\Shared\Transfer\ModuleOverviewTransfer[] $moduleOverviewTransferCollection + * @param array<\Generated\Shared\Transfer\ModuleOverviewTransfer> $moduleOverviewTransferCollection * - * @return \Generated\Shared\Transfer\ModuleOverviewTransfer[] + * @return array<\Generated\Shared\Transfer\ModuleOverviewTransfer> */ protected function addCoreModules(array $moduleOverviewTransferCollection): array { diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleOverviewInterface.php b/src/Spryker/Zed/Development/Business/Module/ModuleOverviewInterface.php index c2036f72..eb42a682 100644 --- a/src/Spryker/Zed/Development/Business/Module/ModuleOverviewInterface.php +++ b/src/Spryker/Zed/Development/Business/Module/ModuleOverviewInterface.php @@ -10,7 +10,7 @@ interface ModuleOverviewInterface { /** - * @return \Generated\Shared\Transfer\ModuleOverviewTransfer[] + * @return array<\Generated\Shared\Transfer\ModuleOverviewTransfer> */ public function getOverview(): array; } diff --git a/src/Spryker/Zed/Development/Business/Module/PathBuilder/PathBuilderComposite.php b/src/Spryker/Zed/Development/Business/Module/PathBuilder/PathBuilderComposite.php index c4da07e3..1f11a937 100644 --- a/src/Spryker/Zed/Development/Business/Module/PathBuilder/PathBuilderComposite.php +++ b/src/Spryker/Zed/Development/Business/Module/PathBuilder/PathBuilderComposite.php @@ -12,12 +12,12 @@ class PathBuilderComposite implements PathBuilderInterface { /** - * @var \Spryker\Zed\Development\Business\Module\PathBuilder\PathBuilderInterface[] + * @var array<\Spryker\Zed\Development\Business\Module\PathBuilder\PathBuilderInterface> */ protected $pathBuilders; /** - * @param \Spryker\Zed\Development\Business\Module\PathBuilder\PathBuilderInterface[] $pathBuilders + * @param array<\Spryker\Zed\Development\Business\Module\PathBuilder\PathBuilderInterface> $pathBuilders */ public function __construct(array $pathBuilders) { diff --git a/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php b/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php index 360ae85b..2d1fc4c6 100644 --- a/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php +++ b/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php @@ -95,7 +95,7 @@ protected function getProjectDirectories(): array /** * @param array $projectOrganizationModuleDirectories * - * @return \Symfony\Component\Finder\SplFileInfo[]|\Symfony\Component\Finder\Finder + * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> */ protected function getProjectModuleFinder(array $projectOrganizationModuleDirectories): Finder { diff --git a/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php b/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php index 2880aad8..8fa041c3 100644 --- a/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php +++ b/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php @@ -33,7 +33,7 @@ public function __construct(DevelopmentConfig $config) } /** - * @return \Generated\Shared\Transfer\PackageTransfer[] + * @return array<\Generated\Shared\Transfer\PackageTransfer> */ public function getPackages(): array { @@ -57,7 +57,7 @@ public function getPackages(): array } /** - * @return \Symfony\Component\Finder\SplFileInfo[]|\Symfony\Component\Finder\Finder + * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> */ protected function getPackageFinder(): Finder { diff --git a/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinderInterface.php b/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinderInterface.php index 9f83a7e2..39bd0670 100644 --- a/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinderInterface.php +++ b/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinderInterface.php @@ -13,7 +13,7 @@ interface PackageFinderInterface { /** - * @return \Generated\Shared\Transfer\PackageTransfer[] + * @return array<\Generated\Shared\Transfer\PackageTransfer> */ public function getPackages(): array; } diff --git a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Naming/ShortVariable.php b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Naming/ShortVariable.php index a2a62ad9..84ccdea9 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Naming/ShortVariable.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Naming/ShortVariable.php @@ -87,7 +87,7 @@ private function isCestFile(AbstractNode $node) /** * Gets array of exceptions from property * - * @return string[] + * @return array */ protected function getExceptionsList() { diff --git a/src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileManager.php b/src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileManager.php index e7786fe1..b301f54e 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileManager.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileManager.php @@ -41,7 +41,7 @@ public function __construct(Filesystem $filesystem, DevelopmentConfig $config, L } /** - * @param \SplFileInfo[] $configFiles + * @param array<\SplFileInfo> $configFiles * @param string $newConfigFileName * * @return string @@ -72,7 +72,7 @@ public function deleteConfigFile(string $configFilePath): void } /** - * @param \SplFileInfo[] $configFiles + * @param array<\SplFileInfo> $configFiles * * @return array */ diff --git a/src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileManagerInterface.php b/src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileManagerInterface.php index 574bcbc3..1aaa74f6 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileManagerInterface.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileManagerInterface.php @@ -10,7 +10,7 @@ interface PhpstanConfigFileManagerInterface { /** - * @param \SplFileInfo[] $configFiles + * @param array<\SplFileInfo> $configFiles * @param string $newConfigFileName * * @return string diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index 9d5a9e76..281acc65 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -497,7 +497,7 @@ protected function dasherize($name) */ protected function getCoreModules($path) { - /** @var \Symfony\Component\Finder\SplFileInfo[] $directories */ + /** @var array<\Symfony\Component\Finder\SplFileInfo> $directories */ $directories = (new Finder()) ->directories() ->in($path) diff --git a/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php b/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php index a91c328d..cd10a24b 100644 --- a/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php +++ b/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php @@ -180,7 +180,7 @@ protected function hasNamespaceInSchema(SimpleXMLElement $simpleXmlElement): boo } /** - * @param \SimpleXMLElement[] $simpleXmlTableElements + * @param array<\SimpleXMLElement> $simpleXmlTableElements * @param string $module * @param \Symfony\Component\Console\Output\OutputInterface $output * @@ -268,7 +268,7 @@ protected function getModuleFromSchemaNamespace(SimpleXMLElement $simpleXmlEleme /** * @param \SimpleXMLElement $simpleXmlElement * - * @return \SimpleXMLElement[] + * @return array<\SimpleXMLElement> */ protected function getSimpleXmlTableElements(SimpleXMLElement $simpleXmlElement) { diff --git a/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php b/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php index afb80b49..f2b4ca63 100644 --- a/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php +++ b/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php @@ -165,7 +165,7 @@ protected function getArchitectureSnifferConfigPriority(array $architectureSniff /** * @param array $moduleConfig * - * @return string[] + * @return array */ protected function getIgnoreErrors(array $moduleConfig): array { diff --git a/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php b/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php index 42835871..aa7b3e7f 100644 --- a/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php @@ -29,7 +29,7 @@ class AbstractCoreModuleAwareConsole extends Console protected const ARGUMENT_MODULE = 'module'; /** - * @var \Generated\Shared\Transfer\ModuleTransfer[] + * @var array<\Generated\Shared\Transfer\ModuleTransfer> */ protected $moduleTransferCollection = []; @@ -57,7 +57,7 @@ protected function configure() - Organization.Application*.Module - Organization.*Application.Module -Asterisk can also be used more than once in all parts. Currently, it\'s not possible to use it in the middle of one of the parts e.g. Spryker.Foo*Bar is invalid. +Asterisk can also be used more than once in all parts. Currently, it\'s not possible to use it in the middle of one of the parts e.g. Spryker.Foo*Bar is invalid. '); } @@ -88,7 +88,7 @@ protected function canRun(array $modulesToValidate): bool * @param \Generated\Shared\Transfer\ModuleTransfer $moduleTransfer * @param string|null $dependencyType * - * @return \ArrayObject|\Generated\Shared\Transfer\ModuleDependencyTransfer[] + * @return \ArrayObject */ protected function getModuleDependencies(ModuleTransfer $moduleTransfer, ?string $dependencyType = null): ArrayObject { @@ -102,7 +102,7 @@ protected function getModuleDependencies(ModuleTransfer $moduleTransfer, ?string } /** - * @param \Generated\Shared\Transfer\ModuleDependencyTransfer[]|\ArrayObject $moduleDependencyTransferCollection + * @param \ArrayObject $moduleDependencyTransferCollection * @param string|null $dependencyType * * @return int @@ -124,7 +124,7 @@ protected function getDependencyViolationCount(ArrayObject $moduleDependencyTran /** * @param \Symfony\Component\Console\Input\InputInterface $input * - * @return \Generated\Shared\Transfer\ModuleTransfer[] + * @return array<\Generated\Shared\Transfer\ModuleTransfer> */ protected function getModulesToExecute(InputInterface $input): array { @@ -270,7 +270,7 @@ protected function isNamespacedModuleName(string $module): bool } /** - * @return \Generated\Shared\Transfer\ModuleTransfer[] + * @return array<\Generated\Shared\Transfer\ModuleTransfer> */ protected function getModuleTransferCollection(): array { diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php index e49f79ad..7b1df82c 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php @@ -173,7 +173,7 @@ protected function runForCore(OutputInterface $output, $moduleArgument, $subPath /** * @param string $moduleArgument * - * @return \Generated\Shared\Transfer\ModuleTransfer[] + * @return array<\Generated\Shared\Transfer\ModuleTransfer> */ protected function getModulesToExecute(string $moduleArgument): array { diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php index e6918f5f..c85e4a23 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php @@ -126,7 +126,7 @@ protected function validateModule(ModuleTransfer $moduleTransfer, OutputInterfac } /** - * @param \Generated\Shared\Transfer\ModuleDependencyTransfer[]|\ArrayObject $moduleDependencyTransferCollection + * @param \ArrayObject $moduleDependencyTransferCollection * @param \Symfony\Component\Console\Output\OutputInterface $output * @param string|null $dependencyType * @@ -151,7 +151,7 @@ protected function describeDependencies(ArrayObject $moduleDependencyTransferCol /** * @param string $moduleToValidate - * @param \Generated\Shared\Transfer\ModuleDependencyTransfer[]|\ArrayObject $moduleDependencyTransferCollection + * @param \ArrayObject $moduleDependencyTransferCollection * @param \Symfony\Component\Console\Output\OutputInterface $output * @param string|null $dependencyType * diff --git a/src/Spryker/Zed/Development/Dependency/Facade/DevelopmentToModuleFinderFacadeBridge.php b/src/Spryker/Zed/Development/Dependency/Facade/DevelopmentToModuleFinderFacadeBridge.php index b7c916dd..3752a690 100644 --- a/src/Spryker/Zed/Development/Dependency/Facade/DevelopmentToModuleFinderFacadeBridge.php +++ b/src/Spryker/Zed/Development/Dependency/Facade/DevelopmentToModuleFinderFacadeBridge.php @@ -27,7 +27,7 @@ public function __construct($moduleFinderFacade) /** * @param \Generated\Shared\Transfer\ModuleFilterTransfer|null $moduleFilterTransfer * - * @return \Generated\Shared\Transfer\ModuleTransfer[] + * @return array<\Generated\Shared\Transfer\ModuleTransfer> */ public function getProjectModules(?ModuleFilterTransfer $moduleFilterTransfer = null): array { @@ -37,7 +37,7 @@ public function getProjectModules(?ModuleFilterTransfer $moduleFilterTransfer = /** * @param \Generated\Shared\Transfer\ModuleFilterTransfer|null $moduleFilterTransfer * - * @return \Generated\Shared\Transfer\ModuleTransfer[] + * @return array<\Generated\Shared\Transfer\ModuleTransfer> */ public function getModules(?ModuleFilterTransfer $moduleFilterTransfer = null): array { @@ -45,7 +45,7 @@ public function getModules(?ModuleFilterTransfer $moduleFilterTransfer = null): } /** - * @return \Generated\Shared\Transfer\PackageTransfer[] + * @return array<\Generated\Shared\Transfer\PackageTransfer> */ public function getPackages(): array { diff --git a/src/Spryker/Zed/Development/Dependency/Facade/DevelopmentToModuleFinderFacadeInterface.php b/src/Spryker/Zed/Development/Dependency/Facade/DevelopmentToModuleFinderFacadeInterface.php index 785bb81e..c2fde666 100644 --- a/src/Spryker/Zed/Development/Dependency/Facade/DevelopmentToModuleFinderFacadeInterface.php +++ b/src/Spryker/Zed/Development/Dependency/Facade/DevelopmentToModuleFinderFacadeInterface.php @@ -14,19 +14,19 @@ interface DevelopmentToModuleFinderFacadeInterface /** * @param \Generated\Shared\Transfer\ModuleFilterTransfer|null $moduleFilterTransfer * - * @return \Generated\Shared\Transfer\ModuleTransfer[] + * @return array<\Generated\Shared\Transfer\ModuleTransfer> */ public function getProjectModules(?ModuleFilterTransfer $moduleFilterTransfer = null): array; /** * @param \Generated\Shared\Transfer\ModuleFilterTransfer|null $moduleFilterTransfer * - * @return \Generated\Shared\Transfer\ModuleTransfer[] + * @return array<\Generated\Shared\Transfer\ModuleTransfer> */ public function getModules(?ModuleFilterTransfer $moduleFilterTransfer = null): array; /** - * @return \Generated\Shared\Transfer\PackageTransfer[] + * @return array<\Generated\Shared\Transfer\PackageTransfer> */ public function getPackages(): array; } diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index b4a7fe56..5fe1ea7e 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -84,7 +84,7 @@ class DevelopmentConfig extends AbstractBundleConfig /** * @phpstan-var array - * @var string[] + * @var array */ protected const INTERNAL_NAMESPACES_TO_PATH_MAPPING = [ self::NAMESPACE_SPRYKER => APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . 'vendor/spryker/', @@ -119,7 +119,7 @@ public function getPermissionMode(): int /** * @api * - * @return string[] + * @return array */ public function getInternalNamespaces(): array { @@ -129,7 +129,7 @@ public function getInternalNamespaces(): array /** * @api * - * @return string[] + * @return array */ public function getTwigPathPatterns(): array { @@ -241,7 +241,7 @@ public function getPathToEco() /** * @api * - * @return string[] + * @return array */ public function getOrganizationPathMap(): array { @@ -389,7 +389,7 @@ public function getExternalToInternalNamespaceMap() /** * @api * - * @return string[] + * @return array */ public function getExternalToInternalMap() { @@ -485,7 +485,7 @@ public function getIgnorableDependencies() /** * @api * - * @return string[] + * @return array */ public function getYvesIdeAutoCompletionOptions() { @@ -498,7 +498,7 @@ public function getYvesIdeAutoCompletionOptions() /** * @api * - * @return string[] + * @return array */ public function getZedIdeAutoCompletionOptions() { @@ -571,7 +571,7 @@ protected function getDefaultIdeAutoCompletionOptions() * * @phpstan-return array * - * @return string[] + * @return array */ public function getIdeAutoCompletionSourceDirectoryGlobPatterns() { @@ -584,7 +584,7 @@ public function getIdeAutoCompletionSourceDirectoryGlobPatterns() /** * @api * - * @return string[] + * @return array */ public function getIdeAutoCompletionGeneratorTemplatePaths() { @@ -690,7 +690,7 @@ public function getCodeSnifferLevel(): int /** * @api * - * @return string[] + * @return array */ public function getInternalNamespacesList(): array { @@ -721,7 +721,7 @@ public function getPathToInternalNamespace(string $namespace): ?string /** * @api * - * @return string[] + * @return array */ public function getPathsToInternalNamespace(): array { @@ -754,7 +754,7 @@ protected function checkPathToSprykerRoot(string $namespace): ?string * * @deprecated Use `spryker/module-finder` instead. * - * @return string[] + * @return array */ public function getInternalPackageDirectories(): array { @@ -768,7 +768,7 @@ public function getInternalPackageDirectories(): array * * @api * - * @return string[] + * @return array */ public function getDefaultInclusiveGroups(): array { diff --git a/tests/SprykerTest/Zed/Development/Business/Codeception/Argument/CodeceptionArgumentsTest.php b/tests/SprykerTest/Zed/Development/Business/Codeception/Argument/CodeceptionArgumentsTest.php index 78245f50..e0162cc1 100644 --- a/tests/SprykerTest/Zed/Development/Business/Codeception/Argument/CodeceptionArgumentsTest.php +++ b/tests/SprykerTest/Zed/Development/Business/Codeception/Argument/CodeceptionArgumentsTest.php @@ -28,8 +28,8 @@ class CodeceptionArgumentsTest extends Unit * @dataProvider argumentsDataProvider * * @param string $argumentName - * @param string[] $argumentValues - * @param string[] $result + * @param array $argumentValues + * @param array $result * * @return void */ From 8abc8ce2c0035e30a9a5c7cf5c83cdcb84114f8b Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Fri, 8 Oct 2021 21:54:06 +0200 Subject: [PATCH 241/336] TE-9955 Fix up test file. (#8771) TE-9955 Deprecated 7.3 in all modules and inside project code. --- .../ValidationRuleInSourceNotInRequire.php | 5 +++- .../ComposerDependencyParser.php | 30 +++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleInSourceNotInRequire.php b/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleInSourceNotInRequire.php index 7b824256..514b2d42 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleInSourceNotInRequire.php +++ b/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleInSourceNotInRequire.php @@ -19,7 +19,10 @@ class ValidationRuleInSourceNotInRequire implements ValidationRuleInterface */ public function validateModuleDependency(ModuleDependencyTransfer $moduleDependencyTransfer): ModuleDependencyTransfer { - if ($moduleDependencyTransfer->getIsSrcDependency() && (!$moduleDependencyTransfer->getIsInComposerRequire() && !$moduleDependencyTransfer->getIsOptionalDependency())) { + if ( + $moduleDependencyTransfer->getIsSrcDependency() && (!$moduleDependencyTransfer->getIsInComposerRequire() && !$moduleDependencyTransfer->getIsOptionalDependency()) && + !$moduleDependencyTransfer->getIsInComposerRequireDev() + ) { $moduleDependencyTransfer->setIsValid(false); $validationMessageTransfer = new ValidationMessageTransfer(); $validationMessageTransfer->setMessage('Source dependency not listed in composer require'); diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php b/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php index 456bfa23..6f814e43 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php @@ -261,13 +261,43 @@ protected function getOverwrittenDependenciesForBundle(DependencyCollectionTrans $dependencyCollectionTransfer->addDependencyModule($moduleDependencyTransfer); } } + + $overwrittenRequiredDependencies = []; foreach ($declaredDependencies[static::TYPE_INCLUDE] as $declaredDependency) { $dependencyCollectionTransfer = $this->addDeclaredDependency($dependencyCollectionTransfer, $declaredDependency); + $overwrittenRequiredDependencies[] = $declaredDependency; } + foreach ($declaredDependencies[static::TYPE_INCLUDE_DEV] as $declaredDependency) { $dependencyCollectionTransfer = $this->addDeclaredDependency($dependencyCollectionTransfer, $declaredDependency, true); } + $dependencyCollectionTransfer = $this->addNonOverwrittenRequiredDependencies($dependencyCollectionTransfer, $overwrittenRequiredDependencies); + + return $dependencyCollectionTransfer; + } + + /** + * @param \Generated\Shared\Transfer\DependencyCollectionTransfer $dependencyCollectionTransfer + * @param array $overwrittenRequiredDependencies + * + * @return \Generated\Shared\Transfer\DependencyCollectionTransfer + */ + protected function addNonOverwrittenRequiredDependencies( + DependencyCollectionTransfer $dependencyCollectionTransfer, + array $overwrittenRequiredDependencies + ): DependencyCollectionTransfer { + $composerDependencyCollectionTransfer = $this->parseComposerJson($dependencyCollectionTransfer->getModule()); + + foreach ($composerDependencyCollectionTransfer->getComposerDependencies() as $composerDependency) { + if ( + $composerDependency->getName() && $composerDependency->getIsDev() === false && + !in_array($composerDependency->getName(), $overwrittenRequiredDependencies) + ) { + $dependencyCollectionTransfer = $this->addDeclaredDependency($dependencyCollectionTransfer, $composerDependency->getName()); + } + } + return $dependencyCollectionTransfer; } From 67ee6e31fff84023fd6fd4e287acb0d153931170 Mon Sep 17 00:00:00 2001 From: mscherer Date: Sat, 9 Oct 2021 02:16:42 +0200 Subject: [PATCH 242/336] TE-9955 Update PHP min version. --- README.md | 2 +- composer.json | 2 +- .../Business/CodeBuilder/Module/Templates/.gitattributes.tpl | 2 +- .../Business/CodeBuilder/Module/Templates/README.md.tpl | 2 +- .../Development/Business/Composer/Updater/RequireUpdater.php | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 11f70a13..7fbd2d06 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Development Module [![Latest Stable Version](https://poser.pugx.org/spryker/development/v/stable.svg)](https://packagist.org/packages/spryker/development) -[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.3-8892BF.svg)](https://php.net/) +[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.4-8892BF.svg)](https://php.net/) Development is a tooling module for (local) development. diff --git a/composer.json b/composer.json index f02cd2a3..1daf1177 100644 --- a/composer.json +++ b/composer.json @@ -5,7 +5,7 @@ "license": "proprietary", "require": { "nette/di": "^2.4.7 || ^3.0", - "php": ">=7.3", + "php": ">=7.4", "phpmd/phpmd": "^2.0.0", "spryker/config": "^3.0.0", "spryker/graph": "^3.0.0", diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl index 23cd1525..51f3ea4b 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.gitattributes.tpl @@ -32,5 +32,5 @@ tooling.yml export-ignore .editorconfig export-ignore .gitattributes export-ignore .gitignore export-ignore -.github export-ignore +.github/ export-ignore architecture-baseline.json export-ignore diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl index f3e8b729..3f575111 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl @@ -1,6 +1,6 @@ # {module} Module [![Latest Stable Version](https://poser.pugx.org/{namespaceDashed}/{moduleDashed}/v/stable.svg)](https://packagist.org/packages/{namespaceDashed}/{moduleDashed}) -[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.3-8892BF.svg)](https://php.net/) +[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.4-8892BF.svg)](https://php.net/) {{ADD DESCRIPTION HERE}} diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php index 2279ce99..e2b8af77 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php @@ -22,7 +22,7 @@ class RequireUpdater implements UpdaterInterface /** * @var string */ - public const PHP_MINIMUM = '>=7.3'; + public const PHP_MINIMUM = '>=7.4'; /** * @param array $composerJson From 464bc33051e39fe831c73b2760ecbec12340ef34 Mon Sep 17 00:00:00 2001 From: mscherer Date: Sat, 9 Oct 2021 03:05:12 +0200 Subject: [PATCH 243/336] TE-9955 Clean up meta files. --- .gitattributes | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitattributes b/.gitattributes index 03d7ba46..307be399 100644 --- a/.gitattributes +++ b/.gitattributes @@ -33,3 +33,4 @@ tooling.yml export-ignore .gitattributes export-ignore .gitignore export-ignore architecture-baseline.json export-ignore +.github/ export-ignore From 27f2f3952e57aabca376a30f1ca16a68d2ee4ebc Mon Sep 17 00:00:00 2001 From: Olha Livitchuk <77281282+olhalivitchuk@users.noreply.github.com> Date: Tue, 12 Oct 2021 14:53:23 +0300 Subject: [PATCH 244/336] TE-9988: Replaced deprecated Faker (#8786) TE-9988 Replace deprecated fzaninotto/faker with fakerphp/faker --- src/Spryker/Zed/Development/DevelopmentConfig.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 5fe1ea7e..36848a0b 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -399,7 +399,7 @@ public function getExternalToInternalMap() 'dms/phpunit-arraysubset-asserts' => 'spryker/testify', 'doctrine/inflector' => 'spryker/doctrine-inflector', 'egulias/email-validator' => 'spryker/egulias', - 'fzaninotto/faker' => 'spryker/testify', + 'fakerphp/faker' => 'spryker/testify', 'galbar/jsonpath' => 'spryker/json-path', 'guzzlehttp/guzzle' => 'spryker/guzzle', 'justinrainbow/json-schema' => 'spryker/json-schema', From 603de7c88197d964859e29322354205a0fe44976 Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Wed, 13 Oct 2021 14:47:47 +0200 Subject: [PATCH 245/336] Fix invalid indentation. Fix invalid docblocks. (#8795) * Fix invalid indentation. Fix invalid docblocks. * Fix invalid indentation. Fix invalid docblocks. --- .../Business/CodeStyleSniffer/CodeStyleSniffer.php | 2 +- .../Business/Composer/Updater/BranchAliasUpdater.php | 6 +++--- .../Business/IdeAutoCompletion/Remover/DirectoryRemover.php | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php index cfcc621a..1ad112e0 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php @@ -82,7 +82,7 @@ public function checkCodeStyle($module, array $options = []) $pathOption = isset($options['path']) ? $options['path'] : null; $defaults = [ - static::OPTION_IGNORE => $namespace || $pathOption ? null : 'vendor/', + static::OPTION_IGNORE => $namespace || $pathOption ? null : 'vendor/', ]; $options += $defaults; diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/BranchAliasUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/BranchAliasUpdater.php index dd2e0518..edfa6544 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/BranchAliasUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/BranchAliasUpdater.php @@ -40,9 +40,9 @@ public function update(array $composerJson, SplFileInfo $composerJsonFile): arra $alias = Config::get(DevelopmentConstants::COMPOSER_BRANCH_ALIAS); $composerJson[static::KEY_EXTRA] = [ - static::KEY_BRANCH_ALIAS => [ - static::KEY_MASTER_BRANCH => $alias, - ], + static::KEY_BRANCH_ALIAS => [ + static::KEY_MASTER_BRANCH => $alias, + ], ]; return $composerJson; diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryRemover.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryRemover.php index 0a8936b1..93c88a51 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryRemover.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryRemover.php @@ -22,7 +22,7 @@ class DirectoryRemover implements DirectoryRemoverInterface protected $fileSystem; /** - * @var \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\GeneratedFileFinderInterface $fileFinder + * @var \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\GeneratedFileFinderInterface */ protected $fileFinder; From 8e0dcedcc9ee371a1ecf26d92d91b53c101e0d60 Mon Sep 17 00:00:00 2001 From: mscherer Date: Mon, 18 Oct 2021 10:27:36 +0200 Subject: [PATCH 246/336] Fix constraint version. --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 1daf1177..e1a3377b 100644 --- a/composer.json +++ b/composer.json @@ -4,7 +4,7 @@ "description": "Development module", "license": "proprietary", "require": { - "nette/di": "^2.4.7 || ^3.0", + "nette/di": "^2.4.7 || ^3.0.0", "php": ">=7.4", "phpmd/phpmd": "^2.0.0", "spryker/config": "^3.0.0", From 5a09108897ac7a2cf2d6e7603560a4b28d5bcff5 Mon Sep 17 00:00:00 2001 From: mscherer Date: Mon, 18 Oct 2021 18:05:16 +0200 Subject: [PATCH 247/336] TE-9955 Require PHP 7.4+ now. --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 06f7a338..0d8b4d01 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,7 +41,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '7.3' + php-version: '7.4' extensions: mbstring, intl, bcmath coverage: none From 064561a06d7113af0e151731b1bbebd32c485ce8 Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Wed, 20 Oct 2021 18:01:30 +0200 Subject: [PATCH 248/336] TE-10081 CS code sniffer fixes for future compatibility. (#8817) * TE-10081 CS code sniffer fixes for future compatibility. * Fix non defined array usage. * Readd PHP73+ call commas. --- .../Development/DevelopmentConstants.php | 2 ++ .../ArchitectureSniffer.php | 14 ++++++++++++++ .../CodeBuilder/Bridge/BridgeBuilder.php | 6 ++++++ .../CodeBuilder/Module/ModuleBuilder.php | 2 ++ .../CodeStyleSniffer/CodeStyleSniffer.php | 2 ++ .../Config/CodeStyleSnifferConfiguration.php | 2 ++ .../Business/CodeTest/CodeTester.php | 1 + .../Builder/CodeceptionArgumentsBuilder.php | 4 ++++ .../Business/Composer/ComposerJsonUpdater.php | 1 + .../Composer/Updater/AutoloadUpdater.php | 18 ++++++++++++++++++ .../Composer/Updater/BranchAliasUpdater.php | 2 ++ .../Composer/Updater/RequireDevUpdater.php | 1 + .../Updater/RequireExternalUpdater.php | 2 ++ .../Composer/Updater/RequireUpdater.php | 2 ++ .../Composer/Updater/StabilityUpdater.php | 1 + .../ComposerJsonPackageNameValidator.php | 1 + .../ValidationRuleInterface.php | 4 ++++ .../ComposerDependencyParser.php | 3 +++ .../AbstractDependencyFinder.php | 3 +++ .../DependencyFinder/ExternalDependency.php | 1 + .../DependencyFinder/LocatorClient.php | 1 + .../DependencyFinder/LocatorService.php | 1 + .../DependencyFinder/UseStatement.php | 1 + .../DependencyGraph/ExternalGraphBuilder.php | 1 + .../DependencyGraph/GraphBuilderInterface.php | 1 + .../DependencyGraph/SimpleGraphBuilder.php | 1 + .../PackageVersionHydrator.php | 1 + .../Business/DependencyTree/DependencyTree.php | 16 ++++++++++++++++ .../IdeAutoCompletionConstants.php | 1 + .../IdeAutoCompletionOptionConstants.php | 8 ++++++++ .../Development/Business/PhpMd/PhpMdRunner.php | 1 + .../Rules/Design/CouplingBetweenObjects.php | 1 + .../PhpMd/Rules/Design/NumberOfChildren.php | 1 + .../PhpMd/Rules/Design/TooManyMethods.php | 1 + .../Rules/Design/TooManyPublicMethods.php | 1 + .../Business/Phpstan/PhpstanRunner.php | 8 ++++++++ ...ArchitectureSnifferConfigurationBuilder.php | 3 +++ .../Console/CodeArchitectureSnifferConsole.php | 9 +++++++++ .../Console/CodeFixturesConsole.php | 4 ++++ .../Console/CodePhpMessDetectorConsole.php | 4 ++++ .../Console/CodePhpstanConsole.php | 1 + .../Console/CodeStyleSnifferConsole.php | 6 ++++++ .../Communication/Console/CodeTestConsole.php | 4 ++++ .../Console/ComposerJsonUpdaterConsole.php | 2 ++ .../Console/DependencyTreeBuilderConsole.php | 2 ++ .../DependencyViolationFinderConsole.php | 4 ++++ .../Console/DependencyViolationFixConsole.php | 2 ++ .../GenerateClientIdeAutoCompletionConsole.php | 1 + .../GenerateGlueIdeAutoCompletionConsole.php | 1 + .../GenerateIdeAutoCompletionConsole.php | 1 + ...GenerateServiceIdeAutoCompletionConsole.php | 1 + .../GenerateYvesIdeAutoCompletionConsole.php | 1 + .../GenerateZedIdeAutoCompletionConsole.php | 1 + .../Console/ModuleBridgeCreateConsole.php | 3 +++ .../Console/ModuleCreateConsole.php | 3 +++ .../Console/PluginUsageFinderConsole.php | 1 + .../Console/PropelAbstractValidateConsole.php | 2 ++ .../Controller/DependencyController.php | 2 ++ .../Communication/Form/BundlesFormType.php | 3 +++ .../Zed/Development/DevelopmentConfig.php | 6 ++++++ .../DevelopmentDependencyProvider.php | 6 ++++++ .../SchemaParser/PropelSchemaParserTest.php | 3 ++- .../MethodBuilder/ClientMethodBuilderTest.php | 1 + .../MethodBuilder/FacadeMethodBuilderTest.php | 1 + .../QueryContainerMethodBuilderTest.php | 1 + .../MethodBuilder/ServiceMethodBuilderTest.php | 1 + .../Design/CouplingBetweenObjectsTest.php | 1 + .../Rules/Design/NumberOfChildrenTest.php | 1 + .../PhpMd/Rules/Design/TooManyMethodsTest.php | 2 ++ .../Rules/Design/TooManyPublicMethodsTest.php | 2 ++ ...itectureSnifferConfigurationBuilderTest.php | 1 + .../Helper/SnifferConfigurationHelper.php | 5 +++++ 72 files changed, 208 insertions(+), 1 deletion(-) diff --git a/src/Spryker/Shared/Development/DevelopmentConstants.php b/src/Spryker/Shared/Development/DevelopmentConstants.php index 87dc9adc..27786376 100644 --- a/src/Spryker/Shared/Development/DevelopmentConstants.php +++ b/src/Spryker/Shared/Development/DevelopmentConstants.php @@ -16,10 +16,12 @@ interface DevelopmentConstants * @var string */ public const COMPOSER_REQUIRE_VERSION = 'COMPOSER_REQUIRE_VERSION'; + /** * @var string */ public const COMPOSER_REQUIRE_VERSION_EXTERNAL = 'COMPOSER_REQUIRE_VERSION_EXTERNAL'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php index 6aeaa2b7..424911db 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php @@ -22,34 +22,42 @@ class ArchitectureSniffer implements ArchitectureSnifferInterface * @var string */ public const OPTION_PRIORITY = 'priority'; + /** * @var string */ public const OPTION_STRICT = 'strict'; + /** * @var string */ public const OPTION_DRY_RUN = 'dry-run'; + /** * @var string */ public const NAME_VISIBLE_VIOLATIONS = 'visible'; + /** * @var string */ public const NAME_IGNORED_VIOLATIONS = 'ignored'; + /** * @var string */ public const VIOLATION_FIELD_NAME_DESCRIPTION = 'description'; + /** * @var string */ public const VIOLATION_FIELD_NAME_RULESET = 'ruleset'; + /** * @var string */ public const VIOLATION_FIELD_NAME_RULE = 'rule'; + /** * @var string */ @@ -59,26 +67,32 @@ class ArchitectureSniffer implements ArchitectureSnifferInterface * @var string */ protected const SOURCE_FOLDER_NAME = 'src'; + /** * @var string */ protected const OPTION_MODULE = 'module'; + /** * @var string */ protected const OPTION_IGNORE_ERRORS = 'ignoreErrors'; + /** * @var string */ protected const OPTION_VERBOSE = 'verbose'; + /** * @var string */ protected const ARCHITECTURE_BASELINE_JSON = 'architecture-baseline.json'; + /** * @var string */ protected const VIOLATION_FIELD_NAME_PRIORITY = 'priority'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php b/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php index 5167008d..98417982 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php @@ -23,14 +23,17 @@ class BridgeBuilder * @var string */ protected const TEMPLATE_INTERFACE = 'interface'; + /** * @var string */ protected const TEMPLATE_BRIDGE = 'bridge'; + /** * @var string */ protected const TEMPLATE_INTERFACE_METHOD = 'interface_method'; + /** * @var string */ @@ -40,6 +43,7 @@ class BridgeBuilder * @var string */ protected const DEFAULT_VENDOR = 'Spryker'; + /** * @var string */ @@ -70,6 +74,7 @@ class BridgeBuilder * @var string */ protected const NULLABLE_RETURN_TYPE_HINT = ': ?'; + /** * @var string */ @@ -79,6 +84,7 @@ class BridgeBuilder * @var string */ protected const TYPE_HINT = 'type_hint'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php index b4ee293e..f8b1d1b4 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php @@ -18,6 +18,7 @@ class ModuleBuilder * @var string */ protected const OPTION_FILE = 'file'; + /** * @var string */ @@ -27,6 +28,7 @@ class ModuleBuilder * @var string */ protected const NAMESPACE_SPRYKER = 'Spryker'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php index 1ad112e0..28ef2fd0 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php @@ -33,6 +33,7 @@ class CodeStyleSniffer * @var array */ protected const APPLICATION_NAMESPACES = ['Orm']; + /** * @var array */ @@ -42,6 +43,7 @@ class CodeStyleSniffer * @var string */ protected const NAMESPACE_SPRYKER_SHOP = 'SprykerShop'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php index 3d6f6823..3e4e74ba 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php @@ -64,10 +64,12 @@ class CodeStyleSnifferConfiguration implements CodeStyleSnifferConfigurationInte * @var string */ protected const MODULE_CONFIG_LEVEL = 'level'; + /** * @var int */ protected const LEVEL_SPRYKER_BASIC = 1; + /** * @var int */ diff --git a/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php b/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php index f0b6d84a..967631c6 100644 --- a/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php +++ b/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php @@ -47,6 +47,7 @@ class CodeTester * @var int */ protected const CODE_SUCCESS = 0; + /** * @var int */ diff --git a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php index a045620d..fc896472 100644 --- a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php +++ b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php @@ -17,18 +17,22 @@ class CodeceptionArgumentsBuilder implements CodeceptionArgumentsBuilderInterfac * @var string */ protected const OPTION_CONFIG_PATH = 'config'; + /** * @var string */ protected const OPTION_GROUP_INCLUDE = 'group'; + /** * @var string */ protected const OPTION_GROUP_EXCLUDE = 'exclude'; + /** * @var string */ protected const OPTION_VERBOSE = 'verbose'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php index 5e559604..b27e0d7b 100644 --- a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php @@ -20,6 +20,7 @@ class ComposerJsonUpdater implements ComposerJsonUpdaterInterface * @var string */ public const KEY_REQUIRE = 'require'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php index 54d28dfe..c76e463f 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php @@ -18,6 +18,7 @@ class AutoloadUpdater implements UpdaterInterface * @var string */ public const AUTOLOAD_KEY = 'autoload'; + /** * @var string */ @@ -27,34 +28,42 @@ class AutoloadUpdater implements UpdaterInterface * @var string */ public const BASE_TESTS_DIRECTORY = 'tests'; + /** * @var string */ public const BASE_SRC_DIRECTORY = 'src'; + /** * @var string */ public const BASE_SUPPORT_DIRECTORY = '_support'; + /** * @var string */ public const BASE_HELPER_DIRECTORY = 'Helper'; + /** * @var string */ protected const BASE_PAGE_OBJECT_DIRECTORY = 'PageObject'; + /** * @var string */ public const BASE_TESTER_DIRECTORY = 'Tester'; + /** * @var string */ public const BASE_FIXTURES_DIRECTORY = 'Fixtures'; + /** * @var string */ public const BASE_STEP_OVERRIDE_DIRECTORY = 'StepOverride'; + /** * @var string */ @@ -64,18 +73,22 @@ class AutoloadUpdater implements UpdaterInterface * @var string */ public const SPRYKER_TEST_NAMESPACE = 'SprykerTest'; + /** * @var string */ public const SPRYKER_SDK_TEST_NAMESPACE = 'SprykerSdkTest'; + /** * @var string */ public const SPRYKER_ECO_TEST_NAMESPACE = 'SprykerEcoTest'; + /** * @var string */ public const SPRYKER_SHOP_TEST_NAMESPACE = 'SprykerShopTest'; + /** * @var string */ @@ -85,18 +98,22 @@ class AutoloadUpdater implements UpdaterInterface * @var string */ public const SPRYKER_NAMESPACE = 'Spryker'; + /** * @var string */ public const SPRYKER_SHOP_NAMESPACE = 'SprykerShop'; + /** * @var string */ public const SPRYKER_ECO_NAMESPACE = 'SprykerEco'; + /** * @var string */ public const SPRYKER_SDK_NAMESPACE = 'SprykerSdk'; + /** * @var string */ @@ -106,6 +123,7 @@ class AutoloadUpdater implements UpdaterInterface * @var string */ public const PSR_0 = 'psr-0'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/BranchAliasUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/BranchAliasUpdater.php index edfa6544..d97e73fd 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/BranchAliasUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/BranchAliasUpdater.php @@ -17,10 +17,12 @@ class BranchAliasUpdater implements UpdaterInterface * @var string */ public const KEY_EXTRA = 'extra'; + /** * @var string */ public const KEY_BRANCH_ALIAS = 'branch-alias'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireDevUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireDevUpdater.php index 7927db96..628d9db0 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireDevUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireDevUpdater.php @@ -15,6 +15,7 @@ class RequireDevUpdater implements UpdaterInterface * @var string */ public const KEY_REQUIRE_DEV = 'require-dev'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php index 348aa18e..bfcb512d 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php @@ -20,10 +20,12 @@ class RequireExternalUpdater implements UpdaterInterface * @var string */ public const KEY_REQUIRE = 'require'; + /** * @var string */ public const RELEASE_OPERATOR = '^'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php index e2b8af77..33e325a2 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php @@ -15,10 +15,12 @@ class RequireUpdater implements UpdaterInterface * @var string */ public const KEY_REQUIRE = 'require'; + /** * @var string */ public const KEY_REQUIRE_PHP = 'php'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/StabilityUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/StabilityUpdater.php index cb0312fd..43235c5f 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/StabilityUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/StabilityUpdater.php @@ -15,6 +15,7 @@ class StabilityUpdater implements UpdaterInterface * @var string */ public const KEY_MINIMUM_STABILITY = 'minimum-stability'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonPackageNameValidator.php b/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonPackageNameValidator.php index c680caad..fd00548d 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonPackageNameValidator.php +++ b/src/Spryker/Zed/Development/Business/Composer/Validator/ComposerJsonPackageNameValidator.php @@ -16,6 +16,7 @@ class ComposerJsonPackageNameValidator implements ComposerJsonValidatorInterface * @var string */ protected const REQUIRE = 'require'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleInterface.php b/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleInterface.php index 9f24a3a8..543800d9 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleInterface.php +++ b/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleInterface.php @@ -15,10 +15,12 @@ interface ValidationRuleInterface * @var string */ public const ADD_REQUIRE = 'add-require'; + /** * @var string */ public const ADD_REQUIRE_DEV = 'add-require-dev'; + /** * @var string */ @@ -28,10 +30,12 @@ interface ValidationRuleInterface * @var string */ public const REMOVE_REQUIRE = 'remove-require'; + /** * @var string */ public const REMOVE_REQUIRE_DEV = 'remove-require-dev'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php b/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php index 6f814e43..fcbe93ba 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php @@ -27,14 +27,17 @@ class ComposerDependencyParser implements ComposerDependencyParserInterface * @var string */ public const TYPE_INCLUDE = 'include'; + /** * @var string */ public const TYPE_EXCLUDE = 'exclude'; + /** * @var string */ public const TYPE_INCLUDE_DEV = 'include-dev'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/AbstractDependencyFinder.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/AbstractDependencyFinder.php index d166a55a..ca1e2e90 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/AbstractDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/AbstractDependencyFinder.php @@ -17,14 +17,17 @@ abstract class AbstractDependencyFinder * @var string */ public const DEPENDS_LAYER = 'dependsLayer'; + /** * @var string */ public const LAYER_BUSINESS = 'Business'; + /** * @var string */ public const LAYER_PERSISTENCE = 'Persistence'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php index c65ae7a0..dc051314 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php @@ -90,6 +90,7 @@ public function addDependencies(SplFileInfo $fileInfo) continue; } + $dependencyInformation = []; $dependencyInformation[DependencyTree::META_FOREIGN_LAYER] = 'external'; $dependencyInformation[DependencyTree::META_FOREIGN_CLASS_NAME] = $className; $dependencyInformation[DependencyTree::META_FOREIGN_IS_EXTERNAL] = true; diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/LocatorClient.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/LocatorClient.php index a2f366dd..e203dda2 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/LocatorClient.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/LocatorClient.php @@ -16,6 +16,7 @@ class LocatorClient extends AbstractDependencyFinder * @var string */ public const NO_LAYER = 'Default'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/LocatorService.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/LocatorService.php index d6fbe87d..73b7b92e 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/LocatorService.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/LocatorService.php @@ -16,6 +16,7 @@ class LocatorService extends AbstractDependencyFinder * @var string */ public const NO_LAYER = 'Default'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/UseStatement.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/UseStatement.php index 1f9987f0..d4cf4ab3 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/UseStatement.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/UseStatement.php @@ -16,6 +16,7 @@ class UseStatement extends AbstractDependencyFinder * @var string */ public const LAYER_DEFAULT = 'Default'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/ExternalGraphBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/ExternalGraphBuilder.php index 76aaa416..94bde1ea 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/ExternalGraphBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/ExternalGraphBuilder.php @@ -16,6 +16,7 @@ class ExternalGraphBuilder implements GraphBuilderInterface * @var string */ public const FONT_COLOR = 'fontcolor'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/GraphBuilderInterface.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/GraphBuilderInterface.php index a24ad160..9beceb4f 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/GraphBuilderInterface.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/GraphBuilderInterface.php @@ -13,6 +13,7 @@ interface GraphBuilderInterface * @var string */ public const ENGINE_BUNDLE_FONT_COLOR = 'grey'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/SimpleGraphBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/SimpleGraphBuilder.php index 4d4fbd9b..9b46eb6c 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/SimpleGraphBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/SimpleGraphBuilder.php @@ -16,6 +16,7 @@ class SimpleGraphBuilder implements GraphBuilderInterface * @var string */ public const FONT_COLOR = 'fontcolor'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageVersionHydrator.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageVersionHydrator.php index 6b2d0631..6fbb8fc0 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageVersionHydrator.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageVersionHydrator.php @@ -15,6 +15,7 @@ class PackageVersionHydrator implements DependencyHydratorInterface * @var string */ public const NAME = 'name'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTree.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTree.php index 47cd1769..909dea5a 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTree.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTree.php @@ -15,66 +15,82 @@ class DependencyTree extends AbstractDependencyTree * @var string */ public const META_FINDER = 'finder'; + /** * @var string */ public const META_FILE = 'file'; + /** * @var string */ public const META_IN_TEST = 'in test'; + /** * @var string */ public const META_IS_OPTIONAL = 'is optional'; + /** * @var string */ public const META_ORGANIZATION = 'organization'; + /** * @var string */ public const META_CLASS_NAME = 'class name'; + /** * @var string */ public const META_FOREIGN_BUNDLE = 'foreign bundle'; + /** * @var string */ public const META_FOREIGN_BUNDLE_IS_ENGINE = 'foreign bundle is engine'; + /** * @var string */ public const META_FOREIGN_LAYER = 'foreign layer'; + /** * @var string */ public const META_FOREIGN_CLASS_NAME = 'foreign class name'; + /** * @var string */ public const META_FOREIGN_IS_EXTERNAL = 'foreign is external'; + /** * @var string */ public const META_APPLICATION = 'application'; + /** * @var string */ public const META_MODULE = 'bundle'; + /** * @var string */ public const META_MODULE_IS_ENGINE = 'is engine'; + /** * @var string */ public const META_LAYER = 'layer'; + /** * @var string */ public const META_COMPOSER_NAME = 'composer name'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionConstants.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionConstants.php index ac03866c..20a9c724 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionConstants.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionConstants.php @@ -13,6 +13,7 @@ final class IdeAutoCompletionConstants * @var string */ public const APPLICATION_NAME_PLACEHOLDER = '{{APPLICATION_NAME}}'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionOptionConstants.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionOptionConstants.php index 0a64ad49..e02b6481 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionOptionConstants.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionOptionConstants.php @@ -13,34 +13,42 @@ final class IdeAutoCompletionOptionConstants * @var string */ public const TARGET_BASE_DIRECTORY = 'target_base_directory'; + /** * @var string */ public const TARGET_DIRECTORY_PATTERN = 'target_path_pattern'; + /** * @var string */ public const TARGET_NAMESPACE_PATTERN = 'target_namespace_pattern'; + /** * @var string */ public const APPLICATION_NAME = 'application_name'; + /** * @var string */ public const YVES = 'Yves'; + /** * @var string */ public const ZED = 'Zed'; + /** * @var string */ public const CLIENT = 'Client'; + /** * @var string */ public const GLUE = 'Glue'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php b/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php index db6ddc29..ae6a1411 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php @@ -28,6 +28,7 @@ class PhpMdRunner * @var string */ public const OPTION_DRY_RUN = 'dry-run'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjects.php b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjects.php index ef1d96c3..82badda4 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjects.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjects.php @@ -17,6 +17,7 @@ class CouplingBetweenObjects extends AbstractRule implements ClassAware * @var string */ public const COUPLING_BETWEEN_OBJECTS = 'cbo'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildren.php b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildren.php index 937047ea..dd58dfa7 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildren.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildren.php @@ -17,6 +17,7 @@ class NumberOfChildren extends AbstractRule implements ClassAware * @var string */ public const NUMBER_OF_CHILDREN = 'nocc'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethods.php b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethods.php index 3d5a83d1..a8001882 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethods.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethods.php @@ -18,6 +18,7 @@ class TooManyMethods extends AbstractRule implements ClassAware * @var string */ public const MAX_METHODS = 'maxmethods'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethods.php b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethods.php index 22e767d6..7104ef59 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethods.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethods.php @@ -18,6 +18,7 @@ class TooManyPublicMethods extends AbstractRule implements ClassAware * @var string */ public const NUMBER_OF_PUBLIC_METHODS = 'npm'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index 281acc65..7e82f60b 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -28,6 +28,7 @@ class PhpstanRunner implements PhpstanRunnerInterface * @var string */ public const NAMESPACE_SPRYKER_SHOP = 'SprykerShop'; + /** * @var string */ @@ -37,10 +38,12 @@ class PhpstanRunner implements PhpstanRunnerInterface * @var string */ public const DEFAULT_LEVEL = 'defaultLevel'; + /** * @var string */ public const MEMORY_LIMIT = '-1'; + /** * @var int */ @@ -50,18 +53,22 @@ class PhpstanRunner implements PhpstanRunnerInterface * @var string */ public const OPTION_DRY_RUN = 'dry-run'; + /** * @var string */ public const OPTION_VERBOSE = 'verbose'; + /** * @var string */ public const OPTION_MODULE = 'module'; + /** * @var string */ public const OPTION_LEVEL = 'level'; + /** * @var string */ @@ -71,6 +78,7 @@ class PhpstanRunner implements PhpstanRunnerInterface * @var int */ protected const SUCCESS_EXIT_CODE = 0; + /** * @var int */ diff --git a/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php b/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php index f2b4ca63..9a82e953 100644 --- a/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php +++ b/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php @@ -17,14 +17,17 @@ class ArchitectureSnifferConfigurationBuilder implements SnifferConfigurationBui * @var string */ protected const CONFIG_NAME = 'architecture-sniffer'; + /** * @var string */ protected const CONFIG_PRIORITY_NAME = 'priority'; + /** * @var int */ protected const CONFIG_PRIORITY_SKIP_VALUE = 0; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php index 7b1df82c..16f18dc4 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php @@ -31,30 +31,37 @@ class CodeArchitectureSnifferConsole extends Console * @var string */ protected const COMMAND_NAME = 'code:sniff:architecture'; + /** * @var string */ protected const OPTION_MODULE = 'module'; + /** * @var string */ protected const OPTION_STRICT = 'strict'; + /** * @var string */ protected const OPTION_PRIORITY = 'priority'; + /** * @var string */ protected const OPTION_DRY_RUN = 'dry-run'; + /** * @var string */ protected const ARGUMENT_SUB_PATH = 'path'; + /** * @var string */ protected const OPTION_VERBOSE = 'verbose'; + /** * @var array */ @@ -64,10 +71,12 @@ class CodeArchitectureSnifferConsole extends Console * @var string */ protected const NAMESPACE_SPRYKER_SHOP = 'SprykerShop'; + /** * @var string */ protected const NAMESPACE_SPRYKER = 'Spryker'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php index 1be468e2..d882612c 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php @@ -22,18 +22,22 @@ class CodeFixturesConsole extends Console * @var string */ public const COMMAND_NAME = 'code:fixtures'; + /** * @var string */ public const OPTION_MODULE = 'module'; + /** * @var string */ public const OPTION_INITIALIZE = 'initialize'; + /** * @var string */ public const OPTION_GROUP = 'group'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Communication/Console/CodePhpMessDetectorConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodePhpMessDetectorConsole.php index 73352ca8..9d360b8f 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodePhpMessDetectorConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodePhpMessDetectorConsole.php @@ -22,18 +22,22 @@ class CodePhpMessDetectorConsole extends Console * @var string */ public const COMMAND_NAME = 'code:phpmd'; + /** * @var string */ public const OPTION_MODULE = 'module'; + /** * @var string */ public const OPTION_MODULE_ALL = 'all'; + /** * @var string */ public const OPTION_DRY_RUN = 'dry-run'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php index 8cbfdb74..98f52417 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php @@ -27,6 +27,7 @@ class CodePhpstanConsole extends Console protected const OPTION_DRY_RUN = PhpstanRunner::OPTION_DRY_RUN; protected const OPTION_LEVEL = PhpstanRunner::OPTION_LEVEL; protected const OPTION_OFFSET = PhpstanRunner::OPTION_OFFSET; + /** * @deprecated Not Used * @var string diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php index cfc7371c..e27ced80 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php @@ -24,26 +24,32 @@ class CodeStyleSnifferConsole extends Console * @var string */ public const COMMAND_NAME = 'code:sniff:style'; + /** * @var string */ public const OPTION_MODULE = 'module'; + /** * @var string */ public const OPTION_SNIFFS = 'sniffs'; + /** * @var string */ public const OPTION_DRY_RUN = 'dry-run'; + /** * @var string */ public const OPTION_FIX = 'fix'; + /** * @var string */ public const OPTION_EXPLAIN = 'explain'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php index 8dba67f3..2f4c6672 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php @@ -27,18 +27,22 @@ class CodeTestConsole extends Console * @var string */ public const OPTION_MODULE = 'module'; + /** * @var string */ public const OPTION_INITIALIZE = 'initialize'; + /** * @var string */ public const OPTION_GROUP = 'group'; + /** * @var string */ public const OPTION_TYPE_EXCLUDE = 'exclude'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php b/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php index 9d48aa73..d0eab541 100644 --- a/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php @@ -23,10 +23,12 @@ class ComposerJsonUpdaterConsole extends AbstractCoreModuleAwareConsole * @var string */ public const COMMAND_NAME = 'dev:composer:update-json-files'; + /** * @var string */ public const OPTION_DRY_RUN = 'dry-run'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php index d953e752..ab7368c6 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php @@ -29,10 +29,12 @@ class DependencyTreeBuilderConsole extends Console * @var string */ public const OPTION_APPLICATION = 'application'; + /** * @var string */ public const OPTION_MODULE = 'module'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php index c85e4a23..69e9dd34 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php @@ -28,18 +28,22 @@ class DependencyViolationFinderConsole extends AbstractCoreModuleAwareConsole * @var string */ public const COMMAND_NAME = 'dev:dependency:find'; + /** * @var string */ public const OPTION_DEPENDENCY_TYPE = 'dependency-type'; + /** * @var string */ public const OPTION_DEPENDENCY_TYPE_SHORT = 'd'; + /** * @var string */ public const OPTION_STOP_ON_VIOLATION = 'stop-on-violation'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php index e251e0c4..22b60d8a 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php @@ -28,10 +28,12 @@ class DependencyViolationFixConsole extends AbstractCoreModuleAwareConsole * @var string */ protected const COMMAND_NAME = 'dev:dependency:fix'; + /** * @var string */ protected const OPTION_DRY_RUN = 'dry-run'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateClientIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateClientIdeAutoCompletionConsole.php index 3922e2c2..b6493de3 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateClientIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateClientIdeAutoCompletionConsole.php @@ -21,6 +21,7 @@ class GenerateClientIdeAutoCompletionConsole extends Console * @var string */ protected const OLD_COMMAND_NAME = 'dev:ide:generate-client-auto-completion'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateGlueIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateGlueIdeAutoCompletionConsole.php index 5c38587b..333b9b2e 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateGlueIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateGlueIdeAutoCompletionConsole.php @@ -21,6 +21,7 @@ class GenerateGlueIdeAutoCompletionConsole extends Console * @var string */ protected const OLD_COMMAND_NAME = 'dev:ide:generate-glue-auto-completion'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php index 7193d0d9..5d3e4fb8 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php @@ -21,6 +21,7 @@ class GenerateIdeAutoCompletionConsole extends Console * @var string */ protected const OLD_COMMAND_NAME = 'dev:ide:generate-auto-completion'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateServiceIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateServiceIdeAutoCompletionConsole.php index a8932db9..93fb95a7 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateServiceIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateServiceIdeAutoCompletionConsole.php @@ -21,6 +21,7 @@ class GenerateServiceIdeAutoCompletionConsole extends Console * @var string */ protected const OLD_COMMAND_NAME = 'dev:ide:generate-service-auto-completion'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateYvesIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateYvesIdeAutoCompletionConsole.php index ec9262cb..b5d5e136 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateYvesIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateYvesIdeAutoCompletionConsole.php @@ -21,6 +21,7 @@ class GenerateYvesIdeAutoCompletionConsole extends Console * @var string */ protected const OLD_COMMAND_NAME = 'dev:ide:generate-yves-auto-completion'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateZedIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateZedIdeAutoCompletionConsole.php index 20fd3c9e..d35cbb96 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateZedIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateZedIdeAutoCompletionConsole.php @@ -21,6 +21,7 @@ class GenerateZedIdeAutoCompletionConsole extends Console * @var string */ protected const OLD_COMMAND_NAME = 'dev:ide:generate-zed-auto-completion'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php b/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php index 3cd42aff..de0787c2 100644 --- a/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php @@ -30,10 +30,12 @@ class ModuleBridgeCreateConsole extends Console * @var string */ public const OPTION_BRIDGE_TYPE = 'bridge type'; + /** * @var string */ public const OPTION_MODULE = 'from module'; + /** * @var string */ @@ -43,6 +45,7 @@ class ModuleBridgeCreateConsole extends Console * @var string */ public const OPTION_METHODS = 'methods'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php b/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php index b0dbfe91..24ddeb09 100644 --- a/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php @@ -25,14 +25,17 @@ class ModuleCreateConsole extends Console * @var string */ public const COMMAND_NAME = 'dev:module:create'; + /** * @var string */ public const ARGUMENT_MODULE = 'module'; + /** * @var string */ public const ARGUMENT_FILE = 'file'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php b/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php index 7931632b..9e50c714 100644 --- a/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php @@ -28,6 +28,7 @@ class PluginUsageFinderConsole extends Console * @var string */ protected const COMMAND_NAME = 'dev:plugin-usage:dump'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Communication/Console/PropelAbstractValidateConsole.php b/src/Spryker/Zed/Development/Communication/Console/PropelAbstractValidateConsole.php index 35e2843c..f78ac6e1 100644 --- a/src/Spryker/Zed/Development/Communication/Console/PropelAbstractValidateConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/PropelAbstractValidateConsole.php @@ -24,10 +24,12 @@ class PropelAbstractValidateConsole extends Console * @var string */ protected const COMMAND_NAME = 'code:propel:validate-abstract'; + /** * @var string */ protected const OPTION_MODULE = 'module'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Communication/Controller/DependencyController.php b/src/Spryker/Zed/Development/Communication/Controller/DependencyController.php index f55c6f50..727831d5 100644 --- a/src/Spryker/Zed/Development/Communication/Controller/DependencyController.php +++ b/src/Spryker/Zed/Development/Communication/Controller/DependencyController.php @@ -23,10 +23,12 @@ class DependencyController extends AbstractController * @var string */ public const APPLICATION_ZED = 'Zed'; + /** * @var string */ public const QUERY_KEY_BUILD_TREE = 'build-tree'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php b/src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php index 4734e25b..82903ead 100644 --- a/src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php +++ b/src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php @@ -24,14 +24,17 @@ class BundlesFormType extends AbstractType * @var string */ public const FORM_TYPE_NAME = 'bundlesFormType'; + /** * @var string */ public const BUNDLE_NAME_CHOICES = 'bundleNames'; + /** * @var string */ public const EXCLUDED_BUNDLES = 'excludedBundles'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 36848a0b..9999e521 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -19,6 +19,7 @@ class DevelopmentConfig extends AbstractBundleConfig * @var string */ public const BUNDLE_PLACEHOLDER = '[BUNDLE]'; + /** * @var string */ @@ -28,22 +29,27 @@ class DevelopmentConfig extends AbstractBundleConfig * @var string */ protected const NAMESPACE_SPRYKER = 'Spryker'; + /** * @var string */ protected const NAMESPACE_SPRYKER_SHOP = 'SprykerShop'; + /** * @var string */ protected const NAMESPACE_SPRYKER_ECO = 'SprykerEco'; + /** * @var string */ protected const NAMESPACE_SPRYKER_SDK = 'SprykerSdk'; + /** * @var string */ protected const NAMESPACE_SPRYKER_MIDDLEWARE = 'SprykerMiddleware'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/DevelopmentDependencyProvider.php b/src/Spryker/Zed/Development/DevelopmentDependencyProvider.php index c14ca0fb..20d7a796 100644 --- a/src/Spryker/Zed/Development/DevelopmentDependencyProvider.php +++ b/src/Spryker/Zed/Development/DevelopmentDependencyProvider.php @@ -26,26 +26,32 @@ class DevelopmentDependencyProvider extends AbstractBundleDependencyProvider * @var string */ public const FACADE_MODULE_FINDER = 'module finder facade'; + /** * @var string */ public const PLUGIN_GRAPH = 'graph plugin'; + /** * @var string */ public const FINDER = 'finder'; + /** * @var string */ public const FILESYSTEM = 'filesystem'; + /** * @var string */ public const CONFIG_LOADER = 'config loader'; + /** * @var string */ public const TWIG_ENVIRONMENT = 'twig environment'; + /** * @var string */ diff --git a/tests/SprykerTest/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParserTest.php b/tests/SprykerTest/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParserTest.php index 828a6096..7042de3b 100644 --- a/tests/SprykerTest/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParserTest.php +++ b/tests/SprykerTest/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParserTest.php @@ -33,6 +33,7 @@ class PropelSchemaParserTest extends Unit * @var string */ protected const GENERATED_SCHEMA_FILES = 'SchemaFiles'; + /** * @var string */ @@ -127,7 +128,7 @@ public function testGetModuleNameByForeignReferenceForUnexistingReferencesThrows // Act foreach ($foreignIdColumnNames as $foreignIdColumnName) { - $dependentModules[] = $propelSchemaParser->getModuleNameByForeignReference($foreignIdColumnName, 'FooBar'); + $propelSchemaParser->getModuleNameByForeignReference($foreignIdColumnName, 'FooBar'); } } diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php index 47c78ded..7a9aea6b 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php @@ -33,6 +33,7 @@ class ClientMethodBuilderTest extends Unit * @var string */ public const BASE_DIRECTORY = '/foo/bar/baz/*/src/'; + /** * @var string */ diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php index 715ab56e..f19c84db 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php @@ -34,6 +34,7 @@ class FacadeMethodBuilderTest extends Unit * @var string */ public const BASE_DIRECTORY = '/foo/bar/baz/*/src/'; + /** * @var string */ diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php index 1fee6006..6f3cd876 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php @@ -33,6 +33,7 @@ class QueryContainerMethodBuilderTest extends Unit * @var string */ public const BASE_DIRECTORY = '/foo/bar/baz/*/src/'; + /** * @var string */ diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php index 440c8694..2d862b87 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php @@ -33,6 +33,7 @@ class ServiceMethodBuilderTest extends Unit * @var string */ public const BASE_DIRECTORY = '/foo/bar/baz/*/src/'; + /** * @var string */ diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjectsTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjectsTest.php index 111c13cf..ef1340de 100644 --- a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjectsTest.php +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjectsTest.php @@ -30,6 +30,7 @@ class CouplingBetweenObjectsTest extends Unit * @var int */ public const NUMBER_OF_COUPLING_BETWEEN_OBJECTS = 2; + /** * @var int */ diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildrenTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildrenTest.php index e8f27cc8..31443127 100644 --- a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildrenTest.php +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildrenTest.php @@ -30,6 +30,7 @@ class NumberOfChildrenTest extends Unit * @var int */ public const NUMBER_OF_CHILDREN = 2; + /** * @var int */ diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php index d8025702..6fc65206 100644 --- a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php @@ -31,10 +31,12 @@ class TooManyMethodsTest extends Unit * @var int */ public const THRESHOLD_LOW = 1; + /** * @var int */ public const THRESHOLD_HIGH = 3; + /** * @var int */ diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php index 189793bd..41b11763 100644 --- a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php @@ -31,10 +31,12 @@ class TooManyPublicMethodsTest extends Unit * @var int */ public const THRESHOLD_LOW = 1; + /** * @var int */ public const THRESHOLD_HIGH = 3; + /** * @var int */ diff --git a/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilderTest.php index 961112ce..af630b27 100644 --- a/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilderTest.php @@ -27,6 +27,7 @@ class ArchitectureSnifferConfigurationBuilderTest extends Unit * @var string */ protected const CONFIG_PRIORITY_NAME = 'priority'; + /** * @var string */ diff --git a/tests/SprykerTest/Zed/Development/_support/Helper/SnifferConfigurationHelper.php b/tests/SprykerTest/Zed/Development/_support/Helper/SnifferConfigurationHelper.php index 66433012..9f352403 100644 --- a/tests/SprykerTest/Zed/Development/_support/Helper/SnifferConfigurationHelper.php +++ b/tests/SprykerTest/Zed/Development/_support/Helper/SnifferConfigurationHelper.php @@ -15,22 +15,27 @@ class SnifferConfigurationHelper extends Module * @var string */ protected const PATH_SPRYKER_ZED_ACL_MODULE = 'ConfigurationReader/Spryker/Zed/Acl/'; + /** * @var string */ protected const PATH_SPRYKER_ZED_CUSTOMER_MODULE = 'ConfigurationReader/Spryker/Zed/Customer/'; + /** * @var string */ protected const PATH_SPRYKER_ZED_COUNTRY_MODULE = 'ConfigurationReader/Spryker/Zed/Country/'; + /** * @var string */ protected const PATH_SPRYKER_ZED_DISCOUNT_MODULE = 'ConfigurationReader/Spryker/Zed/Discount/'; + /** * @var string */ protected const PATH_SPRYKER_ZED_PRODUCT_MODULE = 'ConfigurationReader/Spryker/Zed/Product/'; + /** * @var string */ From 0c5ff5c1b94150f7e91f3e2bb9a326707b05f97d Mon Sep 17 00:00:00 2001 From: mscherer Date: Thu, 21 Oct 2021 00:35:28 +0200 Subject: [PATCH 249/336] TE-10081 Prepare CS for PHP73+ call commas --- .../CodeBuilder/Bridge/BridgeBuilder.php | 16 +-- .../CodeBuilder/Module/ModuleBuilder.php | 4 +- .../CodeStyleSniffer/CodeStyleSniffer.php | 4 +- .../Config/CodeStyleSnifferConfiguration.php | 2 +- .../Business/CodeTest/CodeTester.php | 4 +- .../Builder/CodeceptionArgumentsBuilder.php | 10 +- .../Business/Composer/ComposerJsonUpdater.php | 2 +- .../Composer/Updater/AutoloadUpdater.php | 4 +- .../BehaviorDependencyFinder.php | 2 +- .../ExternalDependencyFinder.php | 4 +- .../InternalDependencyFinder.php | 2 +- .../LocatorDependencyFinder.php | 2 +- .../PersistenceDependencyFinder.php | 2 +- .../SprykerSdkDependencyFinder.php | 2 +- .../Business/Dependency/Manager.php | 2 +- .../TwigFileFinder/TwigFileFinder.php | 2 +- .../Validator/DependencyValidator.php | 2 +- .../ComposerDependencyParser.php | 4 +- .../DependencyGraph/DetailedGraphBuilder.php | 4 +- .../Business/DependencyTree/Finder.php | 2 +- .../Business/DevelopmentBusinessFactory.php | 130 +++++++++--------- .../Bundle/BundleBuilder.php | 2 +- .../IdeAutoCompletion/Bundle/BundleFinder.php | 2 +- .../MethodBuilder/ClientMethodBuilder.php | 2 +- .../MethodBuilder/FacadeMethodBuilder.php | 2 +- .../QueryContainerMethodBuilder.php | 2 +- .../MethodBuilder/ResourceMethodBuilder.php | 2 +- .../MethodBuilder/ServiceMethodBuilder.php | 2 +- .../Business/IdeAutoCompletion/FileWriter.php | 6 +- .../Generator/AbstractGenerator.php | 2 +- .../Remover/DirectoryRemover.php | 2 +- .../Remover/TargetDirectoryResolver.php | 6 +- .../DependencyProviderUsedPluginFinder.php | 6 +- .../ModuleFileFinder/ModuleFileFinder.php | 2 +- .../Business/Module/ModuleOverview.php | 4 +- .../PathBuilder/AbstractPathBuilder.php | 2 +- .../SprykerStandaloneModulePathBuilder.php | 2 +- .../Controversial/CamelCaseMethodName.php | 2 +- .../Business/Phpstan/PhpstanRunner.php | 10 +- ...rchitectureSnifferConfigurationBuilder.php | 2 +- .../Communication/Console/CodeTestConsole.php | 2 +- .../Console/ComposerJsonUpdaterConsole.php | 8 +- .../DependencyViolationFinderConsole.php | 2 +- .../Console/PluginUsageFinderConsole.php | 2 +- .../Controller/DependencyController.php | 2 +- .../DevelopmentCommunicationFactory.php | 2 +- .../Zed/Development/DevelopmentConfig.php | 4 +- .../DevelopmentDependencyProvider.php | 2 +- .../CodeStyleSniffer/CodeStyleSnifferTest.php | 2 +- .../Composer/Updater/AutoloadUpdaterTest.php | 6 +- .../MethodBuilder/FacadeMethodBuilderTest.php | 8 +- .../Generator/BundleGeneratorTest.php | 2 +- .../IdeAutoCompletionWriterTest.php | 4 +- ...tectureSnifferConfigurationBuilderTest.php | 14 +- .../ConfigurationReaderTest.php | 12 +- .../_support/DevelopmentBusinessTester.php | 8 +- 56 files changed, 173 insertions(+), 173 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php b/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php index 98417982..ab2d2d4c 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php @@ -139,7 +139,7 @@ protected function createInterface(BridgeBuilderDataTransfer $bridgeBuilderDataT $bridgeBuilderDataTransfer->getModule() . '\\' . 'Dependency\\' . $bridgeBuilderDataTransfer->getToType() . '\\' . - $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface' + $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface', ); foreach ($existingInterface->getMethods() as $method) { @@ -171,7 +171,7 @@ protected function createBridge(BridgeBuilderDataTransfer $bridgeBuilderDataTran $bridgeBuilderDataTransfer->getModule() . '\\' . 'Dependency\\' . $bridgeBuilderDataTransfer->getToType() . '\\' . - $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge' + $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge', ); foreach ($existingBridge->getMethods() as $method) { @@ -228,7 +228,7 @@ protected function getBridgeTemplateContent(): string protected function getTemplateContent(string $templateName): string { return file_get_contents( - __DIR__ . DIRECTORY_SEPARATOR . 'Templates' . DIRECTORY_SEPARATOR . $templateName . '.tpl' + __DIR__ . DIRECTORY_SEPARATOR . 'Templates' . DIRECTORY_SEPARATOR . $templateName . '.tpl', ); } @@ -365,7 +365,7 @@ protected function interpretInputParameter($subject): array throw new InvalidArgumentException(sprintf( 'Invalid input parameter "%s", accepted format is "[VendorName.]ModuleName[.BridgeType]".', - $subject + $subject, )); } @@ -511,7 +511,7 @@ protected function addMethodsToBridge(BridgeBuilderDataTransfer $bridgeBuilderDa $targetBridgeClass, $bridgeBuilderDataTransfer->getMethods(), $this->getBridgeMethodTemplateContent(), - $templateContent + $templateContent, ); } @@ -540,7 +540,7 @@ protected function addMethodsToInterface(BridgeBuilderDataTransfer $bridgeBuilde $targetBridgeInterface, $bridgeBuilderDataTransfer->getMethods(), $this->getInterfaceMethodTemplateContent(), - $templateContent + $templateContent, ); } @@ -595,7 +595,7 @@ protected function addMethodsToTemplate(ReflectionClass $reflectionClass, array $methods .= str_replace( array_keys($replacements), array_values($replacements), - $methodTemplate + $methodTemplate, ) . PHP_EOL . PHP_EOL . str_repeat(' ', 4); } @@ -614,7 +614,7 @@ protected function addMethodsToTemplate(ReflectionClass $reflectionClass, array rtrim($methods, PHP_EOL . PHP_EOL . str_repeat(' ', 4)), $useStatements, ], - $templateContent + $templateContent, ); } diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php index f8b1d1b4..9ebb80f8 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php @@ -158,7 +158,7 @@ protected function createOrUpdateModule($namespace, $module, array $options) protected function getTemplateContent($templateName) { return file_get_contents( - __DIR__ . DIRECTORY_SEPARATOR . 'Templates' . DIRECTORY_SEPARATOR . $templateName . '.tpl' + __DIR__ . DIRECTORY_SEPARATOR . 'Templates' . DIRECTORY_SEPARATOR . $templateName . '.tpl', ); } @@ -190,7 +190,7 @@ protected function replacePlaceHolder($namespace, $module, $templateContent) $templateContent = str_replace( $from, $to, - $templateContent + $templateContent, ); return $templateContent; diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php index 28ef2fd0..ec29ce50 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php @@ -164,7 +164,7 @@ protected function getPathToModule($module, $namespace, $pathSuffix = null) $message = sprintf( 'Could not find a valid path to your module "%s". Expected path "%s". Maybe there is a typo in the module name?', $module, - $path + $path, ); throw new PathDoesNotExistException($message); @@ -276,7 +276,7 @@ protected function runSnifferCommand($path, CodeStyleSnifferConfigurationInterfa 'vendor/bin/%s %s%s', $optionFix ? 'phpcbf' : 'phpcs', $path, - $processConfig + $processConfig, ); $optionDryRun = $codeStyleSnifferConfiguration->isDryRun(); diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php index 3e4e74ba..d9a31445 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php @@ -220,7 +220,7 @@ public function getLevel(): int if (!in_array($optionLevel, $levelAllowed, true)) { throw new InvalidArgumentException( - sprintf('Level should be in [%s] range', implode(', ', $levelAllowed)) + sprintf('Level should be in [%s] range', implode(', ', $levelAllowed)), ); } diff --git a/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php b/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php index 967631c6..14c88f26 100644 --- a/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php +++ b/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php @@ -234,7 +234,7 @@ protected function runTestCommand(?string $path, array $options): int $commandLine, $this->argumentBuilder ->build($options) - ->getArguments() + ->getArguments(), ); if ($options[static::OPTION_DRY_RUN]) { @@ -270,7 +270,7 @@ protected function runFixturesCommand(?string $path, array $options): int $commandLine, $this->argumentBuilder ->build($options) - ->getArguments() + ->getArguments(), ); $process = new Process($commandLine, $this->config->getPathToRoot(), null, null, $this->config->getProcessTimeout()); diff --git a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php index fc896472..e0f805ac 100644 --- a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php +++ b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php @@ -95,7 +95,7 @@ protected function addIncludeGroups(CodeceptionArguments $codeceptionArguments, if (!empty($options[static::OPTION_GROUP_INCLUDE])) { $codeceptionArguments->addArgument( '-g', - explode(',', $options[static::OPTION_GROUP_INCLUDE]) + explode(',', $options[static::OPTION_GROUP_INCLUDE]), ); } @@ -113,7 +113,7 @@ protected function addExcludeGroups(CodeceptionArguments $codeceptionArguments, if (!empty($options[static::OPTION_GROUP_EXCLUDE])) { $codeceptionArguments->addArgument( '-x', - explode(',', $options[static::OPTION_GROUP_EXCLUDE]) + explode(',', $options[static::OPTION_GROUP_EXCLUDE]), ); } @@ -160,7 +160,7 @@ protected function enableSuiteFilterExtension(CodeceptionArguments $codeceptionA { return $codeceptionArguments->addArgument( '--ext', - ['\\' . SuiteFilterHelper::class] + ['\\' . SuiteFilterHelper::class], ); } @@ -183,12 +183,12 @@ protected function buildInlineExtensionConfig(CodeceptionArguments $codeceptionA $extensionInlineConfig = sprintf( $extensionInlineConfigTemplate, $suiteFilterHelperClassName, - $inclusiveGroupsAsString + $inclusiveGroupsAsString, ); return $codeceptionArguments->addArgument( '-o', - [$extensionInlineConfig] + [$extensionInlineConfig], ); } } diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php index b27e0d7b..2f92a27d 100644 --- a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php @@ -209,7 +209,7 @@ protected function getOrganizationFromComposerJsonFile(SplFileInfo $composerJson throw new InvalidComposerJsonException(sprintf( 'Unable to locate organization name from %s.', - $composerJsonFile->getRealPath() + $composerJsonFile->getRealPath(), )); } } diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php index c76e463f..55ece31a 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php @@ -372,7 +372,7 @@ protected function updateAutoloadDevForDeprecatedTestKeys(array $composerJson, $ rtrim($modulePath, DIRECTORY_SEPARATOR), static::BASE_TESTS_DIRECTORY, $testDirectoryKey, - ] + ], ); if ($this->pathExists($directoryPath)) { @@ -497,7 +497,7 @@ protected function cleanupAutoload(array $composerJson, $modulePath) static::AUTOLOAD_KEY => [$this, 'removeInvalidAutoloadPaths'], static::AUTOLOAD_DEV_KEY => [$this, 'removeInvalidAutoloadNamespaces'], ], - $modulePath + $modulePath, ); $composerJson = $this->removeAutoloadDuplicates($composerJson); diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/BehaviorDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/BehaviorDependencyFinder.php index 74918ff5..56ab76f8 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/BehaviorDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/BehaviorDependencyFinder.php @@ -131,7 +131,7 @@ protected function addModuleDependency(DependencyContainerInterface $dependencyC { $dependencyContainer->addDependency( $moduleName, - $this->getType() + $this->getType(), ); return $dependencyContainer; diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php index edc8b32e..df6ad299 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php @@ -99,7 +99,7 @@ public function findDependencies(DependencyFinderContextInterface $context, Depe $dependentModule, $this->getType(), $this->isPluginFile($filePath), - $this->isTestFile($filePath) + $this->isTestFile($filePath), ); } } @@ -223,7 +223,7 @@ protected function getDependentModule(string $useStatement): string throw new Exception(sprintf( 'Could not map "%s" to a internal dependency! Please update "%s" and add a new mapping.', $useStatement, - '\Spryker\Zed\Development\DevelopmentConfig::getExternalToInternalNamespaceMap()' + '\Spryker\Zed\Development\DevelopmentConfig::getExternalToInternalNamespaceMap()', )); } diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/InternalDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/InternalDependencyFinder.php index 99ce06f3..5a833c67 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/InternalDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/InternalDependencyFinder.php @@ -81,7 +81,7 @@ public function findDependencies(DependencyFinderContextInterface $context, Depe $composerName, $this->getType(), $this->isOptional($filePath, $composerName), - $this->isTestFile($filePath) + $this->isTestFile($filePath), ); } } diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/LocatorDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/LocatorDependencyFinder.php index a00c3412..a92fc205 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/LocatorDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/LocatorDependencyFinder.php @@ -57,7 +57,7 @@ public function findDependencies(DependencyFinderContextInterface $context, Depe foreach ($dependencyModules as $module) { $dependencyContainer->addDependency( $module, - $this->getType() + $this->getType(), ); } diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/PersistenceDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/PersistenceDependencyFinder.php index e7b4a118..2a95b1d5 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/PersistenceDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/PersistenceDependencyFinder.php @@ -71,7 +71,7 @@ public function findDependencies(DependencyFinderContextInterface $context, Depe $dependentModule = $this->propelSchemaParser->getModuleNameByForeignReference($foreignIdColumnName, $context->getModule()->getName()); $dependencyContainer->addDependency( $dependentModule, - $this->getType() + $this->getType(), ); } diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/SprykerSdkDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/SprykerSdkDependencyFinder.php index 91e3896c..1deff88c 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/SprykerSdkDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/SprykerSdkDependencyFinder.php @@ -81,7 +81,7 @@ public function findDependencies(DependencyFinderContextInterface $context, Depe $dependentModule, $this->getType(), $this->isOptional($filePath, $dependentModule), - $this->isTestFile($filePath) + $this->isTestFile($filePath), ); } } diff --git a/src/Spryker/Zed/Development/Business/Dependency/Manager.php b/src/Spryker/Zed/Development/Business/Dependency/Manager.php index aa65d198..abe8b0e3 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/Manager.php +++ b/src/Spryker/Zed/Development/Business/Dependency/Manager.php @@ -77,7 +77,7 @@ public function parseIncomingDependencies(string $moduleName): array $dependencyModuleViewTransfer = $this->dependencyModuleMapper->mapDependencyModuleTransferToDependencyModuleViewTransfer( $dependencyModuleTransfer, - new DependencyModuleViewTransfer() + new DependencyModuleViewTransfer(), ); $dependencyModuleViewTransfer->setName($foreignModuleName); diff --git a/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php b/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php index f3e1f064..650acb3d 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php @@ -66,7 +66,7 @@ protected function buildTwigFilePaths(string $module): array $twigFilePaths, function (string $twigFilePath) { return glob($twigFilePath, GLOB_NOSORT); - } + }, ); } } diff --git a/src/Spryker/Zed/Development/Business/Dependency/Validator/DependencyValidator.php b/src/Spryker/Zed/Development/Business/Dependency/Validator/DependencyValidator.php index 03d1b58b..f8006597 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/Validator/DependencyValidator.php +++ b/src/Spryker/Zed/Development/Business/Dependency/Validator/DependencyValidator.php @@ -93,7 +93,7 @@ protected function getComposerDependencies(DependencyValidationRequestTransfer $ { $dependencyCollectionTransfer = $this->moduleDependencyParser->parseOutgoingDependencies( $dependencyValidationRequestTransfer->getModule(), - $dependencyValidationRequestTransfer->getDependencyType() + $dependencyValidationRequestTransfer->getDependencyType(), ); foreach ($dependencyCollectionTransfer->getDependencyModules() as $dependencyModuleTransfer) { $composerName = $dependencyModuleTransfer->getComposerName() ?? $this->composerNameFinder->findComposerNameByModuleName($dependencyModuleTransfer->getModule()); diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php b/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php index fcbe93ba..e9c905f3 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php @@ -326,7 +326,7 @@ protected function parseDeclaredDependenciesForBundle(ModuleTransfer $moduleTran throw new InvalidComposerJsonException(sprintf( 'Unable to parse %s: %s.', $dependencyJsonFilePath, - json_last_error_msg() + json_last_error_msg(), )); } @@ -362,7 +362,7 @@ protected function parseComposerJson(ModuleTransfer $moduleTransfer): ComposerDe throw new InvalidComposerJsonException(sprintf( 'Unable to parse %s: %s.', $composerJsonFilePath, - json_last_error_msg() + json_last_error_msg(), )); } diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/DetailedGraphBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/DetailedGraphBuilder.php index f3d0a967..716ec2d6 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/DetailedGraphBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/DetailedGraphBuilder.php @@ -184,7 +184,7 @@ private function addForeignBundleLayer(array $dependencyInformation, $group) [ 'label' => $this->getForeignUsage($dependencyInformation[DependencyTree::META_FINDER]) . ' : ' . $dependencyInformation[DependencyTree::META_FOREIGN_CLASS_NAME], 'fontsize' => 8, - ] + ], ); } @@ -200,7 +200,7 @@ private function getForeignBundleLayerNodeId(array $dependencyInformation) [ $dependencyInformation[DependencyTree::META_FOREIGN_BUNDLE], $dependencyInformation[DependencyTree::META_FOREIGN_LAYER], - ] + ], ); } diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/Finder.php b/src/Spryker/Zed/Development/Business/DependencyTree/Finder.php index 1f77e6fa..ba5348f3 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/Finder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/Finder.php @@ -89,7 +89,7 @@ private function getDirectories() $this->getYvesDirectories(), $this->getClientDirectories(), $this->getSharedDirectories(), - $this->getServiceDirectories() + $this->getServiceDirectories(), )); return $directories; diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index 0d6ffce6..5a4b029c 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -215,7 +215,7 @@ public function createCodeStyleSniffer(): CodeStyleSniffer { return new CodeStyleSniffer( $this->getConfig(), - $this->createCodeStyleSnifferConfigurationLoader() + $this->createCodeStyleSnifferConfigurationLoader(), ); } @@ -226,7 +226,7 @@ public function createCodeStyleSnifferConfigurationLoader(): CodeStyleSnifferCon { return new CodeStyleSnifferConfigurationLoader( $this->createConfigurationReader(), - $this->createCodeStyleSnifferConfiguration() + $this->createCodeStyleSnifferConfiguration(), ); } @@ -246,7 +246,7 @@ public function createCodeTester() return new CodeTester( $this->getModuleFinderFacade(), $this->createConfigArgumentCollectionBuilder(), - $this->getConfig() + $this->getConfig(), ); } @@ -256,7 +256,7 @@ public function createCodeTester() public function createPhpMdRunner() { return new PhpMdRunner( - $this->getConfig() + $this->getConfig(), ); } @@ -268,7 +268,7 @@ public function createPhpstanRunner() return new PhpstanRunner( $this->getConfig(), $this->createPhpstanConfigFileFinder(), - $this->createPhpstanConfigFileManager() + $this->createPhpstanConfigFileManager(), ); } @@ -286,7 +286,7 @@ public function createBridgeBuilder() public function createModuleBuilder() { return new ModuleBuilder( - $this->getConfig() + $this->getConfig(), ); } @@ -306,7 +306,7 @@ public function createModuleDependencyParser(): ModuleDependencyParserInterface return new ModuleDependencyParser( $this->createModuleFileFinder(), $this->createDependencyContainer(), - $this->createDependencyFinder() + $this->createDependencyFinder(), ); } @@ -347,7 +347,7 @@ public function createSprykerStandaloneModuleFilePathBuilder(): PathBuilderInter public function createSprykerModuleFilePathBuilder(): PathBuilderInterface { return new SprykerModulePathBuilder( - $this->getConfig() + $this->getConfig(), ); } @@ -357,7 +357,7 @@ public function createSprykerModuleFilePathBuilder(): PathBuilderInterface public function createSprykerShopModuleFilePathBuilder(): PathBuilderInterface { return new SprykerShopModulePathBuilder( - $this->getConfig() + $this->getConfig(), ); } @@ -367,7 +367,7 @@ public function createSprykerShopModuleFilePathBuilder(): PathBuilderInterface public function createSprykerEcoModuleFilePathBuilder(): PathBuilderInterface { return new SprykerEcoModulePathBuilder( - $this->getConfig() + $this->getConfig(), ); } @@ -377,7 +377,7 @@ public function createSprykerEcoModuleFilePathBuilder(): PathBuilderInterface public function createSprykerSdkModulePathBuilder(): PathBuilderInterface { return new SprykerSdkModulePathBuilder( - $this->getConfig() + $this->getConfig(), ); } @@ -426,7 +426,7 @@ public function createSprykerSdkDependencyFinder(): DependencyFinderInterface { return new SprykerSdkDependencyFinder( $this->createUseStatementParser(), - $this->getConfig() + $this->getConfig(), ); } @@ -437,7 +437,7 @@ public function createInternalDependencyFinder(): DependencyFinderInterface { return new InternalDependencyFinder( $this->createUseStatementParser(), - $this->getConfig() + $this->getConfig(), ); } @@ -449,7 +449,7 @@ public function createExternalDependencyFinder(): DependencyFinderInterface return new ExternalDependencyFinder( $this->createUseStatementParser(), $this->createExternalDependencyParser(), - $this->getConfig() + $this->getConfig(), ); } @@ -475,7 +475,7 @@ public function createExternalDependencyParser(): ExternalDependencyParserInterf public function createExtensionDependencyFinder(): DependencyFinderInterface { return new ExtensionDependencyFinder( - $this->getModuleFinderFacade() + $this->getModuleFinderFacade(), ); } @@ -493,7 +493,7 @@ public function createLocatorDependencyFinder(): DependencyFinderInterface public function createPersistenceDependencyFinder(): DependencyFinderInterface { return new PersistenceDependencyFinder( - $this->createPropelSchemaParser() + $this->createPropelSchemaParser(), ); } @@ -503,7 +503,7 @@ public function createPersistenceDependencyFinder(): DependencyFinderInterface public function createBehaviorDependencyFinder(): DependencyFinderInterface { return new BehaviorDependencyFinder( - $this->getModuleFinderFacade() + $this->getModuleFinderFacade(), ); } @@ -513,7 +513,7 @@ public function createBehaviorDependencyFinder(): DependencyFinderInterface public function createPropelSchemaParser(): PropelSchemaParserInterface { return new PropelSchemaParser( - $this->getConfig() + $this->getConfig(), ); } @@ -531,7 +531,7 @@ public function createUseStatementParser(): UseStatementParserInterface public function createTwigDependencyFinder(): DependencyFinderInterface { return new TwigDependencyFinder( - $this->getTwigDependencyFinder() + $this->getTwigDependencyFinder(), ); } @@ -637,7 +637,7 @@ public function createDependencyManager() return new Manager( $this->createModuleDependencyParser(), $this->getConfig(), - $this->createDependencyModuleMapper() + $this->createDependencyModuleMapper(), ); } @@ -692,7 +692,7 @@ protected function createDependencyTreeFinder() protected function createSprykerFinder() { $finder = new FileFinder( - $this->createSprykerPathBuilder() + $this->createSprykerPathBuilder(), ); return $finder; @@ -704,7 +704,7 @@ protected function createSprykerFinder() protected function createSprykerMerchantPortalFinder() { $finder = new FileFinder( - $this->createSprykerMerchantPortalPathBuilder() + $this->createSprykerMerchantPortalPathBuilder(), ); return $finder; @@ -716,7 +716,7 @@ protected function createSprykerMerchantPortalFinder() protected function createSprykerPathBuilder() { return new SprykerPathBuilder( - $this->getConfig() + $this->getConfig(), ); } @@ -726,7 +726,7 @@ protected function createSprykerPathBuilder() protected function createSprykerMerchantPortalPathBuilder() { return new SprykerMerchantPortalPathBuilder( - $this->getConfig() + $this->getConfig(), ); } @@ -739,7 +739,7 @@ public function createDependencyValidator(): DependencyValidatorInterface $this->createModuleDependencyParser(), $this->createComposerDependencyParser(), $this->createDependencyValidationRules(), - $this->createComposerNameFinder() + $this->createComposerNameFinder(), ); } @@ -877,7 +877,7 @@ public function createModuleMatcher(): ModuleMatcherInterface public function createComposerJsonValidator(): ComposerJsonInterface { return new ComposerJson( - $this->createComposerJsonValidatorComposite() + $this->createComposerJsonValidatorComposite(), ); } @@ -915,7 +915,7 @@ public function createDependencyProviderUsedPluginFinder(): DependencyProviderUs { return new DependencyProviderUsedPluginFinder( $this->getModuleFinderFacade(), - $this->getConfig() + $this->getConfig(), ); } @@ -933,7 +933,7 @@ public function createModuleOverview(): ModuleOverviewInterface protected function createSdkFinder() { $finder = new FileFinder( - $this->createSprykerSdkPathBuilder() + $this->createSprykerSdkPathBuilder(), ); return $finder; @@ -945,7 +945,7 @@ protected function createSdkFinder() protected function createSprykerSdkPathBuilder() { return new SprykerSdkPathBuilder( - $this->getConfig() + $this->getConfig(), ); } @@ -963,7 +963,7 @@ public function createPropelAbstractValidator(): PropelAbstractClassValidatorInt protected function createEcoFinder() { $finder = new FileFinder( - $this->createSprykerEcoPathBuilder() + $this->createSprykerEcoPathBuilder(), ); return $finder; @@ -975,7 +975,7 @@ protected function createEcoFinder() protected function createSprykerEcoPathBuilder() { return new SprykerEcoPathBuilder( - $this->getConfig() + $this->getConfig(), ); } @@ -985,7 +985,7 @@ protected function createSprykerEcoPathBuilder() protected function createShopFinder() { $finder = new FileFinder( - $this->createSprykerShopPathBuilder() + $this->createSprykerShopPathBuilder(), ); return $finder; @@ -997,7 +997,7 @@ protected function createShopFinder() protected function createSprykerShopPathBuilder() { return new SprykerShopPathBuilder( - $this->getConfig() + $this->getConfig(), ); } @@ -1111,7 +1111,7 @@ public function createDetailedDependencyGraphBuilder($bundleToView) $dependencyGraphBuilder = new DependencyGraphBuilder( $this->createDetailedGraphBuilder(), - $dependencyTreeFilter->filter($dependencyTreeReader->read()) + $dependencyTreeFilter->filter($dependencyTreeReader->read()), ); return $dependencyGraphBuilder; @@ -1157,7 +1157,7 @@ public function createOutgoingDependencyGraphBuilder($bundleToView, array $exclu $this->getGraph(), $this->createModuleDependencyParser(), $this->createDependencyManager(), - $excludedBundles + $excludedBundles, ); return $outgoingDependencyGraphBuilder; @@ -1184,7 +1184,7 @@ public function createSimpleDependencyGraphBuilder($showEngineBundle, $bundleToV $dependencyGraphBuilder = new DependencyGraphBuilder( $this->createSimpleGraphBuilder(), - $dependencyTreeFilter->filter($dependencyTreeReader->read()) + $dependencyTreeFilter->filter($dependencyTreeReader->read()), ); return $dependencyGraphBuilder; @@ -1262,7 +1262,7 @@ public function createExternalDependencyGraphBuilder($bundleToView) { $dependencyGraphBuilder = new DependencyGraphBuilder( $this->createExternalGraphBuilder(), - $this->createExternalDependencyTree($bundleToView) + $this->createExternalDependencyTree($bundleToView), ); return $dependencyGraphBuilder; @@ -1284,7 +1284,7 @@ public function createAdjacencyMatrixBuilder() $adjacencyMatrixBuilder = new AdjacencyMatrixBuilder( $this->createDependencyManager()->collectAllModules(), $this->createDependencyTreeReader(), - $this->createAdjacencyMatrixDependencyTreeFilter() + $this->createAdjacencyMatrixDependencyTreeFilter(), ); return $adjacencyMatrixBuilder; @@ -1312,7 +1312,7 @@ public function createDependencyViolationChecker() return new DependencyViolationChecker( $this->createDependencyTreeReader(), $this->createViolationFinder(), - $this->createDependencyViolationFilter() + $this->createDependencyViolationFilter(), ); } @@ -1413,7 +1413,7 @@ protected function createDependencyTreeConstantsToForeignConstantsFilter() protected function createDependencyTreeForeignEngineBundleFilter() { return new ForeignEngineBundleFilter( - $this->getConfig()->getPathToBundleConfig() + $this->getConfig()->getPathToBundleConfig(), ); } @@ -1423,7 +1423,7 @@ protected function createDependencyTreeForeignEngineBundleFilter() protected function createDependencyTreeEngineBundleFilter() { return new EngineBundleFilter( - $this->getConfig()->getPathToBundleConfig() + $this->getConfig()->getPathToBundleConfig(), ); } @@ -1433,7 +1433,7 @@ protected function createDependencyTreeEngineBundleFilter() protected function createDependencyTreeInvalidForeignBundleFilter() { return new InvalidForeignBundleFilter( - $this->createDependencyManager()->collectAllModules() + $this->createDependencyManager()->collectAllModules(), ); } @@ -1478,7 +1478,7 @@ public function createComposerJsonUpdater(): ComposerJsonUpdaterInterface { return new ComposerJsonUpdater( $this->createComposerJsonFinder(), - $this->createComposerJsonUpdaterComposite() + $this->createComposerJsonUpdaterComposite(), ); } @@ -1488,7 +1488,7 @@ public function createComposerJsonUpdater(): ComposerJsonUpdaterInterface protected function createComposerJsonFinder(): ComposerJsonFinderInterface { $composerJsonFinder = new ComposerJsonFinder( - $this->createFinder() + $this->createFinder(), ); return $composerJsonFinder; @@ -1613,7 +1613,7 @@ protected function createComposerJsonRequireUpdaterTreeFilter() public function createComposerDependencyParser() { return new ComposerDependencyParser( - $this->createComposerNameFinder() + $this->createComposerNameFinder(), ); } @@ -1624,7 +1624,7 @@ public function createYvesIdeAutoCompletionWriter() { return $this->createIdeAutoCompletionWriter( $this->createYvesIdeAutoCompletionBundleBuilder(), - $this->getConfig()->getYvesIdeAutoCompletionOptions() + $this->getConfig()->getYvesIdeAutoCompletionOptions(), ); } @@ -1635,7 +1635,7 @@ protected function createYvesIdeAutoCompletionBundleBuilder() { return new IdeAutoCompletionBundleBuilder( $this->getYvesIdeAutoCompletionMethodBuilderStack(), - $this->getConfig()->getYvesIdeAutoCompletionOptions() + $this->getConfig()->getYvesIdeAutoCompletionOptions(), ); } @@ -1647,7 +1647,7 @@ public function createIdeAutoCompletionDirectoryRemover(): DirectoryRemoverInter return new DirectoryRemover( $this->createTargetDirectoryResolver(), $this->getFilesystem(), - $this->createGeneratedFileFinder() + $this->createGeneratedFileFinder(), ); } @@ -1658,7 +1658,7 @@ public function createZedIdeAutoCompletionWriter() { return $this->createIdeAutoCompletionWriter( $this->createZedIdeAutoCompletionBundleBuilder(), - $this->getConfig()->getZedIdeAutoCompletionOptions() + $this->getConfig()->getZedIdeAutoCompletionOptions(), ); } @@ -1669,7 +1669,7 @@ protected function createZedIdeAutoCompletionBundleBuilder() { return new IdeAutoCompletionBundleBuilder( $this->getZedIdeAutoCompletionMethodBuilderStack(), - $this->getConfig()->getZedIdeAutoCompletionOptions() + $this->getConfig()->getZedIdeAutoCompletionOptions(), ); } @@ -1680,7 +1680,7 @@ protected function createGlueIdeAutoCompletionBundleBuilder() { return new IdeAutoCompletionBundleBuilder( $this->createGlueAutoCompletionMethodBuilderStack(), - $this->getConfig()->getGlueIdeAutoCompletionOptions() + $this->getConfig()->getGlueIdeAutoCompletionOptions(), ); } @@ -1691,7 +1691,7 @@ public function createGlueIdeAutoCompletionWriter() { return $this->createIdeAutoCompletionWriter( $this->createGlueIdeAutoCompletionBundleBuilder(), - $this->getConfig()->getGlueIdeAutoCompletionOptions() + $this->getConfig()->getGlueIdeAutoCompletionOptions(), ); } @@ -1710,7 +1710,7 @@ public function createClientIdeAutoCompletionWriter() { return $this->createIdeAutoCompletionWriter( $this->createClientIdeAutoCompletionBundleBuilder(), - $this->getConfig()->getClientIdeAutoCompletionOptions() + $this->getConfig()->getClientIdeAutoCompletionOptions(), ); } @@ -1721,7 +1721,7 @@ protected function createClientIdeAutoCompletionBundleBuilder() { return new IdeAutoCompletionBundleBuilder( $this->getClientIdeAutoCompletionMethodBuilderStack(), - $this->getConfig()->getClientIdeAutoCompletionOptions() + $this->getConfig()->getClientIdeAutoCompletionOptions(), ); } @@ -1732,7 +1732,7 @@ public function createServiceIdeAutoCompletionWriter() { return $this->createIdeAutoCompletionWriter( $this->createServiceIdeAutoCompletionBundleBuilder(), - $this->getConfig()->getServiceIdeAutoCompletionOptions() + $this->getConfig()->getServiceIdeAutoCompletionOptions(), ); } @@ -1743,7 +1743,7 @@ protected function createServiceIdeAutoCompletionBundleBuilder() { return new IdeAutoCompletionBundleBuilder( $this->getServiceIdeAutoCompletionMethodBuilderStack(), - $this->getConfig()->getServiceIdeAutoCompletionOptions() + $this->getConfig()->getServiceIdeAutoCompletionOptions(), ); } @@ -1854,7 +1854,7 @@ protected function createIdeAutoCompletionWriter(BundleBuilderInterface $bundleB { return new IdeAutoCompletionWriter( $this->getIdeAutoCompletionGeneratorStack($options), - $this->createIdeAutoCompletionBundleFinder($bundleBuilder) + $this->createIdeAutoCompletionBundleFinder($bundleBuilder), ); } @@ -1868,7 +1868,7 @@ protected function createIdeAutoCompletionBundleFinder(BundleBuilderInterface $b return new BundleFinder( $this->getFinder(), $bundleBuilder, - $this->getConfig()->getIdeAutoCompletionSourceDirectoryGlobPatterns() + $this->getConfig()->getIdeAutoCompletionSourceDirectoryGlobPatterns(), ); } @@ -1954,7 +1954,7 @@ public function createArchitectureSniffer(): ArchitectureSnifferInterface return new ArchitectureSniffer( $xml, $command, - $this->createArchitectureSnifferConfigurationBuilder() + $this->createArchitectureSnifferConfigurationBuilder(), ); } @@ -1977,7 +1977,7 @@ public function createArchitectureBundleFinder() $this->createFinder(), $this->createCamelCaseToDashFilter(), $this->getConfig()->getProjectNamespaces(), - $this->getConfig()->getCoreNamespaces() + $this->getConfig()->getCoreNamespaces(), ); } @@ -1989,7 +1989,7 @@ public function createAllModuleFinder(): AllModuleFinderInterface return new AllModuleFinder( $this->createFinder(), $this->getConfig(), - $this->createCamelCaseToDashFilter() + $this->createCamelCaseToDashFilter(), ); } @@ -2035,7 +2035,7 @@ public function createYamlParser(): Parser public function createConfigurationReader(): ConfigurationReaderInterface { return new ConfigurationReader( - $this->createYamlParser() + $this->createYamlParser(), ); } @@ -2046,7 +2046,7 @@ public function createArchitectureSnifferConfigurationBuilder(): SnifferConfigur { return new ArchitectureSnifferConfigurationBuilder( $this->createConfigurationReader(), - $this->getConfig()->getArchitectureSnifferDefaultPriority() + $this->getConfig()->getArchitectureSnifferDefaultPriority(), ); } @@ -2104,7 +2104,7 @@ protected function getFinder(): Finder public function createConfigArgumentCollectionBuilder(): CodeceptionArgumentsBuilderInterface { return new CodeceptionArgumentsBuilder( - $this->getConfig()->getDefaultInclusiveGroups() + $this->getConfig()->getDefaultInclusiveGroups(), ); } @@ -2122,7 +2122,7 @@ public function createComposerNameFinder(): ComposerNameFinderInterface protected function createTargetDirectoryResolver(): TargetDirectoryResolver { return new TargetDirectoryResolver( - $this->getConfig() + $this->getConfig(), ); } } diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleBuilder.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleBuilder.php index 82312f19..ebe8e44c 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleBuilder.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleBuilder.php @@ -63,7 +63,7 @@ protected function getNamespace() return str_replace( IdeAutoCompletionConstants::APPLICATION_NAME_PLACEHOLDER, $this->options[IdeAutoCompletionOptionConstants::APPLICATION_NAME], - $this->options[IdeAutoCompletionOptionConstants::TARGET_NAMESPACE_PATTERN] + $this->options[IdeAutoCompletionOptionConstants::TARGET_NAMESPACE_PATTERN], ); } diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinder.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinder.php index 54e491bd..a8c85dcf 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinder.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinder.php @@ -107,7 +107,7 @@ protected function mergeWithPossibleExistingBundle(IdeAutoCompletionBundleTransf $mergedMethodTransferCollection = $this->mergeMethods( $existingBundleTransfer->getMethods(), - $bundleTransfer->getMethods() + $bundleTransfer->getMethods(), ); $bundleTransfer->setMethods($mergedMethodTransferCollection); diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilder.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilder.php index 0e9550ed..a8f37b2b 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilder.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilder.php @@ -29,7 +29,7 @@ protected function getSearchDirectory(IdeAutoCompletionBundleTransfer $bundleTra return sprintf( '%s%s/', $bundleTransfer->getDirectory(), - $bundleTransfer->getName() + $bundleTransfer->getName(), ); } } diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilder.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilder.php index 6a73a84d..fee1a46f 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilder.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilder.php @@ -29,7 +29,7 @@ protected function getSearchDirectory(IdeAutoCompletionBundleTransfer $bundleTra return sprintf( '%s%s/Business/', $bundleTransfer->getDirectory(), - $bundleTransfer->getName() + $bundleTransfer->getName(), ); } } diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilder.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilder.php index 70a7af83..4c60e90f 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilder.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilder.php @@ -29,7 +29,7 @@ protected function getSearchDirectory(IdeAutoCompletionBundleTransfer $bundleTra return sprintf( '%s%s/Persistence/', $bundleTransfer->getDirectory(), - $bundleTransfer->getName() + $bundleTransfer->getName(), ); } } diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ResourceMethodBuilder.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ResourceMethodBuilder.php index 3970f1ef..e84cb19e 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ResourceMethodBuilder.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ResourceMethodBuilder.php @@ -29,7 +29,7 @@ protected function getSearchDirectory(IdeAutoCompletionBundleTransfer $bundleTra return sprintf( '%s%s/', $bundleTransfer->getDirectory(), - $bundleTransfer->getName() + $bundleTransfer->getName(), ); } } diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilder.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilder.php index d52dc43f..810cecc5 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilder.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilder.php @@ -29,7 +29,7 @@ protected function getSearchDirectory(IdeAutoCompletionBundleTransfer $bundleTra return sprintf( '%s%s/', $bundleTransfer->getDirectory(), - $bundleTransfer->getName() + $bundleTransfer->getName(), ); } } diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/FileWriter.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/FileWriter.php index 51b29172..b99567c5 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/FileWriter.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/FileWriter.php @@ -34,16 +34,16 @@ protected function getTargetDirectory(array $options): string { $baseDirectory = rtrim( $options[IdeAutoCompletionOptionConstants::TARGET_BASE_DIRECTORY], - DIRECTORY_SEPARATOR + DIRECTORY_SEPARATOR, ); $applicationPathFragment = trim( str_replace( IdeAutoCompletionConstants::APPLICATION_NAME_PLACEHOLDER, $options[IdeAutoCompletionOptionConstants::APPLICATION_NAME], - $options[IdeAutoCompletionOptionConstants::TARGET_DIRECTORY_PATTERN] + $options[IdeAutoCompletionOptionConstants::TARGET_DIRECTORY_PATTERN], ), - DIRECTORY_SEPARATOR + DIRECTORY_SEPARATOR, ); return "{$baseDirectory}/{$applicationPathFragment}/"; diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Generator/AbstractGenerator.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Generator/AbstractGenerator.php index bf0f1516..f515d411 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Generator/AbstractGenerator.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Generator/AbstractGenerator.php @@ -75,7 +75,7 @@ protected function getNamespace(): string return str_replace( IdeAutoCompletionConstants::APPLICATION_NAME_PLACEHOLDER, $this->options[IdeAutoCompletionOptionConstants::APPLICATION_NAME], - $this->options[IdeAutoCompletionOptionConstants::TARGET_NAMESPACE_PATTERN] + $this->options[IdeAutoCompletionOptionConstants::TARGET_NAMESPACE_PATTERN], ); } } diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryRemover.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryRemover.php index 93c88a51..fc28f1b1 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryRemover.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/DirectoryRemover.php @@ -52,7 +52,7 @@ public function remove(string $application): void } $this->fileSystem->remove( - $this->fileFinder->findFiles($targetDirectory) + $this->fileFinder->findFiles($targetDirectory), ); } } diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/TargetDirectoryResolver.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/TargetDirectoryResolver.php index f92615af..22e31a20 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/TargetDirectoryResolver.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/TargetDirectoryResolver.php @@ -38,16 +38,16 @@ public function resolveTargetDirectory(string $application): string $baseDirectory = rtrim( $options[IdeAutoCompletionOptionConstants::TARGET_BASE_DIRECTORY], - DIRECTORY_SEPARATOR + DIRECTORY_SEPARATOR, ); $applicationPathFragment = trim( str_replace( IdeAutoCompletionConstants::APPLICATION_NAME_PLACEHOLDER, $application, - $options[IdeAutoCompletionOptionConstants::TARGET_DIRECTORY_PATTERN] + $options[IdeAutoCompletionOptionConstants::TARGET_DIRECTORY_PATTERN], ), - DIRECTORY_SEPARATOR + DIRECTORY_SEPARATOR, ); return "{$baseDirectory}/{$applicationPathFragment}/"; diff --git a/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php b/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php index d078043b..f21d776d 100644 --- a/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php +++ b/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php @@ -54,7 +54,7 @@ public function getUsedPlugins(?ModuleFilterTransfer $moduleFilterTransfer = nul foreach ($projectModules as $moduleTransfer) { $dependencyProviderCollectionTransfer = $this->addPluginUsageInModuleApplications( $moduleTransfer, - $dependencyProviderCollectionTransfer + $dependencyProviderCollectionTransfer, ); } @@ -91,7 +91,7 @@ protected function addPluginUsageInModule( DependencyProviderCollectionTransfer $dependencyProviderCollectionTransfer ) { $finder = $this->getFinderForModule( - $this->getPath($moduleTransfer, $applicationTransfer) + $this->getPath($moduleTransfer, $applicationTransfer), ); foreach ($finder as $splFileInfo) { @@ -115,7 +115,7 @@ protected function getPath(ModuleTransfer $moduleTransfer, ApplicationTransfer $ $moduleTransfer->getPath(), $moduleTransfer->getOrganization()->getName(), $applicationTransfer->getName(), - $moduleTransfer->getName() + $moduleTransfer->getName(), ); } diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinder.php b/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinder.php index 1c6ca9af..05904857 100644 --- a/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinder.php +++ b/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinder.php @@ -69,7 +69,7 @@ protected function getModuleDirectories(ModuleTransfer $moduleTransfer): array $directories, function (string $directory) { return glob($directory, GLOB_NOSORT | GLOB_ONLYDIR); - } + }, ); return $directories; diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleOverview.php b/src/Spryker/Zed/Development/Business/Module/ModuleOverview.php index 302595a6..84873f20 100644 --- a/src/Spryker/Zed/Development/Business/Module/ModuleOverview.php +++ b/src/Spryker/Zed/Development/Business/Module/ModuleOverview.php @@ -52,7 +52,7 @@ protected function addProjectModules(array $moduleOverviewTransferCollection): a $moduleName = $this->getModuleNameFromModuleKey($moduleKey); $moduleOverviewTransfer = $this->getModuleOverviewTransfer( $moduleOverviewTransferCollection, - $this->getModuleNameFromModuleKey($moduleKey) + $this->getModuleNameFromModuleKey($moduleKey), ); $moduleOverviewTransfer->setExistsProjectModule(true); @@ -76,7 +76,7 @@ protected function addCoreModules(array $moduleOverviewTransferCollection): arra $moduleName = $this->getModuleNameFromModuleKey($moduleKey); $moduleOverviewTransfer = $this->getModuleOverviewTransfer( $moduleOverviewTransferCollection, - $this->getModuleNameFromModuleKey($moduleKey) + $this->getModuleNameFromModuleKey($moduleKey), ); $moduleOverviewTransfer->setExistsCoreModule(true); diff --git a/src/Spryker/Zed/Development/Business/Module/PathBuilder/AbstractPathBuilder.php b/src/Spryker/Zed/Development/Business/Module/PathBuilder/AbstractPathBuilder.php index 1591de06..7d4bb831 100644 --- a/src/Spryker/Zed/Development/Business/Module/PathBuilder/AbstractPathBuilder.php +++ b/src/Spryker/Zed/Development/Business/Module/PathBuilder/AbstractPathBuilder.php @@ -41,7 +41,7 @@ public function buildPaths(ModuleTransfer $moduleTransfer): array sprintf( '%s%s/', $this->config->getPathToInternalNamespace(static::ORGANIZATION), - $this->getModuleName($moduleTransfer) + $this->getModuleName($moduleTransfer), ), ]; } diff --git a/src/Spryker/Zed/Development/Business/Module/PathBuilder/SprykerStandaloneModulePathBuilder.php b/src/Spryker/Zed/Development/Business/Module/PathBuilder/SprykerStandaloneModulePathBuilder.php index 9f448e88..9328175d 100644 --- a/src/Spryker/Zed/Development/Business/Module/PathBuilder/SprykerStandaloneModulePathBuilder.php +++ b/src/Spryker/Zed/Development/Business/Module/PathBuilder/SprykerStandaloneModulePathBuilder.php @@ -27,7 +27,7 @@ public function buildPaths(ModuleTransfer $moduleTransfer): array sprintf( '%s%s/', APPLICATION_VENDOR_DIR . '/spryker/', - $this->getModuleName($moduleTransfer) + $this->getModuleName($moduleTransfer), ), ]; diff --git a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Controversial/CamelCaseMethodName.php b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Controversial/CamelCaseMethodName.php index 08bd7b7b..6e8f8854 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Controversial/CamelCaseMethodName.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Controversial/CamelCaseMethodName.php @@ -66,7 +66,7 @@ public function apply(AbstractNode $node) $node, [ $methodName, - ] + ], ); } } diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index 7e82f60b..14cf4584 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -198,7 +198,7 @@ protected function runCommand( static::PHPSTAN_MEMORY_LIMIT, $configFilePath, $path, - $level + $level, ); if ($input->getOption(static::OPTION_DRY_RUN)) { @@ -391,7 +391,7 @@ protected function getConfigFilePathByModuleDirectory(string $moduleDirectoryPat if ($moduleConfigFile && $vendorConfigFile) { return $this->phpstanConfigFileManager->merge( [$moduleConfigFile, $vendorConfigFile], - $this->getConfigFilenameForMerge($moduleConfigFile) + $this->getConfigFilenameForMerge($moduleConfigFile), ); } @@ -419,9 +419,9 @@ protected function getConfigFilenameForMerge(SplFileInfo $moduleConfigFile): ?st array_slice( explode('/', $moduleConfigFile->getPath()), -3, - 3 - ) - ) + 3, + ), + ), ); return $filenameFromPath . '_'; diff --git a/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php b/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php index 9a82e953..550751f4 100644 --- a/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php +++ b/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php @@ -67,7 +67,7 @@ public function getConfiguration(string $absoluteModulePath, array $options = [] $priority = $this->getPriority( $moduleConfig, - $options + $options, ); if ($priority === static::CONFIG_PRIORITY_SKIP_VALUE) { diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php index 2f4c6672..f3a55726 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php @@ -84,7 +84,7 @@ public function execute(InputInterface $input, OutputInterface $output): int return $this->getFacade()->runTest( $module, - $this->extendOptions($input) + $this->extendOptions($input), ); } diff --git a/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php b/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php index d0eab541..c184c36f 100644 --- a/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php @@ -65,8 +65,8 @@ public function execute(InputInterface $input, OutputInterface $output) $this->error( sprintf( 'Argument `%s` is not a valid module.', - $this->input->getArgument(static::ARGUMENT_MODULE) - ) + $this->input->getArgument(static::ARGUMENT_MODULE), + ), ); return static::CODE_ERROR; @@ -105,8 +105,8 @@ public function execute(InputInterface $input, OutputInterface $output) $this->info( sprintf( 'Please run %s locally without dry-run:', - count($commands) > 1 ? 'these commands' : 'this command' - ) + count($commands) > 1 ? 'these commands' : 'this command', + ), ); $this->output->writeln(implode("\n", $commands)); } diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php index 69e9dd34..a7f08787 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php @@ -257,7 +257,7 @@ protected function startValidation(array $modulesToValidate, ?string $dependency 'Checking %d %s for %sdependency issues.', count($modulesToValidate), (count($modulesToValidate) === 1) ? 'Module ' . $this->buildModuleKey(current($modulesToValidate)) . '' : 'Modules', - $typeMessage + $typeMessage, ); if ($this->output->isVerbose()) { $this->info($message); diff --git a/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php b/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php index 9e50c714..bcebde0e 100644 --- a/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php @@ -56,7 +56,7 @@ protected function configure() public function execute(InputInterface $input, OutputInterface $output) { $dependencyProviderCollectionTransfer = $this->getFacade()->getInProjectDependencyProviderUsedPlugins( - $this->buildModuleFilterTransfer() + $this->buildModuleFilterTransfer(), ); $this->printDependencyProviderPluginUsageList($dependencyProviderCollectionTransfer); diff --git a/src/Spryker/Zed/Development/Communication/Controller/DependencyController.php b/src/Spryker/Zed/Development/Communication/Controller/DependencyController.php index 727831d5..783656dd 100644 --- a/src/Spryker/Zed/Development/Communication/Controller/DependencyController.php +++ b/src/Spryker/Zed/Development/Communication/Controller/DependencyController.php @@ -91,7 +91,7 @@ public function outgoingGraphAction(Request $request) $form = $this->getFactory() ->createBundlesForm( $dataProvider->getData(), - $dataProvider->getOptions() + $dataProvider->getOptions(), ) ->handleRequest($request); diff --git a/src/Spryker/Zed/Development/Communication/DevelopmentCommunicationFactory.php b/src/Spryker/Zed/Development/Communication/DevelopmentCommunicationFactory.php index d5a18101..f9fc18c7 100644 --- a/src/Spryker/Zed/Development/Communication/DevelopmentCommunicationFactory.php +++ b/src/Spryker/Zed/Development/Communication/DevelopmentCommunicationFactory.php @@ -40,7 +40,7 @@ public function createBundleFormDataProvider(Request $request, ModuleTransfer $m { $bundleFormDataProvider = new BundleFormDataProvider( $request, - $this->getFacade()->showOutgoingDependenciesForModule($moduleTransfer) + $this->getFacade()->showOutgoingDependenciesForModule($moduleTransfer), ); return $bundleFormDataProvider; diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 9999e521..fb0c7a8e 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -562,11 +562,11 @@ protected function getDefaultIdeAutoCompletionOptions() IdeAutoCompletionOptionConstants::TARGET_BASE_DIRECTORY => APPLICATION_SOURCE_DIR . '/', IdeAutoCompletionOptionConstants::TARGET_DIRECTORY_PATTERN => sprintf( 'Generated/%s/Ide', - IdeAutoCompletionConstants::APPLICATION_NAME_PLACEHOLDER + IdeAutoCompletionConstants::APPLICATION_NAME_PLACEHOLDER, ), IdeAutoCompletionOptionConstants::TARGET_NAMESPACE_PATTERN => sprintf( 'Generated\%s\Ide', - IdeAutoCompletionConstants::APPLICATION_NAME_PLACEHOLDER + IdeAutoCompletionConstants::APPLICATION_NAME_PLACEHOLDER, ), IdeAutoCompletionConstants::DIRECTORY_PERMISSION => $this->getPermissionMode(), ]; diff --git a/src/Spryker/Zed/Development/DevelopmentDependencyProvider.php b/src/Spryker/Zed/Development/DevelopmentDependencyProvider.php index 20d7a796..de45fbb3 100644 --- a/src/Spryker/Zed/Development/DevelopmentDependencyProvider.php +++ b/src/Spryker/Zed/Development/DevelopmentDependencyProvider.php @@ -150,7 +150,7 @@ protected function addModuleFinderFacade(Container $container): Container { $container->set(static::FACADE_MODULE_FINDER, function (Container $container) { $developmentToModuleFinderFacadeBridge = new DevelopmentToModuleFinderFacadeBridge( - $container->getLocator()->moduleFinder()->facade() + $container->getLocator()->moduleFinder()->facade(), ); return $developmentToModuleFinderFacadeBridge; diff --git a/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php b/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php index 3d5d1add..652f3d1c 100644 --- a/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php +++ b/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php @@ -141,7 +141,7 @@ protected function getCodeStyleSnifferMock(string $expectedPathToRunCommandWith, $expectedPathToRunCommandWith, $this->callback(function ($subject) use ($codingStandard) { return is_callable([$subject, 'getCodingStandard']) && $subject->getCodingStandard() === $codingStandard; - }) + }), ); return $codeStyleSnifferMock; diff --git a/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php b/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php index 7117dc80..80c70282 100644 --- a/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php +++ b/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php @@ -48,7 +48,7 @@ public function testWhenDeprecatedDirExistsAutoloadDevAddedToComposer(string $au AutoloadUpdater::BASE_TESTS_DIRECTORY, $autoloadKey, ], - $this->getComposerJson($autoloadKey) + $this->getComposerJson($autoloadKey), ); $this->assertSame($this->getComposerJson($autoloadKey)['autoload-dev'], $updatedJson['autoload-dev']); } @@ -114,7 +114,7 @@ public function testWhenSupportFolderExistsWithHelpersItGetsAddedToAutoload(): v $pathParts, implode(DIRECTORY_SEPARATOR, $pathParts) . '/', ], - ] + ], ); $this->assertSame($this->getComposerJson()['autoload'], $updatedJson['autoload']); @@ -143,7 +143,7 @@ protected function updateJsonForTests(array $composerJson): array $pathParts, implode(DIRECTORY_SEPARATOR, $pathParts) . '/', ], - ] + ], ); } diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php index f19c84db..997c177d 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php @@ -80,11 +80,11 @@ public function testFileLookupPrefersInterface(): void ->expects($this->exactly(1)) ->method('findFileByName') ->withConsecutive( - [$this->equalTo('FooBundleFacadeInterface.php'), $this->anything()] + [$this->equalTo('FooBundleFacadeInterface.php'), $this->anything()], ) ->will($this->onConsecutiveCalls( new SplFileInfo(static::BUNDLE_DIRECTORY . 'FooBundle/Business/FooBundleFacadeInterface.php', 'foo', 'bar'), - new SplFileInfo(static::BUNDLE_DIRECTORY . 'FooBundle/Business/FooBundleFacade.php', 'foo', 'bar') + new SplFileInfo(static::BUNDLE_DIRECTORY . 'FooBundle/Business/FooBundleFacade.php', 'foo', 'bar'), )); $bundleMethodTransfer = $methodBuilderMock->getMethod($this->getBundleTransfer()); @@ -103,11 +103,11 @@ public function testFileLookupFallsBackToConcreteClassIfInterfaceIsMissing(): vo ->method('findFileByName') ->withConsecutive( [$this->equalTo('FooBundleFacadeInterface.php'), $this->anything()], - [$this->equalTo('FooBundleFacade.php'), $this->anything()] + [$this->equalTo('FooBundleFacade.php'), $this->anything()], ) ->will($this->onConsecutiveCalls( null, - new SplFileInfo(static::BUNDLE_DIRECTORY . 'FooBundle/Business/FooBundleFacade.php', 'foo', 'bar') + new SplFileInfo(static::BUNDLE_DIRECTORY . 'FooBundle/Business/FooBundleFacade.php', 'foo', 'bar'), )); $bundleMethodTransfer = $methodBuilderMock->getMethod($this->getBundleTransfer()); diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Generator/BundleGeneratorTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Generator/BundleGeneratorTest.php index d082f89a..1ff6e38a 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Generator/BundleGeneratorTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Generator/BundleGeneratorTest.php @@ -75,7 +75,7 @@ protected function getGeneratorOptions(): array IdeAutoCompletionOptionConstants::TARGET_DIRECTORY_PATTERN => '/', IdeAutoCompletionOptionConstants::TARGET_NAMESPACE_PATTERN => sprintf( 'Generated\%s\Ide', - IdeAutoCompletionConstants::APPLICATION_NAME_PLACEHOLDER + IdeAutoCompletionConstants::APPLICATION_NAME_PLACEHOLDER, ), ]; } diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriterTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriterTest.php index 02a07503..b6398cdf 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriterTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriterTest.php @@ -159,11 +159,11 @@ protected function getDevelopmentConfigMock(): DevelopmentConfig IdeAutoCompletionOptionConstants::TARGET_BASE_DIRECTORY => IdeAutoCompletion::TEST_TARGET_DIRECTORY, IdeAutoCompletionOptionConstants::TARGET_DIRECTORY_PATTERN => sprintf( 'Generated/%s/Ide', - IdeAutoCompletionConstants::APPLICATION_NAME_PLACEHOLDER + IdeAutoCompletionConstants::APPLICATION_NAME_PLACEHOLDER, ), IdeAutoCompletionOptionConstants::TARGET_NAMESPACE_PATTERN => sprintf( 'Generated\%s\Ide', - IdeAutoCompletionConstants::APPLICATION_NAME_PLACEHOLDER + IdeAutoCompletionConstants::APPLICATION_NAME_PLACEHOLDER, ), IdeAutoCompletionConstants::DIRECTORY_PERMISSION => 0777, ]); diff --git a/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilderTest.php index af630b27..e9d07e1b 100644 --- a/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilderTest.php @@ -49,7 +49,7 @@ class ArchitectureSnifferConfigurationBuilderTest extends Unit public function testAclModuleHasPriorityDifferentFromDefaultPriority(): void { $aclModuleArchitectureSnifferConfig = $this->tester->createArchitectureSnifferConfigurationBuilder()->getConfiguration( - $this->tester->getZedAclModulePath() + $this->tester->getZedAclModulePath(), ); $aclPriority = $aclModuleArchitectureSnifferConfig[static::CONFIG_PRIORITY_NAME]; @@ -65,7 +65,7 @@ public function testCustomerModuleWillBeSkipped(): void $this->expectExceptionMessage('Priority should be more than 0'); $customerModuleArchitectureSnifferConfig = $this->tester->createArchitectureSnifferConfigurationBuilder()->getConfiguration( - $this->tester->getZedCustomerModulePath() + $this->tester->getZedCustomerModulePath(), ); } @@ -75,7 +75,7 @@ public function testCustomerModuleWillBeSkipped(): void public function testDiscountModuleHasDefaultPriorityBecauseDoesNotHavePriorityParamInConfigFile(): void { $discountModuleArchitectureSnifferConfig = $this->tester->createArchitectureSnifferConfigurationBuilder()->getConfiguration( - $this->tester->getZedDiscountModulePath() + $this->tester->getZedDiscountModulePath(), ); $discountPriority = $discountModuleArchitectureSnifferConfig[static::CONFIG_PRIORITY_NAME]; @@ -89,7 +89,7 @@ public function testDiscountModuleHasDefaultPriorityBecauseDoesNotHavePriorityPa public function testCountryModuleHasDefaultPriorityBecauseConfigFileHasWrongExtension(): void { $countryModuleArchitectureSnifferConfig = $this->tester->createArchitectureSnifferConfigurationBuilder()->getConfiguration( - $this->tester->getZedCountryPath() + $this->tester->getZedCountryPath(), ); $countryPriority = $countryModuleArchitectureSnifferConfig[static::CONFIG_PRIORITY_NAME]; @@ -103,7 +103,7 @@ public function testCountryModuleHasDefaultPriorityBecauseConfigFileHasWrongExte public function testProductModuleHasDefaultPriorityBecauseConfigFileDoesNotExist(): void { $productModuleArchitectureSnifferConfig = $this->tester->createArchitectureSnifferConfigurationBuilder()->getConfiguration( - $this->tester->getZedProductModulePath() + $this->tester->getZedProductModulePath(), ); $productPriority = $productModuleArchitectureSnifferConfig[static::CONFIG_PRIORITY_NAME]; @@ -117,7 +117,7 @@ public function testProductModuleHasDefaultPriorityBecauseConfigFileDoesNotExist public function testCustomDirectoryHasDefaultPriorityBecauseConfigFileDoesNotHaveArchitectureSnifferBlock(): void { $customDirectoryArchitectureSnifferConfig = $this->tester->createArchitectureSnifferConfigurationBuilder()->getConfiguration( - $this->tester->getZedCustomPath() + $this->tester->getZedCustomPath(), ); $customDirectoryPriority = $customDirectoryArchitectureSnifferConfig[static::CONFIG_PRIORITY_NAME]; @@ -131,7 +131,7 @@ public function testCustomDirectoryHasDefaultPriorityBecauseConfigFileDoesNotHav public function testDiscountModuleHasIgnoreErrorPatternsInConfigFile(): void { $discountModuleArchitectureSnifferConfig = $this->tester->createArchitectureSnifferConfigurationBuilder()->getConfiguration( - $this->tester->getZedDiscountModulePath() + $this->tester->getZedDiscountModulePath(), ); $discountModuleIgnoreErrorPatterns = $discountModuleArchitectureSnifferConfig[static::CONFIG_IGNORE_ERRORS]; diff --git a/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/ConfigurationReader/ConfigurationReaderTest.php b/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/ConfigurationReader/ConfigurationReaderTest.php index 260cca2c..32eda902 100644 --- a/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/ConfigurationReader/ConfigurationReaderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/SnifferConfiguration/ConfigurationReader/ConfigurationReaderTest.php @@ -34,7 +34,7 @@ class ConfigurationReaderTest extends Unit public function testAclModuleHasToolingFileAndParseIt(): void { $data = $this->tester->createConfigurationReader()->getModuleConfigurationByAbsolutePath( - $this->tester->getZedAclModulePath() + $this->tester->getZedAclModulePath(), ); $this->assertNotEmpty($data); @@ -46,7 +46,7 @@ public function testAclModuleHasToolingFileAndParseIt(): void public function testDiscountModuleHasToolingFileAndParseIt(): void { $data = $this->tester->createConfigurationReader()->getModuleConfigurationByAbsolutePath( - $this->tester->getZedDiscountModulePath() + $this->tester->getZedDiscountModulePath(), ); $this->assertNotEmpty($data); @@ -58,7 +58,7 @@ public function testDiscountModuleHasToolingFileAndParseIt(): void public function testCustomerModuleHasToolingFileAndParseIt(): void { $data = $this->tester->createConfigurationReader()->getModuleConfigurationByAbsolutePath( - $this->tester->getZedCustomerModulePath() + $this->tester->getZedCustomerModulePath(), ); $this->assertNotEmpty($data); @@ -70,7 +70,7 @@ public function testCustomerModuleHasToolingFileAndParseIt(): void public function testCountryModuleHasToolingFileWithWrongExtension(): void { $data = $this->tester->createConfigurationReader()->getModuleConfigurationByAbsolutePath( - $this->tester->getZedCountryPath() + $this->tester->getZedCountryPath(), ); $this->assertEmpty($data); @@ -82,7 +82,7 @@ public function testCountryModuleHasToolingFileWithWrongExtension(): void public function testProductModuleDoesNotHaveToolingFile(): void { $data = $this->tester->createConfigurationReader()->getModuleConfigurationByAbsolutePath( - $this->tester->getZedProductModulePath() + $this->tester->getZedProductModulePath(), ); $this->assertEmpty($data); @@ -94,7 +94,7 @@ public function testProductModuleDoesNotHaveToolingFile(): void public function testCustomFolderHasToolingFileAndParseIt(): void { $data = $this->tester->createConfigurationReader()->getModuleConfigurationByAbsolutePath( - $this->tester->getZedCustomPath() + $this->tester->getZedCustomPath(), ); $this->assertNotEmpty($data); diff --git a/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php b/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php index 5086e890..37755758 100644 --- a/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php +++ b/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php @@ -47,7 +47,7 @@ public function createArchitectureSnifferConfigurationBuilder(): SnifferConfigur { return new ArchitectureSnifferConfigurationBuilder( $this->createConfigurationReader(), - static::DEFAULT_PRIORITY + static::DEFAULT_PRIORITY, ); } @@ -57,7 +57,7 @@ public function createArchitectureSnifferConfigurationBuilder(): SnifferConfigur public function createConfigurationReader(): ConfigurationReaderInterface { return new ConfigurationReader( - $this->createSymfonyYamlParser() + $this->createSymfonyYamlParser(), ); } @@ -84,7 +84,7 @@ public function createCodeStyleSnifferConfigurationLoader(): CodeStyleSnifferCon { return new CodeStyleSnifferConfigurationLoader( $this->createConfigurationReader(), - $this->createCodeStyleSnifferConfiguration() + $this->createCodeStyleSnifferConfiguration(), ); } @@ -94,7 +94,7 @@ public function createCodeStyleSnifferConfigurationLoader(): CodeStyleSnifferCon public function createCodeStyleSnifferConfiguration(): CodeStyleSnifferConfiguration { return new CodeStyleSnifferConfiguration( - $this->createDevelopmentConfig() + $this->createDevelopmentConfig(), ); } From b092452ce9fafa90af9f5d1a5e3afd6f56cf730f Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Tue, 26 Oct 2021 11:04:18 +0200 Subject: [PATCH 250/336] TE-10081 Prepare CS as per new sniffer updates. (#8840) * TE-10081 Prepare CS as per new sniffer updates. * TE-10081 Revert some use statements to avoid dependency. --- src/Spryker/Shared/Development/DevelopmentConstants.php | 3 +++ .../Config/CodeStyleSnifferConfiguration.php | 8 ++++++++ .../Argument/Builder/CodeceptionArgumentsBuilder.php | 1 + .../Communication/Console/CodePhpstanConsole.php | 1 + src/Spryker/Zed/Development/DevelopmentConfig.php | 2 ++ 5 files changed, 15 insertions(+) diff --git a/src/Spryker/Shared/Development/DevelopmentConstants.php b/src/Spryker/Shared/Development/DevelopmentConstants.php index 27786376..217dddbd 100644 --- a/src/Spryker/Shared/Development/DevelopmentConstants.php +++ b/src/Spryker/Shared/Development/DevelopmentConstants.php @@ -29,12 +29,14 @@ interface DevelopmentConstants /** * @see \Spryker\Shared\Kernel\KernelConstants::PROJECT_NAMESPACES + * * @var string */ public const PROJECT_NAMESPACES = 'PROJECT_NAMESPACES'; /** * @see \Spryker\Shared\Kernel\KernelConstants::CORE_NAMESPACES + * * @var string */ public const CORE_NAMESPACES = 'CORE_NAMESPACES'; @@ -44,6 +46,7 @@ interface DevelopmentConstants * - Sets the permission mode for generated directories. * * @api + * * @var string */ public const DIRECTORY_PERMISSION = 'DEVELOPMENT:DIRECTORY_PERMISSION'; diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php index d9a31445..fc8c3949 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php @@ -14,48 +14,56 @@ class CodeStyleSnifferConfiguration implements CodeStyleSnifferConfigurationInte { /** * @see \Spryker\Zed\Development\Communication\Console\CodeStyleSnifferConsole::OPTION_FIX + * * @var string */ protected const OPTION_FIX = 'fix'; /** * @see \Spryker\Zed\Development\Communication\Console\CodeStyleSnifferConsole::OPTION_DRY_RUN + * * @var string */ protected const OPTION_DRY_RUN = 'dry-run'; /** * @see \Spryker\Zed\Development\Communication\Console\CodeStyleSnifferConsole::OPTION_QUIET + * * @var string */ protected const OPTION_QUIET = 'quiet'; /** * @see \Spryker\Zed\Development\Communication\Console\CodeStyleSnifferConsole::OPTION_EXPLAIN + * * @var string */ protected const OPTION_EXPLAIN = 'explain'; /** * @see \Spryker\Zed\Development\Communication\Console\CodeStyleSnifferConsole::OPTION_SNIFFS + * * @var string */ protected const OPTION_SNIFFS = 'sniffs'; /** * @see \Spryker\Zed\Development\Communication\Console\CodeStyleSnifferConsole::OPTION_VERBOSE + * * @var string */ protected const OPTION_VERBOSE = 'verbose'; /** * @see \Spryker\Zed\Development\Business\CodeStyleSniffer\CodeStyleSniffer::OPTION_IGNORE + * * @var string */ protected const OPTION_IGNORE = 'ignore'; /** * @see \Spryker\Zed\Development\Communication\Console\CodeStyleSnifferConsole::OPTION_LEVEL + * * @var string */ protected const OPTION_LEVEL = 'level'; diff --git a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php index e0f805ac..af96fb23 100644 --- a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php +++ b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php @@ -14,6 +14,7 @@ class CodeceptionArgumentsBuilder implements CodeceptionArgumentsBuilderInterfac { /** * @see \Spryker\Zed\Development\Communication\Console\CodeTestConsole::OPTION_CONFIG_PATH + * * @var string */ protected const OPTION_CONFIG_PATH = 'config'; diff --git a/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php index 98f52417..486e73e3 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php @@ -30,6 +30,7 @@ class CodePhpstanConsole extends Console /** * @deprecated Not Used + * * @var string */ protected const OPTION_FORMAT = 'format'; diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index fb0c7a8e..223b399f 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -90,6 +90,7 @@ class DevelopmentConfig extends AbstractBundleConfig /** * @phpstan-var array + * * @var array */ protected const INTERNAL_NAMESPACES_TO_PATH_MAPPING = [ @@ -103,6 +104,7 @@ class DevelopmentConfig extends AbstractBundleConfig /** * @phpstan-var array + * * @var array */ protected const INTERNAL_PACKAGE_DIRECTORIES = ['spryker', 'spryker-shop', 'spryker-merchant-portal']; From ce663e77553c9a5f9de9c5fad4ad8ca6fbb93f87 Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Sat, 30 Oct 2021 18:16:26 +0200 Subject: [PATCH 251/336] TE-10081 Fix CS as per generics sniffer rules. (#8857) TE-10081 Fix CS as per generics sniffer rules --- .../Zed/Development/Business/Composer/ComposerNameFinder.php | 4 ++-- src/Spryker/Zed/Development/Business/Dependency/Manager.php | 2 +- .../Business/Dependency/SchemaParser/PropelSchemaParser.php | 2 +- .../Business/Dependency/TwigFileFinder/TwigFileFinder.php | 2 +- .../Dependency/TwigFileFinder/TwigFileFinderInterface.php | 2 +- .../Integration/DependencyProviderUsedPluginFinder.php | 2 +- .../Module/ModuleFileFinder/ModuleFileFinderInterface.php | 2 +- .../Development/Business/Module/ModuleFinder/ModuleFinder.php | 4 ++-- .../Module/ProjectModuleFinder/ProjectModuleFinder.php | 2 +- .../Business/Package/PackageFinder/PackageFinder.php | 2 +- 10 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php b/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php index 1997cd54..0395d045 100644 --- a/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php +++ b/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php @@ -23,7 +23,7 @@ class ComposerNameFinder implements ComposerNameFinderInterface protected $moduleTransferCollection = []; /** - * @var array<\Generated\Shared\Transfer\ModuleTransfer[]>|null + * @var array>|null */ protected $moduleTransferCollectionGroupedByModuleName; @@ -144,7 +144,7 @@ protected function getCurrentModuleTransfer(array $moduleTransferCollection): Mo } /** - * @return array<\Generated\Shared\Transfer\ModuleTransfer[]> + * @return array> */ protected function getModuleTransferCollectionGroupedByModuleName(): array { diff --git a/src/Spryker/Zed/Development/Business/Dependency/Manager.php b/src/Spryker/Zed/Development/Business/Dependency/Manager.php index abe8b0e3..181b6371 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/Manager.php +++ b/src/Spryker/Zed/Development/Business/Dependency/Manager.php @@ -149,7 +149,7 @@ public function collectAllModules() } /** - * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> + * @return \Symfony\Component\Finder\Finder|\Symfony\Component\Finder\SplFileInfo[] */ protected function collectCoreModules() { diff --git a/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php b/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php index 4512c6ba..8d03d129 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php +++ b/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php @@ -149,7 +149,7 @@ protected function buildUniqueFieldToModuleNameMap(): array } /** - * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> + * @return \Symfony\Component\Finder\Finder|\Symfony\Component\Finder\SplFileInfo[] */ protected function getSchemaFileFinder(): Finder { diff --git a/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php b/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php index 650acb3d..4ea4d1b9 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php @@ -28,7 +28,7 @@ public function __construct(DevelopmentConfig $config) /** * @param string $module * - * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> + * @return \Symfony\Component\Finder\Finder|\Symfony\Component\Finder\SplFileInfo[] */ public function findTwigFiles(string $module): Finder { diff --git a/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinderInterface.php b/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinderInterface.php index 36f4afaf..29be9e6e 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinderInterface.php +++ b/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinderInterface.php @@ -14,7 +14,7 @@ interface TwigFileFinderInterface /** * @param string $module * - * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> + * @return \Symfony\Component\Finder\Finder|\Symfony\Component\Finder\SplFileInfo[] */ public function findTwigFiles(string $module): Finder; diff --git a/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php b/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php index f21d776d..cc1c826c 100644 --- a/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php +++ b/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php @@ -122,7 +122,7 @@ protected function getPath(ModuleTransfer $moduleTransfer, ApplicationTransfer $ /** * @param string $path * - * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> + * @return \Symfony\Component\Finder\Finder|\Symfony\Component\Finder\SplFileInfo[] */ protected function getFinderForModule(string $path): Finder { diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinderInterface.php b/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinderInterface.php index 9eb68a6d..cc3a701c 100644 --- a/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinderInterface.php +++ b/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinderInterface.php @@ -15,7 +15,7 @@ interface ModuleFileFinderInterface /** * @param \Generated\Shared\Transfer\ModuleTransfer $moduleTransfer * - * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> + * @return \Symfony\Component\Finder\Finder|\Symfony\Component\Finder\SplFileInfo[] */ public function find(ModuleTransfer $moduleTransfer): Finder; diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php b/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php index 5ff9ef52..92be7b2d 100644 --- a/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php +++ b/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php @@ -101,7 +101,7 @@ protected function addStandaloneModulesToCollection(array $moduleTransferCollect } /** - * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> + * @return \Symfony\Component\Finder\Finder|\Symfony\Component\Finder\SplFileInfo[] */ protected function getStandaloneModuleFinder(): Finder { @@ -171,7 +171,7 @@ protected function addModulesToCollection(array $moduleTransferCollection, ?Modu } /** - * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> + * @return \Symfony\Component\Finder\Finder|\Symfony\Component\Finder\SplFileInfo[] */ protected function getModuleFinder(): Finder { diff --git a/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php b/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php index 2d1fc4c6..f549e84f 100644 --- a/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php +++ b/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php @@ -95,7 +95,7 @@ protected function getProjectDirectories(): array /** * @param array $projectOrganizationModuleDirectories * - * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> + * @return \Symfony\Component\Finder\Finder|\Symfony\Component\Finder\SplFileInfo[] */ protected function getProjectModuleFinder(array $projectOrganizationModuleDirectories): Finder { diff --git a/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php b/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php index 8fa041c3..ee26f984 100644 --- a/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php +++ b/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php @@ -57,7 +57,7 @@ public function getPackages(): array } /** - * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> + * @return \Symfony\Component\Finder\Finder|\Symfony\Component\Finder\SplFileInfo[] */ protected function getPackageFinder(): Finder { From a6079d6bab27adffbbd0095863a529faddeb9d89 Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Mon, 1 Nov 2021 11:31:43 +0100 Subject: [PATCH 252/336] TE-10081 Fix CS generics. (#8858) * TE-10081 Fix CS generics. --- .../ArchitectureSniffer/AllBundleFinder.php | 8 ++-- .../ArchitectureSniffer.php | 6 +-- .../ArchitectureSnifferInterface.php | 2 +- .../CodeBuilder/Bridge/BridgeBuilder.php | 4 +- .../CodeBuilder/Module/ModuleBuilder.php | 4 +- .../CodeStyleSniffer/CodeStyleSniffer.php | 2 +- .../Business/CodeTest/CodeTester.php | 10 ++--- .../Builder/CodeceptionArgumentsBuilder.php | 14 +++---- .../CodeceptionArgumentsBuilderInterface.php | 2 +- .../Business/DevelopmentBusinessFactory.php | 8 ++-- .../Business/DevelopmentFacade.php | 12 +++--- .../Business/DevelopmentFacadeInterface.php | 12 +++--- .../Bundle/BundleBuilder.php | 2 +- .../Business/IdeAutoCompletion/FileWriter.php | 6 +-- .../IdeAutoCompletion/FileWriterInterface.php | 2 +- .../Generator/AbstractGenerator.php | 2 +- .../Business/PhpMd/PhpMdRunner.php | 4 +- ...rchitectureSnifferConfigurationBuilder.php | 4 +- .../SnifferConfigurationBuilderInterface.php | 2 +- .../DevelopmentCommunicationFactory.php | 2 +- .../Communication/Form/BundlesFormType.php | 2 +- .../Zed/Development/DevelopmentConfig.php | 38 ++++++++----------- .../CodeStyleSniffer/CodeStyleSnifferTest.php | 2 +- 23 files changed, 72 insertions(+), 78 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php index 6edc42de..123f67e5 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php @@ -27,20 +27,20 @@ class AllBundleFinder implements AllBundleFinderInterface protected $filter; /** - * @var array + * @var array */ protected $projectNamespaces; /** - * @var array + * @var array */ protected $coreNamespaces; /** * @param \Symfony\Component\Finder\Finder $finder * @param \Laminas\Filter\FilterInterface $filter - * @param array $projectNamespaces - * @param array $coreNamespaces + * @param array $projectNamespaces + * @param array $coreNamespaces */ public function __construct(Finder $finder, FilterInterface $filter, $projectNamespaces = [], $coreNamespaces = []) { diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php index 424911db..8b11f4f5 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php @@ -284,7 +284,7 @@ protected function getProcess(array $command) /** * @param string $directory - * @param array $options + * @param array $options * * @throws \Exception * @@ -467,7 +467,7 @@ protected function addSourcePathForCoreModulePath(string $directory): string } /** - * @param array $options + * @param array $options * * @return bool */ @@ -484,7 +484,7 @@ protected function isCoreModule(array $options): bool /** * @param array $results - * @param array $options + * @param array $options * * @return array */ diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSnifferInterface.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSnifferInterface.php index 7411ef93..4af27d7e 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSnifferInterface.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSnifferInterface.php @@ -11,7 +11,7 @@ interface ArchitectureSnifferInterface { /** * @param string $directory - * @param array $options + * @param array $options * * @return array */ diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php b/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php index ab2d2d4c..7199e017 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php @@ -50,7 +50,7 @@ class BridgeBuilder protected const DEFAULT_TO_TYPE = 'Facade'; /** - * @var array + * @var array */ protected const APPLICATION_LAYER_MAP = [ 'Facade' => 'Zed', @@ -58,7 +58,7 @@ class BridgeBuilder ]; /** - * @var array + * @var array */ protected const MODULE_LAYER_MAP = [ 'Facade' => 'Business', diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php index 9ebb80f8..625fffc3 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php @@ -69,7 +69,7 @@ public function __construct(DevelopmentConfig $config) /** * @param string $module - * @param array $options + * @param array $options * * @return void */ @@ -126,7 +126,7 @@ protected function getModuleNames($namespace) /** * @param string $namespace * @param string $module - * @param array $options + * @param array $options * * @return void */ diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php index ec29ce50..d7a321a1 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php @@ -71,7 +71,7 @@ public function __construct(DevelopmentConfig $config, CodeStyleSnifferConfigura /** * @param string|null $module - * @param array $options + * @param array $options * * @return int */ diff --git a/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php b/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php index 14c88f26..fc6bbdea 100644 --- a/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php +++ b/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php @@ -88,7 +88,7 @@ public function __construct( * If module is given, it will run over this (core) module. Otherwise runs over project level. * * @param string|null $moduleName - * @param array $options + * @param array $options * * @throws \RuntimeException * @@ -127,7 +127,7 @@ public function runTest(?string $moduleName, array $options = []): int * If module is given, it will run over this (core) module. Otherwise runs over project level. * * @param string|null $moduleName - * @param array $options + * @param array $options * * @throws \RuntimeException * @@ -215,7 +215,7 @@ protected function addFilterDetails(string $moduleName, ModuleFilterTransfer $mo /** * @param string|null $path - * @param array $options + * @param array $options * * @return int */ @@ -251,7 +251,7 @@ protected function runTestCommand(?string $path, array $options): int /** * @param string|null $path - * @param array $options + * @param array $options * * @return int */ @@ -282,7 +282,7 @@ protected function runFixturesCommand(?string $path, array $options): int } /** - * @param array $options + * @param array $options * * @return void */ diff --git a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php index af96fb23..9262f520 100644 --- a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php +++ b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilder.php @@ -53,7 +53,7 @@ public function __construct(array $defaultInclusiveTestGroups) } /** - * @param array $options + * @param array $options * * @return \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments */ @@ -72,7 +72,7 @@ public function build(array $options): CodeceptionArguments /** * @param \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments $codeceptionArguments - * @param array $options + * @param array $options * * @return \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments */ @@ -87,7 +87,7 @@ protected function addConfigPath(CodeceptionArguments $codeceptionArguments, arr /** * @param \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments $codeceptionArguments - * @param array $options + * @param array $options * * @return \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments */ @@ -105,7 +105,7 @@ protected function addIncludeGroups(CodeceptionArguments $codeceptionArguments, /** * @param \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments $codeceptionArguments - * @param array $options + * @param array $options * * @return \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments */ @@ -123,7 +123,7 @@ protected function addExcludeGroups(CodeceptionArguments $codeceptionArguments, /** * @param \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments $codeceptionArguments - * @param array $options + * @param array $options * * @return \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments */ @@ -138,7 +138,7 @@ protected function addVerboseMode(CodeceptionArguments $codeceptionArguments, ar /** * @param \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments $codeceptionArguments - * @param array $options + * @param array $options * * @return \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments */ @@ -167,7 +167,7 @@ protected function enableSuiteFilterExtension(CodeceptionArguments $codeceptionA /** * @param \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments $codeceptionArguments - * @param array $options + * @param array $options * * @return \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments */ diff --git a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilderInterface.php b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilderInterface.php index 09d392e2..f4078325 100644 --- a/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilderInterface.php +++ b/src/Spryker/Zed/Development/Business/Codeception/Argument/Builder/CodeceptionArgumentsBuilderInterface.php @@ -12,7 +12,7 @@ interface CodeceptionArgumentsBuilderInterface { /** - * @param array $options + * @param array $options * * @return \Spryker\Zed\Development\Business\Codeception\Argument\CodeceptionArguments */ diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index 5a4b029c..ed782b36 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -1846,7 +1846,7 @@ protected function createIdeAutoCompletionResourceMethodBuild() /** * @param \Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\BundleBuilderInterface $bundleBuilder - * @param array $options + * @param array $options * * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\IdeAutoCompletionWriterInterface */ @@ -1873,7 +1873,7 @@ protected function createIdeAutoCompletionBundleFinder(BundleBuilderInterface $b } /** - * @param array $options + * @param array $options * * @return array<\Spryker\Zed\Development\Business\IdeAutoCompletion\Generator\GeneratorInterface> */ @@ -1886,7 +1886,7 @@ protected function getIdeAutoCompletionGeneratorStack(array $options) } /** - * @param array $options + * @param array $options * * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Generator\GeneratorInterface */ @@ -1904,7 +1904,7 @@ protected function createFileWriter(): FileWriterInterface } /** - * @param array $options + * @param array $options * * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Generator\GeneratorInterface */ diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php index a165b211..ce9eafbe 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php @@ -31,7 +31,7 @@ class DevelopmentFacade extends AbstractFacade implements DevelopmentFacadeInter * @api * * @param string|null $module - * @param array $options + * @param array $options * * @return int Exit code */ @@ -46,7 +46,7 @@ public function checkCodeStyle($module = null, array $options = []) * @api * * @param string|null $module - * @param array $options + * @param array $options * * @return int */ @@ -61,7 +61,7 @@ public function runTest(?string $module, array $options = []): int * @api * * @param string|null $module - * @param array $options + * @param array $options * * @return int */ @@ -76,7 +76,7 @@ public function runFixtures(?string $module, array $options = []): int * @api * * @param string|null $module - * @param array $options + * @param array $options * * @return int Exit code */ @@ -111,7 +111,7 @@ public function createBridge($module, $toModule, array $methods) * @deprecated Use Spryk tool instead. * * @param string $module - * @param array $options + * @param array $options * * @return void */ @@ -475,7 +475,7 @@ public function removeGlueIdeAutoCompletion(): void * @api * * @param string $directory - * @param array $options + * @param array $options * * @return array */ diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php index d72e8e5f..150e0ae5 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php @@ -28,7 +28,7 @@ interface DevelopmentFacadeInterface * @api * * @param string|null $module - * @param array $options + * @param array $options * * @return int Exit code */ @@ -42,7 +42,7 @@ public function checkCodeStyle($module = null, array $options = []); * @api * * @param string|null $module - * @param array $options + * @param array $options * * @return int */ @@ -57,7 +57,7 @@ public function runTest(?string $module, array $options = []): int; * @api * * @param string|null $module - * @param array $options + * @param array $options * * @return int */ @@ -71,7 +71,7 @@ public function runFixtures(?string $module, array $options = []): int; * @api * * @param string|null $module - * @param array $options + * @param array $options * * @return int Exit code */ @@ -102,7 +102,7 @@ public function createBridge($module, $toModule, array $methods); * @deprecated Use Spryk tool instead. * * @param string $module - * @param array $options + * @param array $options * * @return void */ @@ -409,7 +409,7 @@ public function removeGlueIdeAutoCompletion(): void; * @api * * @param string $directory - * @param array $options + * @param array $options * * @return array */ diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleBuilder.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleBuilder.php index ebe8e44c..8877b3a3 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleBuilder.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleBuilder.php @@ -26,7 +26,7 @@ class BundleBuilder implements BundleBuilderInterface /** * @param array<\Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\BundleMethodBuilderInterface> $bundleMethodBuilders - * @param array $options + * @param array $options */ public function __construct(array $bundleMethodBuilders, array $options) { diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/FileWriter.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/FileWriter.php index b99567c5..8caa3df8 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/FileWriter.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/FileWriter.php @@ -12,7 +12,7 @@ class FileWriter implements FileWriterInterface /** * @param string $fileName * @param string $fileContent - * @param array $options + * @param array $options * * @return void */ @@ -26,7 +26,7 @@ public function writeFile(string $fileName, string $fileContent, array $options) } /** - * @param array $options + * @param array $options * * @return string */ @@ -51,7 +51,7 @@ protected function getTargetDirectory(array $options): string /** * @param string $directory - * @param array $options + * @param array $options * * @return void */ diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/FileWriterInterface.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/FileWriterInterface.php index dcdf05ce..a18193ab 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/FileWriterInterface.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/FileWriterInterface.php @@ -12,7 +12,7 @@ interface FileWriterInterface /** * @param string $fileName * @param string $fileContent - * @param array $options + * @param array $options * * @return void */ diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Generator/AbstractGenerator.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Generator/AbstractGenerator.php index f515d411..e7ff8b30 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Generator/AbstractGenerator.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Generator/AbstractGenerator.php @@ -32,7 +32,7 @@ abstract class AbstractGenerator implements GeneratorInterface /** * @param \Twig\Environment $twig * @param \Spryker\Zed\Development\Business\IdeAutoCompletion\FileWriterInterface $fileWriter - * @param array $options + * @param array $options */ public function __construct(Environment $twig, FileWriterInterface $fileWriter, array $options) { diff --git a/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php b/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php index ae6a1411..c22d8113 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php @@ -49,7 +49,7 @@ public function __construct(DevelopmentConfig $config) /** * @param string|null $bundle - * @param array $options + * @param array $options * * @throws \ErrorException * @@ -145,7 +145,7 @@ protected function resolveCorePaths(string $module): string /** * @param string $path - * @param array $options + * @param array $options * * @return int Exit code */ diff --git a/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php b/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php index 550751f4..d47efe56 100644 --- a/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php +++ b/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php @@ -55,7 +55,7 @@ public function __construct(ConfigurationReaderInterface $configurationReader, i /** * @param string $absoluteModulePath - * @param array $options + * @param array $options * * @throws \RuntimeException * @@ -82,7 +82,7 @@ public function getConfiguration(string $absoluteModulePath, array $options = [] /** * @param array $moduleConfig - * @param array $options + * @param array $options * * @throws \Spryker\Zed\Development\Business\Exception\ArchitectureSniffer\InvalidTypeException * diff --git a/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/SnifferConfigurationBuilderInterface.php b/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/SnifferConfigurationBuilderInterface.php index 881b7885..4931fa57 100644 --- a/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/SnifferConfigurationBuilderInterface.php +++ b/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/SnifferConfigurationBuilderInterface.php @@ -11,7 +11,7 @@ interface SnifferConfigurationBuilderInterface { /** * @param string $absoluteModulePath - * @param array $options + * @param array $options * * @return array */ diff --git a/src/Spryker/Zed/Development/Communication/DevelopmentCommunicationFactory.php b/src/Spryker/Zed/Development/Communication/DevelopmentCommunicationFactory.php index f9fc18c7..bd5187bb 100644 --- a/src/Spryker/Zed/Development/Communication/DevelopmentCommunicationFactory.php +++ b/src/Spryker/Zed/Development/Communication/DevelopmentCommunicationFactory.php @@ -21,7 +21,7 @@ class DevelopmentCommunicationFactory extends AbstractCommunicationFactory { /** * @param array $data - * @param array $options + * @param array $options * * @return \Symfony\Component\Form\FormInterface */ diff --git a/src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php b/src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php index 82903ead..c0f120a9 100644 --- a/src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php +++ b/src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php @@ -52,7 +52,7 @@ public function configureOptions(OptionsResolver $resolver) /** * @param \Symfony\Component\Form\FormBuilderInterface $builder - * @param array $options + * @param array $options * * @return void */ diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 223b399f..e91cad72 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -61,14 +61,14 @@ class DevelopmentConfig extends AbstractBundleConfig protected const GROUP_SPRYKER_TEST = 'SprykerTest'; /** - * @var array + * @var array */ public const APPLICATION_NAMESPACES = [ 'Orm', ]; /** - * @var array + * @var array */ public const APPLICATIONS = [ 'Client', @@ -80,7 +80,7 @@ class DevelopmentConfig extends AbstractBundleConfig ]; /** - * @var array + * @var array */ protected const INTERNAL_NAMESPACES_LIST = [ self::NAMESPACE_SPRYKER, @@ -89,9 +89,7 @@ class DevelopmentConfig extends AbstractBundleConfig ]; /** - * @phpstan-var array - * - * @var array + * @var array */ protected const INTERNAL_NAMESPACES_TO_PATH_MAPPING = [ self::NAMESPACE_SPRYKER => APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . 'vendor/spryker/', @@ -103,9 +101,7 @@ class DevelopmentConfig extends AbstractBundleConfig ]; /** - * @phpstan-var array - * - * @var array + * @var array */ protected const INTERNAL_PACKAGE_DIRECTORIES = ['spryker', 'spryker-shop', 'spryker-merchant-portal']; @@ -165,7 +161,7 @@ public function getPathToRoot() * * @api * - * @return array + * @return array */ public function getApplications() { @@ -177,7 +173,7 @@ public function getApplications() * * @api * - * @return array + * @return array */ public function getApplicationNamespaces() { @@ -350,7 +346,7 @@ public function getPathToBundleConfig() /** * @api * - * @return array + * @return array */ public function getExternalToInternalNamespaceMap() { @@ -473,7 +469,7 @@ public function getExternalToInternalMap() * * @deprecated Will be removed without replacement. * - * @return array + * @return array */ public function getIgnorableDependencies() { @@ -519,7 +515,7 @@ public function getZedIdeAutoCompletionOptions() /** * @api * - * @return array + * @return array */ public function getClientIdeAutoCompletionOptions() { @@ -532,7 +528,7 @@ public function getClientIdeAutoCompletionOptions() /** * @api * - * @return array + * @return array */ public function getGlueIdeAutoCompletionOptions() { @@ -545,7 +541,7 @@ public function getGlueIdeAutoCompletionOptions() /** * @api * - * @return array + * @return array */ public function getServiceIdeAutoCompletionOptions() { @@ -556,7 +552,7 @@ public function getServiceIdeAutoCompletionOptions() } /** - * @return array + * @return array */ protected function getDefaultIdeAutoCompletionOptions() { @@ -577,9 +573,7 @@ protected function getDefaultIdeAutoCompletionOptions() /** * @api * - * @phpstan-return array - * - * @return array + * @return array */ public function getIdeAutoCompletionSourceDirectoryGlobPatterns() { @@ -640,7 +634,7 @@ public function getPhpMdCommand() /** * @api * - * @return array + * @return array */ public function getProjectNamespaces() { @@ -650,7 +644,7 @@ public function getProjectNamespaces() /** * @api * - * @return array + * @return array */ public function getCoreNamespaces() { diff --git a/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php b/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php index 652f3d1c..5a384eb4 100644 --- a/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php +++ b/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php @@ -112,7 +112,7 @@ public function testCheckCodeStyleRunsCommandInCoreModuleForLevelTwo(): void /** * @param string $expectedPathToRunCommandWith - * @param array $options + * @param array $options * * @return \PHPUnit\Framework\MockObject\MockObject|\Spryker\Zed\Development\Business\CodeStyleSniffer\CodeStyleSniffer */ From 09338310312d27ae449a1a3c7292a64582319c65 Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Mon, 1 Nov 2021 13:13:59 +0100 Subject: [PATCH 253/336] TE-10081 Fix CS generics (#8859) --- .../ArchitectureSniffer/AllBundleFinder.php | 20 +++++++++---------- .../ArchitectureSniffer/AllModuleFinder.php | 4 ++-- .../ArchitectureSniffer.php | 12 +++++------ .../CodeBuilder/Bridge/BridgeBuilder.php | 4 ++-- .../Config/CodeStyleSnifferConfiguration.php | 8 ++++---- ...CodeStyleSnifferConfigurationInterface.php | 4 ++-- .../CodeStyleSnifferConfigurationLoader.php | 2 +- ...yleSnifferConfigurationLoaderInterface.php | 2 +- .../Business/Composer/ComposerNameFinder.php | 2 +- .../Composer/Updater/AutoloadUpdater.php | 2 +- .../Updater/RequireExternalUpdater.php | 8 ++++---- .../ExternalDependencyFinder.php | 2 +- .../InternalDependencyFinder.php | 4 ++-- .../SprykerSdkDependencyFinder.php | 4 ++-- .../DependencyFinder/TwigDependencyFinder.php | 2 +- .../ModuleParser/UseStatementParser.php | 2 +- .../UseStatementParserInterface.php | 2 +- .../SchemaParser/PropelSchemaParser.php | 20 +++++++++---------- .../DependencyTree/AdjacencyMatrixBuilder.php | 4 ++-- .../ComposerDependencyParser.php | 4 ++-- .../DependencyFilter/BundleToViewFilter.php | 2 +- .../DependencyFilter/ClassNameFilter.php | 2 +- .../ConstantsToForeignConstantsFilter.php | 2 +- .../DependencyFilter/DependencyFilter.php | 2 +- .../DependencyFilterInterface.php | 2 +- .../DependencyFilter/EngineBundleFilter.php | 2 +- .../ExternalDependencyFilter.php | 2 +- .../ForeignEngineBundleFilter.php | 2 +- .../InTestDependencyFilter.php | 4 ++-- .../InternalDependencyFilter.php | 2 +- .../InvalidForeignBundleFilter.php | 6 +++--- .../DependencyGraph/OutgoingGraphBuilder.php | 4 ++-- .../DependencyTree/DependencyTree.php | 4 ++-- .../Business/DevelopmentBusinessFactory.php | 2 +- .../Business/DevelopmentFacade.php | 4 ++-- .../Business/DevelopmentFacadeInterface.php | 4 ++-- .../IdeAutoCompletion/Bundle/BundleFinder.php | 4 ++-- .../Module/ModuleFinder/ModuleFinder.php | 4 ++-- .../Business/Module/ModuleOverview.php | 2 +- .../ProjectModuleFinder.php | 4 ++-- .../Business/Phpstan/PhpstanRunner.php | 6 +++--- ...rchitectureSnifferConfigurationBuilder.php | 14 ++++++------- .../AbstractCoreModuleAwareConsole.php | 6 +++--- .../Console/ComposerJsonValidatorConsole.php | 2 +- .../DependencyViolationFinderConsole.php | 2 +- 45 files changed, 101 insertions(+), 101 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php index 123f67e5..f4334f00 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php @@ -68,9 +68,9 @@ public function find() /** * @param string $path * @param string $namespace - * @param array $allBundles + * @param array> $allBundles * - * @return array + * @return array> */ protected function findBundles($path, $namespace, array $allBundles) { @@ -98,9 +98,9 @@ protected function findBundles($path, $namespace, array $allBundles) } /** - * @param array $allBundles + * @param array> $allBundles * - * @return array + * @return array> */ protected function loadProjectBundles(array $allBundles) { @@ -113,9 +113,9 @@ protected function loadProjectBundles(array $allBundles) } /** - * @param array $allBundles + * @param array> $allBundles * - * @return array + * @return array> */ protected function loadCoreDevelopmentBundles(array $allBundles) { @@ -127,9 +127,9 @@ protected function loadCoreDevelopmentBundles(array $allBundles) } /** - * @param array $allBundles + * @param array> $allBundles * - * @return array + * @return array> */ protected function loadOtherCoreBundles(array $allBundles) { @@ -145,9 +145,9 @@ protected function loadOtherCoreBundles(array $allBundles) } /** - * @param array $allBundles + * @param array> $allBundles * - * @return mixed + * @return array> */ protected function addApplication(array $allBundles) { diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php index c3c14ded..e44c8c8a 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php @@ -144,9 +144,9 @@ protected function findModules($path, $namespace): array } /** - * @param array $modules + * @param array> $modules * - * @return array + * @return array> */ protected function addApplication(array $modules): array { diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php index 8b11f4f5..e6b23dcb 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php @@ -169,7 +169,7 @@ public function getRules() * @param string $directory * @param array $options * - * @return array + * @return array> */ public function run($directory, array $options = []): array { @@ -201,11 +201,11 @@ public function run($directory, array $options = []): array } /** - * @param array $fileViolations + * @param array>> $fileViolations * @param string $directory * @param array $options * - * @return array + * @return array> */ protected function runAnalyzer(array $fileViolations, $directory, array $options): array { @@ -273,7 +273,7 @@ protected function sortViolations(array $result, array $reportResult): array } /** - * @param array $command + * @param array $command * * @return \Symfony\Component\Process\Process */ @@ -317,9 +317,9 @@ protected function runCommand($directory, array $options = []) } /** - * @param array $array + * @param array>> $array * - * @return array + * @return array> */ protected function formatViolations(array $array): array { diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php b/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php index 7199e017..78d2e2b2 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php @@ -106,7 +106,7 @@ public function __construct(DevelopmentConfig $config) /** * @param string $bundle * @param string $toBundle - * @param array $methods + * @param array $methods * * @throws \Symfony\Component\Console\Exception\InvalidArgumentException * @@ -304,7 +304,7 @@ protected function getPathToDependencyFiles(BridgeBuilderDataTransfer $bridgeBui /** * @param string $source * @param string $target - * @param array $methods + * @param array $methods * * @return \Generated\Shared\Transfer\BridgeBuilderDataTransfer */ diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php index fc8c3949..31965f02 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php @@ -89,12 +89,12 @@ class CodeStyleSnifferConfiguration implements CodeStyleSnifferConfigurationInte protected $developmentConfig; /** - * @var array + * @var array */ protected $moduleConfig; /** - * @var array + * @var array */ protected $configurationOptions; @@ -107,7 +107,7 @@ public function __construct(DevelopmentConfig $developmentConfig) } /** - * @param array $moduleConfig + * @param array $moduleConfig * * @return $this */ @@ -119,7 +119,7 @@ public function setModuleConfig(array $moduleConfig) } /** - * @param array $configurationOptions + * @param array $configurationOptions * * @return $this */ diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationInterface.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationInterface.php index 4ffe613c..0dda341b 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationInterface.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationInterface.php @@ -10,14 +10,14 @@ interface CodeStyleSnifferConfigurationInterface { /** - * @param array $moduleConfig + * @param array $moduleConfig * * @return $this */ public function setModuleConfig(array $moduleConfig); /** - * @param array $configurationOptions + * @param array $configurationOptions * * @return $this */ diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationLoader.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationLoader.php index e298eda7..e110b4a7 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationLoader.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationLoader.php @@ -39,7 +39,7 @@ public function __construct( } /** - * @param array $configurationOptions + * @param array $configurationOptions * @param string $modulePath * * @return \Spryker\Zed\Development\Business\CodeStyleSniffer\Config\CodeStyleSnifferConfigurationInterface diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationLoaderInterface.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationLoaderInterface.php index ebf29266..4cdb8df1 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationLoaderInterface.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationLoaderInterface.php @@ -10,7 +10,7 @@ interface CodeStyleSnifferConfigurationLoaderInterface { /** - * @param array $configurationOptions + * @param array $configurationOptions * @param string $modulePath * * @return \Spryker\Zed\Development\Business\CodeStyleSniffer\Config\CodeStyleSnifferConfigurationInterface diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php b/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php index 0395d045..8f00309f 100644 --- a/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php +++ b/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php @@ -134,7 +134,7 @@ protected function getComposerNameFromPackageCollection(string $moduleName): ?st } /** - * @param array $moduleTransferCollection + * @param array<\Generated\Shared\Transfer\ModuleTransfer> $moduleTransferCollection * * @return \Generated\Shared\Transfer\ModuleTransfer */ diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php index 55ece31a..f36b65e9 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php @@ -424,7 +424,7 @@ protected function buildTestDirectoryKeys() } /** - * @param array $pathParts + * @param array $pathParts * * @return string */ diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php index bfcb512d..5303af4d 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php @@ -37,19 +37,19 @@ class RequireExternalUpdater implements UpdaterInterface protected $externalDependencyTree; /** - * @var array + * @var array */ protected $externalToInternalMap; /** - * @var array + * @var array */ protected $ignorableDependencies; /** * @param array $externalDependencyTree - * @param array $externalToInternalMap - * @param array $ignorableDependencies + * @param array $externalToInternalMap + * @param array $ignorableDependencies */ public function __construct(array $externalDependencyTree, array $externalToInternalMap, array $ignorableDependencies) { diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php index df6ad299..1d0bbc88 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php @@ -127,7 +127,7 @@ protected function getDependencyModules(DependencyFinderContextInterface $contex } /** - * @param array $useStatements + * @param array $useStatements * * @return array */ diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/InternalDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/InternalDependencyFinder.php index 5a833c67..755b8666 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/InternalDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/InternalDependencyFinder.php @@ -120,7 +120,7 @@ protected function getDependencyModules(DependencyFinderContextInterface $contex } /** - * @param array $useStatements + * @param array $useStatements * @param string $module * * @return array @@ -152,7 +152,7 @@ protected function getNamesFromUseStatements(array $useStatements, string $modul } /** - * @param array $useStatementFragments + * @param array $useStatementFragments * * @return bool */ diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/SprykerSdkDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/SprykerSdkDependencyFinder.php index 1deff88c..73502b19 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/SprykerSdkDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/SprykerSdkDependencyFinder.php @@ -120,7 +120,7 @@ protected function getDependencyModules(DependencyFinderContextInterface $contex } /** - * @param array $useStatements + * @param array $useStatements * @param string $module * * @return array @@ -143,7 +143,7 @@ protected function getModuleNamesFromUseStatements(array $useStatements, string } /** - * @param array $useStatementFragments + * @param array $useStatementFragments * * @return bool */ diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder.php index 16058858..33410632 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder.php @@ -23,7 +23,7 @@ class TwigDependencyFinder implements DependencyFinderInterface protected $twigDependencyFinder; /** - * @param array $twigDependencyFinder + * @param array<\Spryker\Zed\Development\Business\Dependency\DependencyFinder\TwigDependencyFinder\TwigDependencyFinderInterface> $twigDependencyFinder */ public function __construct(array $twigDependencyFinder) { diff --git a/src/Spryker/Zed/Development/Business/Dependency/ModuleParser/UseStatementParser.php b/src/Spryker/Zed/Development/Business/Dependency/ModuleParser/UseStatementParser.php index 1e418645..e94a1e40 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/ModuleParser/UseStatementParser.php +++ b/src/Spryker/Zed/Development/Business/Dependency/ModuleParser/UseStatementParser.php @@ -14,7 +14,7 @@ class UseStatementParser implements UseStatementParserInterface /** * @param \Symfony\Component\Finder\SplFileInfo $fileInfo * - * @return array + * @return array */ public function getUseStatements(SplFileInfo $fileInfo): array { diff --git a/src/Spryker/Zed/Development/Business/Dependency/ModuleParser/UseStatementParserInterface.php b/src/Spryker/Zed/Development/Business/Dependency/ModuleParser/UseStatementParserInterface.php index a50f676f..e53aa9f7 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/ModuleParser/UseStatementParserInterface.php +++ b/src/Spryker/Zed/Development/Business/Dependency/ModuleParser/UseStatementParserInterface.php @@ -14,7 +14,7 @@ interface UseStatementParserInterface /** * @param \Symfony\Component\Finder\SplFileInfo $fileInfo * - * @return array + * @return array */ public function getUseStatements(SplFileInfo $fileInfo): array; } diff --git a/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php b/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php index 8d03d129..ad9ef0cc 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php +++ b/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php @@ -26,12 +26,12 @@ class PropelSchemaParser implements PropelSchemaParserInterface protected $config; /** - * @var array + * @var array */ protected static $idFieldToModuleNameMap; /** - * @var array + * @var array */ protected static $uniqueFieldToModuleNameMap; @@ -106,7 +106,7 @@ protected function getIdFieldToModuleNameMap(): array } /** - * @return array + * @return array */ protected function getUniqueFieldToModuleNameMap(): array { @@ -118,7 +118,7 @@ protected function getUniqueFieldToModuleNameMap(): array } /** - * @return array + * @return array */ protected function buildIdFieldToModuleNameMap(): array { @@ -133,7 +133,7 @@ protected function buildIdFieldToModuleNameMap(): array } /** - * @return array + * @return array */ protected function buildUniqueFieldToModuleNameMap(): array { @@ -273,13 +273,13 @@ protected function getModuleNameFromFile(SplFileInfo $splFileInfo): string } /** - * @param array $idFieldToModuleNameMap - * @param array $idColumnNames + * @param array $idFieldToModuleNameMap + * @param array $idColumnNames * @param string $module * * @throws \Spryker\Zed\Development\Business\Exception\Dependency\PropelSchemaParserException * - * @return array + * @return array */ protected function addIdColumnNames(array $idFieldToModuleNameMap, array $idColumnNames, string $module): array { @@ -294,14 +294,14 @@ protected function addIdColumnNames(array $idFieldToModuleNameMap, array $idColu } /** - * @param array $uniqueFieldToModuleNameMap + * @param array $uniqueFieldToModuleNameMap * @param array $requiredColumnNames * @param array $uniqueColumnNames * @param string $module * * @throws \Spryker\Zed\Development\Business\Exception\Dependency\PropelSchemaParserException * - * @return array + * @return array */ protected function addUniqueColumnNames(array $uniqueFieldToModuleNameMap, array $requiredColumnNames, array $uniqueColumnNames, string $module): array { diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/AdjacencyMatrixBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/AdjacencyMatrixBuilder.php index 04858a92..fe20b6b3 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/AdjacencyMatrixBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/AdjacencyMatrixBuilder.php @@ -23,7 +23,7 @@ class AdjacencyMatrixBuilder implements AdjacencyMatrixBuilderInterface protected $filter; /** - * @var array + * @var array */ protected $bundleList; @@ -33,7 +33,7 @@ class AdjacencyMatrixBuilder implements AdjacencyMatrixBuilderInterface protected $matrix = []; /** - * @param array $bundleList + * @param array $bundleList * @param \Spryker\Zed\Development\Business\DependencyTree\DependencyTreeReader\DependencyTreeReaderInterface $dependencyTreeReader * @param \Spryker\Zed\Development\Business\DependencyTree\DependencyFilter\TreeFilterInterface $filter */ diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php b/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php index e9c905f3..264af5f8 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php @@ -379,7 +379,7 @@ protected function parseComposerJson(ModuleTransfer $moduleTransfer): ComposerDe } /** - * @param array $require + * @param array $require * @param \Generated\Shared\Transfer\ComposerDependencyCollectionTransfer $composerDependencyCollectionTransfer * @param bool $isDev * @@ -404,7 +404,7 @@ protected function addComposerDependencies(array $require, ComposerDependencyCol } /** - * @param array $suggested + * @param array $suggested * @param \Generated\Shared\Transfer\ComposerDependencyCollectionTransfer $composerDependencyCollectionTransfer * * @return void diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/BundleToViewFilter.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/BundleToViewFilter.php index 54c41fa5..18f382db 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/BundleToViewFilter.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/BundleToViewFilter.php @@ -25,7 +25,7 @@ public function __construct($bundle) } /** - * @param array $dependency + * @param array $dependency * * @return bool */ diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ClassNameFilter.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ClassNameFilter.php index 3f98bf75..06dd8f86 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ClassNameFilter.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ClassNameFilter.php @@ -25,7 +25,7 @@ public function __construct($pattern) } /** - * @param array $dependency + * @param array $dependency * * @return bool */ diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ConstantsToForeignConstantsFilter.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ConstantsToForeignConstantsFilter.php index db922158..5ca90fb1 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ConstantsToForeignConstantsFilter.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ConstantsToForeignConstantsFilter.php @@ -12,7 +12,7 @@ class ConstantsToForeignConstantsFilter implements DependencyFilterInterface { /** - * @param array $dependency + * @param array $dependency * * @return bool */ diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/DependencyFilter.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/DependencyFilter.php index 0e36a1d7..2be684c3 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/DependencyFilter.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/DependencyFilter.php @@ -27,7 +27,7 @@ public function addFilter(DependencyFilterInterface $dependencyFilter) } /** - * @param array $dependency + * @param array $dependency * * @return bool */ diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/DependencyFilterInterface.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/DependencyFilterInterface.php index 9d019079..2c86080b 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/DependencyFilterInterface.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/DependencyFilterInterface.php @@ -10,7 +10,7 @@ interface DependencyFilterInterface { /** - * @param array $dependency + * @param array $dependency * * @return bool */ diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/EngineBundleFilter.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/EngineBundleFilter.php index a2f220db..7cc1fbe4 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/EngineBundleFilter.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/EngineBundleFilter.php @@ -26,7 +26,7 @@ public function __construct($pathToBundleConfig) } /** - * @param array $dependency + * @param array $dependency * * @return bool */ diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ExternalDependencyFilter.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ExternalDependencyFilter.php index 09c66808..d3943d21 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ExternalDependencyFilter.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ExternalDependencyFilter.php @@ -12,7 +12,7 @@ class ExternalDependencyFilter implements DependencyFilterInterface { /** - * @param array $dependency + * @param array $dependency * * @return bool */ diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ForeignEngineBundleFilter.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ForeignEngineBundleFilter.php index df2c738b..63c8d0a9 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ForeignEngineBundleFilter.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ForeignEngineBundleFilter.php @@ -26,7 +26,7 @@ public function __construct($pathToBundleConfig) } /** - * @param array $dependency + * @param array $dependency * * @return bool */ diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/InTestDependencyFilter.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/InTestDependencyFilter.php index d80f9407..bed75684 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/InTestDependencyFilter.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/InTestDependencyFilter.php @@ -15,12 +15,12 @@ class InTestDependencyFilter implements DependencyFilterInterface { /** - * @param array $dependency + * @param array $dependency * * @return bool */ public function filter(array $dependency) { - return $dependency[DependencyTree::META_IN_TEST]; + return (bool)$dependency[DependencyTree::META_IN_TEST]; } } diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/InternalDependencyFilter.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/InternalDependencyFilter.php index 4e6dab05..bc7d8799 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/InternalDependencyFilter.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/InternalDependencyFilter.php @@ -12,7 +12,7 @@ class InternalDependencyFilter implements DependencyFilterInterface { /** - * @param array $dependency + * @param array $dependency * * @return bool */ diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/InvalidForeignBundleFilter.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/InvalidForeignBundleFilter.php index 8edcd55a..28e6c154 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/InvalidForeignBundleFilter.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/InvalidForeignBundleFilter.php @@ -12,12 +12,12 @@ class InvalidForeignBundleFilter implements DependencyFilterInterface { /** - * @var array + * @var array */ protected $allowedBundles; /** - * @param array $allowedBundles + * @param array $allowedBundles */ public function __construct(array $allowedBundles) { @@ -25,7 +25,7 @@ public function __construct(array $allowedBundles) } /** - * @param array $dependency + * @param array $dependency * * @return bool */ diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php index c2161157..f2b4edb3 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php @@ -38,7 +38,7 @@ class OutgoingGraphBuilder protected $dependencyManager; /** - * @var array + * @var array */ protected $bundlesToFilter; @@ -47,7 +47,7 @@ class OutgoingGraphBuilder * @param \Spryker\Zed\Graph\Communication\Plugin\GraphPlugin $graph * @param \Spryker\Zed\Development\Business\Dependency\ModuleDependencyParserInterface $moduleDependencyParser * @param \Spryker\Zed\Development\Business\Dependency\ManagerInterface $dependencyManager - * @param array $bundlesToFilter + * @param array $bundlesToFilter */ public function __construct( $bundleName, diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTree.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTree.php index 909dea5a..3df5ab0f 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTree.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTree.php @@ -102,13 +102,13 @@ class DependencyTree extends AbstractDependencyTree protected $fileInfoExtractor; /** - * @var array + * @var array */ protected $engineBundles; /** * @param \Spryker\Zed\Development\Business\DependencyTree\FileInfoExtractor $fileInfoExtractor - * @param array $engineBundles + * @param array $engineBundles */ public function __construct(FileInfoExtractor $fileInfoExtractor, array $engineBundles) { diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index ed782b36..9a740d48 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -1146,7 +1146,7 @@ protected function createDetailedDependencyTreeFilter($bundleToView) /** * @param string $bundleToView - * @param array $excludedBundles + * @param array $excludedBundles * * @return \Spryker\Zed\Development\Business\DependencyTree\DependencyGraph\OutgoingGraphBuilder */ diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php index ce9eafbe..2277392a 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php @@ -94,7 +94,7 @@ public function runPhpMd($module, array $options = []) * * @param string $module * @param string $toModule - * @param array $methods + * @param array $methods * * @return void */ @@ -230,7 +230,7 @@ public function calculateStability() * @api * * @param string $moduleToView - * @param array $excludedModules + * @param array $excludedModules * @param bool $showIncomingDependencies * * @return string diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php index 150e0ae5..23ddc7f3 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php @@ -87,7 +87,7 @@ public function runPhpMd($module, array $options = []); * * @param string $module * @param string $toModule - * @param array $methods + * @param array $methods * * @return void */ @@ -191,7 +191,7 @@ public function calculateStability(); * @api * * @param string|bool $moduleToView - * @param array $excludedModules + * @param array $excludedModules * @param bool $showIncomingDependencies * * @return string diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinder.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinder.php index a8c85dcf..de9ee6af 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinder.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinder.php @@ -26,14 +26,14 @@ class BundleFinder implements BundleFinderInterface protected $bundleBuilder; /** - * @var array + * @var array */ protected $directoryGlobPatterns; /** * @param \Symfony\Component\Finder\Finder $finder * @param \Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\BundleBuilderInterface $bundleBuilder - * @param array $directoryGlobPatterns + * @param array $directoryGlobPatterns */ public function __construct(Finder $finder, BundleBuilderInterface $bundleBuilder, array $directoryGlobPatterns) { diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php b/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php index 92be7b2d..bbb1c7a7 100644 --- a/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php +++ b/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php @@ -76,7 +76,7 @@ public function getModules(?ModuleFilterTransfer $moduleFilterTransfer = null): } /** - * @param array $moduleTransferCollection + * @param array<\Generated\Shared\Transfer\ModuleTransfer> $moduleTransferCollection * @param \Generated\Shared\Transfer\ModuleFilterTransfer|null $moduleFilterTransfer * * @return array<\Generated\Shared\Transfer\ModuleTransfer> @@ -151,7 +151,7 @@ protected function isModule(ModuleTransfer $moduleTransfer): bool } /** - * @param array $moduleTransferCollection + * @param array<\Generated\Shared\Transfer\ModuleTransfer> $moduleTransferCollection * @param \Generated\Shared\Transfer\ModuleFilterTransfer|null $moduleFilterTransfer * * @return array<\Generated\Shared\Transfer\ModuleTransfer> diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleOverview.php b/src/Spryker/Zed/Development/Business/Module/ModuleOverview.php index 84873f20..bd9b39b6 100644 --- a/src/Spryker/Zed/Development/Business/Module/ModuleOverview.php +++ b/src/Spryker/Zed/Development/Business/Module/ModuleOverview.php @@ -100,7 +100,7 @@ protected function getModuleNameFromModuleKey(string $moduleKey): string } /** - * @param array $moduleOverviewTransferCollection + * @param array $moduleOverviewTransferCollection * @param string $moduleName * * @return \Generated\Shared\Transfer\ModuleOverviewTransfer diff --git a/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php b/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php index f549e84f..3b1c1add 100644 --- a/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php +++ b/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php @@ -78,7 +78,7 @@ public function getProjectModules(?ModuleFilterTransfer $moduleFilterTransfer = } /** - * @return array + * @return array */ protected function getProjectDirectories(): array { @@ -93,7 +93,7 @@ protected function getProjectDirectories(): array } /** - * @param array $projectOrganizationModuleDirectories + * @param array $projectOrganizationModuleDirectories * * @return \Symfony\Component\Finder\Finder|\Symfony\Component\Finder\SplFileInfo[] */ diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index 14cf4584..88e193d5 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -359,11 +359,11 @@ protected function resolveProjectPaths($module, $pathSuffix = null) } /** - * @param array $paths + * @param array $paths * @param string $moduleDirectoryPath * @param string|null $namespace * - * @return array + * @return array */ protected function addPath(array $paths, string $moduleDirectoryPath, $namespace = null): array { @@ -448,7 +448,7 @@ protected function getVendorPathByNamespace(string $namespace): ?string * * @throws \RuntimeException * - * @return array + * @return array */ protected function resolveCorePaths($module) { diff --git a/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php b/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php index d47efe56..44246ffb 100644 --- a/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php +++ b/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php @@ -81,7 +81,7 @@ public function getConfiguration(string $absoluteModulePath, array $options = [] } /** - * @param array $moduleConfig + * @param array $moduleConfig * @param array $options * * @throws \Spryker\Zed\Development\Business\Exception\ArchitectureSniffer\InvalidTypeException @@ -106,7 +106,7 @@ protected function getPriority(array $moduleConfig, array $options = []): int } /** - * @param array $moduleConfig + * @param array $moduleConfig * * @return int */ @@ -126,7 +126,7 @@ protected function getConfigPriority(array $moduleConfig): int } /** - * @param array $moduleConfig + * @param array $moduleConfig * * @return bool */ @@ -136,7 +136,7 @@ protected function architectureSnifferConfigExists(array $moduleConfig): bool } /** - * @param array $moduleConfig + * @param array $moduleConfig * * @return array */ @@ -146,7 +146,7 @@ protected function getArchitectureSnifferConfig(array $moduleConfig): array } /** - * @param array $architectureSnifferConfig + * @param array $architectureSnifferConfig * * @return bool */ @@ -156,7 +156,7 @@ protected function architectureSnifferConfigPriorityExists(array $architectureSn } /** - * @param array $architectureSnifferConfig + * @param array $architectureSnifferConfig * * @return int */ @@ -166,7 +166,7 @@ protected function getArchitectureSnifferConfigPriority(array $architectureSniff } /** - * @param array $moduleConfig + * @param array $moduleConfig * * @return array */ diff --git a/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php b/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php index aa7b3e7f..6054c2c3 100644 --- a/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php @@ -62,7 +62,7 @@ protected function configure() } /** - * @param array $modulesToValidate + * @param array<\Generated\Shared\Transfer\ModuleTransfer> $modulesToValidate * * @return bool */ @@ -282,7 +282,7 @@ protected function getModuleTransferCollection(): array } /** - * @param array $modulesToValidate + * @param array<\Generated\Shared\Transfer\ModuleTransfer> $modulesToValidate * * @return bool */ @@ -296,7 +296,7 @@ protected function isSingleModuleValidation(array $modulesToValidate): bool } /** - * @param array $modulesToValidate + * @param array<\Generated\Shared\Transfer\ModuleTransfer> $modulesToValidate * * @return bool */ diff --git a/src/Spryker/Zed/Development/Communication/Console/ComposerJsonValidatorConsole.php b/src/Spryker/Zed/Development/Communication/Console/ComposerJsonValidatorConsole.php index cf4d7c68..8ec19e59 100644 --- a/src/Spryker/Zed/Development/Communication/Console/ComposerJsonValidatorConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/ComposerJsonValidatorConsole.php @@ -70,7 +70,7 @@ public function execute(InputInterface $input, OutputInterface $output): int } /** - * @param array $modulesToValidate + * @param array $modulesToValidate * * @return void */ diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php index a7f08787..dd526b4c 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php @@ -242,7 +242,7 @@ protected function getColoredYesOrNo(bool $bool): string } /** - * @param array $modulesToValidate + * @param array<\Generated\Shared\Transfer\ModuleTransfer> $modulesToValidate * @param string|null $dependencyType * * @return void From a018c0328fbb2ee68d47d03f4fe355352573fdbc Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Mon, 1 Nov 2021 13:17:16 +0100 Subject: [PATCH 254/336] TE-10152 Use defined level for PHPStan inside neon (#8856) TE-10152 Fix PHPStan runner level retrieval --- .../Business/Phpstan/PhpstanRunner.php | 36 +++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index 88e193d5..82145ec0 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -524,6 +524,8 @@ protected function getCoreModules($path) * @param string $path * @param string $fallbackPath * + * @throws \RuntimeException + * * @return int */ protected function getDefaultLevel($path, $fallbackPath) @@ -537,14 +539,23 @@ protected function getDefaultLevel($path, $fallbackPath) $configFile = $directory . 'phpstan.json'; } + $neonLevel = $this->neonConfigLevel($path); if (!file_exists($configFile)) { - return $configLevel; + return $neonLevel ?: $configLevel; } $content = file_get_contents($configFile); $json = json_decode($content, true); + if (!isset($json[static::DEFAULT_LEVEL])) { + return $neonLevel ?: $configLevel; + } + + $definedMininumLevel = $json[static::DEFAULT_LEVEL]; + if ($neonLevel && $definedMininumLevel && $neonLevel !== $definedMininumLevel) { + throw new RuntimeException('Can\'t resolve level from both neon and json file, as they differ.'); + } - return $json[static::DEFAULT_LEVEL]; + return $neonLevel ?: $definedMininumLevel; } /** @@ -591,4 +602,25 @@ protected function skip(int $count, InputInterface $input): bool return false; } + + /** + * @param string $path + * + * @return int|null + */ + protected function neonConfigLevel(string $path): ?int + { + $file = $path . 'phpstan.neon'; + if (!file_exists($file)) { + return null; + } + + $content = file_get_contents($file); + preg_match('/\blevel:\s*(\d)\b/', $content, $matches); + if (!$matches) { + return null; + } + + return (int)$matches[1] ?: null; + } } From 63be17cc5d69757c6c66320bd0514ac44bd21d46 Mon Sep 17 00:00:00 2001 From: mscherer Date: Mon, 1 Nov 2021 15:18:04 +0100 Subject: [PATCH 255/336] Fix phpstan level edge case. --- .../Zed/Development/Business/Phpstan/PhpstanRunner.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index 82145ec0..97d2a8a2 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -551,6 +551,10 @@ protected function getDefaultLevel($path, $fallbackPath) } $definedMininumLevel = $json[static::DEFAULT_LEVEL]; + if (!$neonLevel && !$definedMininumLevel) { + return $configLevel; + } + if ($neonLevel && $definedMininumLevel && $neonLevel !== $definedMininumLevel) { throw new RuntimeException('Can\'t resolve level from both neon and json file, as they differ.'); } From 9f2d1a8fd4f907efffc8a0508bc8074cd146ee88 Mon Sep 17 00:00:00 2001 From: mscherer Date: Mon, 1 Nov 2021 15:19:39 +0100 Subject: [PATCH 256/336] Fix phpstan level edge case. --- .../Zed/Development/Business/Phpstan/PhpstanRunner.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index 97d2a8a2..18c0334f 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -550,16 +550,16 @@ protected function getDefaultLevel($path, $fallbackPath) return $neonLevel ?: $configLevel; } - $definedMininumLevel = $json[static::DEFAULT_LEVEL]; - if (!$neonLevel && !$definedMininumLevel) { + $definedMinimumLevel = $json[static::DEFAULT_LEVEL]; + if (!$neonLevel && !$definedMinimumLevel) { return $configLevel; } - if ($neonLevel && $definedMininumLevel && $neonLevel !== $definedMininumLevel) { + if ($neonLevel && $definedMinimumLevel && $neonLevel !== $definedMinimumLevel) { throw new RuntimeException('Can\'t resolve level from both neon and json file, as they differ.'); } - return $neonLevel ?: $definedMininumLevel; + return $neonLevel ?: $definedMinimumLevel; } /** From 9a9d4f04088ec31be4a1f2892507723d41b64bb5 Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Mon, 1 Nov 2021 16:12:48 +0100 Subject: [PATCH 257/336] TE-10081 Fix CS null coalesce (#8861) --- .../Business/CodeStyleSniffer/CodeStyleSniffer.php | 2 +- .../Business/DependencyTree/ComposerDependencyParser.php | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php index d7a321a1..938ee3e0 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php @@ -82,7 +82,7 @@ public function checkCodeStyle($module, array $options = []) [$namespace, $module] = explode('.', $module, 2); } - $pathOption = isset($options['path']) ? $options['path'] : null; + $pathOption = $options['path'] ?? null; $defaults = [ static::OPTION_IGNORE => $namespace || $pathOption ? null : 'vendor/', ]; diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php b/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php index 264af5f8..44d29b75 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php @@ -366,13 +366,13 @@ protected function parseComposerJson(ModuleTransfer $moduleTransfer): ComposerDe )); } - $require = isset($content['require']) ? $content['require'] : []; + $require = $content['require'] ?? []; $this->addComposerDependencies($require, $composerDependencies); - $requireDev = isset($content['require-dev']) ? $content['require-dev'] : []; + $requireDev = $content['require-dev'] ?? []; $this->addComposerDependencies($requireDev, $composerDependencies, true); - $suggested = isset($content['suggest']) ? $content['suggest'] : []; + $suggested = $content['suggest'] ?? []; $this->addSuggestedDependencies($suggested, $composerDependencies); return $composerDependencies; From d32c51f08f1997650fb66e159fd77bda7f8a0972 Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Fri, 5 Nov 2021 14:18:11 +0100 Subject: [PATCH 258/336] TE-10165 CS: Prefer static over self. (#8869) * TE-10165 CS: Prefer static over self. --- .../Business/Composer/Updater/RequireDevUpdater.php | 4 ++-- .../ValidationRuleNotInTestButInRequireDev.php | 2 +- .../Communication/Controller/DependencyController.php | 2 +- src/Spryker/Zed/Development/DevelopmentConfig.php | 2 +- .../Business/PhpMd/Rules/Design/TooManyMethodsTest.php | 2 +- .../Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireDevUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireDevUpdater.php index 628d9db0..a4c6f01c 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireDevUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireDevUpdater.php @@ -45,11 +45,11 @@ protected function assertCodeSniffer(string $path, array $composerJson): array { $requiresCodeSniffer = is_dir($path . 'src'); - if ($requiresCodeSniffer && isset($composerJson[static::KEY_REQUIRE_DEV][self::PACKAGE_CODE_SNIFFER])) { + if ($requiresCodeSniffer && isset($composerJson[static::KEY_REQUIRE_DEV][static::PACKAGE_CODE_SNIFFER])) { return $composerJson; } - if ($requiresCodeSniffer && !isset($composerJson[static::KEY_REQUIRE_DEV][self::PACKAGE_CODE_SNIFFER])) { + if ($requiresCodeSniffer && !isset($composerJson[static::KEY_REQUIRE_DEV][static::PACKAGE_CODE_SNIFFER])) { $composerJson[static::KEY_REQUIRE_DEV][static::PACKAGE_CODE_SNIFFER] = '*'; } elseif (!$requiresCodeSniffer) { unset($composerJson[static::KEY_REQUIRE_DEV][static::PACKAGE_CODE_SNIFFER]); diff --git a/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleNotInTestButInRequireDev.php b/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleNotInTestButInRequireDev.php index 5ef14ad4..01412e54 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleNotInTestButInRequireDev.php +++ b/src/Spryker/Zed/Development/Business/Dependency/Validator/ValidationRules/ValidationRuleNotInTestButInRequireDev.php @@ -23,7 +23,7 @@ public function validateModuleDependency(ModuleDependencyTransfer $moduleDepende $moduleDependencyTransfer->setIsValid(false); $validationMessageTransfer = new ValidationMessageTransfer(); $validationMessageTransfer->setMessage('Dependency listed in composer require-dev not found in tests'); - $validationMessageTransfer->setFixType(self::REMOVE_REQUIRE_DEV); + $validationMessageTransfer->setFixType(static::REMOVE_REQUIRE_DEV); $moduleDependencyTransfer->addValidationMessage($validationMessageTransfer); } diff --git a/src/Spryker/Zed/Development/Communication/Controller/DependencyController.php b/src/Spryker/Zed/Development/Communication/Controller/DependencyController.php index 783656dd..804b43cb 100644 --- a/src/Spryker/Zed/Development/Communication/Controller/DependencyController.php +++ b/src/Spryker/Zed/Development/Communication/Controller/DependencyController.php @@ -77,7 +77,7 @@ public function outgoingAction(Request $request) */ public function outgoingGraphAction(Request $request) { - $moduleName = $request->query->getAlnum(self::QUERY_KEY_MODULE); + $moduleName = $request->query->getAlnum(static::QUERY_KEY_MODULE); $organizationTransfer = new OrganizationTransfer(); $organizationTransfer->setName('Spryker'); diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index e91cad72..8fe03b5c 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -604,7 +604,7 @@ public function getIdeAutoCompletionGeneratorTemplatePaths() */ public function getArchitectureSnifferCommand() { - return $this->getPhpMdCommand() . ' ' . self::BUNDLE_PLACEHOLDER . ' xml ' . $this->getArchitectureSnifferRuleset(); + return $this->getPhpMdCommand() . ' ' . static::BUNDLE_PLACEHOLDER . ' xml ' . $this->getArchitectureSnifferRuleset(); } /** diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php index 6fc65206..cc3032f7 100644 --- a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php @@ -55,7 +55,7 @@ public function testApplyDoesNotAddViolationIfNodeIsIgnorable(string $fullyQuali $nodeMock = $this->getNodeMock($fullyQualifiedClassName, $nodeName); $tooManyMethodsMock = $this->getTooManyMethodsMock(); - $tooManyMethodsMock->expects($this->once())->method('getIntProperty')->willReturn(self::THRESHOLD_LOW); + $tooManyMethodsMock->expects($this->once())->method('getIntProperty')->willReturn(static::THRESHOLD_LOW); $tooManyMethodsMock->expects($this->never())->method('addViolation'); $tooManyMethodsMock->apply($nodeMock); } diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php index 41b11763..736b0e5a 100644 --- a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php @@ -55,7 +55,7 @@ public function testApplyDoesNotAddViolationIfNodeIsIgnorable(string $fullyQuali $nodeMock = $this->getNodeMock($fullyQualifiedClassName, $nodeName); $tooManyPublicMethodsMock = $this->getTooManyPublicMethodsMock(); - $tooManyPublicMethodsMock->expects($this->once())->method('getIntProperty')->willReturn(self::THRESHOLD_LOW); + $tooManyPublicMethodsMock->expects($this->once())->method('getIntProperty')->willReturn(static::THRESHOLD_LOW); $tooManyPublicMethodsMock->expects($this->never())->method('addViolation'); $tooManyPublicMethodsMock->apply($nodeMock); } From 83423039dffe4573bb9c12961ec830a54805d187 Mon Sep 17 00:00:00 2001 From: mscherer Date: Thu, 18 Nov 2021 16:26:57 +0100 Subject: [PATCH 259/336] Remove warnings, speed up process internally for now. --- .../Business/CodeStyleSniffer/CodeStyleSniffer.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php index 938ee3e0..deb114df 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php @@ -30,15 +30,20 @@ class CodeStyleSniffer protected const OPTION_IGNORE = 'ignore'; /** - * @var array + * @var array */ protected const APPLICATION_NAMESPACES = ['Orm']; /** - * @var array + * @var array */ protected const APPLICATION_LAYERS = ['Zed', 'Client', 'Yves', 'Service', 'Shared']; + /** + * @var array + */ + protected const EXTENSIONS = ['php']; + /** * @var string */ @@ -265,6 +270,8 @@ protected function runSnifferCommand($path, CodeStyleSnifferConfigurationInterfa $processConfig .= ' --ignore=' . $optionIgnore; } + $processConfig .= ' --extensions=' . implode(',', static::EXTENSIONS); + $optionVerbose = $codeStyleSnifferConfiguration->isVerbose(); $optionFix = $codeStyleSnifferConfiguration->isFixing(); From debb3e2da89267f1ae70c5aef3a6d0f4deeff935 Mon Sep 17 00:00:00 2001 From: Dmytro Dymarchuk Date: Wed, 1 Dec 2021 19:41:51 +0200 Subject: [PATCH 260/336] TE-10080 Make code Symfony 5.4 compatible (#8847) TE-10080 Symfony 5.4 compatibility --- .../Zed/Development/Business/Composer/ComposerJsonFinder.php | 4 +++- .../Business/Phpstan/Config/PhpstanConfigFileFinder.php | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonFinder.php b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonFinder.php index 1e013106..70968355 100644 --- a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonFinder.php +++ b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonFinder.php @@ -48,7 +48,9 @@ public function findByModule(ModuleTransfer $module): ?SplFileInfo return null; } - return iterator_to_array($currentFinderInstance, false)[0]; + $finderAsArray = iterator_to_array($currentFinderInstance, false); + + return reset($finderAsArray); } /** diff --git a/src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileFinder.php b/src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileFinder.php index 8bc5c818..ad65d1f2 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileFinder.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileFinder.php @@ -55,7 +55,9 @@ protected function getConfigFile(): ?SplFileInfo return null; } - return iterator_to_array($this->finder, false)[0]; + $finderAsArray = iterator_to_array($this->finder, false); + + return reset($finderAsArray); } /** From 151b71d70bd5d0c9951a0b3d18224b0aee2e7766 Mon Sep 17 00:00:00 2001 From: Alberto Reyer Date: Fri, 17 Dec 2021 17:52:03 +0100 Subject: [PATCH 261/336] TE-9873: New glue infrastructure (#8823) TE-9873 Glue Backend API code infrastructure --- .../Business/DevelopmentBusinessFactory.php | 40 ++++++++++++++- .../Business/DevelopmentFacade.php | 24 +++++++++ .../Business/DevelopmentFacadeInterface.php | 20 ++++++++ .../IdeAutoCompletionOptionConstants.php | 5 ++ ...ateGlueBackendIdeAutoCompletionConsole.php | 50 +++++++++++++++++++ .../GenerateIdeAutoCompletionConsole.php | 1 + ...oveGlueBackendIdeAutoCompletionConsole.php | 50 +++++++++++++++++++ .../RemoveIdeAutoCompletionConsole.php | 1 + .../Zed/Development/DevelopmentConfig.php | 13 +++++ .../IdeAutoCompletionWriterTest.php | 34 +++++++++++++ 10 files changed, 236 insertions(+), 2 deletions(-) create mode 100644 src/Spryker/Zed/Development/Communication/Console/GenerateGlueBackendIdeAutoCompletionConsole.php create mode 100644 src/Spryker/Zed/Development/Communication/Console/RemoveGlueBackendIdeAutoCompletionConsole.php diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index 9a740d48..1b81dbcf 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -155,6 +155,7 @@ use Spryker\Zed\Development\Business\IdeAutoCompletion\Generator\BundleGenerator; use Spryker\Zed\Development\Business\IdeAutoCompletion\Generator\BundleMethodGenerator; use Spryker\Zed\Development\Business\IdeAutoCompletion\IdeAutoCompletionWriter; +use Spryker\Zed\Development\Business\IdeAutoCompletion\IdeAutoCompletionWriterInterface; use Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryRemover; use Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\DirectoryRemoverInterface; use Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\GeneratedFileFinder; @@ -1684,10 +1685,21 @@ protected function createGlueIdeAutoCompletionBundleBuilder() ); } + /** + * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\BundleBuilderInterface + */ + protected function createGlueBackendIdeAutoCompletionBundleBuilder(): BundleBuilderInterface + { + return new IdeAutoCompletionBundleBuilder( + $this->createGlueBackendAutoCompletionMethodBuilderStack(), + $this->getConfig()->getGlueBackendIdeAutoCompletionOptions(), + ); + } + /** * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\IdeAutoCompletionWriterInterface */ - public function createGlueIdeAutoCompletionWriter() + public function createGlueIdeAutoCompletionWriter(): IdeAutoCompletionWriterInterface { return $this->createIdeAutoCompletionWriter( $this->createGlueIdeAutoCompletionBundleBuilder(), @@ -1695,6 +1707,17 @@ public function createGlueIdeAutoCompletionWriter() ); } + /** + * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\IdeAutoCompletionWriterInterface + */ + public function createGlueBackendIdeAutoCompletionWriter(): IdeAutoCompletionWriterInterface + { + return $this->createIdeAutoCompletionWriter( + $this->createGlueBackendIdeAutoCompletionBundleBuilder(), + $this->getConfig()->getGlueBackendIdeAutoCompletionOptions(), + ); + } + /** * @return \Spryker\Zed\Development\Business\IdeAutoCompletion\Remover\GeneratedFileFinderInterface */ @@ -1774,12 +1797,25 @@ protected function getZedIdeAutoCompletionMethodBuilderStack() /** * @return array<\Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\BundleMethodBuilderInterface> */ - protected function createGlueAutoCompletionMethodBuilderStack() + protected function createGlueAutoCompletionMethodBuilderStack(): array + { + return [ + $this->createIdeAutoCompletionResourceMethodBuild(), + $this->createIdeAutoCompletionClientMethodBuilder(), + $this->createIdeAutoCompletionServiceMethodBuilder(), + ]; + } + + /** + * @return array<\Spryker\Zed\Development\Business\IdeAutoCompletion\Bundle\MethodBuilder\BundleMethodBuilderInterface> + */ + protected function createGlueBackendAutoCompletionMethodBuilderStack(): array { return [ $this->createIdeAutoCompletionResourceMethodBuild(), $this->createIdeAutoCompletionClientMethodBuilder(), $this->createIdeAutoCompletionServiceMethodBuilder(), + $this->createIdeAutoCompletionFacadeMethodBuilder(), ]; } diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php index 2277392a..105751ac 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacade.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacade.php @@ -661,4 +661,28 @@ public function findComposerNameByModuleName(string $moduleName): ?string { return $this->getFactory()->createComposerNameFinder()->findComposerNameByModuleName($moduleName); } + + /** + * {@inheritDoc} + * + * @api + * + * @return void + */ + public function generateGlueBackendIdeAutoCompletion(): void + { + $this->getFactory()->createGlueBackendIdeAutoCompletionWriter()->writeCompletionFiles(); + } + + /** + * {@inheritDoc} + * + * @api + * + * @return void + */ + public function removeGlueBackendIdeAutoCompletion(): void + { + $this->getFactory()->createIdeAutoCompletionDirectoryRemover()->remove(IdeAutoCompletionOptionConstants::GLUE_BACKEND); + } } diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php index 23ddc7f3..6d9f1597 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php @@ -574,4 +574,24 @@ public function getModuleOverview(): array; * @return string|null */ public function findComposerNameByModuleName(string $moduleName): ?string; + + /** + * Specification: + * - Add Glue Backend IDE autocompletion files, including autocompletion for Facades + * + * @api + * + * @return void + */ + public function generateGlueBackendIdeAutoCompletion(): void; + + /** + * Specification: + * - Removes Glue IDE autocompletion files + * + * @api + * + * @return void + */ + public function removeGlueBackendIdeAutoCompletion(): void; } diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionOptionConstants.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionOptionConstants.php index e02b6481..070d3829 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionOptionConstants.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionOptionConstants.php @@ -49,6 +49,11 @@ final class IdeAutoCompletionOptionConstants */ public const GLUE = 'Glue'; + /** + * @var string + */ + public const GLUE_BACKEND = 'GlueBackend'; + /** * @var string */ diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateGlueBackendIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateGlueBackendIdeAutoCompletionConsole.php new file mode 100644 index 00000000..f4e5e89e --- /dev/null +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateGlueBackendIdeAutoCompletionConsole.php @@ -0,0 +1,50 @@ +setName(static::COMMAND_NAME); + $this->setDescription('Generate IDE auto completion files for Glue Backend modules.'); + } + + /** + * @param \Symfony\Component\Console\Input\InputInterface $input + * @param \Symfony\Component\Console\Output\OutputInterface $output + * + * @return int + */ + public function execute(InputInterface $input, OutputInterface $output): int + { + $this->getFacade()->generateGlueBackendIdeAutoCompletion(); + + $this->info('Generated Glue Backend IDE auto-completion files'); + + return static::CODE_SUCCESS; + } +} diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php index 5d3e4fb8..66ba320c 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php @@ -53,6 +53,7 @@ public function execute(InputInterface $input, OutputInterface $output) GenerateClientIdeAutoCompletionConsole::COMMAND_NAME, GenerateServiceIdeAutoCompletionConsole::COMMAND_NAME, GenerateGlueIdeAutoCompletionConsole::COMMAND_NAME, + GenerateGlueBackendIdeAutoCompletionConsole::COMMAND_NAME, ]; foreach ($dependingCommands as $commandName) { diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveGlueBackendIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveGlueBackendIdeAutoCompletionConsole.php new file mode 100644 index 00000000..51487b5f --- /dev/null +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveGlueBackendIdeAutoCompletionConsole.php @@ -0,0 +1,50 @@ +setName(static::COMMAND_NAME); + $this->setDescription('Removes IDE auto completion files for Glue Backend.'); + } + + /** + * @param \Symfony\Component\Console\Input\InputInterface $input + * @param \Symfony\Component\Console\Output\OutputInterface $output + * + * @return int + */ + public function execute(InputInterface $input, OutputInterface $output): int + { + $this->getFacade()->removeGlueIdeAutoCompletion(); + + $this->info('Removed Glue Backend IDE auto-completion files'); + + return static::CODE_SUCCESS; + } +} diff --git a/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php index a0b89a84..02b66548 100644 --- a/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/RemoveIdeAutoCompletionConsole.php @@ -47,6 +47,7 @@ public function execute(InputInterface $input, OutputInterface $output): int RemoveClientIdeAutoCompletionConsole::COMMAND_NAME, RemoveServiceIdeAutoCompletionConsole::COMMAND_NAME, RemoveGlueIdeAutoCompletionConsole::COMMAND_NAME, + RemoveGlueBackendIdeAutoCompletionConsole::COMMAND_NAME, ]; foreach ($dependingCommands as $commandName) { diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 8fe03b5c..05455765 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -543,6 +543,19 @@ public function getGlueIdeAutoCompletionOptions() * * @return array */ + public function getGlueBackendIdeAutoCompletionOptions(): array + { + $options = $this->getDefaultIdeAutoCompletionOptions(); + $options[IdeAutoCompletionOptionConstants::APPLICATION_NAME] = 'GlueBackend'; + + return $options; + } + + /** + * @api + * + * @return array + */ public function getServiceIdeAutoCompletionOptions() { $options = $this->getDefaultIdeAutoCompletionOptions(); diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriterTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriterTest.php index b6398cdf..848a944c 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriterTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriterTest.php @@ -118,6 +118,40 @@ public function testWriterCreatesServiceAutoCompletionFiles(): void $tester->canSeeFileFound('AutoCompletion.php', IdeAutoCompletion::TEST_TARGET_DIRECTORY . 'Generated/Service/Ide/'); } + /** + * @return void + */ + public function testWriterCreatesGlueAutoCompletionFiles(): void + { + $tester = $this->createFunctionalTester(); + + $tester->execute(function (): void { + $this + ->getDevelopmentBusinessFactory() + ->createGlueIdeAutoCompletionWriter() + ->writeCompletionFiles(); + }); + + $tester->canSeeFileFound('AutoCompletion.php', IdeAutoCompletion::TEST_TARGET_DIRECTORY . 'Generated/Glue/Ide/'); + } + + /** + * @return void + */ + public function testWriterCreatesGlueBackendAutoCompletionFiles(): void + { + $tester = $this->createFunctionalTester(); + + $tester->execute(function (): void { + $this + ->getDevelopmentBusinessFactory() + ->createGlueBackendIdeAutoCompletionWriter() + ->writeCompletionFiles(); + }); + + $tester->canSeeFileFound('AutoCompletion.php', IdeAutoCompletion::TEST_TARGET_DIRECTORY . 'Generated/GlueBackend/Ide/'); + } + /** * @return \SprykerTest\Zed\Development\DevelopmentBusinessTester */ From c021fa42fac6decbaa8b1f8230095f6b641d9dfc Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Tue, 28 Dec 2021 11:51:59 +0100 Subject: [PATCH 262/336] TE-10370 Fix up cloaking checks that are not needed. (#8983) * TE-10370 Fix up cloaking checks that are not needed. * TE-10370 Manually fix up remaining cloaking checks that are not needed. * TE-10370 Manually fix up remaining cloaking checks that are not needed. * Remove code smell and phpstan issue. --- .../Development/Business/CodeBuilder/Bridge/BridgeBuilder.php | 2 +- .../Business/Codeception/Argument/CodeceptionArguments.php | 2 +- .../Business/Composer/Updater/RequireExternalUpdater.php | 2 +- src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php | 2 +- .../Zed/Development/Business/Phpstan/PhpstanRunner.php | 2 +- .../Communication/Console/CodeArchitectureSnifferConsole.php | 3 ++- .../Business/Composer/Updater/AutoloadUpdaterTest.php | 4 ++-- 7 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php b/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php index 78d2e2b2..ed2dc4a9 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php @@ -558,7 +558,7 @@ protected function addMethodsToTemplate(ReflectionClass $reflectionClass, array $useStatements = []; foreach (array_unique($methodNames) as $methodName) { - if (empty($methodName)) { + if (!$methodName) { continue; } $method = $reflectionClass->getMethod($methodName); diff --git a/src/Spryker/Zed/Development/Business/Codeception/Argument/CodeceptionArguments.php b/src/Spryker/Zed/Development/Business/Codeception/Argument/CodeceptionArguments.php index b31c21eb..45ad713d 100644 --- a/src/Spryker/Zed/Development/Business/Codeception/Argument/CodeceptionArguments.php +++ b/src/Spryker/Zed/Development/Business/Codeception/Argument/CodeceptionArguments.php @@ -22,7 +22,7 @@ class CodeceptionArguments */ public function addArgument(string $argumentName, array $argumentValues = []) { - if (empty($argumentValues)) { + if (!$argumentValues) { $this->arguments[] = $argumentName; return $this; diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php index 5303af4d..6c149126 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php @@ -80,7 +80,7 @@ public function update(array $composerJson, SplFileInfo $composerJsonFile): arra } foreach ($dependentModules as $dependentModule) { - if (empty($dependentModule) || $dependentModule === $composerJson[static::KEY_NAME]) { + if (!$dependentModule || $dependentModule === $composerJson[static::KEY_NAME]) { continue; } $filter = new CamelCaseToDash(); diff --git a/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php b/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php index c22d8113..cd67b39e 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php @@ -61,7 +61,7 @@ public function run($bundle, array $options = []) if (!is_dir($path)) { $message = 'This path does not exist'; - if (!empty($bundle)) { + if ($bundle) { $message = 'This bundle does not exist'; } diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index 18c0334f..9a0867bd 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -288,7 +288,7 @@ protected function getPathsToAnalyze($module): array if ($module) { $paths = $this->getPaths($module); - if (empty($paths)) { + if (!$paths) { throw new RuntimeException('No path found for module ' . $module); } diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php index 16f18dc4..5cf81d3b 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php @@ -275,6 +275,7 @@ protected function runForProject(OutputInterface $output, $module, $subPath) $projectNamespaces = $this->getFactory()->getConfig()->getProjectNamespaces(); $result = 0; + $violations = null; foreach ($projectNamespaces as $projectNamespace) { $output->writeln($projectNamespace, OutputInterface::VERBOSITY_VERBOSE); $path = $pathToRoot . 'src' . DIRECTORY_SEPARATOR . $projectNamespace . DIRECTORY_SEPARATOR; @@ -305,7 +306,7 @@ protected function runForProject(OutputInterface $output, $module, $subPath) } } - if (!isset($violations)) { + if ($violations === null) { $output->writeln('No paths found for checking'); return false; diff --git a/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php b/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php index 80c70282..711e61ea 100644 --- a/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php +++ b/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php @@ -169,7 +169,7 @@ protected function getJsonAfterUpdate(array $pathParts, array $composerJson, arr ], ]; - if (!empty($dirMapAdditions)) { + if ($dirMapAdditions) { $dirMap = array_merge($dirMap, $dirMapAdditions); } @@ -225,7 +225,7 @@ protected function getComposerJson(string $autoloadKey = ''): array ], ]; - if (!empty($autoloadKey)) { + if ($autoloadKey) { $composerArray['autoload-dev']['psr-0'] = [$autoloadKey => 'tests/']; unset($composerArray['autoload-dev']['psr-4']); } From bb45b5626e797934ae55b50ccb8ab81f214ae094 Mon Sep 17 00:00:00 2001 From: Olha Livitchuk <77281282+olhalivitchuk@users.noreply.github.com> Date: Thu, 30 Dec 2021 17:17:49 +0200 Subject: [PATCH 263/336] TE-10233: CodeSniffer core module run as separate ones (#8969) TE-10233 Code sniffer: Core module run as separate ones --- ruleset.xml | 26 +++ rulesetStrict.xml | 26 +++ .../CodeStyleSniffer/CodeStyleSniffer.php | 202 +++++++++++++++--- .../Config/CodeStyleSnifferConfiguration.php | 62 +++++- ...CodeStyleSnifferConfigurationInterface.php | 23 +- .../CodeStyleSnifferConfigurationLoader.php | 5 +- ...yleSnifferConfigurationLoaderInterface.php | 3 +- .../Zed/Development/DevelopmentConfig.php | 20 ++ .../CodeStyleSniffer/CodeStyleSnifferTest.php | 141 +++++++++--- .../_support/DevelopmentBusinessTester.php | 25 +++ 10 files changed, 472 insertions(+), 61 deletions(-) create mode 100644 ruleset.xml create mode 100644 rulesetStrict.xml diff --git a/ruleset.xml b/ruleset.xml new file mode 100644 index 00000000..a812209e --- /dev/null +++ b/ruleset.xml @@ -0,0 +1,26 @@ + + + + Spryker Coding Standard for Spryker Core. + + Extends main Spryker Coding Standard. + All sniffs in ./Sniffs will be auto loaded + + + */tests/_support/_generated/* + */tests/_helpers/* + */tests/_output/* + */node_modules/* + + + + + + + + + + + + + diff --git a/rulesetStrict.xml b/rulesetStrict.xml new file mode 100644 index 00000000..3686a7e9 --- /dev/null +++ b/rulesetStrict.xml @@ -0,0 +1,26 @@ + + + + Spryker Coding Standard for SprykerShop. + + Extends main Spryker Coding Standard. + All sniffs in ./Sniffs will be auto loaded + + + */tests/_support/_generated/* + */tests/_helpers/* + */tests/_output/* + */node_modules/* + + + + + + + + + + + + + diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php index deb114df..ebc10516 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php @@ -15,6 +15,7 @@ use Spryker\Zed\Development\Business\CodeStyleSniffer\Config\CodeStyleSnifferConfigurationLoaderInterface; use Spryker\Zed\Development\Business\Exception\CodeStyleSniffer\PathDoesNotExistException; use Spryker\Zed\Development\DevelopmentConfig; +use Symfony\Component\Finder\Finder; use Symfony\Component\Process\Process; class CodeStyleSniffer @@ -59,11 +60,31 @@ class CodeStyleSniffer */ protected $config; + /** + * @var array + */ + protected $options = []; + /** * @var \Spryker\Zed\Development\Business\CodeStyleSniffer\Config\CodeStyleSnifferConfigurationLoaderInterface */ protected $codeStyleSnifferConfigurationLoader; + /** + * @var int + */ + protected $countResolvedPaths = 0; + + /** + * @var int + */ + protected $countTotalPaths = 0; + + /** + * @var array + */ + protected $commandsToFix = []; + /** * @param \Spryker\Zed\Development\DevelopmentConfig $config * @param \Spryker\Zed\Development\Business\CodeStyleSniffer\Config\CodeStyleSnifferConfigurationLoaderInterface $codeStyleSnifferConfigurationLoader @@ -80,8 +101,10 @@ public function __construct(DevelopmentConfig $config, CodeStyleSnifferConfigura * * @return int */ - public function checkCodeStyle($module, array $options = []) + public function checkCodeStyle(?string $module, array $options = []): int { + $resultCode = static::CODE_SUCCESS; + $namespace = null; if (strpos($module, '.') !== false) { [$namespace, $module] = explode('.', $module, 2); @@ -93,51 +116,74 @@ public function checkCodeStyle($module, array $options = []) ]; $options += $defaults; - $path = $this->resolvePath($module, $namespace, $pathOption); - $codeStyleSnifferConfiguration = $this->codeStyleSnifferConfigurationLoader->load($options, $path); + $paths = $this->resolvePaths($module, $namespace, $pathOption, $options); + $this->countTotalPaths = count($paths); + + foreach ($paths as $path => $codeStyleSnifferConfiguration) { + $this->countResolvedPaths++; + $resultCode |= $this->runSnifferCommand($path, $codeStyleSnifferConfiguration); + } + + if ($this->commandsToFix) { + echo 'To fix run the following command: ' . PHP_EOL; + echo implode('', $this->commandsToFix); + } - return $this->runSnifferCommand($path, $codeStyleSnifferConfiguration); + return $resultCode; } /** - * @param string $module + * @param string|null $module * @param string|null $namespace * @param string|null $path + * @param array $options * - * @return string + * @return array */ - protected function resolvePath($module, $namespace = null, $path = null) + protected function resolvePaths(?string $module, ?string $namespace, ?string $path, array $options): array { $path = $path !== null ? trim($path, DIRECTORY_SEPARATOR) : null; if ($namespace) { - if ($module === 'all') { - return $this->getPathToCore($namespace, $path); - } + return $this->resolveCorePath($module, $namespace, $path, $options); + } - return $this->getPathToModule($module, $namespace, $path); + if (!$module) { + return $this->addPath([], $this->config->getPathToRoot() . $path, $options); } - $pathToRoot = $this->config->getPathToRoot(); + return $this->resolveProjectPath($module, $path, $options); + } - if (!$module) { - return $pathToRoot . $path; + /** + * @param string $module + * @param string $namespace + * @param string|null $path + * @param array $options + * + * @return array + */ + protected function resolveCorePath(string $module, string $namespace, ?string $path, array $options) + { + if ($module === 'all') { + return $this->getPathsToAllCoreModules($namespace, $path, $options); } - return $this->resolveProjectPath($module, $path); + return $this->getPathToCoreModule($module, $namespace, $path, $options); } /** * @param string $namespace - * @param string $path + * @param string|null $pathSuffix + * @param array $options * * @throws \RuntimeException * - * @return string + * @return array */ - protected function getPathToCore($namespace, $path) + protected function getPathsToAllCoreModules(string $namespace, ?string $pathSuffix, array $options): array { - if ($path) { + if ($pathSuffix) { throw new RuntimeException('Path suffix option is not possible for "all".'); } @@ -147,23 +193,32 @@ protected function getPathToCore($namespace, $path) throw new RuntimeException('Namespace invalid: ' . $namespace); } - return $pathToInternalNamespace; + $paths = []; + $modules = $this->getCoreModules($pathToInternalNamespace); + foreach ($modules as $module) { + $path = $pathToInternalNamespace . $module . DIRECTORY_SEPARATOR; + $paths = $this->addPath($paths, $path, $options, $namespace); + } + + return $paths; } /** * @param string $module * @param string $namespace * @param string|null $pathSuffix + * @param array $options * * @throws \Spryker\Zed\Development\Business\Exception\CodeStyleSniffer\PathDoesNotExistException * - * @return string + * @return array */ - protected function getPathToModule($module, $namespace, $pathSuffix = null) + protected function getPathToCoreModule(string $module, string $namespace, ?string $pathSuffix, array $options) { $path = $this->getCorePath($module, $namespace, $pathSuffix); + if ($this->isPathValid($path)) { - return $path; + return $this->addPath([], $path, $options, $namespace); } $message = sprintf( @@ -244,7 +299,8 @@ protected function isPathValid($path) */ protected function runSnifferCommand($path, CodeStyleSnifferConfigurationInterface $codeStyleSnifferConfiguration) { - $processConfig = ' --standard=' . $codeStyleSnifferConfiguration->getCodingStandard(); + $standard = $codeStyleSnifferConfiguration->getCodingStandard($path); + $processConfig = ' --standard=' . $standard; if ($codeStyleSnifferConfiguration->isVerbose()) { $processConfig .= ' -v'; @@ -272,6 +328,14 @@ protected function runSnifferCommand($path, CodeStyleSnifferConfigurationInterfa $processConfig .= ' --extensions=' . implode(',', static::EXTENSIONS); + if (is_dir($path . 'src')) { + $processConfig .= ' ' . $path . 'src/'; + } + + if (is_dir($path . 'tests')) { + $processConfig .= ' ' . $path . 'tests/'; + } + $optionVerbose = $codeStyleSnifferConfiguration->isVerbose(); $optionFix = $codeStyleSnifferConfiguration->isFixing(); @@ -296,6 +360,11 @@ protected function runSnifferCommand($path, CodeStyleSnifferConfigurationInterfa $process = new Process(explode(' ', $command), $this->config->getPathToRoot()); $process->setTimeout($this->config->getProcessTimeout()); + + if (strpos($codeStyleSnifferConfiguration->getModule(), '.all') !== false) { + return $this->runSnifferCommandForAll($process, $path, $codeStyleSnifferConfiguration); + } + $process->run(function ($type, $buffer) { echo $buffer; }); @@ -303,13 +372,55 @@ protected function runSnifferCommand($path, CodeStyleSnifferConfigurationInterfa return $process->getExitCode(); } + /** + * @param \Symfony\Component\Process\Process $process + * @param string $path + * @param \Spryker\Zed\Development\Business\CodeStyleSniffer\Config\CodeStyleSnifferConfigurationInterface $codeStyleSnifferConfiguration + * + * @return int + */ + protected function runSnifferCommandForAll( + Process $process, + string $path, + CodeStyleSnifferConfigurationInterface $codeStyleSnifferConfiguration + ): int { + $process->run(); + + echo sprintf( + 'Finished %s/%s %s (level %s) /%s %s' . PHP_EOL, + $this->countResolvedPaths, + $this->countTotalPaths, + basename($path), + $codeStyleSnifferConfiguration->getLevel(), + $this->getSnifferResultMessage($process), + ($process->getExitCode() !== static::CODE_SUCCESS ? $process->getOutput() : ''), + ); + + if ($process->getExitCode() !== static::CODE_SUCCESS) { + $this->commandsToFix[] = sprintf('vendor/bin/console c:s:s -m %s.%s -f' . PHP_EOL, $codeStyleSnifferConfiguration->getNamespace(), basename($path)); + } + + return $process->getExitCode(); + } + + /** + * @param \Symfony\Component\Process\Process $process + * + * @return string + */ + protected function getSnifferResultMessage(Process $process): string + { + return sprintf('%s', $process->getExitCode() === static::CODE_SUCCESS ? "\033[32m OK \033[0m" : "\033[31m FAIL \033[0m"); + } + /** * @param string $module * @param string|null $pathSuffix + * @param array $options * - * @return string + * @return array */ - protected function resolveProjectPath($module, $pathSuffix = null) + protected function resolveProjectPath(string $module, ?string $pathSuffix, array $options): array { $projectNamespaces = $this->config->getProjectNamespaces(); $namespaces = array_merge(static::APPLICATION_NAMESPACES, $projectNamespaces); @@ -333,6 +444,43 @@ protected function resolveProjectPath($module, $pathSuffix = null) } } - return implode(' ', $paths); + return $this->addPath([], implode(' ', $paths), $options); + } + + /** + * @param string $path + * + * @return array + */ + protected function getCoreModules(string $path): array + { + /** @var array<\Symfony\Component\Finder\SplFileInfo> $directories */ + $directories = (new Finder()) + ->directories() + ->in($path) + ->depth('== 0') + ->sortByName(); + + $modules = []; + foreach ($directories as $dir) { + $modules[] = $dir->getFilename(); + } + + return $modules; + } + + /** + * @param array $paths + * @param string $moduleDirectoryPath + * @param array $options + * @param string|null $namespace + * + * @return array + */ + protected function addPath(array $paths, string $moduleDirectoryPath, array $options, ?string $namespace = null): array + { + $paths[$moduleDirectoryPath] = clone $this->codeStyleSnifferConfigurationLoader->load($options, $moduleDirectoryPath, $namespace); + + return $paths; } } diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php index 31965f02..d1114ef4 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php @@ -61,6 +61,13 @@ class CodeStyleSnifferConfiguration implements CodeStyleSnifferConfigurationInte */ protected const OPTION_IGNORE = 'ignore'; + /** + * @see \Spryker\Zed\Development\Business\CodeStyleSniffer\CodeStyleSniffer::OPTION_MODULE + * + * @var string + */ + protected const OPTION_MODULE = 'module'; + /** * @see \Spryker\Zed\Development\Communication\Console\CodeStyleSnifferConsole::OPTION_LEVEL * @@ -93,6 +100,11 @@ class CodeStyleSnifferConfiguration implements CodeStyleSnifferConfigurationInte */ protected $moduleConfig; + /** + * @var string + */ + protected $namespace; + /** * @var array */ @@ -118,6 +130,26 @@ public function setModuleConfig(array $moduleConfig) return $this; } + /** + * @param string $namespace + * + * @return $this + */ + public function setNamespace(string $namespace) + { + $this->namespace = $namespace; + + return $this; + } + + /** + * @return string + */ + public function getNamespace(): string + { + return $this->namespace; + } + /** * @param array $configurationOptions * @@ -133,12 +165,26 @@ public function setConfigurationOptions(array $configurationOptions) /** * {@inheritDoc} * + * @param string $modulePath + * * @return string */ - public function getCodingStandard(): string + public function getCodingStandard(string $modulePath): string { - if ($this->getLevel() === static::LEVEL_SPRYKER_STRICT) { - return APPLICATION_VENDOR_DIR . DIRECTORY_SEPARATOR . 'spryker/code-sniffer/SprykerStrict/ruleset.xml'; + $phpcsRootFilePath = $modulePath . 'phpcs.xml'; + + if (file_exists($phpcsRootFilePath)) { + return $phpcsRootFilePath; + } + + $vendorDir = APPLICATION_VENDOR_DIR . DIRECTORY_SEPARATOR; + + if (strpos($modulePath, $vendorDir) !== false) { + if ($this->getLevel() === static::LEVEL_SPRYKER_STRICT) { + return $this->developmentConfig->getCodeSnifferStrictRuleset(); + } + + return $this->developmentConfig->getCodeSnifferRuleset(); } return $this->developmentConfig->getCodingStandard(); @@ -154,6 +200,16 @@ public function getIgnoredPaths(): ?string return $this->configurationOptions[static::OPTION_IGNORE]; } + /** + * {@inheritDoc} + * + * @return string|null + */ + public function getModule(): ?string + { + return $this->configurationOptions[static::OPTION_MODULE]; + } + /** * {@inheritDoc} * diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationInterface.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationInterface.php index 0dda341b..91d4521d 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationInterface.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationInterface.php @@ -16,6 +16,18 @@ interface CodeStyleSnifferConfigurationInterface */ public function setModuleConfig(array $moduleConfig); + /** + * @param string $namespace + * + * @return $this + */ + public function setNamespace(string $namespace); + + /** + * @return string + */ + public function getNamespace(): string; + /** * @param array $configurationOptions * @@ -27,9 +39,11 @@ public function setConfigurationOptions(array $configurationOptions); * Returns the list of paths to the coding standards which should be used in current CodeStyleSniffer run. * Multiple paths should be separated by coma. * + * @param string $path + * * @return string */ - public function getCodingStandard(): string; + public function getCodingStandard(string $path): string; /** * Returns the list of patterns to the files or folders which should be skipped in current CodeStyleSniffer run. @@ -39,6 +53,13 @@ public function getCodingStandard(): string; */ public function getIgnoredPaths(): ?string; + /** + * Returns module. + * + * @return string|null + */ + public function getModule(): ?string; + /** * Returns true if current CodeStyleSniffer run should fix all the fixable errors. * diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationLoader.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationLoader.php index e110b4a7..268180a9 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationLoader.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationLoader.php @@ -41,15 +41,18 @@ public function __construct( /** * @param array $configurationOptions * @param string $modulePath + * @param string|null $namespace * * @return \Spryker\Zed\Development\Business\CodeStyleSniffer\Config\CodeStyleSnifferConfigurationInterface */ - public function load(array $configurationOptions, string $modulePath): CodeStyleSnifferConfigurationInterface + public function load(array $configurationOptions, string $modulePath, ?string $namespace): CodeStyleSnifferConfigurationInterface { $this->codeStyleSnifferConfiguration->setConfigurationOptions($configurationOptions); $generalModuleConfiguration = $this->configurationReader->getModuleConfigurationByAbsolutePath($modulePath); + $this->codeStyleSnifferConfiguration->setModuleConfig($generalModuleConfiguration[static::MODULE_CONFIG_TOOL_KEY] ?? []); + $this->codeStyleSnifferConfiguration->setNamespace($namespace ?? ''); return $this->codeStyleSnifferConfiguration; } diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationLoaderInterface.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationLoaderInterface.php index 4cdb8df1..961a0ddb 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationLoaderInterface.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationLoaderInterface.php @@ -12,8 +12,9 @@ interface CodeStyleSnifferConfigurationLoaderInterface /** * @param array $configurationOptions * @param string $modulePath + * @param string|null $namespace * * @return \Spryker\Zed\Development\Business\CodeStyleSniffer\Config\CodeStyleSnifferConfigurationInterface */ - public function load(array $configurationOptions, string $modulePath): CodeStyleSnifferConfigurationInterface; + public function load(array $configurationOptions, string $modulePath, ?string $namespace): CodeStyleSnifferConfigurationInterface; } diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 05455765..c5588d34 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -634,6 +634,26 @@ public function getArchitectureSnifferRuleset() return $vendorDir . 'spryker/architecture-sniffer/src/ruleset.xml'; } + /** + * @api + * + * @return string + */ + public function getCodeSnifferRuleset(): string + { + return dirname(__DIR__, 4) . DIRECTORY_SEPARATOR . 'ruleset.xml'; + } + + /** + * @api + * + * @return string + */ + public function getCodeSnifferStrictRuleset(): string + { + return dirname(__DIR__, 4) . DIRECTORY_SEPARATOR . 'rulesetStrict.xml'; + } + /** * @api * diff --git a/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php b/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php index 5a384eb4..52d56563 100644 --- a/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php +++ b/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php @@ -8,7 +8,10 @@ namespace SprykerTest\Zed\Development\Business\CodeStyleSniffer; use Codeception\Test\Unit; +use ReflectionMethod; +use ReflectionObject; use Spryker\Zed\Development\Business\CodeStyleSniffer\CodeStyleSniffer; +use Spryker\Zed\Development\Business\CodeStyleSniffer\Config\CodeStyleSnifferConfigurationInterface; /** * Auto-generated group annotations @@ -23,6 +26,11 @@ */ class CodeStyleSnifferTest extends Unit { + /** + * @var string + */ + protected const DEVELOPMENT_MODULE_PATH_REGEX = '#' . APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . '.+/Development/#'; + /** * @var \SprykerTest\Zed\Development\DevelopmentBusinessTester */ @@ -33,6 +41,11 @@ class CodeStyleSnifferTest extends Unit */ protected $pathToCore = 'vendor/spryker/spryker/Bundles/'; + /** + * @var string + */ + protected $developmentModule = 'Spryker.Development'; + /** * The list of default CodeStyleSniffer options. * @@ -60,18 +73,25 @@ class CodeStyleSnifferTest extends Unit /** * @return void */ - public function testCheckCodeStyleRunsCommandInCore(): void + public function testCheckCsForAllModulesRunsWithSpecificRuleset(): void { - $module = 'Spryker.all'; - $options = [ - 'ignore' => 'vendor/', - 'module' => $module, - ] + $this->defaultOptions; + $resolvedPaths = $this->getResolvedPathsForAllSprykerModules(); - $path = APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . $this->pathToCore; - $codeStyleSnifferMock = $this->getCodeStyleSnifferMock($path, $options); + $developmentModulePath = current(preg_grep(static::DEVELOPMENT_MODULE_PATH_REGEX, array_keys($resolvedPaths))); + $developmentLevel = $this->getDevelopmentCsLevel($resolvedPaths[$developmentModulePath]); - $codeStyleSnifferMock->checkCodeStyle($module, $options); + $codeStyleSnifferMock = $this->getCodeStyleSnifferMock( + $this->normalizePathToModule($developmentModulePath), + $developmentLevel, + ); + + $options = [ + 'ignore' => 'vendor/', + 'module' => $this->developmentModule, + 'level' => $this->tester->getDefaultLevel(), + ] + $this->defaultOptions; + + $codeStyleSnifferMock->checkCodeStyle($this->developmentModule, $options); } /** @@ -79,17 +99,16 @@ public function testCheckCodeStyleRunsCommandInCore(): void */ public function testCheckCodeStyleRunsCommandInCoreModuleForLevelOne(): void { - $module = 'Spryker.Development'; $options = [ 'ignore' => 'vendor/', - 'module' => $module, + 'module' => $this->developmentModule, 'level' => 1, ] + $this->defaultOptions; - $path = APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . $this->pathToCore . 'Development/'; - $codeStyleSnifferMock = $this->getCodeStyleSnifferMock($path, $options); + $developmentModulePath = dirname(__DIR__, 6) . DIRECTORY_SEPARATOR; + $codeStyleSnifferMock = $this->getCodeStyleSnifferMock($developmentModulePath, $options['level']); - $codeStyleSnifferMock->checkCodeStyle($module, $options); + $codeStyleSnifferMock->checkCodeStyle($this->developmentModule, $options); } /** @@ -97,33 +116,32 @@ public function testCheckCodeStyleRunsCommandInCoreModuleForLevelOne(): void */ public function testCheckCodeStyleRunsCommandInCoreModuleForLevelTwo(): void { - $module = 'Spryker.Development'; $options = [ 'ignore' => 'vendor/', - 'module' => $module, + 'module' => $this->developmentModule, 'level' => 2, ] + $this->defaultOptions; - $path = APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . $this->pathToCore . 'Development/'; - $codeStyleSnifferMock = $this->getCodeStyleSnifferMock($path, $options); + $developmentModulePath = dirname(__DIR__, 6) . DIRECTORY_SEPARATOR; + $codeStyleSnifferMock = $this->getCodeStyleSnifferMock($developmentModulePath, $options['level']); - $codeStyleSnifferMock->checkCodeStyle($module, $options); + $codeStyleSnifferMock->checkCodeStyle($this->developmentModule, $options); } /** - * @param string $expectedPathToRunCommandWith - * @param array $options + * @param string $developmentModulePath + * @param int $level * * @return \PHPUnit\Framework\MockObject\MockObject|\Spryker\Zed\Development\Business\CodeStyleSniffer\CodeStyleSniffer */ - protected function getCodeStyleSnifferMock(string $expectedPathToRunCommandWith, array $options): CodeStyleSniffer + protected function getCodeStyleSnifferMock(string $developmentModulePath, int $level): CodeStyleSniffer { $developmentConfig = $this->tester->createDevelopmentConfig(); - $codingStandard = $developmentConfig->getCodingStandard(); + $codingStandard = $developmentModulePath . 'ruleset.xml'; - if ($options['level'] === 2) { + if ($level === $this->tester->getDefaultPriority()) { /** @see \Spryker\Zed\Development\Business\CodeStyleSniffer\Config\CodeStyleSnifferConfiguration::getCodingStandard() */ - $codingStandard = APPLICATION_VENDOR_DIR . DIRECTORY_SEPARATOR . 'spryker/code-sniffer/SprykerStrict/ruleset.xml'; + $codingStandard = $developmentModulePath . 'rulesetStrict.xml'; } $codeStyleSnifferMock = $this @@ -138,12 +156,79 @@ protected function getCodeStyleSnifferMock(string $expectedPathToRunCommandWith, $codeStyleSnifferMock ->method('runSnifferCommand') ->with( - $expectedPathToRunCommandWith, - $this->callback(function ($subject) use ($codingStandard) { - return is_callable([$subject, 'getCodingStandard']) && $subject->getCodingStandard() === $codingStandard; + $this->buildPathWithProperRootDir($developmentModulePath), + $this->callback(function ($subject) use ($codingStandard, $developmentModulePath) { + return is_callable([$subject, 'getCodingStandard']) && + $subject->getCodingStandard($this->buildPathWithProperVendorDir($developmentModulePath)) === $codingStandard; }), ); return $codeStyleSnifferMock; } + + /** + * @return array + */ + protected function getResolvedPathsForAllSprykerModules(): array + { + $module = 'Spryker.all'; + $options = [ + 'ignore' => 'vendor/', + 'module' => $module, + ] + $this->defaultOptions; + + $reflectedResolvePathsMethod = new ReflectionMethod(CodeStyleSniffer::class, 'resolvePaths'); + $reflectedResolvePathsMethod->setAccessible(true); + $paths = $reflectedResolvePathsMethod->invokeArgs( + $this->tester->createCodeStyleSniffer(), + ['all', 'Spryker', null, $options], + ); + + return $paths; + } + + /** + * @param \Spryker\Zed\Development\Business\CodeStyleSniffer\Config\CodeStyleSnifferConfigurationInterface $developmentCsConfiguration + * + * @return int + */ + protected function getDevelopmentCsLevel(CodeStyleSnifferConfigurationInterface $developmentCsConfiguration): int + { + $reflectedObject = new ReflectionObject($developmentCsConfiguration); + $reflectedModuleConfigProperty = $reflectedObject->getProperty('moduleConfig'); + $reflectedModuleConfigProperty->setAccessible(true); + $moduleConfig = $reflectedModuleConfigProperty->getValue($developmentCsConfiguration); + + return $moduleConfig['level'] ?? $this->tester->getDefaultLevel(); + } + + /** + * @param string $modulePath + * + * @return string + */ + protected function buildPathWithProperRootDir(string $modulePath): string + { + return str_replace(APPLICATION_ROOT_DIR, APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR, $modulePath); + } + + /** + * @param string $modulePath + * + * @return string + */ + protected function buildPathWithProperVendorDir(string $modulePath): string + { + return str_replace(APPLICATION_VENDOR_DIR, APPLICATION_VENDOR_DIR . DIRECTORY_SEPARATOR, $modulePath); + } + + /** + * @param string $modulePath + * + * @return string + */ + protected function normalizePathToModule(string $modulePath): string + { + return str_replace(APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR, APPLICATION_ROOT_DIR, $modulePath); + } } diff --git a/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php b/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php index 37755758..95e6ea2d 100644 --- a/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php +++ b/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php @@ -8,6 +8,7 @@ namespace SprykerTest\Zed\Development; use Codeception\Actor; +use Spryker\Zed\Development\Business\CodeStyleSniffer\CodeStyleSniffer; use Spryker\Zed\Development\Business\CodeStyleSniffer\Config\CodeStyleSnifferConfiguration; use Spryker\Zed\Development\Business\CodeStyleSniffer\Config\CodeStyleSnifferConfigurationLoader; use Spryker\Zed\Development\Business\SnifferConfiguration\Builder\ArchitectureSnifferConfigurationBuilder; @@ -40,6 +41,11 @@ class DevelopmentBusinessTester extends Actor */ protected const DEFAULT_PRIORITY = 2; + /** + * @var int + */ + protected const DEFAULT_LEVEL = 1; + /** * @return \Spryker\Zed\Development\Business\SnifferConfiguration\Builder\SnifferConfigurationBuilderInterface */ @@ -69,6 +75,14 @@ public function getDefaultPriority(): int return static::DEFAULT_PRIORITY; } + /** + * @return int + */ + public function getDefaultLevel(): int + { + return static::DEFAULT_LEVEL; + } + /** * @return \Symfony\Component\Yaml\Parser */ @@ -105,4 +119,15 @@ public function createDevelopmentConfig(): DevelopmentConfig { return new DevelopmentConfig(); } + + /** + * @return \Spryker\Zed\Development\Business\CodeStyleSniffer\CodeStyleSniffer + */ + public function createCodeStyleSniffer(): CodeStyleSniffer + { + return new CodeStyleSniffer( + $this->createDevelopmentConfig(), + $this->createCodeStyleSnifferConfigurationLoader(), + ); + } } From 34c2c18dd8ea32f49d21f04286a6b99498539c31 Mon Sep 17 00:00:00 2001 From: mscherer Date: Thu, 6 Jan 2022 14:32:16 +0100 Subject: [PATCH 264/336] Cleanup of arch sniffer. --- .../ArchitectureSniffer/ArchitectureSniffer.php | 12 +++++++++++- .../Console/CodeArchitectureSnifferConsole.php | 9 ++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php index e6b23dcb..9ca437ee 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php @@ -329,7 +329,7 @@ protected function formatViolations(array $array): array foreach ($violations as $violation) { $result[] = [ static::VIOLATION_FIELD_NAME_FILENAME => $this->normalizeProjectPath($file), - static::VIOLATION_FIELD_NAME_DESCRIPTION => $violation['_'], + static::VIOLATION_FIELD_NAME_DESCRIPTION => $this->cleanDescription($violation['_']), static::VIOLATION_FIELD_NAME_RULE => $violation['rule'], static::VIOLATION_FIELD_NAME_RULESET => $violation['ruleset'], static::VIOLATION_FIELD_NAME_PRIORITY => $violation['priority'], @@ -350,6 +350,16 @@ protected function normalizeProjectPath(string $path): string return str_replace(APPLICATION_ROOT_DIR, '', $path); } + /** + * @param string $description + * + * @return string + */ + protected function cleanDescription(string $description): string + { + return trim($description); + } + /** * @param string $path * diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php index 5cf81d3b..a357a363 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php @@ -372,19 +372,22 @@ protected function displayViolationsWithBaseline(OutputInterface $output, array foreach ($violationsArray as $violation) { if ($type === ArchitectureSniffer::NAME_VISIBLE_VIOLATIONS) { - $output->writeln(' ' . trim($violation[ArchitectureSniffer::VIOLATION_FIELD_NAME_DESCRIPTION]) . ' ', OutputInterface::VERBOSITY_VERBOSE); + $output->writeln(' - ' . trim($violation[ArchitectureSniffer::VIOLATION_FIELD_NAME_DESCRIPTION]) . ' ', OutputInterface::VERBOSITY_VERBOSE); } else { $output->writeln(' - ' . trim($violation[ArchitectureSniffer::VIOLATION_FIELD_NAME_DESCRIPTION]), OutputInterface::VERBOSITY_VERBOSE); } - $output->writeln(' ' . $violation[ArchitectureSniffer::VIOLATION_FIELD_NAME_RULESET] . ' > ' . $violation[ArchitectureSniffer::VIOLATION_FIELD_NAME_RULE], OutputInterface::VERBOSITY_VERBOSE); + $ruleset = $violation[ArchitectureSniffer::VIOLATION_FIELD_NAME_RULESET]; + $rule = $violation[ArchitectureSniffer::VIOLATION_FIELD_NAME_RULE]; + $filename = pathinfo($violation['fileName'], PATHINFO_FILENAME); + $output->writeln(' ' . $ruleset . ' > ' . $rule . ' > ' . $filename, OutputInterface::VERBOSITY_VERBOSE); $count++; } $this->displayViolationsCountMessage($output, $count, ($type === ArchitectureSniffer::NAME_IGNORED_VIOLATIONS)); } - return count($violations[ArchitectureSniffer::NAME_VISIBLE_VIOLATIONS]); + return count($violations[ArchitectureSniffer::NAME_VISIBLE_VIOLATIONS]); } /** From 303ec1886419be8170bcba6228dbbe14c66006e9 Mon Sep 17 00:00:00 2001 From: Svyatoslav V Date: Thu, 6 Jan 2022 17:48:55 +0200 Subject: [PATCH 265/336] TE-10424 Updated architecture-baseline.json (#8999) * TE-10424 Updated architecture-baseline.json as example * TE-10425 Updated arch sniff baselines Co-authored-by: mscherer --- .../ArchitectureSniffer/ArchitectureSniffer.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php index 9ca437ee..7cebf58b 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php @@ -347,7 +347,15 @@ protected function formatViolations(array $array): array */ protected function normalizeProjectPath(string $path): string { - return str_replace(APPLICATION_ROOT_DIR, '', $path); + $basePath = rtrim(APPLICATION_ROOT_DIR, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR; + + $path = str_replace($basePath, '', $path); + $pos = strpos($path, DIRECTORY_SEPARATOR . 'src' . DIRECTORY_SEPARATOR); + if ($pos) { + $path = substr($path, $pos + 1); + } + + return $path; } /** From d61fe389f83a42e3aacb78f7910ea93271ed5f79 Mon Sep 17 00:00:00 2001 From: mscherer Date: Fri, 14 Jan 2022 13:21:29 +0100 Subject: [PATCH 266/336] Update composer files for 2.2+ and allow-plugins config. --- composer.json | 5 +- .../Composer/Updater/AllowPluginsUpdater.php | 59 +++++++++++++++++++ .../Composer/Updater/ScriptsUpdater.php | 4 +- .../Business/DevelopmentBusinessFactory.php | 12 +++- 4 files changed, 76 insertions(+), 4 deletions(-) create mode 100644 src/Spryker/Zed/Development/Business/Composer/Updater/AllowPluginsUpdater.php diff --git a/composer.json b/composer.json index e1a3377b..3dea1764 100644 --- a/composer.json +++ b/composer.json @@ -46,6 +46,9 @@ } }, "config": { - "sort-packages": true + "sort-packages": true, + "allow-plugins": { + "dealerdirect/phpcodesniffer-composer-installer": true + } } } diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/AllowPluginsUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/AllowPluginsUpdater.php new file mode 100644 index 00000000..1d78e3dd --- /dev/null +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/AllowPluginsUpdater.php @@ -0,0 +1,59 @@ +assertAllowPluginsConfig($path, $composerJson); + + if (isset($composerJson[static::KEY_CONFIG]) && empty($composerJson[static::KEY_CONFIG])) { + $composerJson[static::KEY_CONFIG] = new stdClass(); + } + + return $composerJson; + } + + /** + * @param string $path + * @param array $jsonArray + * + * @return array + */ + protected function assertAllowPluginsConfig(string $path, array $jsonArray): array + { + $requiresCodeSniffer = is_dir($path . 'src'); + if (!$requiresCodeSniffer) { + unset($jsonArray['config']['allow-plugins']); + + return $jsonArray; + } + + $jsonArray['config']['allow-plugins'] = [ + 'dealerdirect/phpcodesniffer-composer-installer' => true, + ]; + + return $jsonArray; + } +} diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/ScriptsUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/ScriptsUpdater.php index 347a6716..730daa57 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/ScriptsUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/ScriptsUpdater.php @@ -29,8 +29,8 @@ public function update(array $composerJson, SplFileInfo $composerJsonFile): arra $path = pathinfo($composerJsonFile, PATHINFO_DIRNAME) . DIRECTORY_SEPARATOR; $composerJson = $this->assertCsScripts($path, $composerJson); - if (isset($composerJson['scripts']) && empty($composerJson['scripts'])) { - $composerJson['scripts'] = new stdClass(); + if (isset($composerJson[static::KEY_SCRIPTS]) && empty($composerJson[static::KEY_SCRIPTS])) { + $composerJson[static::KEY_SCRIPTS] = new stdClass(); } return $composerJson; diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index 1b81dbcf..f9379c49 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -33,6 +33,7 @@ use Spryker\Zed\Development\Business\Composer\ComposerJsonUpdaterInterface; use Spryker\Zed\Development\Business\Composer\ComposerNameFinder; use Spryker\Zed\Development\Business\Composer\ComposerNameFinderInterface; +use Spryker\Zed\Development\Business\Composer\Updater\AllowPluginsUpdater; use Spryker\Zed\Development\Business\Composer\Updater\AutoloadUpdater; use Spryker\Zed\Development\Business\Composer\Updater\BranchAliasUpdater; use Spryker\Zed\Development\Business\Composer\Updater\ComposerUpdaterComposite; @@ -1510,7 +1511,8 @@ protected function createComposerJsonUpdaterComposite() ->addUpdater($this->createComposerJsonStabilityUpdater()) ->addUpdater($this->createComposerJsonAutoloadUpdater()) ->addUpdater($this->createComposerJsonScriptsUpdater()) - ->addUpdater($this->createComposerJsonBranchAliasUpdater()); + ->addUpdater($this->createComposerJsonBranchAliasUpdater()) + ->addUpdater($this->createComposerJsonAllowPluginsUpdater()); return $updaterComposite; } @@ -1595,6 +1597,14 @@ protected function createComposerJsonBranchAliasUpdater() return new BranchAliasUpdater(); } + /** + * @return \Spryker\Zed\Development\Business\Composer\Updater\UpdaterInterface + */ + protected function createComposerJsonAllowPluginsUpdater() + { + return new AllowPluginsUpdater(); + } + /** * @return \Spryker\Zed\Development\Business\DependencyTree\DependencyFilter\TreeFilterCompositeInterface */ From 934b12f8ea3073b4819f64590048575bb5348193 Mon Sep 17 00:00:00 2001 From: Olha Livitchuk <77281282+olhalivitchuk@users.noreply.github.com> Date: Wed, 19 Jan 2022 23:46:11 +0200 Subject: [PATCH 267/336] Fixed Cs command with custom paths (#9032) Fixed Cs command with custom paths --- .../CodeStyleSniffer/CodeStyleSniffer.php | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php index ebc10516..8841fce8 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php @@ -300,7 +300,7 @@ protected function isPathValid($path) protected function runSnifferCommand($path, CodeStyleSnifferConfigurationInterface $codeStyleSnifferConfiguration) { $standard = $codeStyleSnifferConfiguration->getCodingStandard($path); - $processConfig = ' --standard=' . $standard; + $processConfig = '--standard=' . $standard; if ($codeStyleSnifferConfiguration->isVerbose()) { $processConfig .= ' -v'; @@ -315,26 +315,30 @@ protected function runSnifferCommand($path, CodeStyleSnifferConfigurationInterfa } $optionSniffs = $codeStyleSnifferConfiguration->getSpecificSniffs(); - if ($optionSniffs) { $processConfig .= ' --sniffs=' . $optionSniffs; } + $processConfig .= ' --extensions=' . implode(',', static::EXTENSIONS); + $optionIgnore = $codeStyleSnifferConfiguration->getIgnoredPaths(); - if ($optionIgnore) { - $processConfig .= ' --ignore=' . $optionIgnore; + $customPaths = []; + if (!file_exists($path . DIRECTORY_SEPARATOR . 'phpcs.xml')) { + if (is_dir($path . 'src')) { + $customPaths[] = $path . 'src/'; + } + if (is_dir($path . 'tests')) { + $customPaths[] = $path . 'tests/'; + } + $optionIgnore .= ($optionIgnore ? ',' : '') . '/src/Generated/'; } - $processConfig .= ' --extensions=' . implode(',', static::EXTENSIONS); - - if (is_dir($path . 'src')) { - $processConfig .= ' ' . $path . 'src/'; + if ($optionIgnore) { + $processConfig .= ' --ignore=' . $optionIgnore; } - if (is_dir($path . 'tests')) { - $processConfig .= ' ' . $path . 'tests/'; - } + $processConfig .= ' ' . implode(' ', $customPaths); $optionVerbose = $codeStyleSnifferConfiguration->isVerbose(); $optionFix = $codeStyleSnifferConfiguration->isFixing(); @@ -346,8 +350,8 @@ protected function runSnifferCommand($path, CodeStyleSnifferConfigurationInterfa $command = sprintf( 'vendor/bin/%s %s%s', $optionFix ? 'phpcbf' : 'phpcs', - $path, $processConfig, + $customPaths ? '' : ' ' . $path, ); $optionDryRun = $codeStyleSnifferConfiguration->isDryRun(); @@ -396,7 +400,7 @@ protected function runSnifferCommandForAll( ($process->getExitCode() !== static::CODE_SUCCESS ? $process->getOutput() : ''), ); - if ($process->getExitCode() !== static::CODE_SUCCESS) { + if ($process->getExitCode() !== static::CODE_SUCCESS && !$codeStyleSnifferConfiguration->isFixing()) { $this->commandsToFix[] = sprintf('vendor/bin/console c:s:s -m %s.%s -f' . PHP_EOL, $codeStyleSnifferConfiguration->getNamespace(), basename($path)); } From 0b28f8ee35742d628aa285c6766605b0a6971fd0 Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Fri, 21 Jan 2022 09:25:28 +0100 Subject: [PATCH 268/336] Fix PHPStan issues and raise levels where possible. (#9043) * Fix PHPStan issues and raise levels where possible. --- .../Zed/Development/Business/Composer/ComposerNameFinder.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php b/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php index 8f00309f..9d9164d6 100644 --- a/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php +++ b/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php @@ -140,6 +140,7 @@ protected function getComposerNameFromPackageCollection(string $moduleName): ?st */ protected function getCurrentModuleTransfer(array $moduleTransferCollection): ModuleTransfer { + /** @var \Generated\Shared\Transfer\ModuleTransfer */ return current($moduleTransferCollection); } From 713be95562d8356e98033bc2c9c8e0d43083fce2 Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Wed, 26 Jan 2022 19:25:13 +0100 Subject: [PATCH 269/336] TE-10574 Fix up phpstan config (#9063) * TE-10574 Fix up phpstan config --- phpstan.json | 3 --- phpstan.neon | 8 ++++---- .../Business/ArchitectureSniffer/ArchitectureSniffer.php | 6 ++++-- 3 files changed, 8 insertions(+), 9 deletions(-) delete mode 100644 phpstan.json diff --git a/phpstan.json b/phpstan.json deleted file mode 100644 index a2419a14..00000000 --- a/phpstan.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "defaultLevel": 6 -} diff --git a/phpstan.neon b/phpstan.neon index 365ba422..61217639 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -1,13 +1,13 @@ parameters: + level: 6 reportUnmatchedIgnoredErrors: false checkGenericClassInNonGenericObjectType: false checkMissingIterableValueType: false - excludePaths: - - %rootDir%/../../../vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php - - %rootDir%/../../../vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php ignoreErrors: - '#Constant T_SEMICOLON not found.#' - '#Constant T_OPEN_PARENTHESIS not found.#' - '#Constant T_OPEN_SQUARE_BRACKET not found.#' - '#Call to an undefined method ReflectionType::getName\(\)#' - - "#Call to function method_exists\\(\\) with Symfony\\\\Component\\\\Console\\\\Helper\\\\ProgressBar and 'maxSecondsBetweenRe…' will always evaluate to false.#" + - '#Call to function method_exists\(\) with Symfony\\Component\\Console\\Helper\\ProgressBar and ''maxSecondsBetweenRe…'' will always evaluate to false.#' + - '#Call to an undefined method ReflectionType::isBuiltin\(\)#' + - '#Comparison operation ">" between int<2, max> and 1 is always true.#' diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php index 7cebf58b..b8d2be19 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php @@ -152,6 +152,7 @@ public function getRules() } } + /** @var callable $sortAlphabetically */ $sortAlphabetically = function ($first, $second) { return strcasecmp($first['name'], $second['name']) < 0; }; @@ -239,12 +240,13 @@ protected function runAnalyzer(array $fileViolations, $directory, array $options */ protected function saveBaseline(array $result, $reportPath): void { - $content = json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) . PHP_EOL; - + $content = json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); if ($content === false) { throw new RuntimeException('Error encoding:' . json_last_error()); } + $content .= PHP_EOL; + file_put_contents($reportPath, $content); } From 6e13a97c561fb453ff48514c4d7dfbde9facdb97 Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Thu, 3 Feb 2022 13:59:21 +0100 Subject: [PATCH 270/336] TE-10018 PHPStan updates (#9093) * TE-10018 PHPStan updates --- .../Communication/Controller/ArchitectureController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Communication/Controller/ArchitectureController.php b/src/Spryker/Zed/Development/Communication/Controller/ArchitectureController.php index 2ceddb50..c66b17d6 100644 --- a/src/Spryker/Zed/Development/Communication/Controller/ArchitectureController.php +++ b/src/Spryker/Zed/Development/Communication/Controller/ArchitectureController.php @@ -64,7 +64,7 @@ public function checkBundleAction(Request $request) $bundle = $request->query->get('bundle'); $namespace = $request->query->get('namespace'); $application = $request->query->get('application'); - $directory = $request->query->get('directory'); + $directory = (string)$request->query->get('directory'); $fileViolations = $this->getFacade()->runArchitectureSniffer($directory); From 57e778a44d1d7bfc680a10c2a94a2d42a35ab1e5 Mon Sep 17 00:00:00 2001 From: Eugenia Poidenko Date: Thu, 17 Feb 2022 11:44:12 +0200 Subject: [PATCH 271/336] TE-10787 fixed the issue in dependency checker. (#9144) TE-10787 Dependency checker now detects excessive dependencies in composer.json (dev:dependency:find) --- .../Business/DependencyTree/ComposerDependencyParser.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php b/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php index 44d29b75..12950221 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php @@ -295,7 +295,7 @@ protected function addNonOverwrittenRequiredDependencies( foreach ($composerDependencyCollectionTransfer->getComposerDependencies() as $composerDependency) { if ( $composerDependency->getName() && $composerDependency->getIsDev() === false && - !in_array($composerDependency->getName(), $overwrittenRequiredDependencies) + in_array($composerDependency->getName(), $overwrittenRequiredDependencies) ) { $dependencyCollectionTransfer = $this->addDeclaredDependency($dependencyCollectionTransfer, $composerDependency->getName()); } From 35f11d5c53fc8edaafe47b0a1d7963db688b17a7 Mon Sep 17 00:00:00 2001 From: Dmitriy Aseev <32021063+dmiseev@users.noreply.github.com> Date: Fri, 18 Feb 2022 12:36:23 +0200 Subject: [PATCH 272/336] TE-10712: Update modules to PHPStan level 7/8. Part 1. (#9138) * TE-10712: Adjusted phpstan level to 7,8. --- phpstan.neon | 3 +- psalm-report.json | 1898 ++++++----------- .../CodeBuilder/Bridge/BridgeBuilder.php | 5 +- .../CodeBuilder/Module/ModuleBuilder.php | 6 +- .../Business/Composer/ComposerJson.php | 4 +- .../Business/Composer/ComposerJsonFinder.php | 1 + .../Business/Composer/ComposerJsonUpdater.php | 14 +- .../Composer/Updater/AutoloadUpdater.php | 4 +- .../Updater/RequireExternalUpdater.php | 9 +- .../ExternalDependencyParser.php | 4 +- .../DependencyContainer.php | 4 +- .../ExternalDependencyFinder.php | 4 +- .../SchemaParser/PropelSchemaParser.php | 13 +- .../ComposerDependencyParser.php | 6 +- .../DependencyFilter/EngineBundleFilter.php | 4 +- .../ForeignEngineBundleFilter.php | 4 +- .../DependencyFinder/ExternalDependency.php | 5 +- .../PackageNameHydrator.php | 6 +- .../JsonDependencyTreeReader.php | 5 +- .../JsonDependencyTreeWriter.php | 4 +- .../DependencyTree/FileInfoExtractor.php | 4 +- .../Business/DependencyTree/Finder.php | 1 + .../Business/DevelopmentBusinessFactory.php | 9 +- .../DependencyProviderUsedPluginFinder.php | 9 +- .../Module/ModuleFinder/ModuleFinder.php | 9 +- .../ProjectModuleFinder.php | 17 +- .../Package/PackageFinder/PackageFinder.php | 1 + .../Business/PhpMd/PhpMdRunner.php | 4 +- .../PhpMd/Rules/Naming/ShortVariable.php | 2 +- .../Config/PhpstanConfigFileFinder.php | 1 + .../Business/Phpstan/PhpstanRunner.php | 9 +- .../Propel/PropelAbstractClassValidator.php | 1 + .../Stability/StabilityCalculator.php | 4 +- .../AbstractCoreModuleAwareConsole.php | 6 +- .../CodeArchitectureSnifferConsole.php | 3 + .../Console/CodeFixturesConsole.php | 1 + .../Console/CodePhpMessDetectorConsole.php | 1 + .../Console/CodeStyleSnifferConsole.php | 3 + .../Communication/Console/CodeTestConsole.php | 1 + .../Console/ComposerJsonUpdaterConsole.php | 5 +- .../Console/DependencyTreeBuilderConsole.php | 1 + .../Console/ModuleBridgeCreateConsole.php | 6 +- .../Console/ModuleCreateConsole.php | 1 + .../Console/PluginUsageFinderConsole.php | 1 + .../Console/PropelAbstractValidateConsole.php | 1 + ...ependencyProviderPluginUsageController.php | 1 + 46 files changed, 833 insertions(+), 1272 deletions(-) diff --git a/phpstan.neon b/phpstan.neon index 61217639..4cbe39e0 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -1,5 +1,5 @@ parameters: - level: 6 + level: 7 reportUnmatchedIgnoredErrors: false checkGenericClassInNonGenericObjectType: false checkMissingIterableValueType: false @@ -11,3 +11,4 @@ parameters: - '#Call to function method_exists\(\) with Symfony\\Component\\Console\\Helper\\ProgressBar and ''maxSecondsBetweenRe…'' will always evaluate to false.#' - '#Call to an undefined method ReflectionType::isBuiltin\(\)#' - '#Comparison operation ">" between int<2, max> and 1 is always true.#' + - '#Parameter \#1 \$[a-zA-Z]* of class ReflectionClass constructor expects class-string\|T of object, string given.#' diff --git a/psalm-report.json b/psalm-report.json index d5087baa..793395bf 100644 --- a/psalm-report.json +++ b/psalm-report.json @@ -2,10 +2,46 @@ "error": [ { "severity": "error", - "line_from": 329, - "line_to": 329, + "line_from": 635, + "line_to": 635, + "type": "UndefinedMethod", + "message": "Method ReflectionType::getName does not exist", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $finalOutput .= $this->getClassNameFromFqcn($parameter->getType()->getName()) . ' ';", + "selected_text": "getName", + "error_level": 6, + "shortcode": 22 + }, + { + "severity": "error", + "line_from": 696, + "line_to": 696, + "type": "UndefinedMethod", + "message": "Method ReflectionType::getName does not exist", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", + "snippet": " $type = $parameter->getType()->getName();", + "selected_text": "getName", + "error_level": 6, + "shortcode": 22 + }, + { + "severity": "error", + "line_from": 172, + "line_to": 172, + "type": "ParamNameMismatch", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\CodeStyleSniffer\\Config\\CodeStyleSnifferConfiguration::getCodingStandard has wrong name $modulePath, expecting $path as defined by Spryker\\Zed\\Development\\Business\\CodeStyleSniffer\\Config\\CodeStyleSnifferConfigurationInterface::getCodingStandard", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php", + "snippet": " public function getCodingStandard(string $modulePath): string", + "selected_text": "$modulePath", + "error_level": 7, + "shortcode": 230 + }, + { + "severity": "error", + "line_from": 341, + "line_to": 341, "type": "InvalidArgument", - "message": "Argument 2 of array_filter expects callable(mixed, mixed=):scalar, string(glob) provided", + "message": "Argument 2 of array_filter expects callable(mixed, mixed=):scalar, \"glob\" provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php", "snippet": " return array_filter($lookupPaths, 'glob');", "selected_text": "'glob'", @@ -14,84 +50,108 @@ }, { "severity": "error", - "line_from": 65, - "line_to": 65, + "line_from": 67, + "line_to": 69, "type": "InvalidArgument", - "message": "Argument 2 of array_filter expects callable(mixed, mixed=):scalar, string(glob) provided", + "message": "Argument 2 of array_filter expects callable(mixed, mixed=):scalar, impure-Closure(string):(false|list) provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php", - "snippet": " return array_filter($twigFilePaths, 'glob');", - "selected_text": "'glob'", + "snippet": " function (string $twigFilePath) {\n return glob($twigFilePath, GLOB_NOSORT);\n },", + "selected_text": "function (string $twigFilePath) {\n return glob($twigFilePath, GLOB_NOSORT);\n }", "error_level": 6, "shortcode": 4 }, { "severity": "error", - "line_from": 36, + "line_from": 38, "line_to": 38, "type": "InvalidArgument", - "message": "Argument 2 of array_filter expects callable(mixed, mixed=):scalar, Closure(string):(false|list) provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FileFinder.php", - "snippet": " $directories = array_filter($directories, function (string $directory) {\n return glob($directory);\n });", - "selected_text": "function (string $directory) {\n return glob($directory);\n }", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DependencyTree\\DependencyFinder\\UseStatement::getLayerFromUseStatement expects string, array provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/UseStatement.php", + "snippet": " $layer = $this->getLayerFromUseStatement($match);", + "selected_text": "$match", "error_level": 6, "shortcode": 4 }, { "severity": "error", - "line_from": 134, - "line_to": 134, + "line_from": 36, + "line_to": 38, "type": "InvalidArgument", - "message": "Argument 1 of Symfony\\Component\\Finder\\Finder::sort expects Closure, callable provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php", - "snippet": " ->sort($this->getFilenameSortCallback());", - "selected_text": "$this->getFilenameSortCallback()", + "message": "Argument 2 of array_filter expects callable(mixed, mixed=):scalar, impure-Closure(string):(false|list) provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/Finder/FileFinder.php", + "snippet": " $directories = array_filter($directories, function (string $directory) {\n return glob($directory, GLOB_NOSORT);\n });", + "selected_text": "function (string $directory) {\n return glob($directory, GLOB_NOSORT);\n }", "error_level": 6, "shortcode": 4 }, { "severity": "error", - "line_from": 68, - "line_to": 68, + "line_from": 70, + "line_to": 72, "type": "InvalidArgument", - "message": "Argument 2 of array_filter expects callable(mixed, mixed=):scalar, string(glob) provided", + "message": "Argument 2 of array_filter expects callable(mixed, mixed=):scalar, impure-Closure(string):(false|list) provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinder.php", - "snippet": " $directories = array_filter($directories, 'glob');", - "selected_text": "'glob'", + "snippet": " function (string $directory) {\n return glob($directory, GLOB_NOSORT | GLOB_ONLYDIR);\n },", + "selected_text": "function (string $directory) {\n return glob($directory, GLOB_NOSORT | GLOB_ONLYDIR);\n }", "error_level": 6, "shortcode": 4 }, { "severity": "error", - "line_from": 107, - "line_to": 107, - "type": "InvalidArgument", - "message": "Argument 1 of Symfony\\Component\\Finder\\Finder::sort expects Closure, callable provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php", - "snippet": " ->sort($this->getFilenameSortCallback());", - "selected_text": "$this->getFilenameSortCallback()", + "line_from": 105, + "line_to": 105, + "type": "InvalidReturnStatement", + "message": "The inferred type 'mixed|string' does not match the declared return type 'int' for Spryker\\Zed\\Development\\Business\\SnifferConfiguration\\Builder\\ArchitectureSnifferConfigurationBuilder::getPriority", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/SnifferConfiguration/Builder/ArchitectureSnifferConfigurationBuilder.php", + "snippet": " return $userPriorityOption;", + "selected_text": "$userPriorityOption", "error_level": 6, - "shortcode": 4 + "shortcode": 128 + }, + { + "severity": "error", + "line_from": 91, + "line_to": 91, + "type": "InvalidReturnType", + "message": "The declared return type 'ArrayObject' for Spryker\\Zed\\Development\\Communication\\Console\\AbstractCoreModuleAwareConsole::getModuleDependencies is incorrect, got 'ArrayObject|array'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php", + "snippet": " * @return \\ArrayObject", + "selected_text": "\\ArrayObject", + "error_level": 6, + "shortcode": 11 + }, + { + "severity": "error", + "line_from": 101, + "line_to": 101, + "type": "InvalidReturnStatement", + "message": "The inferred type 'ArrayObject|array' does not match the declared return type 'ArrayObject' for Spryker\\Zed\\Development\\Communication\\Console\\AbstractCoreModuleAwareConsole::getModuleDependencies", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php", + "snippet": " return $dependencyValidationResponseTransfer->getModuleDependencies();", + "selected_text": "$dependencyValidationResponseTransfer->getModuleDependencies()", + "error_level": 6, + "shortcode": 128 } ], "warning": [ { "severity": "info", - "line_from": 85, - "line_to": 85, - "type": "InvalidScalarArgument", - "message": "Argument 2 of usort expects callable(mixed, mixed):int, Closure(mixed, mixed):bool provided", + "line_from": 175, + "line_to": 175, + "type": "MoreSpecificImplementedParamType", + "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\ArchitectureSniffer\\ArchitectureSniffer::run has the more specific type 'array', expecting 'array' as defined by Spryker\\Zed\\Development\\Business\\ArchitectureSniffer\\ArchitectureSnifferInterface::run", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php", - "snippet": " usort($rules, $sortAlphabetically);", - "selected_text": "$sortAlphabetically", - "error_level": 4, - "shortcode": 12 + "snippet": " public function run($directory, array $options = []): array", + "selected_text": "$options", + "error_level": 5, + "shortcode": 140 }, { "severity": "info", - "line_from": 118, - "line_to": 118, + "line_from": 192, + "line_to": 192, "type": "PossiblyNullArgument", - "message": "Argument 1 of Zend\\Config\\Reader\\ReaderInterface::fromString cannot be null, possibly null value provided", + "message": "Argument 1 of Laminas\\Config\\Reader\\ReaderInterface::fromString cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php", "snippet": " $results = $this->xmlReader->fromString($output);", "selected_text": "$output", @@ -100,8 +160,8 @@ }, { "severity": "info", - "line_from": 165, - "line_to": 165, + "line_from": 313, + "line_to": 313, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php", @@ -112,8 +172,8 @@ }, { "severity": "info", - "line_from": 88, - "line_to": 88, + "line_from": 133, + "line_to": 133, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -124,8 +184,8 @@ }, { "severity": "info", - "line_from": 88, - "line_to": 88, + "line_from": 133, + "line_to": 133, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -136,8 +196,8 @@ }, { "severity": "info", - "line_from": 88, - "line_to": 88, + "line_from": 133, + "line_to": 133, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -148,8 +208,8 @@ }, { "severity": "info", - "line_from": 92, - "line_to": 92, + "line_from": 137, + "line_to": 137, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -160,20 +220,20 @@ }, { "severity": "info", - "line_from": 92, - "line_to": 97, + "line_from": 137, + "line_to": 142, "type": "ArgumentTypeCoercion", "message": "Argument 1 of ReflectionClass::__construct expects class-string|object|trait-string, parent type non-empty-string provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", - "snippet": " $bridgeBuilderDataTransfer->getVendor() . '\\\\' .\n $bridgeBuilderDataTransfer->getApplication() . '\\\\' .\n $bridgeBuilderDataTransfer->getModule() . '\\\\' .\n 'Dependency\\\\' .\n $bridgeBuilderDataTransfer->getToType() . '\\\\' .\n $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface'", + "snippet": " $bridgeBuilderDataTransfer->getVendor() . '\\\\' .\n $bridgeBuilderDataTransfer->getApplication() . '\\\\' .\n $bridgeBuilderDataTransfer->getModule() . '\\\\' .\n 'Dependency\\\\' .\n $bridgeBuilderDataTransfer->getToType() . '\\\\' .\n $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface',", "selected_text": "$bridgeBuilderDataTransfer->getVendor() . '\\\\' .\n $bridgeBuilderDataTransfer->getApplication() . '\\\\' .\n $bridgeBuilderDataTransfer->getModule() . '\\\\' .\n 'Dependency\\\\' .\n $bridgeBuilderDataTransfer->getToType() . '\\\\' .\n $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface'", "error_level": 3, "shortcode": 193 }, { "severity": "info", - "line_from": 93, - "line_to": 93, + "line_from": 138, + "line_to": 138, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -184,8 +244,8 @@ }, { "severity": "info", - "line_from": 94, - "line_to": 94, + "line_from": 139, + "line_to": 139, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -196,8 +256,8 @@ }, { "severity": "info", - "line_from": 96, - "line_to": 96, + "line_from": 141, + "line_to": 141, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -208,44 +268,44 @@ }, { "severity": "info", - "line_from": 97, - "line_to": 97, + "line_from": 142, + "line_to": 142, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", - "snippet": " $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface'", + "snippet": " $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface',", "selected_text": "$bridgeBuilderDataTransfer->getModule()", "error_level": 1, "shortcode": 80 }, { "severity": "info", - "line_from": 97, - "line_to": 97, + "line_from": 142, + "line_to": 142, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", - "snippet": " $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface'", + "snippet": " $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface',", "selected_text": "$bridgeBuilderDataTransfer->getToModule()", "error_level": 1, "shortcode": 80 }, { "severity": "info", - "line_from": 97, - "line_to": 97, + "line_from": 142, + "line_to": 142, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", - "snippet": " $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface'", + "snippet": " $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Interface',", "selected_text": "$bridgeBuilderDataTransfer->getToType()", "error_level": 1, "shortcode": 80 }, { "severity": "info", - "line_from": 119, - "line_to": 119, + "line_from": 164, + "line_to": 164, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -256,8 +316,8 @@ }, { "severity": "info", - "line_from": 119, - "line_to": 119, + "line_from": 164, + "line_to": 164, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -268,8 +328,8 @@ }, { "severity": "info", - "line_from": 119, - "line_to": 119, + "line_from": 164, + "line_to": 164, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -280,8 +340,8 @@ }, { "severity": "info", - "line_from": 124, - "line_to": 124, + "line_from": 169, + "line_to": 169, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -292,20 +352,20 @@ }, { "severity": "info", - "line_from": 124, - "line_to": 129, + "line_from": 169, + "line_to": 174, "type": "ArgumentTypeCoercion", "message": "Argument 1 of ReflectionClass::__construct expects class-string|object|trait-string, parent type non-empty-string provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", - "snippet": " $bridgeBuilderDataTransfer->getVendor() . '\\\\' .\n $bridgeBuilderDataTransfer->getApplication() . '\\\\' .\n $bridgeBuilderDataTransfer->getModule() . '\\\\' .\n 'Dependency\\\\' .\n $bridgeBuilderDataTransfer->getToType() . '\\\\' .\n $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge'", + "snippet": " $bridgeBuilderDataTransfer->getVendor() . '\\\\' .\n $bridgeBuilderDataTransfer->getApplication() . '\\\\' .\n $bridgeBuilderDataTransfer->getModule() . '\\\\' .\n 'Dependency\\\\' .\n $bridgeBuilderDataTransfer->getToType() . '\\\\' .\n $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge',", "selected_text": "$bridgeBuilderDataTransfer->getVendor() . '\\\\' .\n $bridgeBuilderDataTransfer->getApplication() . '\\\\' .\n $bridgeBuilderDataTransfer->getModule() . '\\\\' .\n 'Dependency\\\\' .\n $bridgeBuilderDataTransfer->getToType() . '\\\\' .\n $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge'", "error_level": 3, "shortcode": 193 }, { "severity": "info", - "line_from": 125, - "line_to": 125, + "line_from": 170, + "line_to": 170, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -316,8 +376,8 @@ }, { "severity": "info", - "line_from": 126, - "line_to": 126, + "line_from": 171, + "line_to": 171, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -328,8 +388,8 @@ }, { "severity": "info", - "line_from": 128, - "line_to": 128, + "line_from": 173, + "line_to": 173, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -340,44 +400,44 @@ }, { "severity": "info", - "line_from": 129, - "line_to": 129, + "line_from": 174, + "line_to": 174, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", - "snippet": " $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge'", + "snippet": " $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge',", "selected_text": "$bridgeBuilderDataTransfer->getModule()", "error_level": 1, "shortcode": 80 }, { "severity": "info", - "line_from": 129, - "line_to": 129, + "line_from": 174, + "line_to": 174, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", - "snippet": " $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge'", + "snippet": " $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge',", "selected_text": "$bridgeBuilderDataTransfer->getToModule()", "error_level": 1, "shortcode": 80 }, { "severity": "info", - "line_from": 129, - "line_to": 129, + "line_from": 174, + "line_to": 174, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", - "snippet": " $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge'", + "snippet": " $bridgeBuilderDataTransfer->getModule() . 'To' . $bridgeBuilderDataTransfer->getToModule() . $bridgeBuilderDataTransfer->getToType() . 'Bridge',", "selected_text": "$bridgeBuilderDataTransfer->getToType()", "error_level": 1, "shortcode": 80 }, { "severity": "info", - "line_from": 210, - "line_to": 210, + "line_from": 256, + "line_to": 256, "type": "PossiblyNullArgument", "message": "Argument 1 of lcfirst cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -388,8 +448,8 @@ }, { "severity": "info", - "line_from": 213, - "line_to": 213, + "line_from": 259, + "line_to": 259, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\CodeBuilder\\Bridge\\BridgeBuilder::getModuleLayer cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -400,8 +460,8 @@ }, { "severity": "info", - "line_from": 214, - "line_to": 214, + "line_from": 260, + "line_to": 260, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\CodeBuilder\\Bridge\\BridgeBuilder::getModuleLayer cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -412,8 +472,8 @@ }, { "severity": "info", - "line_from": 362, - "line_to": 362, + "line_from": 408, + "line_to": 408, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\DevelopmentConfig::getPathToInternalNamespace cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -424,8 +484,8 @@ }, { "severity": "info", - "line_from": 364, - "line_to": 364, + "line_from": 410, + "line_to": 410, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -436,8 +496,8 @@ }, { "severity": "info", - "line_from": 367, - "line_to": 367, + "line_from": 413, + "line_to": 413, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\CodeBuilder\\Bridge\\BridgeBuilder::normalizeNameForSplit cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -448,8 +508,8 @@ }, { "severity": "info", - "line_from": 368, - "line_to": 368, + "line_from": 414, + "line_to": 414, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\CodeBuilder\\Bridge\\BridgeBuilder::normalizeNameForSplit cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -460,8 +520,8 @@ }, { "severity": "info", - "line_from": 384, - "line_to": 384, + "line_from": 430, + "line_to": 430, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\DevelopmentConfig::getPathToInternalNamespace cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -472,8 +532,8 @@ }, { "severity": "info", - "line_from": 386, - "line_to": 386, + "line_from": 432, + "line_to": 432, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -484,8 +544,8 @@ }, { "severity": "info", - "line_from": 389, - "line_to": 389, + "line_from": 435, + "line_to": 435, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\CodeBuilder\\Bridge\\BridgeBuilder::normalizeNameForSplit cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -496,8 +556,8 @@ }, { "severity": "info", - "line_from": 390, - "line_to": 390, + "line_from": 436, + "line_to": 436, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\CodeBuilder\\Bridge\\BridgeBuilder::normalizeNameForSplit cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -508,8 +568,8 @@ }, { "severity": "info", - "line_from": 438, - "line_to": 438, + "line_from": 484, + "line_to": 484, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -520,8 +580,8 @@ }, { "severity": "info", - "line_from": 438, - "line_to": 438, + "line_from": 484, + "line_to": 484, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -532,8 +592,8 @@ }, { "severity": "info", - "line_from": 453, - "line_to": 453, + "line_from": 499, + "line_to": 499, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -544,8 +604,8 @@ }, { "severity": "info", - "line_from": 454, - "line_to": 454, + "line_from": 500, + "line_to": 500, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -556,8 +616,8 @@ }, { "severity": "info", - "line_from": 455, - "line_to": 455, + "line_from": 501, + "line_to": 501, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -568,8 +628,8 @@ }, { "severity": "info", - "line_from": 458, - "line_to": 458, + "line_from": 504, + "line_to": 504, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -580,8 +640,8 @@ }, { "severity": "info", - "line_from": 461, - "line_to": 461, + "line_from": 507, + "line_to": 507, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -592,8 +652,8 @@ }, { "severity": "info", - "line_from": 461, - "line_to": 461, + "line_from": 507, + "line_to": 507, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -604,8 +664,8 @@ }, { "severity": "info", - "line_from": 463, - "line_to": 463, + "line_from": 509, + "line_to": 509, "type": "ArgumentTypeCoercion", "message": "Argument 1 of ReflectionClass::__construct expects class-string|object|trait-string, parent type non-empty-string provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -616,8 +676,8 @@ }, { "severity": "info", - "line_from": 482, - "line_to": 482, + "line_from": 528, + "line_to": 528, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -628,8 +688,8 @@ }, { "severity": "info", - "line_from": 483, - "line_to": 483, + "line_from": 529, + "line_to": 529, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -640,8 +700,8 @@ }, { "severity": "info", - "line_from": 484, - "line_to": 484, + "line_from": 530, + "line_to": 530, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -652,8 +712,8 @@ }, { "severity": "info", - "line_from": 487, - "line_to": 487, + "line_from": 533, + "line_to": 533, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -664,8 +724,8 @@ }, { "severity": "info", - "line_from": 490, - "line_to": 490, + "line_from": 536, + "line_to": 536, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -676,8 +736,8 @@ }, { "severity": "info", - "line_from": 490, - "line_to": 490, + "line_from": 536, + "line_to": 536, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -688,8 +748,8 @@ }, { "severity": "info", - "line_from": 492, - "line_to": 492, + "line_from": 538, + "line_to": 538, "type": "ArgumentTypeCoercion", "message": "Argument 1 of ReflectionClass::__construct expects class-string|object|trait-string, parent type non-empty-string provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", @@ -700,56 +760,8 @@ }, { "severity": "info", - "line_from": 587, - "line_to": 587, - "type": "PossiblyNullReference", - "message": "Cannot call method getName on possibly null value", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", - "snippet": " $finalOutput .= $this->getClassNameFromFqcn($parameter->getType()->getName()) . ' ';", - "selected_text": "getName", - "error_level": 3, - "shortcode": 83 - }, - { - "severity": "info", - "line_from": 647, - "line_to": 647, - "type": "PossiblyNullReference", - "message": "Cannot call method isBuiltin on possibly null value", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", - "snippet": " if ($parameter->hasType() && !$parameter->getType()->isBuiltin()) {", - "selected_text": "isBuiltin", - "error_level": 3, - "shortcode": 83 - }, - { - "severity": "info", - "line_from": 648, - "line_to": 648, - "type": "PossiblyNullReference", - "message": "Cannot call method getName on possibly null value", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", - "snippet": " $type = $parameter->getType()->getName();", - "selected_text": "getName", - "error_level": 3, - "shortcode": 83 - }, - { - "severity": "info", - "line_from": 195, - "line_to": 195, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of strtolower expects string, possibly different type array|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php", - "snippet": " $module = strtolower($filter->filter($module));", - "selected_text": "$filter->filter($module)", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 61, - "line_to": 61, + "line_from": 109, + "line_to": 109, "type": "PossiblyNullArgument", "message": "Argument 1 of strpos cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", @@ -760,8 +772,8 @@ }, { "severity": "info", - "line_from": 62, - "line_to": 62, + "line_from": 110, + "line_to": 110, "type": "PossiblyNullArgument", "message": "Argument 2 of explode cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", @@ -772,44 +784,32 @@ }, { "severity": "info", - "line_from": 71, - "line_to": 71, + "line_from": 148, + "line_to": 148, "type": "PossiblyNullArgument", - "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\CodeStyleSniffer\\CodeStyleSniffer::resolvePath cannot be null, possibly null value provided", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\CodeStyleSniffer\\CodeStyleSniffer::resolveCorePath cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", - "snippet": " $path = $this->resolvePath($module, $namespace, $pathOption);", + "snippet": " return $this->resolveCorePath($module, $namespace, $path, $options);", "selected_text": "$module", "error_level": 3, "shortcode": 78 }, { "severity": "info", - "line_from": 90, - "line_to": 90, - "type": "PossiblyNullArgument", - "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\CodeStyleSniffer\\CodeStyleSniffer::getPathToCore cannot be null, possibly null value provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", - "snippet": " return $this->getPathToCore($namespace, $path);", - "selected_text": "$path", - "error_level": 3, - "shortcode": 78 - }, - { - "severity": "info", - "line_from": 99, - "line_to": 99, + "line_from": 152, + "line_to": 152, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", - "snippet": " return $pathToRoot . $path;", + "snippet": " return $this->addPath([], $this->config->getPathToRoot() . $path, $options);", "selected_text": "$path", "error_level": 1, "shortcode": 80 }, { "severity": "info", - "line_from": 164, - "line_to": 164, + "line_from": 244, + "line_to": 244, "type": "PossiblyNullArgument", "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\CodeStyleSniffer\\CodeStyleSniffer::buildPath cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", @@ -820,8 +820,8 @@ }, { "severity": "info", - "line_from": 171, - "line_to": 171, + "line_from": 251, + "line_to": 251, "type": "PossiblyNullArgument", "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\CodeStyleSniffer\\CodeStyleSniffer::buildPath cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", @@ -832,8 +832,32 @@ }, { "severity": "info", - "line_from": 276, - "line_to": 276, + "line_from": 334, + "line_to": 334, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", + "snippet": " $optionIgnore .= ($optionIgnore ? ',' : '') . '/src/Generated/';", + "selected_text": "$optionIgnore", + "error_level": 1, + "shortcode": 80 + }, + { + "severity": "info", + "line_from": 368, + "line_to": 368, + "type": "PossiblyNullArgument", + "message": "Argument 1 of strpos cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", + "snippet": " if (strpos($codeStyleSnifferConfiguration->getModule(), '.all') !== false) {", + "selected_text": "$codeStyleSnifferConfiguration->getModule()", + "error_level": 3, + "shortcode": 78 + }, + { + "severity": "info", + "line_from": 376, + "line_to": 376, "type": "NullableReturnStatement", "message": "The declared return type 'int' for Spryker\\Zed\\Development\\Business\\CodeStyleSniffer\\CodeStyleSniffer::runSnifferCommand is not nullable, but the function returns 'int|null'", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", @@ -844,8 +868,32 @@ }, { "severity": "info", - "line_from": 198, - "line_to": 198, + "line_from": 384, + "line_to": 384, + "type": "InvalidNullableReturnType", + "message": "The declared return type 'int' for Spryker\\Zed\\Development\\Business\\CodeStyleSniffer\\CodeStyleSniffer::runSnifferCommandForAll is not nullable, but 'int|null' contains null", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", + "snippet": " * @return int", + "selected_text": "int", + "error_level": 5, + "shortcode": 144 + }, + { + "severity": "info", + "line_from": 407, + "line_to": 407, + "type": "NullableReturnStatement", + "message": "The declared return type 'int' for Spryker\\Zed\\Development\\Business\\CodeStyleSniffer\\CodeStyleSniffer::runSnifferCommandForAll is not nullable, but the function returns 'int|null'", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", + "snippet": " return $process->getExitCode();", + "selected_text": "$process->getExitCode()", + "error_level": 5, + "shortcode": 139 + }, + { + "severity": "info", + "line_from": 220, + "line_to": 220, "type": "InvalidNullableReturnType", "message": "The declared return type 'int' for Spryker\\Zed\\Development\\Business\\CodeTest\\CodeTester::runTestCommand is not nullable, but 'int|null' contains null", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php", @@ -856,8 +904,8 @@ }, { "severity": "info", - "line_from": 227, - "line_to": 227, + "line_from": 249, + "line_to": 249, "type": "NullableReturnStatement", "message": "The declared return type 'int' for Spryker\\Zed\\Development\\Business\\CodeTest\\CodeTester::runTestCommand is not nullable, but the function returns 'int|null'", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php", @@ -868,8 +916,8 @@ }, { "severity": "info", - "line_from": 234, - "line_to": 234, + "line_from": 256, + "line_to": 256, "type": "InvalidNullableReturnType", "message": "The declared return type 'int' for Spryker\\Zed\\Development\\Business\\CodeTest\\CodeTester::runFixturesCommand is not nullable, but 'int|null' contains null", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php", @@ -880,8 +928,8 @@ }, { "severity": "info", - "line_from": 259, - "line_to": 259, + "line_from": 281, + "line_to": 281, "type": "NullableReturnStatement", "message": "The declared return type 'int' for Spryker\\Zed\\Development\\Business\\CodeTest\\CodeTester::runFixturesCommand is not nullable, but the function returns 'int|null'", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php", @@ -904,8 +952,8 @@ }, { "severity": "info", - "line_from": 77, - "line_to": 77, + "line_from": 79, + "line_to": 79, "type": "PossiblyNullArgument", "message": "Argument 2 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerJson.php", @@ -916,8 +964,8 @@ }, { "severity": "info", - "line_from": 40, - "line_to": 40, + "line_from": 43, + "line_to": 43, "type": "PossiblyNullArgument", "message": "Argument 1 of Symfony\\Component\\Finder\\Finder::in cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerJsonFinder.php", @@ -928,8 +976,8 @@ }, { "severity": "info", - "line_from": 53, - "line_to": 53, + "line_from": 60, + "line_to": 60, "type": "PossiblyNullReference", "message": "Cannot call method getName on possibly null value", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php", @@ -938,30 +986,6 @@ "error_level": 3, "shortcode": 83 }, - { - "severity": "info", - "line_from": 158, - "line_to": 158, - "type": "InvalidScalarArgument", - "message": "Argument 2 of uksort expects callable(mixed, mixed):int, Closure(mixed, mixed):(bool|int(0)) provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php", - "snippet": " uksort($composerJson, $callable);", - "selected_text": "$callable", - "error_level": 4, - "shortcode": 12 - }, - { - "severity": "info", - "line_from": 174, - "line_to": 174, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of mb_strtolower expects string, possibly different type array|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php", - "snippet": " $moduleName = mb_strtolower($filter->filter(basename($composerJsonFile->getPath())));", - "selected_text": "$filter->filter(basename($composerJsonFile->getPath()))", - "error_level": 3, - "shortcode": 92 - }, { "severity": "info", "line_from": 78, @@ -1036,8 +1060,8 @@ }, { "severity": "info", - "line_from": 159, - "line_to": 159, + "line_from": 160, + "line_to": 160, "type": "PossiblyNullArrayOffset", "message": "Cannot access value on variable $this->moduleTransferCollectionGroupedByModuleName[null|string] using possibly null offset null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php", @@ -1048,8 +1072,8 @@ }, { "severity": "info", - "line_from": 178, - "line_to": 178, + "line_from": 179, + "line_to": 179, "type": "PossiblyNullArrayOffset", "message": "Cannot access value on variable $this->packageTransferCollectionGroupedByPackageName[null|string] using possibly null offset null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/ComposerNameFinder.php", @@ -1060,27 +1084,15 @@ }, { "severity": "info", - "line_from": 76, - "line_to": 76, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of strtolower expects string, possibly different type array|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php", - "snippet": " $dependentModule = strtolower($filter->filter($dependentModule));", - "selected_text": "$filter->filter($dependentModule)", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 95, - "line_to": 95, - "type": "PossiblyInvalidCast", - "message": "array cannot be cast to string", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php", - "snippet": " return (string)$filter->filter($moduleName);", - "selected_text": "$filter->filter($moduleName)", - "error_level": 3, - "shortcode": 190 + "line_from": 54, + "line_to": 54, + "type": "RedundantCondition", + "message": "Operand of type true is always true", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Composer/Updater/RequireDevUpdater.php", + "snippet": " } elseif (!$requiresCodeSniffer) {", + "selected_text": "!$requiresCodeSniffer", + "error_level": 4, + "shortcode": 122 }, { "severity": "info", @@ -1132,20 +1144,8 @@ }, { "severity": "info", - "line_from": 140, - "line_to": 140, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of ucfirst expects string, possibly different type array|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyContainer/DependencyContainer.php", - "snippet": " return ucfirst($filter->filter($moduleName));", - "selected_text": "$filter->filter($moduleName)", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 72, - "line_to": 72, + "line_from": 75, + "line_to": 75, "type": "PossiblyNullArgument", "message": "Argument 2 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php", @@ -1156,8 +1156,8 @@ }, { "severity": "info", - "line_from": 72, - "line_to": 72, + "line_from": 75, + "line_to": 75, "type": "PossiblyNullReference", "message": "Cannot call method getName on possibly null value", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php", @@ -1168,8 +1168,8 @@ }, { "severity": "info", - "line_from": 72, - "line_to": 72, + "line_from": 75, + "line_to": 75, "type": "PossiblyNullArgument", "message": "Argument 3 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php", @@ -1180,8 +1180,8 @@ }, { "severity": "info", - "line_from": 75, - "line_to": 75, + "line_from": 78, + "line_to": 78, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Dependency\\DependencyFinder\\ExtensionDependencyFinder::buildComposerName cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php", @@ -1192,8 +1192,8 @@ }, { "severity": "info", - "line_from": 75, - "line_to": 75, + "line_from": 78, + "line_to": 78, "type": "PossiblyNullReference", "message": "Cannot call method getName on possibly null value", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php", @@ -1204,8 +1204,8 @@ }, { "severity": "info", - "line_from": 75, - "line_to": 75, + "line_from": 78, + "line_to": 78, "type": "PossiblyNullArgument", "message": "Argument 2 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExtensionDependencyFinder.php", @@ -1216,20 +1216,8 @@ }, { "severity": "info", - "line_from": 237, - "line_to": 237, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of ucfirst expects string, possibly different type array|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php", - "snippet": " return ucfirst($filter->filter($dependentModule));", - "selected_text": "$filter->filter($dependentModule)", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 110, - "line_to": 110, + "line_from": 113, + "line_to": 113, "type": "PossiblyNullArgument", "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\Dependency\\DependencyFinder\\InternalDependencyFinder::getNamesFromUseStatements cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/InternalDependencyFinder.php", @@ -1240,8 +1228,8 @@ }, { "severity": "info", - "line_from": 68, - "line_to": 68, + "line_from": 71, + "line_to": 71, "type": "PossiblyNullArgument", "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\Dependency\\SchemaParser\\PropelSchemaParserInterface::getModuleNameByForeignReference cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/PersistenceDependencyFinder.php", @@ -1252,8 +1240,8 @@ }, { "severity": "info", - "line_from": 110, - "line_to": 110, + "line_from": 113, + "line_to": 113, "type": "PossiblyNullArgument", "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\Dependency\\DependencyFinder\\SprykerSdkDependencyFinder::getModuleNamesFromUseStatements cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/SprykerSdkDependencyFinder.php", @@ -1264,8 +1252,8 @@ }, { "severity": "info", - "line_from": 36, - "line_to": 36, + "line_from": 39, + "line_to": 39, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Dependency\\DependencyFinder\\TwigDependencyFinder\\AtomFunctionDependencyFinder::addFindings cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/AtomFunctionDependencyFinder.php", @@ -1276,8 +1264,8 @@ }, { "severity": "info", - "line_from": 36, - "line_to": 36, + "line_from": 39, + "line_to": 39, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Dependency\\DependencyFinder\\TwigDependencyFinder\\MoleculeFunctionDependencyFinder::addFindings cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/MoleculeFunctionDependencyFinder.php", @@ -1288,8 +1276,8 @@ }, { "severity": "info", - "line_from": 36, - "line_to": 36, + "line_from": 39, + "line_to": 39, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Dependency\\DependencyFinder\\TwigDependencyFinder\\OrganismFunctionDependencyFinder::addFindings cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/OrganismFunctionDependencyFinder.php", @@ -1300,8 +1288,8 @@ }, { "severity": "info", - "line_from": 36, - "line_to": 36, + "line_from": 39, + "line_to": 39, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Dependency\\DependencyFinder\\TwigDependencyFinder\\TemplateFunctionDependencyFinder::addFindings cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/TemplateFunctionDependencyFinder.php", @@ -1312,8 +1300,8 @@ }, { "severity": "info", - "line_from": 36, - "line_to": 36, + "line_from": 39, + "line_to": 39, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Dependency\\DependencyFinder\\TwigDependencyFinder\\ViewFunctionDependencyFinder::addFindings cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/TwigDependencyFinder/ViewFunctionDependencyFinder.php", @@ -1336,8 +1324,8 @@ }, { "severity": "info", - "line_from": 46, - "line_to": 46, + "line_from": 49, + "line_to": 49, "type": "LessSpecificImplementedReturnType", "message": "The inherited return type 'array' for Spryker\\Zed\\Development\\Business\\Dependency\\SchemaParser\\PropelSchemaParserInterface::getForeignColumnNames is more specific than the implemented return type for Spryker\\Zed\\Development\\Business\\Dependency\\SchemaParser\\PropelSchemaParser::getforeigncolumnnames 'array'", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php", @@ -1348,8 +1336,8 @@ }, { "severity": "info", - "line_from": 149, - "line_to": 149, + "line_from": 154, + "line_to": 154, "type": "MismatchingDocblockReturnType", "message": "Docblock has incorrect return type 'Symfony\\Component\\Finder\\Finder|array', should be 'Symfony\\Component\\Finder\\Finder'", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php", @@ -1365,8 +1353,8 @@ "type": "MismatchingDocblockReturnType", "message": "Docblock has incorrect return type 'Symfony\\Component\\Finder\\Finder|array', should be 'Symfony\\Component\\Finder\\Finder'", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php", - "snippet": " * @return \\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", - "selected_text": "\\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", + "snippet": " * @return \\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", + "selected_text": "\\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", "error_level": 4, "shortcode": 142 }, @@ -1377,8 +1365,8 @@ "type": "MismatchingDocblockReturnType", "message": "Docblock has incorrect return type 'Symfony\\Component\\Finder\\Finder|array', should be 'Symfony\\Component\\Finder\\Finder'", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinderInterface.php", - "snippet": " * @return \\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", - "selected_text": "\\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", + "snippet": " * @return \\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", + "selected_text": "\\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", "error_level": 4, "shortcode": 142 }, @@ -1408,8 +1396,8 @@ }, { "severity": "info", - "line_from": 58, - "line_to": 58, + "line_from": 73, + "line_to": 73, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DependencyTree\\ComposerDependencyParser::parseComposerJson cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", @@ -1420,8 +1408,8 @@ }, { "severity": "info", - "line_from": 68, - "line_to": 68, + "line_from": 83, + "line_to": 83, "type": "PossiblyNullArgument", "message": "Argument 2 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", @@ -1432,8 +1420,8 @@ }, { "severity": "info", - "line_from": 68, - "line_to": 68, + "line_from": 83, + "line_to": 83, "type": "PossiblyNullReference", "message": "Cannot call method getOrganization on possibly null value", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", @@ -1444,8 +1432,8 @@ }, { "severity": "info", - "line_from": 68, - "line_to": 68, + "line_from": 83, + "line_to": 83, "type": "PossiblyNullReference", "message": "Cannot call method getNameDashed on possibly null value", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", @@ -1456,8 +1444,8 @@ }, { "severity": "info", - "line_from": 68, - "line_to": 68, + "line_from": 83, + "line_to": 83, "type": "PossiblyNullArgument", "message": "Argument 3 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", @@ -1468,8 +1456,8 @@ }, { "severity": "info", - "line_from": 68, - "line_to": 68, + "line_from": 83, + "line_to": 83, "type": "PossiblyNullReference", "message": "Cannot call method getNameDashed on possibly null value", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", @@ -1480,8 +1468,8 @@ }, { "severity": "info", - "line_from": 237, - "line_to": 237, + "line_from": 252, + "line_to": 252, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DependencyTree\\ComposerDependencyParser::parseDeclaredDependenciesForBundle cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", @@ -1492,8 +1480,32 @@ }, { "severity": "info", - "line_from": 271, - "line_to": 271, + "line_from": 293, + "line_to": 293, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DependencyTree\\ComposerDependencyParser::parseComposerJson cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", + "snippet": " $composerDependencyCollectionTransfer = $this->parseComposerJson($dependencyCollectionTransfer->getModule());", + "selected_text": "$dependencyCollectionTransfer->getModule()", + "error_level": 3, + "shortcode": 78 + }, + { + "severity": "info", + "line_from": 300, + "line_to": 300, + "type": "PossiblyNullArgument", + "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\DependencyTree\\ComposerDependencyParser::addDeclaredDependency cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", + "snippet": " $dependencyCollectionTransfer = $this->addDeclaredDependency($dependencyCollectionTransfer, $composerDependency->getName());", + "selected_text": "$composerDependency->getName()", + "error_level": 3, + "shortcode": 78 + }, + { + "severity": "info", + "line_from": 316, + "line_to": 316, "type": "PossiblyNullArgument", "message": "Argument 2 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", @@ -1504,8 +1516,8 @@ }, { "severity": "info", - "line_from": 307, - "line_to": 307, + "line_from": 353, + "line_to": 353, "type": "PossiblyNullArgument", "message": "Argument 2 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", @@ -1516,10 +1528,10 @@ }, { "severity": "info", - "line_from": 404, - "line_to": 404, + "line_from": 451, + "line_to": 451, "type": "PossiblyFalseOperand", - "message": "Left operand cannot be falsable, got false|int", + "message": "Left operand cannot be falsable, got false|int|positive-int", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", "snippet": " $name = substr($package, strpos($package, '/') + 1);", "selected_text": "strpos($package, '/')", @@ -1528,20 +1540,8 @@ }, { "severity": "info", - "line_from": 406, - "line_to": 406, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of ucfirst expects string, possibly different type array|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", - "snippet": " $name = ucfirst($filter->filter($name));", - "selected_text": "$filter->filter($name)", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 419, - "line_to": 419, + "line_from": 466, + "line_to": 466, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", @@ -1552,8 +1552,8 @@ }, { "severity": "info", - "line_from": 419, - "line_to": 419, + "line_from": 466, + "line_to": 466, "type": "PossiblyNullReference", "message": "Cannot call method getName on possibly null value", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", @@ -1586,30 +1586,6 @@ "error_level": 3, "shortcode": 162 }, - { - "severity": "info", - "line_from": 93, - "line_to": 93, - "type": "PossiblyUndefinedVariable", - "message": "Possibly undefined variable $dependencyInformation, first seen on line 93", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php", - "snippet": " $dependencyInformation[DependencyTree::META_FOREIGN_LAYER] = 'external';", - "selected_text": "$dependencyInformation", - "error_level": 3, - "shortcode": 18 - }, - { - "severity": "info", - "line_from": 141, - "line_to": 141, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of ucfirst expects string, possibly different type array|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php", - "snippet": " return ucfirst($filter->filter($foreignBundle));", - "selected_text": "$filter->filter($foreignBundle)", - "error_level": 3, - "shortcode": 92 - }, { "severity": "info", "line_from": 117, @@ -1646,18 +1622,6 @@ "error_level": 3, "shortcode": 78 }, - { - "severity": "info", - "line_from": 82, - "line_to": 82, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of strtolower expects string, possibly different type array|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/FileInfoExtractor.php", - "snippet": " return strtolower($filter->filter($classNameParts[0]));", - "selected_text": "$filter->filter($classNameParts[0])", - "error_level": 3, - "shortcode": 92 - }, { "severity": "info", "line_from": 32, @@ -1672,8 +1636,8 @@ }, { "severity": "info", - "line_from": 44, - "line_to": 44, + "line_from": 50, + "line_to": 50, "type": "PossiblyNullArgument", "message": "Argument 1 of rtrim cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/AbstractPathBuilder.php", @@ -1684,8 +1648,8 @@ }, { "severity": "info", - "line_from": 29, - "line_to": 29, + "line_from": 35, + "line_to": 35, "type": "PossiblyNullArgument", "message": "Argument 1 of rtrim cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/SprykerEcoPathBuilder.php", @@ -1696,8 +1660,8 @@ }, { "severity": "info", - "line_from": 29, - "line_to": 29, + "line_from": 35, + "line_to": 35, "type": "PossiblyNullArgument", "message": "Argument 1 of rtrim cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/Finder/PathBuilder/SprykerSdkPathBuilder.php", @@ -1756,34 +1720,34 @@ }, { "severity": "info", - "line_from": 118, - "line_to": 118, - "type": "MismatchingDocblockParamType", - "message": "Parameter $existingMethodTransferCollection has wrong type 'ArrayObject|array', should be 'ArrayObject'", + "line_from": 109, + "line_to": 109, + "type": "PossiblyInvalidArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\IdeAutoCompletion\\Bundle\\BundleFinder::mergeMethods expects ArrayObject, possibly different type ArrayObject|array provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinder.php", - "snippet": " * @param \\ArrayObject|\\Generated\\Shared\\Transfer\\IdeAutoCompletionBundleMethodTransfer[] $existingMethodTransferCollection", - "selected_text": "\\ArrayObject|\\Generated\\Shared\\Transfer\\IdeAutoCompletionBundleMethodTransfer[]", - "error_level": 4, - "shortcode": 141 + "snippet": " $existingBundleTransfer->getMethods(),", + "selected_text": "$existingBundleTransfer->getMethods()", + "error_level": 3, + "shortcode": 92 }, { "severity": "info", - "line_from": 119, - "line_to": 119, - "type": "MismatchingDocblockParamType", - "message": "Parameter $methodTransferCollection has wrong type 'ArrayObject|array', should be 'ArrayObject'", + "line_from": 110, + "line_to": 110, + "type": "PossiblyInvalidArgument", + "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\IdeAutoCompletion\\Bundle\\BundleFinder::mergeMethods expects ArrayObject, possibly different type ArrayObject|array provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinder.php", - "snippet": " * @param \\ArrayObject|\\Generated\\Shared\\Transfer\\IdeAutoCompletionBundleMethodTransfer[] $methodTransferCollection", - "selected_text": "\\ArrayObject|\\Generated\\Shared\\Transfer\\IdeAutoCompletionBundleMethodTransfer[]", - "error_level": 4, - "shortcode": 141 + "snippet": " $bundleTransfer->getMethods(),", + "selected_text": "$bundleTransfer->getMethods()", + "error_level": 3, + "shortcode": 92 }, { "severity": "info", "line_from": 130, "line_to": 130, "type": "PossiblyNullArrayOffset", - "message": "Cannot access value on variable $methodsByName[mixed|null|string] using possibly null offset mixed|null|string", + "message": "Cannot access value on variable $methodsByName[null|string] using possibly null offset null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinder.php", "snippet": " $methodsByName[$methodTransfer->getName()] = $methodTransfer;", "selected_text": "$methodsByName", @@ -1795,7 +1759,7 @@ "line_from": 134, "line_to": 134, "type": "PossiblyNullArrayOffset", - "message": "Cannot access value on variable $methodsByName[mixed|null|string] using possibly null offset mixed|null|string", + "message": "Cannot access value on variable $methodsByName[null|string] using possibly null offset null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/BundleFinder.php", "snippet": " $methodsByName[$methodTransfer->getName()] = $methodTransfer;", "selected_text": "$methodsByName", @@ -1804,8 +1768,8 @@ }, { "severity": "info", - "line_from": 101, - "line_to": 101, + "line_from": 104, + "line_to": 104, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\IdeAutoCompletion\\Bundle\\MethodBuilder\\AbstractBundleMethodBuilder::getInterfaceFileName cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/AbstractBundleMethodBuilder.php", @@ -1816,8 +1780,8 @@ }, { "severity": "info", - "line_from": 124, - "line_to": 124, + "line_from": 127, + "line_to": 127, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\IdeAutoCompletion\\Bundle\\MethodBuilder\\AbstractBundleMethodBuilder::getClassFileName cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/AbstractBundleMethodBuilder.php", @@ -1828,8 +1792,8 @@ }, { "severity": "info", - "line_from": 180, - "line_to": 180, + "line_from": 183, + "line_to": 183, "type": "PossiblyNullArgument", "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\IdeAutoCompletion\\Bundle\\NamespaceExtractorInterface::fromDirectory cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/AbstractBundleMethodBuilder.php", @@ -1857,7 +1821,7 @@ "type": "PossiblyNullArgument", "message": "Argument 3 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilder.php", - "snippet": " $bundleTransfer->getName()", + "snippet": " $bundleTransfer->getName(),", "selected_text": "$bundleTransfer->getName()", "error_level": 3, "shortcode": 78 @@ -1881,7 +1845,7 @@ "type": "PossiblyNullArgument", "message": "Argument 3 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilder.php", - "snippet": " $bundleTransfer->getName()", + "snippet": " $bundleTransfer->getName(),", "selected_text": "$bundleTransfer->getName()", "error_level": 3, "shortcode": 78 @@ -1905,7 +1869,7 @@ "type": "PossiblyNullArgument", "message": "Argument 3 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilder.php", - "snippet": " $bundleTransfer->getName()", + "snippet": " $bundleTransfer->getName(),", "selected_text": "$bundleTransfer->getName()", "error_level": 3, "shortcode": 78 @@ -1929,7 +1893,7 @@ "type": "PossiblyNullArgument", "message": "Argument 3 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ResourceMethodBuilder.php", - "snippet": " $bundleTransfer->getName()", + "snippet": " $bundleTransfer->getName(),", "selected_text": "$bundleTransfer->getName()", "error_level": 3, "shortcode": 78 @@ -1953,7 +1917,7 @@ "type": "PossiblyNullArgument", "message": "Argument 3 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilder.php", - "snippet": " $bundleTransfer->getName()", + "snippet": " $bundleTransfer->getName(),", "selected_text": "$bundleTransfer->getName()", "error_level": 3, "shortcode": 78 @@ -2037,7 +2001,7 @@ "type": "PossiblyNullArgument", "message": "Argument 5 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php", - "snippet": " $moduleTransfer->getName()", + "snippet": " $moduleTransfer->getName(),", "selected_text": "$moduleTransfer->getName()", "error_level": 3, "shortcode": 78 @@ -2049,15 +2013,15 @@ "type": "MismatchingDocblockReturnType", "message": "Docblock has incorrect return type 'Symfony\\Component\\Finder\\Finder|array', should be 'Symfony\\Component\\Finder\\Finder'", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php", - "snippet": " * @return \\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", - "selected_text": "\\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", + "snippet": " * @return \\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", + "selected_text": "\\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", "error_level": 4, "shortcode": 142 }, { "severity": "info", - "line_from": 157, - "line_to": 157, + "line_from": 164, + "line_to": 164, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php", @@ -2085,8 +2049,8 @@ "type": "MismatchingDocblockReturnType", "message": "Docblock has incorrect return type 'Symfony\\Component\\Finder\\Finder|array', should be 'Symfony\\Component\\Finder\\Finder'", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php", - "snippet": " * @return \\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", - "selected_text": "\\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", + "snippet": " * @return \\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", + "selected_text": "\\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", "error_level": 4, "shortcode": 142 }, @@ -2109,8 +2073,8 @@ "type": "MismatchingDocblockReturnType", "message": "Docblock has incorrect return type 'Symfony\\Component\\Finder\\Finder|array', should be 'Symfony\\Component\\Finder\\Finder'", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php", - "snippet": " * @return \\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", - "selected_text": "\\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", + "snippet": " * @return \\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", + "selected_text": "\\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", "error_level": 4, "shortcode": 142 }, @@ -2188,8 +2152,8 @@ }, { "severity": "info", - "line_from": 375, - "line_to": 375, + "line_from": 378, + "line_to": 378, "type": "PossiblyFalseOperand", "message": "Left operand cannot be falsable, got false|int", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php", @@ -2200,8 +2164,8 @@ }, { "severity": "info", - "line_from": 390, - "line_to": 390, + "line_from": 395, + "line_to": 395, "type": "PossiblyFalseOperand", "message": "Left operand cannot be falsable, got false|int", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php", @@ -2457,15 +2421,15 @@ "type": "MismatchingDocblockReturnType", "message": "Docblock has incorrect return type 'Symfony\\Component\\Finder\\Finder|array', should be 'Symfony\\Component\\Finder\\Finder'", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php", - "snippet": " * @return \\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", - "selected_text": "\\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", + "snippet": " * @return \\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", + "selected_text": "\\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", "error_level": 4, "shortcode": 142 }, { "severity": "info", - "line_from": 191, - "line_to": 191, + "line_from": 200, + "line_to": 200, "type": "PossiblyFalseOperand", "message": "Left operand cannot be falsable, got false|int", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php", @@ -2476,8 +2440,8 @@ }, { "severity": "info", - "line_from": 206, - "line_to": 206, + "line_from": 217, + "line_to": 217, "type": "PossiblyFalseOperand", "message": "Left operand cannot be falsable, got false|int", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php", @@ -2488,8 +2452,8 @@ }, { "severity": "info", - "line_from": 228, - "line_to": 228, + "line_from": 239, + "line_to": 239, "type": "PossiblyNullArgument", "message": "Argument 2 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php", @@ -2500,8 +2464,8 @@ }, { "severity": "info", - "line_from": 228, - "line_to": 228, + "line_from": 239, + "line_to": 239, "type": "PossiblyNullReference", "message": "Cannot call method getName on possibly null value", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php", @@ -2512,8 +2476,8 @@ }, { "severity": "info", - "line_from": 228, - "line_to": 228, + "line_from": 239, + "line_to": 239, "type": "PossiblyNullArgument", "message": "Argument 3 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php", @@ -2553,15 +2517,15 @@ "type": "MismatchingDocblockReturnType", "message": "Docblock has incorrect return type 'Symfony\\Component\\Finder\\Finder|array', should be 'Symfony\\Component\\Finder\\Finder'", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php", - "snippet": " * @return \\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", - "selected_text": "\\Symfony\\Component\\Finder\\SplFileInfo[]|\\Symfony\\Component\\Finder\\Finder", + "snippet": " * @return \\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", + "selected_text": "\\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", "error_level": 4, "shortcode": 142 }, { "severity": "info", - "line_from": 130, - "line_to": 130, + "line_from": 131, + "line_to": 131, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Package\\PackageFinder\\PackageFinder::getComposerJsonAsArray cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php", @@ -2572,8 +2536,8 @@ }, { "severity": "info", - "line_from": 47, - "line_to": 47, + "line_from": 60, + "line_to": 60, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\PhpMd\\PhpMdRunner::resolvePath cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php", @@ -2584,20 +2548,8 @@ }, { "severity": "info", - "line_from": 75, - "line_to": 75, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of ucfirst expects string, possibly different type array|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php", - "snippet": " return ucfirst($filter->filter($value));", - "selected_text": "$filter->filter($value)", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 167, - "line_to": 167, + "line_from": 180, + "line_to": 180, "type": "NullableReturnStatement", "message": "The declared return type 'int' for Spryker\\Zed\\Development\\Business\\PhpMd\\PhpMdRunner::runPhpMdCommand is not nullable, but the function returns 'int|null'", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php", @@ -2608,8 +2560,8 @@ }, { "severity": "info", - "line_from": 35, - "line_to": 35, + "line_from": 42, + "line_to": 42, "type": "MoreSpecificImplementedParamType", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\PhpMd\\Rules\\Design\\TooManyMethods::apply has the more specific type 'PHPMD\\Node\\AbstractTypeNode', expecting 'PHPMD\\AbstractNode' as defined by PHPMD\\Rule::apply", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethods.php", @@ -2620,8 +2572,8 @@ }, { "severity": "info", - "line_from": 35, - "line_to": 35, + "line_from": 42, + "line_to": 42, "type": "MoreSpecificImplementedParamType", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\PhpMd\\Rules\\Design\\TooManyPublicMethods::apply has the more specific type 'PHPMD\\Node\\AbstractTypeNode', expecting 'PHPMD\\AbstractNode' as defined by PHPMD\\Rule::apply", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethods.php", @@ -2632,56 +2584,20 @@ }, { "severity": "info", - "line_from": 100, - "line_to": 100, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Phpstan\\PhpstanRunner::getPaths expects string, possibly different type non-empty-array|non-empty-string|true provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php", - "snippet": " $paths = $this->getPaths($module);", - "selected_text": "$module", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 160, - "line_to": 160, - "type": "RedundantCondition", - "message": "Found a redundant condition when evaluating $progressBar and trying to reconcile type 'Symfony\\Component\\Console\\Helper\\ProgressBar' to object with method maxSecondsBetweenRedraws", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php", - "snippet": " if (method_exists($progressBar, 'maxSecondsBetweenRedraws')) {", - "selected_text": "method_exists($progressBar, 'maxSecondsBetweenRedraws')", - "error_level": 4, - "shortcode": 122 - }, - { - "severity": "info", - "line_from": 195, - "line_to": 195, - "type": "PossiblyInvalidArgument", - "message": "Argument 2 of preg_match expects string, possibly different type array|bool|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php", - "snippet": " if (preg_match('/^([+])(\\d)$/', $level, $matches)) {", - "selected_text": "$level", + "line_from": 80, + "line_to": 80, + "type": "PossiblyNullArgument", + "message": "Argument 1 of strpos cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/PhpMd/Rules/Naming/ShortVariable.php", + "snippet": " if (strpos($fileName, 'Cest.php') !== false) {", + "selected_text": "$fileName", "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 226, - "line_to": 226, - "type": "NullableReturnStatement", - "message": "The declared return type 'int' for Spryker\\Zed\\Development\\Business\\Phpstan\\PhpstanRunner::runCommand is not nullable, but the function returns 'int|null'", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php", - "snippet": " return $process->getExitCode();", - "selected_text": "$process->getExitCode()", - "error_level": 5, - "shortcode": 139 + "shortcode": 78 }, { "severity": "info", - "line_from": 371, - "line_to": 371, + "line_from": 387, + "line_to": 387, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Phpstan\\PhpstanRunner::getVendorPathByNamespace cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php", @@ -2692,8 +2608,8 @@ }, { "severity": "info", - "line_from": 374, - "line_to": 374, + "line_from": 390, + "line_to": 390, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Phpstan\\Config\\PhpstanConfigFileFinderInterface::searchIn cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php", @@ -2704,20 +2620,20 @@ }, { "severity": "info", - "line_from": 379, - "line_to": 379, + "line_from": 395, + "line_to": 395, "type": "PossiblyNullArgument", "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\Phpstan\\Config\\PhpstanConfigFileManagerInterface::merge cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php", - "snippet": " $this->getConfigFilenameForMerge($moduleConfigFile)", + "snippet": " $this->getConfigFilenameForMerge($moduleConfigFile),", "selected_text": "$this->getConfigFilenameForMerge($moduleConfigFile)", "error_level": 3, "shortcode": 78 }, { "severity": "info", - "line_from": 428, - "line_to": 428, + "line_from": 444, + "line_to": 444, "type": "PossiblyNullArgument", "message": "Argument 1 of dirname cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php", @@ -2728,8 +2644,8 @@ }, { "severity": "info", - "line_from": 65, - "line_to": 65, + "line_from": 67, + "line_to": 67, "type": "PossiblyNullArrayAssignment", "message": "Cannot access array value on possibly null variable $this->bundles[$currentBundleName]['out'] of type mixed|null", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php", @@ -2740,8 +2656,8 @@ }, { "severity": "info", - "line_from": 66, - "line_to": 66, + "line_from": 68, + "line_to": 68, "type": "PossiblyNullArrayAssignment", "message": "Cannot access array value on possibly null variable $this->bundles[$outgoingBundleName]['in'] of type mixed|null", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php", @@ -2752,70 +2668,10 @@ }, { "severity": "info", - "line_from": 88, - "line_to": 88, - "type": "MismatchingDocblockReturnType", - "message": "Docblock has incorrect return type 'ArrayObject|array', should be 'ArrayObject'", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php", - "snippet": " * @return \\ArrayObject|\\Generated\\Shared\\Transfer\\ModuleDependencyTransfer[]", - "selected_text": "\\ArrayObject|\\Generated\\Shared\\Transfer\\ModuleDependencyTransfer[]", - "error_level": 4, - "shortcode": 142 - }, - { - "severity": "info", - "line_from": 102, - "line_to": 102, - "type": "MismatchingDocblockParamType", - "message": "Parameter $moduleDependencyTransferCollection has wrong type 'ArrayObject|array', should be 'ArrayObject'", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php", - "snippet": " * @param \\Generated\\Shared\\Transfer\\ModuleDependencyTransfer[]|\\ArrayObject $moduleDependencyTransferCollection", - "selected_text": "\\Generated\\Shared\\Transfer\\ModuleDependencyTransfer[]|\\ArrayObject", - "error_level": 4, - "shortcode": 141 - }, - { - "severity": "info", - "line_from": 148, - "line_to": 148, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of strpos expects string, possibly different type array|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php", - "snippet": " if (strpos($moduleArgument, '.') === false) {", - "selected_text": "$moduleArgument", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 150, - "line_to": 150, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of Generated\\Shared\\Transfer\\ModuleTransfer::setName expects null|string, possibly different type array|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php", - "snippet": " $moduleTransfer->setName($moduleArgument);", - "selected_text": "$moduleArgument", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 156, - "line_to": 156, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\AbstractCoreModuleAwareConsole::addFilterDetails expects string, possibly different type array|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php", - "snippet": " $this->addFilterDetails($moduleArgument, $moduleFilterTransfer);", - "selected_text": "$moduleArgument", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 319, - "line_to": 319, - "type": "PossiblyNullArgument", - "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "line_from": 323, + "line_to": 323, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php", "snippet": " return sprintf('%s.%s', $moduleTransfer->getOrganization()->getName(), $moduleTransfer->getName());", "selected_text": "$moduleTransfer->getOrganization()->getName()", @@ -2824,8 +2680,8 @@ }, { "severity": "info", - "line_from": 319, - "line_to": 319, + "line_from": 323, + "line_to": 323, "type": "PossiblyNullReference", "message": "Cannot call method getName on possibly null value", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php", @@ -2836,8 +2692,8 @@ }, { "severity": "info", - "line_from": 319, - "line_to": 319, + "line_from": 323, + "line_to": 323, "type": "PossiblyNullArgument", "message": "Argument 3 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php", @@ -2848,116 +2704,8 @@ }, { "severity": "info", - "line_from": 71, - "line_to": 71, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of strpos expects string, possibly different type array|bool|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", - "snippet": " $isCore = strpos($module, '.') !== false;", - "selected_text": "$module", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 75, - "line_to": 75, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\CodeArchitectureSnifferConsole::normalizeModuleName expects string, possibly different type non-empty-array|non-empty-string|true provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", - "snippet": " $module = $this->normalizeModuleName($module);", - "selected_text": "$module", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 82, - "line_to": 82, - "type": "PossiblyInvalidOperand", - "message": "Cannot concatenate with a non-empty-array|string", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", - "snippet": " $message .= ' (' . $path . ')';", - "selected_text": "$path", - "error_level": 3, - "shortcode": 163 - }, - { - "severity": "info", - "line_from": 88, - "line_to": 88, - "type": "PossiblyInvalidArgument", - "message": "Argument 2 of Spryker\\Zed\\Development\\Communication\\Console\\CodeArchitectureSnifferConsole::runForCore expects string, possibly different type array|false|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", - "snippet": " $success = $this->runForCore($output, $module, $path);", - "selected_text": "$module", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 88, - "line_to": 88, - "type": "PossiblyInvalidArgument", - "message": "Argument 3 of Spryker\\Zed\\Development\\Communication\\Console\\CodeArchitectureSnifferConsole::runForCore expects string, possibly different type array|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", - "snippet": " $success = $this->runForCore($output, $module, $path);", - "selected_text": "$path", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 90, - "line_to": 90, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\CodeArchitectureSnifferConsole::getCustomPath expects null|string, possibly different type array|false|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", - "snippet": " $customPath = $this->getCustomPath($module, $path);", - "selected_text": "$module", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 90, - "line_to": 90, - "type": "PossiblyInvalidArgument", - "message": "Argument 2 of Spryker\\Zed\\Development\\Communication\\Console\\CodeArchitectureSnifferConsole::getCustomPath expects null|string, possibly different type array|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", - "snippet": " $customPath = $this->getCustomPath($module, $path);", - "selected_text": "$path", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 95, - "line_to": 95, - "type": "PossiblyInvalidArgument", - "message": "Argument 2 of Spryker\\Zed\\Development\\Communication\\Console\\CodeArchitectureSnifferConsole::runForProject expects string, possibly different type array|false|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", - "snippet": " $success = $this->runForProject($output, $module, $path);", - "selected_text": "$module", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 95, - "line_to": 95, - "type": "PossiblyInvalidArgument", - "message": "Argument 3 of Spryker\\Zed\\Development\\Communication\\Console\\CodeArchitectureSnifferConsole::runForProject expects string, possibly different type array|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", - "snippet": " $success = $this->runForProject($output, $module, $path);", - "selected_text": "$path", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 208, - "line_to": 208, + "line_from": 252, + "line_to": 252, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\CodeArchitectureSnifferConsole::buildPath cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", @@ -2968,8 +2716,8 @@ }, { "severity": "info", - "line_from": 219, - "line_to": 219, + "line_from": 263, + "line_to": 263, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", @@ -2980,20 +2728,8 @@ }, { "severity": "info", - "line_from": 323, - "line_to": 323, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of ucfirst expects string, possibly different type array|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", - "snippet": " $normalized = ucfirst($normalized);", - "selected_text": "$normalized", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 375, - "line_to": 375, + "line_from": 456, + "line_to": 456, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", @@ -3004,80 +2740,8 @@ }, { "severity": "info", - "line_from": 54, - "line_to": 54, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\CodeFixturesConsole::displayRunInfo expects null|string, possibly different type array|bool|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php", - "snippet": " $this->displayRunInfo($module);", - "selected_text": "$module", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 61, - "line_to": 61, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::runFixtures expects null|string, possibly different type array|bool|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php", - "snippet": " return $this->getFacade()->runFixtures($module, $this->input->getOptions());", - "selected_text": "$module", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 63, - "line_to": 63, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::runPhpMd expects null|string, possibly different type array|bool|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodePhpMessDetectorConsole.php", - "snippet": " return $this->getFacade()->runPhpMd($module, $this->input->getOptions());", - "selected_text": "$module", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 64, - "line_to": 64, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\CodeStyleSnifferConsole::buildMessage expects null|string, possibly different type array|bool|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php", - "snippet": " $this->info($this->buildMessage($module, $path));", - "selected_text": "$module", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 64, - "line_to": 64, - "type": "PossiblyInvalidArgument", - "message": "Argument 2 of Spryker\\Zed\\Development\\Communication\\Console\\CodeStyleSnifferConsole::buildMessage expects null|string, possibly different type array|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php", - "snippet": " $this->info($this->buildMessage($module, $path));", - "selected_text": "$path", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 66, - "line_to": 66, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::checkCodeStyle expects null|string, possibly different type array|bool|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php", - "snippet": " $exitCode = $this->getFacade()->checkCodeStyle($module, $this->input->getOptions() + [static::ARGUMENT_SUB_PATH => $path]);", - "selected_text": "$module", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 79, - "line_to": 79, + "line_from": 109, + "line_to": 109, "type": "PossiblyNullArgument", "message": "Argument 1 of strpos cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php", @@ -3088,68 +2752,8 @@ }, { "severity": "info", - "line_from": 103, - "line_to": 103, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of ucfirst expects string, possibly different type array|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php", - "snippet": " $normalized = ucfirst($normalized);", - "selected_text": "$normalized", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 57, - "line_to": 57, - "type": "PossiblyInvalidArgument", - "message": "Argument 2 of Spryker\\Zed\\Development\\Communication\\Console\\CodeTestConsole::displayRunInfo expects null|string, possibly different type array|bool|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php", - "snippet": " $this->displayRunInfo($input, $module);", - "selected_text": "$module", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 64, - "line_to": 64, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::runTest expects null|string, possibly different type array|bool|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php", - "snippet": " $module,", - "selected_text": "$module", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 57, - "line_to": 57, - "type": "PossiblyInvalidArgument", - "message": "Argument 2 of sprintf expects float|int|string, possibly different type array|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php", - "snippet": " $this->input->getArgument(static::ARGUMENT_MODULE)", - "selected_text": "$this->input->getArgument(static::ARGUMENT_MODULE)", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 65, - "line_to": 65, - "type": "PossiblyInvalidArgument", - "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::updateComposerJsonInModules expects bool, possibly different type array|bool|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php", - "snippet": " $processedModules = $this->getFacade()->updateComposerJsonInModules($modules, $isDryRun);", - "selected_text": "$isDryRun", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 116, - "line_to": 116, + "line_from": 119, + "line_to": 119, "type": "PossiblyNullArgument", "message": "Argument 1 of Symfony\\Component\\Console\\Output\\OutputInterface::writeln cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ComposerJsonValidatorConsole.php", @@ -3160,44 +2764,8 @@ }, { "severity": "info", - "line_from": 62, - "line_to": 62, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::buildDependencyTree expects string, possibly different type array|bool|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php", - "snippet": " $this->getFacade()->buildDependencyTree($module);", - "selected_text": "$module", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 114, - "line_to": 114, - "type": "MismatchingDocblockParamType", - "message": "Parameter $moduleDependencyTransferCollection has wrong type 'ArrayObject|array', should be 'ArrayObject'", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php", - "snippet": " * @param \\Generated\\Shared\\Transfer\\ModuleDependencyTransfer[]|\\ArrayObject $moduleDependencyTransferCollection", - "selected_text": "\\Generated\\Shared\\Transfer\\ModuleDependencyTransfer[]|\\ArrayObject", - "error_level": 4, - "shortcode": 141 - }, - { - "severity": "info", - "line_from": 139, - "line_to": 139, - "type": "MismatchingDocblockParamType", - "message": "Parameter $moduleDependencyTransferCollection has wrong type 'ArrayObject|array', should be 'ArrayObject'", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php", - "snippet": " * @param \\Generated\\Shared\\Transfer\\ModuleDependencyTransfer[]|\\ArrayObject $moduleDependencyTransferCollection", - "selected_text": "\\Generated\\Shared\\Transfer\\ModuleDependencyTransfer[]|\\ArrayObject", - "error_level": 4, - "shortcode": 141 - }, - { - "severity": "info", - "line_from": 192, - "line_to": 192, + "line_from": 211, + "line_to": 211, "type": "PossiblyNullArgument", "message": "Argument 3 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php", @@ -3208,8 +2776,8 @@ }, { "severity": "info", - "line_from": 193, - "line_to": 193, + "line_from": 212, + "line_to": 212, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\DependencyViolationFinderConsole::getColoredYesOrNo cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php", @@ -3220,8 +2788,8 @@ }, { "severity": "info", - "line_from": 194, - "line_to": 194, + "line_from": 213, + "line_to": 213, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\DependencyViolationFinderConsole::getYesOrNo cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php", @@ -3232,8 +2800,8 @@ }, { "severity": "info", - "line_from": 195, - "line_to": 195, + "line_from": 214, + "line_to": 214, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\DependencyViolationFinderConsole::getYesOrNo cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php", @@ -3244,8 +2812,8 @@ }, { "severity": "info", - "line_from": 196, - "line_to": 196, + "line_from": 215, + "line_to": 215, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\DependencyViolationFinderConsole::getYesOrNo cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php", @@ -3256,8 +2824,8 @@ }, { "severity": "info", - "line_from": 197, - "line_to": 197, + "line_from": 216, + "line_to": 216, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\DependencyViolationFinderConsole::getYesOrNo cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php", @@ -3268,8 +2836,8 @@ }, { "severity": "info", - "line_from": 198, - "line_to": 198, + "line_from": 217, + "line_to": 217, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\DependencyViolationFinderConsole::getYesOrNo cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php", @@ -3280,8 +2848,8 @@ }, { "severity": "info", - "line_from": 199, - "line_to": 199, + "line_from": 218, + "line_to": 218, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\DependencyViolationFinderConsole::getYesOrNo cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php", @@ -3292,8 +2860,8 @@ }, { "severity": "info", - "line_from": 200, - "line_to": 200, + "line_from": 219, + "line_to": 219, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\DependencyViolationFinderConsole::getYesOrNo cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php", @@ -3304,8 +2872,8 @@ }, { "severity": "info", - "line_from": 81, - "line_to": 81, + "line_from": 90, + "line_to": 90, "type": "PossiblyNullArgument", "message": "Argument 2 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", @@ -3316,8 +2884,8 @@ }, { "severity": "info", - "line_from": 81, - "line_to": 81, + "line_from": 90, + "line_to": 90, "type": "PossiblyNullReference", "message": "Cannot call method getName on possibly null value", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", @@ -3328,8 +2896,8 @@ }, { "severity": "info", - "line_from": 81, - "line_to": 81, + "line_from": 90, + "line_to": 90, "type": "PossiblyNullArgument", "message": "Argument 3 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", @@ -3340,20 +2908,8 @@ }, { "severity": "info", - "line_from": 99, - "line_to": 99, - "type": "PossiblyNullArgument", - "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::findComposerNameByModuleName cannot be null, possibly null value provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", - "snippet": " $composerNameToFix = $this->getFacade()->findComposerNameByModuleName($moduleDependencyTransfer->getModuleName());", - "selected_text": "$moduleDependencyTransfer->getModuleName()", - "error_level": 3, - "shortcode": 78 - }, - { - "severity": "info", - "line_from": 102, - "line_to": 102, + "line_from": 111, + "line_to": 111, "type": "PossiblyNullArgument", "message": "Argument 2 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", @@ -3364,8 +2920,8 @@ }, { "severity": "info", - "line_from": 103, - "line_to": 103, + "line_from": 112, + "line_to": 112, "type": "PossiblyNullArgument", "message": "Argument 2 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", @@ -3376,8 +2932,8 @@ }, { "severity": "info", - "line_from": 103, - "line_to": 103, + "line_from": 112, + "line_to": 112, "type": "PossiblyNullReference", "message": "Cannot call method getName on possibly null value", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", @@ -3388,8 +2944,8 @@ }, { "severity": "info", - "line_from": 103, - "line_to": 103, + "line_from": 112, + "line_to": 112, "type": "PossiblyNullArgument", "message": "Argument 3 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", @@ -3400,8 +2956,8 @@ }, { "severity": "info", - "line_from": 111, - "line_to": 111, + "line_from": 120, + "line_to": 120, "type": "PossiblyNullArgument", "message": "Argument 2 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", @@ -3412,8 +2968,8 @@ }, { "severity": "info", - "line_from": 111, - "line_to": 111, + "line_from": 120, + "line_to": 120, "type": "PossiblyNullReference", "message": "Cannot call method getName on possibly null value", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", @@ -3424,8 +2980,8 @@ }, { "severity": "info", - "line_from": 111, - "line_to": 111, + "line_from": 120, + "line_to": 120, "type": "PossiblyNullArgument", "message": "Argument 3 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", @@ -3436,20 +2992,20 @@ }, { "severity": "info", - "line_from": 123, - "line_to": 123, - "type": "PossiblyNullOperand", - "message": "Cannot concatenate with a possibly null null|string", + "line_from": 137, + "line_to": 137, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::findComposerNameByModuleName cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", - "snippet": " $composerJsonFile = $moduleTransfer->getPath() . '/composer.json';", - "selected_text": "$moduleTransfer->getPath()", - "error_level": 1, - "shortcode": 80 + "snippet": " return $this->getFacade()->findComposerNameByModuleName($moduleDependencyTransfer->getModuleName());", + "selected_text": "$moduleDependencyTransfer->getModuleName()", + "error_level": 3, + "shortcode": 78 }, { "severity": "info", - "line_from": 142, - "line_to": 142, + "line_from": 150, + "line_to": 150, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", @@ -3460,176 +3016,32 @@ }, { "severity": "info", - "line_from": 60, - "line_to": 60, - "type": "PossiblyInvalidArgument", - "message": "Argument 2 of explode expects string, possibly different type array|bool|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php", - "snippet": " $methods = explode(',', $this->input->getOption(static::OPTION_METHODS));", - "selected_text": "$this->input->getOption(static::OPTION_METHODS)", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 62, - "line_to": 62, - "type": "PossiblyNullOperand", - "message": "Cannot concatenate with a possibly null array|null|string", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php", - "snippet": " $message = 'Create bridge in ' . $module;", - "selected_text": "$module", - "error_level": 1, - "shortcode": 80 - }, - { - "severity": "info", - "line_from": 62, - "line_to": 62, - "type": "PossiblyInvalidOperand", - "message": "Cannot concatenate with a array|null|string", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php", - "snippet": " $message = 'Create bridge in ' . $module;", - "selected_text": "$module", - "error_level": 3, - "shortcode": 163 - }, - { - "severity": "info", - "line_from": 66, - "line_to": 66, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::createBridge expects string, possibly different type array|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php", - "snippet": " $this->getFacade()->createBridge($module, $toModule, $methods);", - "selected_text": "$module", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 66, - "line_to": 66, - "type": "PossiblyInvalidArgument", - "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::createBridge expects string, possibly different type array|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php", - "snippet": " $this->getFacade()->createBridge($module, $toModule, $methods);", - "selected_text": "$toModule", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 56, - "line_to": 56, + "line_from": 168, + "line_to": 168, "type": "PossiblyNullOperand", - "message": "Cannot concatenate with a possibly null array|null|string", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php", - "snippet": " $message = 'Create or update Spryker core module ' . $module;", - "selected_text": "$module", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", + "snippet": " $composerJsonFile = $moduleTransfer->getPath() . '/composer.json';", + "selected_text": "$moduleTransfer->getPath()", "error_level": 1, "shortcode": 80 }, { "severity": "info", - "line_from": 56, - "line_to": 56, - "type": "PossiblyInvalidOperand", - "message": "Cannot concatenate with a array|null|string", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php", - "snippet": " $message = 'Create or update Spryker core module ' . $module;", - "selected_text": "$module", - "error_level": 3, - "shortcode": 163 - }, - { - "severity": "info", - "line_from": 66, - "line_to": 66, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::createModule expects string, possibly different type array|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php", - "snippet": " $this->getFacade()->createModule($module, $options);", - "selected_text": "$module", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 94, - "line_to": 94, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of strpos expects string, possibly different type array|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php", - "snippet": " if (strpos($moduleArgument, '.') === false) {", - "selected_text": "$moduleArgument", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 96, - "line_to": 96, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of Generated\\Shared\\Transfer\\ModuleTransfer::setName expects null|string, possibly different type array|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php", - "snippet": " $moduleTransfer->setName($moduleArgument);", - "selected_text": "$moduleArgument", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 102, - "line_to": 102, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\PluginUsageFinderConsole::addFilterDetails expects string, possibly different type array|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php", - "snippet": " $this->addFilterDetails($moduleArgument, $moduleFilterTransfer);", - "selected_text": "$moduleArgument", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 51, - "line_to": 51, - "type": "PossiblyInvalidArgument", - "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\PropelAbstractValidateConsole::buildMessage expects null|string, possibly different type array|bool|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/PropelAbstractValidateConsole.php", - "snippet": " $message = $this->buildMessage($module);", - "selected_text": "$module", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 55, - "line_to": 55, - "type": "PossiblyInvalidArgument", - "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::runPropelAbstractValidation expects null|string, possibly different type array|bool|null|string provided", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/PropelAbstractValidateConsole.php", - "snippet": " $result = $this->getFacade()->runPropelAbstractValidation($output, $module);", - "selected_text": "$module", - "error_level": 3, - "shortcode": 92 - }, - { - "severity": "info", - "line_from": 69, - "line_to": 69, - "type": "PossiblyNullArgument", - "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::runArchitectureSniffer cannot be null, possibly null value provided", + "line_from": 46, + "line_to": 46, + "type": "RedundantFunctionCall", + "message": "The call to ksort is unnecessary, non-empty-list is already a list", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Controller/ArchitectureController.php", - "snippet": " $fileViolations = $this->getFacade()->runArchitectureSniffer($directory);", - "selected_text": "$directory", - "error_level": 3, - "shortcode": 78 + "snippet": " ksort($collection);", + "selected_text": "ksort", + "error_level": 4, + "shortcode": 280 }, { "severity": "info", - "line_from": 82, - "line_to": 82, + "line_from": 83, + "line_to": 83, "type": "PossiblyNullReference", "message": "Cannot call method getOrganization on possibly null value", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Controller/DependencyProviderPluginUsageController.php", @@ -3640,8 +3052,8 @@ }, { "severity": "info", - "line_from": 82, - "line_to": 82, + "line_from": 83, + "line_to": 83, "type": "PossiblyNullReference", "message": "Cannot call method getName on possibly null value", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Controller/DependencyProviderPluginUsageController.php", @@ -3652,8 +3064,8 @@ }, { "severity": "info", - "line_from": 83, - "line_to": 83, + "line_from": 84, + "line_to": 84, "type": "PossiblyNullReference", "message": "Cannot call method getName on possibly null value", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Controller/DependencyProviderPluginUsageController.php", @@ -3661,6 +3073,18 @@ "selected_text": "getName", "error_level": 3, "shortcode": 83 + }, + { + "severity": "info", + "line_from": 59, + "line_to": 59, + "type": "MoreSpecificImplementedParamType", + "message": "Argument 2 of Spryker\\Zed\\Development\\Communication\\Form\\BundlesFormType::buildForm has the more specific type 'array', expecting 'array' as defined by Symfony\\Component\\Form\\AbstractType::buildForm", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php", + "snippet": " public function buildForm(FormBuilderInterface $builder, array $options)", + "selected_text": "$options", + "error_level": 5, + "shortcode": 140 } ], "deprecation": [ @@ -3702,8 +3126,8 @@ }, { "severity": "info", - "line_from": 857, - "line_to": 857, + "line_from": 859, + "line_to": 859, "type": "DeprecatedClass", "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ModuleFinder\\ModuleFinderInterface is marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", @@ -3714,8 +3138,8 @@ }, { "severity": "info", - "line_from": 859, - "line_to": 859, + "line_from": 861, + "line_to": 861, "type": "DeprecatedClass", "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ModuleFinder\\ModuleFinderInterface is marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", @@ -3726,8 +3150,8 @@ }, { "severity": "info", - "line_from": 861, - "line_to": 861, + "line_from": 863, + "line_to": 863, "type": "DeprecatedClass", "message": "Spryker\\Zed\\Development\\Business\\Module\\ModuleFinder\\ModuleFinder is marked deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", @@ -3738,8 +3162,8 @@ }, { "severity": "info", - "line_from": 861, - "line_to": 861, + "line_from": 863, + "line_to": 863, "type": "DeprecatedMethod", "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createModuleMatcher has been marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", @@ -3750,8 +3174,8 @@ }, { "severity": "info", - "line_from": 867, - "line_to": 867, + "line_from": 869, + "line_to": 869, "type": "DeprecatedClass", "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface is marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", @@ -3762,8 +3186,8 @@ }, { "severity": "info", - "line_from": 869, - "line_to": 869, + "line_from": 871, + "line_to": 871, "type": "DeprecatedClass", "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface is marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", @@ -3774,8 +3198,8 @@ }, { "severity": "info", - "line_from": 871, - "line_to": 871, + "line_from": 873, + "line_to": 873, "type": "DeprecatedClass", "message": "Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcher is marked deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", @@ -3786,8 +3210,8 @@ }, { "severity": "info", - "line_from": 1308, - "line_to": 1308, + "line_from": 1312, + "line_to": 1312, "type": "DeprecatedClass", "message": "Class Spryker\\Zed\\Development\\Business\\DependencyTree\\ViolationChecker\\DependencyViolationCheckerInterface is marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", @@ -3798,20 +3222,20 @@ }, { "severity": "info", - "line_from": 1312, - "line_to": 1316, + "line_from": 1316, + "line_to": 1320, "type": "DeprecatedClass", "message": "Spryker\\Zed\\Development\\Business\\DependencyTree\\ViolationChecker\\DependencyViolationChecker is marked deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " return new DependencyViolationChecker(\n $this->createDependencyTreeReader(),\n $this->createViolationFinder(),\n $this->createDependencyViolationFilter()\n );", - "selected_text": "new DependencyViolationChecker(\n $this->createDependencyTreeReader(),\n $this->createViolationFinder(),\n $this->createDependencyViolationFilter()\n )", + "snippet": " return new DependencyViolationChecker(\n $this->createDependencyTreeReader(),\n $this->createViolationFinder(),\n $this->createDependencyViolationFilter(),\n );", + "selected_text": "new DependencyViolationChecker(\n $this->createDependencyTreeReader(),\n $this->createViolationFinder(),\n $this->createDependencyViolationFilter(),\n )", "error_level": 2, "shortcode": 98 }, { "severity": "info", - "line_from": 1314, - "line_to": 1314, + "line_from": 1318, + "line_to": 1318, "type": "DeprecatedMethod", "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createViolationFinder has been marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", @@ -3822,20 +3246,20 @@ }, { "severity": "info", - "line_from": 1315, - "line_to": 1315, + "line_from": 1319, + "line_to": 1319, "type": "DeprecatedMethod", "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createDependencyViolationFilter has been marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " $this->createDependencyViolationFilter()", + "snippet": " $this->createDependencyViolationFilter(),", "selected_text": "createDependencyViolationFilter", "error_level": 2, "shortcode": 1 }, { "severity": "info", - "line_from": 1328, - "line_to": 1328, + "line_from": 1332, + "line_to": 1332, "type": "DeprecatedMethod", "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createViolationFinderUseForeignConstants has been marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", @@ -3846,8 +3270,8 @@ }, { "severity": "info", - "line_from": 1329, - "line_to": 1329, + "line_from": 1333, + "line_to": 1333, "type": "DeprecatedMethod", "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createViolationFinderUseForeignException has been marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", @@ -3858,8 +3282,8 @@ }, { "severity": "info", - "line_from": 1330, - "line_to": 1330, + "line_from": 1334, + "line_to": 1334, "type": "DeprecatedMethod", "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createViolationFinderBundleUsesConnector has been marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", @@ -3870,8 +3294,8 @@ }, { "severity": "info", - "line_from": 1344, - "line_to": 1344, + "line_from": 1348, + "line_to": 1348, "type": "DeprecatedMethod", "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createDependencyTreeConstantsToForeignConstantsFilter has been marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", @@ -3882,8 +3306,8 @@ }, { "severity": "info", - "line_from": 1397, - "line_to": 1397, + "line_from": 1401, + "line_to": 1401, "type": "DeprecatedClass", "message": "Spryker\\Zed\\Development\\Business\\DependencyTree\\ViolationFinder\\BundleUsesConnector is marked deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", @@ -3894,8 +3318,8 @@ }, { "severity": "info", - "line_from": 1972, - "line_to": 1972, + "line_from": 2023, + "line_to": 2023, "type": "DeprecatedClass", "message": "Class Spryker\\Zed\\Development\\Business\\ArchitectureSniffer\\AllBundleFinderInterface is marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", @@ -3906,20 +3330,20 @@ }, { "severity": "info", - "line_from": 1976, - "line_to": 1981, + "line_from": 2027, + "line_to": 2032, "type": "DeprecatedClass", "message": "Spryker\\Zed\\Development\\Business\\ArchitectureSniffer\\AllBundleFinder is marked deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " return new AllBundleFinder(\n $this->createFinder(),\n $this->createCamelCaseToDashFilter(),\n $this->getConfig()->getProjectNamespaces(),\n $this->getConfig()->getCoreNamespaces()\n );", - "selected_text": "new AllBundleFinder(\n $this->createFinder(),\n $this->createCamelCaseToDashFilter(),\n $this->getConfig()->getProjectNamespaces(),\n $this->getConfig()->getCoreNamespaces()\n )", + "snippet": " return new AllBundleFinder(\n $this->createFinder(),\n $this->createCamelCaseToDashFilter(),\n $this->getConfig()->getProjectNamespaces(),\n $this->getConfig()->getCoreNamespaces(),\n );", + "selected_text": "new AllBundleFinder(\n $this->createFinder(),\n $this->createCamelCaseToDashFilter(),\n $this->getConfig()->getProjectNamespaces(),\n $this->getConfig()->getCoreNamespaces(),\n )", "error_level": 2, "shortcode": 98 }, { "severity": "info", - "line_from": 2007, - "line_to": 2007, + "line_from": 2058, + "line_to": 2058, "type": "DeprecatedClass", "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ProjectModuleFinder\\ProjectModuleFinderInterface is marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", @@ -3930,8 +3354,8 @@ }, { "severity": "info", - "line_from": 2009, - "line_to": 2009, + "line_from": 2060, + "line_to": 2060, "type": "DeprecatedClass", "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ProjectModuleFinder\\ProjectModuleFinderInterface is marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", @@ -3942,8 +3366,8 @@ }, { "severity": "info", - "line_from": 2011, - "line_to": 2011, + "line_from": 2062, + "line_to": 2062, "type": "DeprecatedClass", "message": "Spryker\\Zed\\Development\\Business\\Module\\ProjectModuleFinder\\ProjectModuleFinder is marked deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", @@ -3954,8 +3378,8 @@ }, { "severity": "info", - "line_from": 2011, - "line_to": 2011, + "line_from": 2062, + "line_to": 2062, "type": "DeprecatedMethod", "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createModuleMatcher has been marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", @@ -3966,8 +3390,8 @@ }, { "severity": "info", - "line_from": 2017, - "line_to": 2017, + "line_from": 2068, + "line_to": 2068, "type": "DeprecatedClass", "message": "Class Spryker\\Zed\\Development\\Business\\Package\\PackageFinder\\PackageFinderInterface is marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", @@ -3978,8 +3402,8 @@ }, { "severity": "info", - "line_from": 2019, - "line_to": 2019, + "line_from": 2070, + "line_to": 2070, "type": "DeprecatedClass", "message": "Class Spryker\\Zed\\Development\\Business\\Package\\PackageFinder\\PackageFinderInterface is marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", @@ -3990,8 +3414,8 @@ }, { "severity": "info", - "line_from": 2021, - "line_to": 2021, + "line_from": 2072, + "line_to": 2072, "type": "DeprecatedClass", "message": "Spryker\\Zed\\Development\\Business\\Package\\PackageFinder\\PackageFinder is marked deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", @@ -4127,15 +3551,15 @@ "type": "DeprecatedMethod", "message": "The method Spryker\\Zed\\Development\\DevelopmentConfig::getInternalPackageDirectories has been marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php", - "snippet": " if (in_array($directoryInfo->getFilename(), $this->config->getInternalPackageDirectories())) {", + "snippet": " if (in_array($directoryInfo->getFilename(), $this->config->getInternalPackageDirectories(), true)) {", "selected_text": "getInternalPackageDirectories", "error_level": 2, "shortcode": 1 }, { "severity": "info", - "line_from": 87, - "line_to": 87, + "line_from": 100, + "line_to": 100, "type": "DeprecatedMethod", "message": "The method Spryker\\Zed\\Development\\DevelopmentConfig::getPathToCore has been marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php", @@ -4146,8 +3570,8 @@ }, { "severity": "info", - "line_from": 109, - "line_to": 109, + "line_from": 122, + "line_to": 122, "type": "DeprecatedMethod", "message": "The method Spryker\\Zed\\Development\\DevelopmentConfig::getPathToCore has been marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php", @@ -4158,8 +3582,20 @@ }, { "severity": "info", - "line_from": 66, - "line_to": 66, + "line_from": 51, + "line_to": 51, + "type": "DeprecatedConstant", + "message": "Constant Spryker\\Zed\\Development\\Communication\\Console\\CodePhpstanConsole::OPTION_FORMAT is deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php", + "snippet": " $this->addOption(static::OPTION_FORMAT, 'f', InputOption::VALUE_OPTIONAL, 'Output format [text, xml, json, md]');", + "selected_text": "static::OPTION_FORMAT", + "error_level": 2, + "shortcode": 170 + }, + { + "severity": "info", + "line_from": 81, + "line_to": 81, "type": "DeprecatedMethod", "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::createModule has been marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php", @@ -4170,8 +3606,8 @@ }, { "severity": "info", - "line_from": 90, - "line_to": 90, + "line_from": 141, + "line_to": 141, "type": "DeprecatedMethod", "message": "The method Spryker\\Zed\\Development\\DevelopmentConfig::getPathToCore has been marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/DevelopmentConfig.php", @@ -4182,8 +3618,8 @@ }, { "severity": "info", - "line_from": 91, - "line_to": 91, + "line_from": 142, + "line_to": 142, "type": "DeprecatedMethod", "message": "The method Spryker\\Zed\\Development\\DevelopmentConfig::getPathToCore has been marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/DevelopmentConfig.php", @@ -4194,8 +3630,8 @@ }, { "severity": "info", - "line_from": 92, - "line_to": 92, + "line_from": 143, + "line_to": 143, "type": "DeprecatedMethod", "message": "The method Spryker\\Zed\\Development\\DevelopmentConfig::getPathToShop has been marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/DevelopmentConfig.php", @@ -4206,8 +3642,8 @@ }, { "severity": "info", - "line_from": 144, - "line_to": 144, + "line_from": 195, + "line_to": 195, "type": "DeprecatedConstant", "message": "Constant Spryker\\Shared\\Kernel\\KernelConstants::SPRYKER_ROOT is deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/DevelopmentConfig.php", @@ -4218,8 +3654,8 @@ }, { "severity": "info", - "line_from": 202, - "line_to": 202, + "line_from": 253, + "line_to": 253, "type": "DeprecatedMethod", "message": "The method Spryker\\Zed\\Development\\DevelopmentConfig::getPathToCore has been marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/DevelopmentConfig.php", @@ -4230,8 +3666,8 @@ }, { "severity": "info", - "line_from": 203, - "line_to": 203, + "line_from": 254, + "line_to": 254, "type": "DeprecatedMethod", "message": "The method Spryker\\Zed\\Development\\DevelopmentConfig::getPathToEco has been marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/DevelopmentConfig.php", @@ -4242,8 +3678,8 @@ }, { "severity": "info", - "line_from": 687, - "line_to": 687, + "line_from": 778, + "line_to": 778, "type": "DeprecatedConstant", "message": "Constant Spryker\\Shared\\Kernel\\KernelConstants::SPRYKER_ROOT is deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/DevelopmentConfig.php", diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php b/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php index ed2dc4a9..706e6eb8 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php @@ -227,6 +227,7 @@ protected function getBridgeTemplateContent(): string */ protected function getTemplateContent(string $templateName): string { + /** @phpstan-var string */ return file_get_contents( __DIR__ . DIRECTORY_SEPARATOR . 'Templates' . DIRECTORY_SEPARATOR . $templateName . '.tpl', ); @@ -563,7 +564,9 @@ protected function addMethodsToTemplate(ReflectionClass $reflectionClass, array } $method = $reflectionClass->getMethod($methodName); - $docComment = $this->cleanMethodDocBlock($method->getDocComment()); + /** @var string $docComment */ + $docComment = $method->getDocComment(); + $docComment = $this->cleanMethodDocBlock($docComment); $methodReturnType = $this->getMethodReturnTypeFromDocComment($docComment); $returnStatementReplacement = static::FUNCTION_RETURN; diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php index 625fffc3..0043b86c 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php @@ -113,6 +113,7 @@ protected function getModuleNames($namespace) { $moduleDirectory = $this->getDirectoryName($namespace); + /** @var iterable $moduleDirectories */ $moduleDirectories = glob($moduleDirectory . '*', GLOB_NOSORT); $modules = []; @@ -157,6 +158,7 @@ protected function createOrUpdateModule($namespace, $module, array $options) */ protected function getTemplateContent($templateName) { + /** @phpstan-var string */ return file_get_contents( __DIR__ . DIRECTORY_SEPARATOR . 'Templates' . DIRECTORY_SEPARATOR . $templateName . '.tpl', ); @@ -205,7 +207,9 @@ protected function camelCaseToDash($module) { $filter = new CamelCaseToDash(); - $module = strtolower($filter->filter($module)); + /** @var string $camelCasedModule */ + $camelCasedModule = $filter->filter($module); + $module = strtolower($camelCasedModule); return $module; } diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerJson.php b/src/Spryker/Zed/Development/Business/Composer/ComposerJson.php index 648c4217..afdbc808 100644 --- a/src/Spryker/Zed/Development/Business/Composer/ComposerJson.php +++ b/src/Spryker/Zed/Development/Business/Composer/ComposerJson.php @@ -63,8 +63,10 @@ protected function hasComposerJson(ModuleTransfer $moduleTransfer): bool protected function getComposerJsonAsArray(ModuleTransfer $moduleTransfer): array { $composerJsonFilePath = $this->getComposerJsonFilePath($moduleTransfer); + /** @var string $fileContent */ + $fileContent = file_get_contents($composerJsonFilePath); - return json_decode(file_get_contents($composerJsonFilePath), true); + return json_decode($fileContent, true); } /** diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonFinder.php b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonFinder.php index 70968355..f1cdb207 100644 --- a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonFinder.php +++ b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonFinder.php @@ -50,6 +50,7 @@ public function findByModule(ModuleTransfer $module): ?SplFileInfo $finderAsArray = iterator_to_array($currentFinderInstance, false); + /** @phpstan-var \Symfony\Component\Finder\SplFileInfo|null */ return reset($finderAsArray); } diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php index 2f92a27d..09a4bf54 100644 --- a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php @@ -154,6 +154,7 @@ protected function order(array $composerJson) 'config', ]; + /** @phpstan-var callable((int|string), (int|string)): int */ $callable = function ($a, $b) use ($map) { $keyA = in_array($a, $map) ? array_search($a, $map) : 999; $keyB = in_array($b, $map) ? array_search($b, $map) : 999; @@ -181,7 +182,9 @@ protected function order(array $composerJson) protected function assertCorrectName(string $composerName, SplFileInfo $composerJsonFile) { $filter = new CamelCaseToDash(); - $moduleName = mb_strtolower($filter->filter(basename($composerJsonFile->getPath()))); + /** @var string $camelCasedModule */ + $camelCasedModule = $filter->filter(basename($composerJsonFile->getPath())); + $moduleName = mb_strtolower($camelCasedModule); $organization = $this->getOrganizationFromComposerJsonFile($composerJsonFile); $expected = $organization . '/' . $moduleName; @@ -199,17 +202,20 @@ protected function assertCorrectName(string $composerName, SplFileInfo $composer */ protected function getOrganizationFromComposerJsonFile(SplFileInfo $composerJsonFile) { - if (preg_match('/vendor\/spryker\/([a-z_-]+)\/Bundles\/\w+\/composer.json$/', $composerJsonFile->getRealPath(), $matches)) { + /** @var string $realPath */ + $realPath = $composerJsonFile->getRealPath(); + + if (preg_match('/vendor\/spryker\/([a-z_-]+)\/Bundles\/\w+\/composer.json$/', $realPath, $matches)) { return $matches[1]; } - if (preg_match('/vendor\/([a-z_-]+)\/[a-z_-]+\/composer.json$/', $composerJsonFile->getRealPath(), $matches)) { + if (preg_match('/vendor\/([a-z_-]+)\/[a-z_-]+\/composer.json$/', $realPath, $matches)) { return $matches[1]; } throw new InvalidComposerJsonException(sprintf( 'Unable to locate organization name from %s.', - $composerJsonFile->getRealPath(), + $realPath, )); } } diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php index f36b65e9..6b84e612 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php @@ -312,7 +312,9 @@ protected function getNonEmptyDirectoriesWithHelpers($directory) $directories = []; foreach ($files as $file) { - $directoryName = dirname(str_replace('//', '/', $file)); + /** @var string $name */ + $name = str_replace('//', '/', $file); + $directoryName = dirname($name); if (!in_array($directoryName, $directories, true)) { $directories[] = $directoryName; } diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php index 6c149126..71d4e4b3 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireExternalUpdater.php @@ -84,7 +84,9 @@ public function update(array $composerJson, SplFileInfo $composerJsonFile): arra continue; } $filter = new CamelCaseToDash(); - $dependentModule = strtolower($filter->filter($dependentModule)); + /** @var string $camelCasedDependentModule */ + $camelCasedDependentModule = $filter->filter($dependentModule); + $dependentModule = strtolower($camelCasedDependentModule); $composerJson[static::KEY_REQUIRE][$dependentModule] = static::RELEASE_OPERATOR . $composerRequireVersion; } @@ -103,7 +105,10 @@ protected function getModuleName(array $composerJsonData) $moduleName = array_pop($nameParts); $filter = new DashToCamelCase(); - return (string)$filter->filter($moduleName); + /** @var string $camelCasedModuleName */ + $camelCasedModuleName = $filter->filter($moduleName); + + return (string)$camelCasedModuleName; } /** diff --git a/src/Spryker/Zed/Development/Business/Dependency/ComposerParser/ExternalDependencyParser.php b/src/Spryker/Zed/Development/Business/Dependency/ComposerParser/ExternalDependencyParser.php index 40a7a688..27b0334e 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/ComposerParser/ExternalDependencyParser.php +++ b/src/Spryker/Zed/Development/Business/Dependency/ComposerParser/ExternalDependencyParser.php @@ -52,7 +52,9 @@ public function findPackageNameByNamespace(string $className): ?string return null; } - $pathFragments = explode(DIRECTORY_SEPARATOR, $reflectionClass->getFileName()); + /** @var string $fileName */ + $fileName = $reflectionClass->getFileName(); + $pathFragments = explode(DIRECTORY_SEPARATOR, $fileName); $vendorPosition = array_search('vendor', $pathFragments); if ($vendorPosition === false) { diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyContainer/DependencyContainer.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyContainer/DependencyContainer.php index 83c4c9d0..b56074dc 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyContainer/DependencyContainer.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyContainer/DependencyContainer.php @@ -136,8 +136,10 @@ protected function getModuleNameFromComposerName(string $composerName): string [$organizationName, $moduleName] = explode('/', $composerName); $filter = new DashToCamelCase(); + /** @var string $camelCasedModuleName */ + $camelCasedModuleName = $filter->filter($moduleName); - return ucfirst($filter->filter($moduleName)); + return ucfirst($camelCasedModuleName); } /** diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php index 1d0bbc88..9c1517a6 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/ExternalDependencyFinder.php @@ -236,7 +236,9 @@ protected function getDependentModuleNameFromPackage(string $package): string { $dependentModule = substr($package, 8); $filter = new SeparatorToCamelCase('-'); + /** @var string $camelCasedDependentModule */ + $camelCasedDependentModule = $filter->filter($dependentModule); - return ucfirst($filter->filter($dependentModule)); + return ucfirst($camelCasedDependentModule); } } diff --git a/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php b/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php index ad9ef0cc..ad3b7d0d 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php +++ b/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php @@ -52,11 +52,13 @@ public function getForeignColumnNames(SplFileInfo $fileInfo): array { $foreignReferenceColumnNames = []; + /** @var \SimpleXMLElement $simpleXmlElement */ $simpleXmlElement = simplexml_load_file($fileInfo->getPathname()); $hasNamespace = $this->hasNamespaceInSchema($simpleXmlElement); if ($hasNamespace) { $simpleXmlElement->registerXPathNamespace('s', 'spryker:schema-01'); } + /** @var iterable $foreignReferences */ $foreignReferences = $simpleXmlElement->xpath($hasNamespace ? '//s:table/s:foreign-key/s:reference' : '//table/foreign-key/reference'); foreach ($foreignReferences as $foreignReference) { $parentNode = $foreignReference->xpath('parent::*')[0]; @@ -168,6 +170,7 @@ protected function getSchemaFileFinder(): Finder */ protected function getIdColumnNames(SplFileInfo $splFileInfo): array { + /** @var \SimpleXMLElement $simpleXmlElement */ $simpleXmlElement = simplexml_load_file($splFileInfo->getPathname()); $hasNamespace = $this->hasNamespaceInSchema($simpleXmlElement); @@ -177,7 +180,9 @@ protected function getIdColumnNames(SplFileInfo $splFileInfo): array $idColumnNames = []; - foreach ($simpleXmlElement->xpath($hasNamespace ? '//s:table' : '//table') as $simpleXmlTableElement) { + /** @var iterable $simpleXmlTableElements */ + $simpleXmlTableElements = $simpleXmlElement->xpath($hasNamespace ? '//s:table' : '//table'); + foreach ($simpleXmlTableElements as $simpleXmlTableElement) { $tableName = (string)$simpleXmlTableElement['name']; if ($hasNamespace) { $simpleXmlTableElement->registerXPathNamespace('s', 'spryker:schema-01'); @@ -203,6 +208,7 @@ protected function getIdColumnNames(SplFileInfo $splFileInfo): array */ protected function getUniqueColumnNames(SplFileInfo $splFileInfo): array { + /** @var \SimpleXMLElement $simpleXmlElement */ $simpleXmlElement = simplexml_load_file($splFileInfo->getPathname()); $hasNamespace = $this->hasNamespaceInSchema($simpleXmlElement); @@ -212,7 +218,9 @@ protected function getUniqueColumnNames(SplFileInfo $splFileInfo): array $uniqueColumnNames = []; - foreach ($simpleXmlElement->xpath($hasNamespace ? '//s:table' : '//table') as $simpleXmlTableElement) { + /** @var iterable $simpleXmlTableElements */ + $simpleXmlTableElements = $simpleXmlElement->xpath($hasNamespace ? '//s:table' : '//table'); + foreach ($simpleXmlTableElements as $simpleXmlTableElement) { $tableName = (string)$simpleXmlTableElement['name']; if ($hasNamespace) { $simpleXmlTableElement->registerXPathNamespace('s', 'spryker:schema-01'); @@ -238,6 +246,7 @@ protected function getUniqueColumnNames(SplFileInfo $splFileInfo): array */ protected function getRequiredColumnNames(SplFileInfo $splFileInfo): array { + /** @var \SimpleXMLElement $simpleXmlElement */ $simpleXmlElement = simplexml_load_file($splFileInfo->getPathname()); $requiredColumnNames = []; diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php b/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php index 12950221..08862c5a 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php @@ -319,6 +319,7 @@ protected function parseDeclaredDependenciesForBundle(ModuleTransfer $moduleTran return []; } + /** @var string $content */ $content = file_get_contents($dependencyJsonFilePath); $content = json_decode($content, true); @@ -355,6 +356,7 @@ protected function parseComposerJson(ModuleTransfer $moduleTransfer): ComposerDe return $composerDependencies; } + /** @var string $content */ $content = file_get_contents($composerJsonFilePath); $content = json_decode($content, true); @@ -448,7 +450,9 @@ protected function getBundleName($package) { $name = substr($package, strpos($package, '/') + 1); $filter = new SeparatorToCamelCase('-'); - $name = ucfirst($filter->filter($name)); + /** @var string $camelCasedName */ + $camelCasedName = $filter->filter($name); + $name = ucfirst($camelCasedName); return $name; } diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/EngineBundleFilter.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/EngineBundleFilter.php index 7cc1fbe4..5d4e265c 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/EngineBundleFilter.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/EngineBundleFilter.php @@ -21,7 +21,9 @@ class EngineBundleFilter implements DependencyFilterInterface */ public function __construct($pathToBundleConfig) { - $bundleList = json_decode(file_get_contents($pathToBundleConfig), true); + /** @var string $bundles */ + $bundles = file_get_contents($pathToBundleConfig); + $bundleList = json_decode($bundles, true); $this->filterBundles = array_keys($bundleList); } diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ForeignEngineBundleFilter.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ForeignEngineBundleFilter.php index 63c8d0a9..c7a840ae 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ForeignEngineBundleFilter.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFilter/ForeignEngineBundleFilter.php @@ -21,7 +21,9 @@ class ForeignEngineBundleFilter implements DependencyFilterInterface */ public function __construct($pathToBundleConfig) { - $bundleList = json_decode(file_get_contents($pathToBundleConfig), true); + /** @var string $bundles */ + $bundles = file_get_contents($pathToBundleConfig); + $bundleList = json_decode($bundles, true); $this->filterBundles = array_keys($bundleList); } diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php index dc051314..242dd5ae 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php @@ -138,8 +138,10 @@ protected function getInternalBundleNameForExternalDependency($className) if (strpos($className, $namespace) !== false) { $foreignBundle = substr($internalComposerBundleName, 8); $filter = new SeparatorToCamelCase('-'); + /** @var string $camelCasedForeignBundle */ + $camelCasedForeignBundle = $filter->filter($foreignBundle); - return ucfirst($filter->filter($foreignBundle)); + return ucfirst($camelCasedForeignBundle); } } @@ -166,6 +168,7 @@ private function buildClassName(array $classNameParts) */ private function cleanAutoloader() { + /** @var iterable $autoloadFunctions */ $autoloadFunctions = spl_autoload_functions(); $codeSnifferAutoloadFunction = false; diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageNameHydrator.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageNameHydrator.php index 8b8844b2..9211a47d 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageNameHydrator.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyHydrator/PackageNameHydrator.php @@ -32,6 +32,7 @@ private function getComposerNameByClassName(array $dependency) { try { $reflection = new ReflectionClass($dependency[DependencyTree::META_FOREIGN_CLASS_NAME]); + /** @var string $filePath */ $filePath = $reflection->getFileName(); $this->cleanAutoloader(); @@ -47,7 +48,9 @@ private function getComposerNameByClassName(array $dependency) $composerPath = $path . 'composer.json'; if (file_exists($composerPath)) { - $composerConfig = json_decode(file_get_contents($composerPath)); + /** @var string $composerConfigContent */ + $composerConfigContent = file_get_contents($composerPath); + $composerConfig = json_decode($composerConfigContent); return $composerConfig->name; } @@ -65,6 +68,7 @@ private function getComposerNameByClassName(array $dependency) */ private function cleanAutoloader() { + /** @var iterable $autoloadFunctions */ $autoloadFunctions = spl_autoload_functions(); $codeSnifferAutoloadFunction = false; diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTreeReader/JsonDependencyTreeReader.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTreeReader/JsonDependencyTreeReader.php index 6d9a5576..2e1ba2b6 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTreeReader/JsonDependencyTreeReader.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTreeReader/JsonDependencyTreeReader.php @@ -35,6 +35,9 @@ public function read() throw new RuntimeException('You need to run "vendor/bin/console dev:dependency:build-tree" before being able to use the dependency tree.'); } - return json_decode(file_get_contents($this->pathToJson), true); + /** @var string $json */ + $json = file_get_contents($this->pathToJson); + + return json_decode($json, true); } } diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTreeWriter/JsonDependencyTreeWriter.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTreeWriter/JsonDependencyTreeWriter.php index eed39a96..dba5757a 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTreeWriter/JsonDependencyTreeWriter.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyTreeWriter/JsonDependencyTreeWriter.php @@ -32,6 +32,8 @@ public function __construct($pathToFile) public function write(array $dependencyTree) { $filesystem = new Filesystem(); - $filesystem->dumpFile($this->pathToFile, json_encode($dependencyTree, JSON_PRETTY_PRINT)); + /** @var string $content */ + $content = json_encode($dependencyTree, JSON_PRETTY_PRINT); + $filesystem->dumpFile($this->pathToFile, $content); } } diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/FileInfoExtractor.php b/src/Spryker/Zed/Development/Business/DependencyTree/FileInfoExtractor.php index a2a54c12..8181d5ff 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/FileInfoExtractor.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/FileInfoExtractor.php @@ -81,8 +81,10 @@ public function getOrganizationFromFile(SplFileInfo $fileInfo) { $classNameParts = $this->getClassNameParts($fileInfo); $filter = new CamelCaseToDash(); + /** @var string $camelCasedClassName */ + $camelCasedClassName = $filter->filter($classNameParts[0]); - return strtolower($filter->filter($classNameParts[0])); + return strtolower($camelCasedClassName); } /** diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/Finder.php b/src/Spryker/Zed/Development/Business/DependencyTree/Finder.php index ba5348f3..3aeeecbb 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/Finder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/Finder.php @@ -69,6 +69,7 @@ public function getFiles() } $finder = new SymfonyFinder(); + /** @phpstan-var array $directories */ $finder->files()->in($directories); if ($this->name !== null) { diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index f9379c49..03949c85 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -1241,7 +1241,9 @@ public function createExternalDependencyTree($bundleToView = null) $treeFilter->addFilter($this->createDependencyTreeBundleToViewFilter($bundleToView)); } - $composerLock = json_decode(file_get_contents(APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . 'composer.lock'), true); + /** @var string $composerContent */ + $composerContent = file_get_contents(APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . 'composer.lock'); + $composerLock = json_decode($composerContent, true); $packageVersionHydrator = new PackageVersionHydrator(array_merge($composerLock['packages'], $composerLock['packages-dev'])); $treeHydrator = new DependencyHydrator(); @@ -1468,8 +1470,11 @@ protected function createDependencyTreeFilter() */ public function getEngineBundleList() { - $bundleList = json_decode(file_get_contents($this->getConfig()->getPathToBundleConfig()), true); + /** @var string $bundleContent */ + $bundleContent = file_get_contents($this->getConfig()->getPathToBundleConfig()); + $bundleList = json_decode($bundleContent, true); + /** @phpstan-var array */ return array_keys($bundleList); } diff --git a/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php b/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php index cc1c826c..68bdaab4 100644 --- a/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php +++ b/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php @@ -137,12 +137,19 @@ protected function getFinderForModule(string $path): Finder } /** + * @phpstan-return \Closure + * * @return callable */ protected function getFilenameSortCallback(): callable { return function (SplFileInfo $splFileInfoOne, SplFileInfo $splFileInfoTwo) { - return strcmp($splFileInfoOne->getRealPath(), $splFileInfoTwo->getRealPath()); + /** @var string $firstRealPath */ + $firstRealPath = $splFileInfoOne->getRealPath(); + /** @var string $secondRealPath */ + $secondRealPath = $splFileInfoTwo->getRealPath(); + + return strcmp($firstRealPath, $secondRealPath); }; } diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php b/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php index bbb1c7a7..fbe61904 100644 --- a/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php +++ b/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php @@ -343,6 +343,7 @@ protected function getComposerJsonAsArray(string $path): array if (!is_file($pathToComposerJson)) { return []; } + /** @var string $fileContent */ $fileContent = file_get_contents($pathToComposerJson); $composerJsonAsArray = json_decode($fileContent, true); @@ -369,7 +370,9 @@ protected function getOrganizationNameFromComposer(array $composerJsonAsArray): */ protected function getOrganizationNameFromDirectory(SplFileInfo $directoryInfo): string { - $pathFragments = explode(DIRECTORY_SEPARATOR, $directoryInfo->getRealPath()); + /** @var string $realPath */ + $realPath = $directoryInfo->getRealPath(); + $pathFragments = explode(DIRECTORY_SEPARATOR, $realPath); $vendorPosition = array_search('vendor', $pathFragments); $organizationName = $pathFragments[$vendorPosition + 1]; @@ -384,7 +387,9 @@ protected function getOrganizationNameFromDirectory(SplFileInfo $directoryInfo): */ protected function getApplicationNameFromDirectory(SplFileInfo $directoryInfo): string { - $pathFragments = explode(DIRECTORY_SEPARATOR, $directoryInfo->getRealPath()); + /** @var string $realPath */ + $realPath = $directoryInfo->getRealPath(); + $pathFragments = explode(DIRECTORY_SEPARATOR, $realPath); $vendorPosition = array_search('vendor', $pathFragments); $applicationName = $pathFragments[$vendorPosition + 2]; diff --git a/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php b/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php index 3b1c1add..1618db6b 100644 --- a/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php +++ b/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php @@ -110,12 +110,19 @@ protected function getProjectModuleFinder(array $projectOrganizationModuleDirect } /** + * @phpstan-return \Closure + * * @return callable */ protected function getFilenameSortCallback(): callable { return function (SplFileInfo $fileOne, SplFileInfo $fileTwo) { - return strcmp($fileOne->getRealpath(), $fileTwo->getRealpath()); + /** @var string $firstRealPath */ + $firstRealPath = $fileOne->getRealpath(); + /** @var string $secondRealPath */ + $secondRealPath = $fileTwo->getRealpath(); + + return strcmp($firstRealPath, $secondRealPath); }; } @@ -185,7 +192,9 @@ protected function buildApplicationTransferFromDirectoryInformation(SplFileInfo */ protected function getOrganizationNameFromDirectory(SplFileInfo $directoryInfo): string { - $pathFragments = explode(DIRECTORY_SEPARATOR, $directoryInfo->getRealPath()); + /** @var string $realPath */ + $realPath = $directoryInfo->getRealPath(); + $pathFragments = explode(DIRECTORY_SEPARATOR, $realPath); $srcPosition = array_search('src', $pathFragments); $organizationName = $pathFragments[$srcPosition + 1]; @@ -200,7 +209,9 @@ protected function getOrganizationNameFromDirectory(SplFileInfo $directoryInfo): */ protected function getApplicationNameFromDirectory(SplFileInfo $directoryInfo): string { - $pathFragments = explode(DIRECTORY_SEPARATOR, $directoryInfo->getRealPath()); + /** @var string $realPath */ + $realPath = $directoryInfo->getRealPath(); + $pathFragments = explode(DIRECTORY_SEPARATOR, $realPath); $srcPosition = array_search('src', $pathFragments); $organizationName = $pathFragments[$srcPosition + 2]; diff --git a/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php b/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php index ee26f984..7d8204f4 100644 --- a/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php +++ b/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php @@ -98,6 +98,7 @@ protected function getPackageTransfer(SplFileInfo $directoryInfo): PackageTransf protected function getComposerJsonAsArray(string $path): array { $pathToComposerJson = sprintf('%s/composer.json', $path); + /** @var string $fileContent */ $fileContent = file_get_contents($pathToComposerJson); $composerJsonAsArray = json_decode($fileContent, true); diff --git a/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php b/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php index cd67b39e..74aff587 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php @@ -84,8 +84,10 @@ public function run($bundle, array $options = []) protected function convertToCamelCase(string $value): string { $filter = new UnderscoreToCamelCase(); + /** @var string $camelCasedValue */ + $camelCasedValue = $filter->filter($value); - return ucfirst($filter->filter($value)); + return ucfirst($camelCasedValue); } /** diff --git a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Naming/ShortVariable.php b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Naming/ShortVariable.php index 84ccdea9..9ea6108b 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/Rules/Naming/ShortVariable.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/Rules/Naming/ShortVariable.php @@ -128,7 +128,7 @@ protected function isNameAllowedInContext(AbstractNode $node) */ protected function isChildOf(AbstractNode $node, $type) { - /** @var object|null $parent */ + /** @var \PHPMD\Node\ASTNode|null $parent */ $parent = $node->getParent(); while (is_object($parent)) { if ($parent->isInstanceOf($type)) { diff --git a/src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileFinder.php b/src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileFinder.php index ad65d1f2..a2474503 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileFinder.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileFinder.php @@ -57,6 +57,7 @@ protected function getConfigFile(): ?SplFileInfo $finderAsArray = iterator_to_array($this->finder, false); + /** @phpstan-var \SplFileInfo */ return reset($finderAsArray); } diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index 9a0867bd..c8ca2b1c 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -132,6 +132,7 @@ public function __construct( */ public function run(InputInterface $input, OutputInterface $output) { + /** @var string|null $module */ $module = $input->getOption(static::OPTION_MODULE); $message = 'Run PHPStan in PROJECT level'; @@ -267,6 +268,7 @@ protected function executeCommand( protected function getLevel(InputInterface $input, string $path, string $configFilePath): int { $defaultLevel = $this->getDefaultLevel($path, $configFilePath); + /** @var string $level */ $level = $input->getOption(static::OPTION_LEVEL); if (preg_match('/^([+])(\d)$/', $level, $matches)) { @@ -285,7 +287,7 @@ protected function getLevel(InputInterface $input, string $path, string $configF */ protected function getPathsToAnalyze($module): array { - if ($module) { + if (is_string($module) && $module) { $paths = $this->getPaths($module); if (!$paths) { @@ -544,6 +546,7 @@ protected function getDefaultLevel($path, $fallbackPath) return $neonLevel ?: $configLevel; } + /** @var string $content */ $content = file_get_contents($configFile); $json = json_decode($content, true); if (!isset($json[static::DEFAULT_LEVEL])) { @@ -587,7 +590,8 @@ protected function addErrors(string $buffer): void protected function skip(int $count, InputInterface $input): bool { $limit = null; - $offset = (string)$input->getOption(static::OPTION_OFFSET) ?: null; + /** @var string|null $offset */ + $offset = $input->getOption(static::OPTION_OFFSET); if ($offset && strpos($offset, ',') !== false) { [$offset, $limit] = explode(',', $offset); } @@ -619,6 +623,7 @@ protected function neonConfigLevel(string $path): ?int return null; } + /** @var string $content */ $content = file_get_contents($file); preg_match('/\blevel:\s*(\d)\b/', $content, $matches); if (!$matches) { diff --git a/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php b/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php index cd10a24b..53c69899 100644 --- a/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php +++ b/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php @@ -275,6 +275,7 @@ protected function getSimpleXmlTableElements(SimpleXMLElement $simpleXmlElement) if ($this->hasNamespaceInSchema($simpleXmlElement)) { $simpleXmlElement->registerXPathNamespace('s', 'spryker:schema-01'); + /** @phpstan-var array<\SimpleXMLElement> */ return $simpleXmlElement->xpath('//s:table'); } diff --git a/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php b/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php index 77bbd001..068be91c 100644 --- a/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php +++ b/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php @@ -44,7 +44,9 @@ public function __construct() */ public function calculateStability() { - $bundlesDependencies = json_decode(file_get_contents(APPLICATION_ROOT_DIR . '/data/dependencyTree.json'), true); + /** @var string $dependencyTreeContent */ + $dependencyTreeContent = file_get_contents(APPLICATION_ROOT_DIR . '/data/dependencyTree.json'); + $bundlesDependencies = json_decode($dependencyTreeContent, true); $this->bundlesDependencies = $this->filter($bundlesDependencies); diff --git a/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php b/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php index 6054c2c3..320bb9b4 100644 --- a/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php @@ -141,12 +141,13 @@ protected function getModulesToExecute(InputInterface $input): array */ protected function buildModuleFilterTransfer(): ?ModuleFilterTransfer { - if (!$this->input->getArgument(static::ARGUMENT_MODULE)) { + /** @var string|null $moduleArgument */ + $moduleArgument = $this->input->getArgument(static::ARGUMENT_MODULE); + if (!$moduleArgument) { return null; } $moduleFilterTransfer = new ModuleFilterTransfer(); - $moduleArgument = $this->input->getArgument(static::ARGUMENT_MODULE); if (strpos($moduleArgument, '.') === false) { $moduleTransfer = new ModuleTransfer(); @@ -303,6 +304,7 @@ protected function isSingleModuleValidation(array $modulesToValidate): bool protected function isModuleNameValid(array $modulesToValidate): bool { $moduleTransferCollection = $this->getModuleTransferCollection(); + /** @var \Generated\Shared\Transfer\ModuleTransfer $currentModuleTransfer */ $currentModuleTransfer = current($modulesToValidate); if (!isset($moduleTransferCollection[$this->buildModuleKey($currentModuleTransfer)])) { diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php index a357a363..b8353ad4 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php @@ -111,6 +111,7 @@ protected function configure() */ public function execute(InputInterface $input, OutputInterface $output) { + /** @var string $module */ $module = $this->input->getOption(static::OPTION_MODULE); $isCore = strpos($module, '.') !== false; $message = sprintf('Run Architecture Sniffer for %s', $isCore ? 'CORE' : 'PROJECT'); @@ -120,6 +121,7 @@ public function execute(InputInterface $input, OutputInterface $output) $message .= ' in ' . $module . ' module'; } + /** @var string|null $path */ $path = $this->input->getArgument(static::ARGUMENT_SUB_PATH); if ($path) { @@ -398,6 +400,7 @@ protected function displayViolationsWithBaseline(OutputInterface $output, array protected function normalizeModuleName($module) { $filter = new UnderscoreToCamelCase(); + /** @var string $normalized */ $normalized = $filter->filter(str_replace('-', '_', $module)); $normalized = ucfirst($normalized); diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php index d882612c..f12079da 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php @@ -69,6 +69,7 @@ protected function configure() */ public function execute(InputInterface $input, OutputInterface $output): int { + /** @var string|null $module */ $module = $this->input->getOption(static::OPTION_MODULE); $this->displayRunInfo($module); diff --git a/src/Spryker/Zed/Development/Communication/Console/CodePhpMessDetectorConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodePhpMessDetectorConsole.php index 9d360b8f..7a565f66 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodePhpMessDetectorConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodePhpMessDetectorConsole.php @@ -68,6 +68,7 @@ protected function configure() */ public function execute(InputInterface $input, OutputInterface $output) { + /** @var string|null $module */ $module = $this->input->getOption(static::OPTION_MODULE); $message = 'Run PHPMD in PROJECT level'; diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php index e27ced80..455e4047 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php @@ -88,7 +88,9 @@ protected function configure() */ public function execute(InputInterface $input, OutputInterface $output) { + /** @var string|null $module */ $module = $this->input->getOption(static::OPTION_MODULE); + /** @var string|null $path */ $path = $this->input->getArgument(static::ARGUMENT_SUB_PATH); $this->info($this->buildMessage($module, $path)); @@ -129,6 +131,7 @@ protected function buildMessage($module, $path) protected function normalizeModuleName($module) { $filter = new UnderscoreToCamelCase(); + /** @var string $normalized */ $normalized = $filter->filter(str_replace('-', '_', $module)); $normalized = ucfirst($normalized); diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php index f3a55726..2c46c24a 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php @@ -75,6 +75,7 @@ protected function configure() */ public function execute(InputInterface $input, OutputInterface $output): int { + /** @var string|null $module */ $module = $this->input->getOption(static::OPTION_MODULE); $this->displayRunInfo($input, $module); diff --git a/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php b/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php index c184c36f..64199797 100644 --- a/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php @@ -62,16 +62,19 @@ public function execute(InputInterface $input, OutputInterface $output) $modules = $this->getModulesToExecute($input); if (!$modules) { + /** @var string|null $module */ + $module = $this->input->getArgument(static::ARGUMENT_MODULE); $this->error( sprintf( 'Argument `%s` is not a valid module.', - $this->input->getArgument(static::ARGUMENT_MODULE), + $module, ), ); return static::CODE_ERROR; } + /** @var bool $isDryRun */ $isDryRun = $this->input->getOption(static::OPTION_DRY_RUN); $processedModules = $this->getFacade()->updateComposerJsonInModules($modules, $isDryRun); $modifiedModules = []; diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php index ab7368c6..75e182d8 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php @@ -68,6 +68,7 @@ public function execute(InputInterface $input, OutputInterface $output) $module = '*'; if ($this->input->getOption(static::OPTION_MODULE)) { + /** @var string $module */ $module = $this->input->getOption(static::OPTION_MODULE); } diff --git a/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php b/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php index de0787c2..479e5a10 100644 --- a/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php @@ -76,9 +76,13 @@ protected function configure() */ public function execute(InputInterface $input, OutputInterface $output) { + /** @var string $module */ $module = $this->input->getArgument(static::OPTION_MODULE); + /** @var string $toModule */ $toModule = $this->input->getArgument(static::OPTION_TO_MODULE); - $methods = explode(',', $this->input->getOption(static::OPTION_METHODS)); + /** @var string $methods */ + $methods = $this->input->getOption(static::OPTION_METHODS); + $methods = explode(',', $methods); $message = 'Create bridge in ' . $module; diff --git a/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php b/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php index 24ddeb09..94da082d 100644 --- a/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php @@ -65,6 +65,7 @@ protected function configure() */ public function execute(InputInterface $input, OutputInterface $output) { + /** @var string $module */ $module = $this->input->getArgument(static::ARGUMENT_MODULE); if ($module !== 'all') { diff --git a/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php b/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php index bcebde0e..f6c6f43d 100644 --- a/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php @@ -96,6 +96,7 @@ protected function buildModuleFilterTransfer(): ?ModuleFilterTransfer } $moduleFilterTransfer = new ModuleFilterTransfer(); + /** @var string $moduleArgument */ $moduleArgument = $this->input->getArgument(static::ARGUMENT_MODULE); if (strpos($moduleArgument, '.') === false) { diff --git a/src/Spryker/Zed/Development/Communication/Console/PropelAbstractValidateConsole.php b/src/Spryker/Zed/Development/Communication/Console/PropelAbstractValidateConsole.php index f78ac6e1..ba4ad22a 100644 --- a/src/Spryker/Zed/Development/Communication/Console/PropelAbstractValidateConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/PropelAbstractValidateConsole.php @@ -58,6 +58,7 @@ protected function configure() */ public function execute(InputInterface $input, OutputInterface $output) { + /** @var string|null $module */ $module = $this->input->getOption(static::OPTION_MODULE); $message = $this->buildMessage($module); diff --git a/src/Spryker/Zed/Development/Communication/Controller/DependencyProviderPluginUsageController.php b/src/Spryker/Zed/Development/Communication/Controller/DependencyProviderPluginUsageController.php index 60c6606f..e661bb0e 100644 --- a/src/Spryker/Zed/Development/Communication/Controller/DependencyProviderPluginUsageController.php +++ b/src/Spryker/Zed/Development/Communication/Controller/DependencyProviderPluginUsageController.php @@ -73,6 +73,7 @@ public function downloadCsvAction(): StreamedResponse $dependencyProviderPluginUsages = $this->getFacade()->getInProjectDependencyProviderUsedPlugins(); $streamCsv = function () use ($dependencyProviderPluginUsages) { + /** @var resource $resource */ $resource = fopen('php://output', 'w'); $header = ['organization', 'module', 'dependency_provider_class_name', 'plugin_organization', 'plugin_application', 'plugin_module', 'plugin_class_name']; fputcsv($resource, $header); From ceb59e8eedb0bcceeb0d7925be486305f5b29e05 Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Tue, 22 Feb 2022 12:19:17 +0100 Subject: [PATCH 273/336] TE-10816 Update psalm baselines, fix issues. (#9160) * TE-10816 Update psalm baselines, fix issues. --- psalm-report.json | 176 +++++++----------- .../Config/CodeStyleSnifferConfiguration.php | 8 +- ...CodeStyleSnifferConfigurationInterface.php | 2 +- 3 files changed, 75 insertions(+), 111 deletions(-) diff --git a/psalm-report.json b/psalm-report.json index 793395bf..16ef430c 100644 --- a/psalm-report.json +++ b/psalm-report.json @@ -24,18 +24,6 @@ "error_level": 6, "shortcode": 22 }, - { - "severity": "error", - "line_from": 172, - "line_to": 172, - "type": "ParamNameMismatch", - "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\CodeStyleSniffer\\Config\\CodeStyleSnifferConfiguration::getCodingStandard has wrong name $modulePath, expecting $path as defined by Spryker\\Zed\\Development\\Business\\CodeStyleSniffer\\Config\\CodeStyleSnifferConfigurationInterface::getCodingStandard", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php", - "snippet": " public function getCodingStandard(string $modulePath): string", - "selected_text": "$modulePath", - "error_level": 7, - "shortcode": 230 - }, { "severity": "error", "line_from": 341, @@ -134,18 +122,6 @@ } ], "warning": [ - { - "severity": "info", - "line_from": 175, - "line_to": 175, - "type": "MoreSpecificImplementedParamType", - "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\ArchitectureSniffer\\ArchitectureSniffer::run has the more specific type 'array', expecting 'array' as defined by Spryker\\Zed\\Development\\Business\\ArchitectureSniffer\\ArchitectureSnifferInterface::run", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php", - "snippet": " public function run($directory, array $options = []): array", - "selected_text": "$options", - "error_level": 5, - "shortcode": 140 - }, { "severity": "info", "line_from": 192, @@ -1540,8 +1516,8 @@ }, { "severity": "info", - "line_from": 466, - "line_to": 466, + "line_from": 468, + "line_to": 468, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", @@ -1552,8 +1528,8 @@ }, { "severity": "info", - "line_from": 466, - "line_to": 466, + "line_from": 468, + "line_to": 468, "type": "PossiblyNullReference", "message": "Cannot call method getName on possibly null value", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ComposerDependencyParser.php", @@ -1670,18 +1646,6 @@ "error_level": 3, "shortcode": 78 }, - { - "severity": "info", - "line_from": 238, - "line_to": 238, - "type": "MoreSpecificImplementedParamType", - "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\DevelopmentFacade::drawOutgoingDependencyTreeGraph has the more specific type 'string', expecting 'bool|string' as defined by Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::drawOutgoingDependencyTreeGraph", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentFacade.php", - "snippet": " public function drawOutgoingDependencyTreeGraph($moduleToView, array $excludedModules = [], $showIncomingDependencies = false)", - "selected_text": "$moduleToView", - "error_level": 5, - "shortcode": 140 - }, { "severity": "info", "line_from": 59, @@ -2548,8 +2512,8 @@ }, { "severity": "info", - "line_from": 180, - "line_to": 180, + "line_from": 182, + "line_to": 182, "type": "NullableReturnStatement", "message": "The declared return type 'int' for Spryker\\Zed\\Development\\Business\\PhpMd\\PhpMdRunner::runPhpMdCommand is not nullable, but the function returns 'int|null'", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php", @@ -2558,30 +2522,6 @@ "error_level": 5, "shortcode": 139 }, - { - "severity": "info", - "line_from": 42, - "line_to": 42, - "type": "MoreSpecificImplementedParamType", - "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\PhpMd\\Rules\\Design\\TooManyMethods::apply has the more specific type 'PHPMD\\Node\\AbstractTypeNode', expecting 'PHPMD\\AbstractNode' as defined by PHPMD\\Rule::apply", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethods.php", - "snippet": " public function apply(AbstractNode $node)", - "selected_text": "$node", - "error_level": 5, - "shortcode": 140 - }, - { - "severity": "info", - "line_from": 42, - "line_to": 42, - "type": "MoreSpecificImplementedParamType", - "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\PhpMd\\Rules\\Design\\TooManyPublicMethods::apply has the more specific type 'PHPMD\\Node\\AbstractTypeNode', expecting 'PHPMD\\AbstractNode' as defined by PHPMD\\Rule::apply", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethods.php", - "snippet": " public function apply(AbstractNode $node)", - "selected_text": "$node", - "error_level": 5, - "shortcode": 140 - }, { "severity": "info", "line_from": 80, @@ -2596,8 +2536,8 @@ }, { "severity": "info", - "line_from": 387, - "line_to": 387, + "line_from": 388, + "line_to": 388, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Phpstan\\PhpstanRunner::getVendorPathByNamespace cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php", @@ -2608,8 +2548,8 @@ }, { "severity": "info", - "line_from": 390, - "line_to": 390, + "line_from": 391, + "line_to": 391, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Phpstan\\Config\\PhpstanConfigFileFinderInterface::searchIn cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php", @@ -2620,8 +2560,8 @@ }, { "severity": "info", - "line_from": 395, - "line_to": 395, + "line_from": 396, + "line_to": 396, "type": "PossiblyNullArgument", "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\Phpstan\\Config\\PhpstanConfigFileManagerInterface::merge cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php", @@ -2632,8 +2572,8 @@ }, { "severity": "info", - "line_from": 444, - "line_to": 444, + "line_from": 445, + "line_to": 445, "type": "PossiblyNullArgument", "message": "Argument 1 of dirname cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php", @@ -2668,8 +2608,8 @@ }, { "severity": "info", - "line_from": 323, - "line_to": 323, + "line_from": 324, + "line_to": 324, "type": "PossiblyNullArgument", "message": "Argument 2 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php", @@ -2680,8 +2620,8 @@ }, { "severity": "info", - "line_from": 323, - "line_to": 323, + "line_from": 324, + "line_to": 324, "type": "PossiblyNullReference", "message": "Cannot call method getName on possibly null value", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php", @@ -2692,8 +2632,8 @@ }, { "severity": "info", - "line_from": 323, - "line_to": 323, + "line_from": 324, + "line_to": 324, "type": "PossiblyNullArgument", "message": "Argument 3 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php", @@ -2704,8 +2644,32 @@ }, { "severity": "info", - "line_from": 252, - "line_to": 252, + "line_from": 134, + "line_to": 134, + "type": "PossiblyNullArgument", + "message": "Argument 3 of Spryker\\Zed\\Development\\Communication\\Console\\CodeArchitectureSnifferConsole::runForCore cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", + "snippet": " $success = $this->runForCore($output, $module, $path);", + "selected_text": "$path", + "error_level": 3, + "shortcode": 78 + }, + { + "severity": "info", + "line_from": 141, + "line_to": 141, + "type": "PossiblyNullArgument", + "message": "Argument 3 of Spryker\\Zed\\Development\\Communication\\Console\\CodeArchitectureSnifferConsole::runForProject cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", + "snippet": " $success = $this->runForProject($output, $module, $path);", + "selected_text": "$path", + "error_level": 3, + "shortcode": 78 + }, + { + "severity": "info", + "line_from": 253, + "line_to": 253, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Communication\\Console\\CodeArchitectureSnifferConsole::buildPath cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", @@ -2716,8 +2680,8 @@ }, { "severity": "info", - "line_from": 263, - "line_to": 263, + "line_from": 264, + "line_to": 264, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", @@ -2728,8 +2692,8 @@ }, { "severity": "info", - "line_from": 456, - "line_to": 456, + "line_from": 458, + "line_to": 458, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", @@ -2740,8 +2704,8 @@ }, { "severity": "info", - "line_from": 109, - "line_to": 109, + "line_from": 111, + "line_to": 111, "type": "PossiblyNullArgument", "message": "Argument 1 of strpos cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php", @@ -2750,6 +2714,18 @@ "error_level": 3, "shortcode": 78 }, + { + "severity": "info", + "line_from": 70, + "line_to": 70, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php", + "snippet": " $module,", + "selected_text": "$module", + "error_level": 3, + "shortcode": 78 + }, { "severity": "info", "line_from": 119, @@ -3073,18 +3049,6 @@ "selected_text": "getName", "error_level": 3, "shortcode": 83 - }, - { - "severity": "info", - "line_from": 59, - "line_to": 59, - "type": "MoreSpecificImplementedParamType", - "message": "Argument 2 of Spryker\\Zed\\Development\\Communication\\Form\\BundlesFormType::buildForm has the more specific type 'array', expecting 'array' as defined by Symfony\\Component\\Form\\AbstractType::buildForm", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php", - "snippet": " public function buildForm(FormBuilderInterface $builder, array $options)", - "selected_text": "$options", - "error_level": 5, - "shortcode": 140 } ], "deprecation": [ @@ -3558,8 +3522,8 @@ }, { "severity": "info", - "line_from": 100, - "line_to": 100, + "line_from": 102, + "line_to": 102, "type": "DeprecatedMethod", "message": "The method Spryker\\Zed\\Development\\DevelopmentConfig::getPathToCore has been marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php", @@ -3570,8 +3534,8 @@ }, { "severity": "info", - "line_from": 122, - "line_to": 122, + "line_from": 124, + "line_to": 124, "type": "DeprecatedMethod", "message": "The method Spryker\\Zed\\Development\\DevelopmentConfig::getPathToCore has been marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php", @@ -3594,8 +3558,8 @@ }, { "severity": "info", - "line_from": 81, - "line_to": 81, + "line_from": 82, + "line_to": 82, "type": "DeprecatedMethod", "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::createModule has been marked as deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php", diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php index d1114ef4..887f2ca3 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php @@ -165,13 +165,13 @@ public function setConfigurationOptions(array $configurationOptions) /** * {@inheritDoc} * - * @param string $modulePath + * @param string $path * * @return string */ - public function getCodingStandard(string $modulePath): string + public function getCodingStandard(string $path): string { - $phpcsRootFilePath = $modulePath . 'phpcs.xml'; + $phpcsRootFilePath = $path . 'phpcs.xml'; if (file_exists($phpcsRootFilePath)) { return $phpcsRootFilePath; @@ -179,7 +179,7 @@ public function getCodingStandard(string $modulePath): string $vendorDir = APPLICATION_VENDOR_DIR . DIRECTORY_SEPARATOR; - if (strpos($modulePath, $vendorDir) !== false) { + if (strpos($path, $vendorDir) !== false) { if ($this->getLevel() === static::LEVEL_SPRYKER_STRICT) { return $this->developmentConfig->getCodeSnifferStrictRuleset(); } diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationInterface.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationInterface.php index 91d4521d..2dab5ed4 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationInterface.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfigurationInterface.php @@ -37,7 +37,7 @@ public function setConfigurationOptions(array $configurationOptions); /** * Returns the list of paths to the coding standards which should be used in current CodeStyleSniffer run. - * Multiple paths should be separated by coma. + * Multiple paths should be separated by comma. * * @param string $path * From bc04edce33c272c5e4da65bab156ed9953e071f8 Mon Sep 17 00:00:00 2001 From: mscherer Date: Tue, 22 Feb 2022 16:57:03 +0100 Subject: [PATCH 274/336] TE-10816 Update psalm baselines, fix issues. --- psalm-report.json | 16 ++-------------- .../CodeBuilder/Bridge/BridgeBuilder.php | 4 +++- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/psalm-report.json b/psalm-report.json index 16ef430c..d5a51537 100644 --- a/psalm-report.json +++ b/psalm-report.json @@ -2,20 +2,8 @@ "error": [ { "severity": "error", - "line_from": 635, - "line_to": 635, - "type": "UndefinedMethod", - "message": "Method ReflectionType::getName does not exist", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", - "snippet": " $finalOutput .= $this->getClassNameFromFqcn($parameter->getType()->getName()) . ' ';", - "selected_text": "getName", - "error_level": 6, - "shortcode": 22 - }, - { - "severity": "error", - "line_from": 696, - "line_to": 696, + "line_from": 698, + "line_to": 698, "type": "UndefinedMethod", "message": "Method ReflectionType::getName does not exist", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php", diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php b/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php index 706e6eb8..f19a478a 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php @@ -632,7 +632,9 @@ protected function getParameters(ReflectionMethod $method): string foreach ($method->getParameters() as $parameter) { if ($parameter->hasType()) { - $finalOutput .= $this->getClassNameFromFqcn($parameter->getType()->getName()) . ' '; + /** @var \ReflectionNamedType $type */ + $type = $parameter->getType(); + $finalOutput .= $this->getClassNameFromFqcn($type->getName()) . ' '; } $finalOutput .= '$' . $parameter->getName(); From d20380db9020eba3d3d87e471ec78fdd8d758f43 Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Thu, 24 Feb 2022 11:02:57 +0100 Subject: [PATCH 275/336] SUPESC-545 Fix dead deprecation links (#9174) * SUPESC-545 Fix dead deprecation links --- src/Spryker/Zed/Development/DevelopmentConfig.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index c5588d34..5d98b056 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -203,7 +203,7 @@ public function getPathToCore() /** * @api * - * @deprecated Use {@link \Spryker\Zed\Development\Business\Module\PathBuilder\SprykerSdkPathBuilder::buildPath()} instead. + * @deprecated Use {@link \Spryker\Zed\Development\Business\DependencyTree\Finder\PathBuilder\SprykerSdkPathBuilder::buildPaths()} instead. * * Gets path to SprykerSdk core modules. * From fda5ac13c2f3a10eda2579e7c73c03038d8364ce Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Thu, 24 Feb 2022 15:37:28 +0100 Subject: [PATCH 276/336] SUPESC-545 Fix up deprecation links around methods. (#9175) * Fix up deprecation links around methods. * Fix up deprecation links around methods. * Fix up deprecation links around methods. --- src/Spryker/Zed/Development/DevelopmentConfig.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 5d98b056..3616361b 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -183,7 +183,7 @@ public function getApplicationNamespaces() /** * @api * - * @deprecated Use {@link \Spryker\Zed\Development\Business\Module\PathBuilder\SprykerModulePathBuilder::buildPath()} instead. + * @deprecated Use {@link \Spryker\Zed\Development\Business\Module\PathBuilder\SprykerModulePathBuilder::buildPaths()} instead. * * Gets path to Spryker core modules. * @@ -217,7 +217,7 @@ public function getPathToSdk() /** * @api * - * @deprecated Use {@link \Spryker\Zed\Development\Business\Module\PathBuilder\SprykerShopModulePathBuilder::buildPath()} instead. + * @deprecated Use {@link \Spryker\Zed\Development\Business\Module\PathBuilder\SprykerShopModulePathBuilder::buildPaths()} instead. * * Gets path to SprykerShop core modules. * @@ -231,7 +231,7 @@ public function getPathToShop() /** * @api * - * @deprecated Use {@link \Spryker\Zed\Development\Business\Module\PathBuilder\SprykerEcoModulePathBuilder::buildPath()} instead. + * @deprecated Use {@link \Spryker\Zed\Development\Business\Module\PathBuilder\SprykerEcoModulePathBuilder::buildPaths()} instead. * * Gets path to SprykerEco core modules. * From f8e331d0e5b548f6cef16a5d99c69884f402969d Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Tue, 1 Mar 2022 17:52:02 +0100 Subject: [PATCH 277/336] TE-10835 Fix up broken documentation links. (#9181) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7fbd2d06..3e0e660c 100644 --- a/README.md +++ b/README.md @@ -13,4 +13,4 @@ composer require --dev spryker/development ## Documentation -[Module Documentation](https://academy.spryker.com/developing_with_spryker/module_guide/modules.html) +[Module Documentation](https://docs.spryker.com) From 09a3c73f78f755da9a12b3bdfc8dddedaef82048 Mon Sep 17 00:00:00 2001 From: mscherer Date: Thu, 3 Mar 2022 20:41:36 +0100 Subject: [PATCH 278/336] Fix invalid readme links to docs. --- .../Business/CodeBuilder/Module/Templates/README.md.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl index 3f575111..416f9db1 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl @@ -12,4 +12,4 @@ composer require {namespaceDashed}/{moduleDashed} ## Documentation -[Spryker Documentation](https://documentation.spryker.com/module_guide/overview.htm) +[Spryker Documentation](https://documentation.spryker.com) From f5033f4656fd92897cb62d294dbc72a809f68b13 Mon Sep 17 00:00:00 2001 From: mscherer Date: Fri, 4 Mar 2022 11:42:14 +0100 Subject: [PATCH 279/336] Fix invalid readme links to docs. --- README.md | 2 +- .../Business/CodeBuilder/Module/Templates/README.md.tpl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3e0e660c..2e285b06 100644 --- a/README.md +++ b/README.md @@ -13,4 +13,4 @@ composer require --dev spryker/development ## Documentation -[Module Documentation](https://docs.spryker.com) +[Spryker Documentation](https://docs.spryker.com) diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl index 416f9db1..1d40539e 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl @@ -12,4 +12,4 @@ composer require {namespaceDashed}/{moduleDashed} ## Documentation -[Spryker Documentation](https://documentation.spryker.com) +[Spryker Documentation](https://docs.spryker.com) From 981432a7f72cc5f184ab02aaf3de27185b245db7 Mon Sep 17 00:00:00 2001 From: Dmytro Dymarchuk Date: Thu, 10 Mar 2022 17:11:43 +0200 Subject: [PATCH 280/336] TE-10831 Any extension of non spryker code must have return types (#9195) * TE-10685 Fixed false positive of factory create contain one new rule * TE-1083 Added rule: any extension of non spryker code must have return types --- architecture-baseline.json | 178 +++++++++++++++++- .../ArchitectureSniffer.php | 9 +- .../DependencyFinder/ExternalDependency.php | 8 +- .../Zed/Development/DevelopmentConfig.php | 2 +- 4 files changed, 191 insertions(+), 6 deletions(-) diff --git a/architecture-baseline.json b/architecture-baseline.json index fe51488c..4b0df2b5 100644 --- a/architecture-baseline.json +++ b/architecture-baseline.json @@ -1 +1,177 @@ -[] +[ + { + "fileName": "src/Spryker/Zed/Development/Business/PhpMd/Rules/Controversial/CamelCaseMethodName.php", + "description": "Method `Spryker\\Zed\\Development\\Business\\PhpMd\\Rules\\Controversial\\CamelCaseMethodName::apply()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjects.php", + "description": "Method `Spryker\\Zed\\Development\\Business\\PhpMd\\Rules\\Design\\CouplingBetweenObjects::apply()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildren.php", + "description": "Method `Spryker\\Zed\\Development\\Business\\PhpMd\\Rules\\Design\\NumberOfChildren::apply()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethods.php", + "description": "Method `Spryker\\Zed\\Development\\Business\\PhpMd\\Rules\\Design\\TooManyMethods::apply()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethods.php", + "description": "Method `Spryker\\Zed\\Development\\Business\\PhpMd\\Rules\\Design\\TooManyPublicMethods::apply()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Development/Business/PhpMd/Rules/Naming/ShortVariable.php", + "description": "Method `Spryker\\Zed\\Development\\Business\\PhpMd\\Rules\\Naming\\ShortVariable::checkMinimumLength()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Development/Business/PhpMd/Rules/Naming/ShortVariable.php", + "description": "Method `Spryker\\Zed\\Development\\Business\\PhpMd\\Rules\\Naming\\ShortVariable::getExceptionsList()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Development/Business/PhpMd/Rules/Naming/ShortVariable.php", + "description": "Method `Spryker\\Zed\\Development\\Business\\PhpMd\\Rules\\Naming\\ShortVariable::isNameAllowedInContext()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Development/Business/PhpMd/Rules/Naming/ShortVariable.php", + "description": "Method `Spryker\\Zed\\Development\\Business\\PhpMd\\Rules\\Naming\\ShortVariable::isChildOf()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php", + "description": "Method `Spryker\\Zed\\Development\\Communication\\Console\\CodeArchitectureSnifferConsole::execute()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Development/Communication/Console/CodePhpMessDetectorConsole.php", + "description": "Method `Spryker\\Zed\\Development\\Communication\\Console\\CodePhpMessDetectorConsole::execute()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php", + "description": "Method `Spryker\\Zed\\Development\\Communication\\Console\\CodePhpstanConsole::execute()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php", + "description": "Method `Spryker\\Zed\\Development\\Communication\\Console\\CodeStyleSnifferConsole::execute()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php", + "description": "Method `Spryker\\Zed\\Development\\Communication\\Console\\ComposerJsonUpdaterConsole::execute()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php", + "description": "Method `Spryker\\Zed\\Development\\Communication\\Console\\DependencyTreeBuilderConsole::execute()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php", + "description": "Method `Spryker\\Zed\\Development\\Communication\\Console\\DependencyViolationFixConsole::execute()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Development/Communication/Console/GenerateClientIdeAutoCompletionConsole.php", + "description": "Method `Spryker\\Zed\\Development\\Communication\\Console\\GenerateClientIdeAutoCompletionConsole::execute()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Development/Communication/Console/GenerateGlueIdeAutoCompletionConsole.php", + "description": "Method `Spryker\\Zed\\Development\\Communication\\Console\\GenerateGlueIdeAutoCompletionConsole::execute()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php", + "description": "Method `Spryker\\Zed\\Development\\Communication\\Console\\GenerateIdeAutoCompletionConsole::execute()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Development/Communication/Console/GenerateServiceIdeAutoCompletionConsole.php", + "description": "Method `Spryker\\Zed\\Development\\Communication\\Console\\GenerateServiceIdeAutoCompletionConsole::execute()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Development/Communication/Console/GenerateYvesIdeAutoCompletionConsole.php", + "description": "Method `Spryker\\Zed\\Development\\Communication\\Console\\GenerateYvesIdeAutoCompletionConsole::execute()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Development/Communication/Console/GenerateZedIdeAutoCompletionConsole.php", + "description": "Method `Spryker\\Zed\\Development\\Communication\\Console\\GenerateZedIdeAutoCompletionConsole::execute()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php", + "description": "Method `Spryker\\Zed\\Development\\Communication\\Console\\PluginUsageFinderConsole::execute()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Development/Communication/Console/PropelAbstractValidateConsole.php", + "description": "Method `Spryker\\Zed\\Development\\Communication\\Console\\PropelAbstractValidateConsole::execute()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php", + "description": "Method `Spryker\\Zed\\Development\\Communication\\Form\\BundlesFormType::getBlockPrefix()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + } +] diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php index b8d2be19..a583b3d8 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php @@ -310,7 +310,14 @@ protected function runCommand($directory, array $options = []) $process->run(); if (substr($process->getOutput(), 0, 5) !== 'getExitCodeText()); + throw new Exception( + sprintf( + "Sniffer run was not successful: %s\n\nOutput: %s\n\nError: %s", + $process->getExitCodeText(), + $process->getOutput(), + $process->getErrorOutput(), + ), + ); } $output = $process->getOutput(); diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php index 242dd5ae..dc4a2341 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php @@ -15,9 +15,11 @@ use Spryker\Zed\Development\Business\DependencyTree\DependencyTree; use Symfony\Component\Finder\SplFileInfo; -$manualAutoload = APPLICATION_VENDOR_DIR . '/squizlabs/php_codesniffer/autoload.php'; -if (!class_exists(Config::class) && file_exists($manualAutoload)) { - require $manualAutoload; +if (defined('APPLICATION_VENDOR_DIR')) { + $manualAutoload = APPLICATION_VENDOR_DIR . '/squizlabs/php_codesniffer/autoload.php'; + if (!class_exists(Config::class) && file_exists($manualAutoload)) { + require $manualAutoload; + } } class ExternalDependency extends AbstractDependencyFinder diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 3616361b..980043b0 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -661,7 +661,7 @@ public function getCodeSnifferStrictRuleset(): string */ public function getPhpMdCommand() { - return 'vendor/bin/phpmd'; + return 'php -d error_reporting=E_ALL&~E_DEPRECATED vendor/bin/phpmd'; } /** From 52c4db1dbf7f9d3620a180f50a7f8a2d9f3cd167 Mon Sep 17 00:00:00 2001 From: vol4onok Date: Mon, 14 Mar 2022 08:31:58 +0200 Subject: [PATCH 281/336] TE-10302: architecture baseline with get function --- architecture-baseline.json | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/architecture-baseline.json b/architecture-baseline.json index 4b0df2b5..92552bd9 100644 --- a/architecture-baseline.json +++ b/architecture-baseline.json @@ -173,5 +173,26 @@ "rule": "ExternalMethodExtensionReturnTypeRule", "ruleset": "Spryker", "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Development/Dependency/Facade/DevelopmentToModuleFinderFacadeBridge.php", + "description": "Bridges: Method getProjectModules() must have `public function getCollection(CriteriaTransfer): CollectionTransfer;` signature.", + "rule": "BridgeFacadeMethodsRule", + "ruleset": "Spryker", + "priority": "2" + }, + { + "fileName": "src/Spryker/Zed/Development/Dependency/Facade/DevelopmentToModuleFinderFacadeBridge.php", + "description": "Bridges: Method getModules() must have `public function getCollection(CriteriaTransfer): CollectionTransfer;` signature.", + "rule": "BridgeFacadeMethodsRule", + "ruleset": "Spryker", + "priority": "2" + }, + { + "fileName": "src/Spryker/Zed/Development/Dependency/Facade/DevelopmentToModuleFinderFacadeBridge.php", + "description": "Bridges: Method getPackages() must have `public function getCollection(CriteriaTransfer): CollectionTransfer;` signature.", + "rule": "BridgeFacadeMethodsRule", + "ruleset": "Spryker", + "priority": "2" } ] From a468eb8dbd1013c55d6d5230cbb999be444d4129 Mon Sep 17 00:00:00 2001 From: vol4onok Date: Mon, 14 Mar 2022 10:47:01 +0200 Subject: [PATCH 282/336] TE-10302: Updated baseline files --- architecture-baseline.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/architecture-baseline.json b/architecture-baseline.json index 92552bd9..ed12efcf 100644 --- a/architecture-baseline.json +++ b/architecture-baseline.json @@ -176,21 +176,21 @@ }, { "fileName": "src/Spryker/Zed/Development/Dependency/Facade/DevelopmentToModuleFinderFacadeBridge.php", - "description": "Bridges: Method getProjectModules() must have `public function getCollection(CriteriaTransfer): CollectionTransfer;` signature.", + "description": "Bridges: Method `getProjectModules()` must have `public function getCollection(CriteriaTransfer): CollectionTransfer;` signature.", "rule": "BridgeFacadeMethodsRule", "ruleset": "Spryker", "priority": "2" }, { "fileName": "src/Spryker/Zed/Development/Dependency/Facade/DevelopmentToModuleFinderFacadeBridge.php", - "description": "Bridges: Method getModules() must have `public function getCollection(CriteriaTransfer): CollectionTransfer;` signature.", + "description": "Bridges: Method `getModules()` must have `public function getCollection(CriteriaTransfer): CollectionTransfer;` signature.", "rule": "BridgeFacadeMethodsRule", "ruleset": "Spryker", "priority": "2" }, { "fileName": "src/Spryker/Zed/Development/Dependency/Facade/DevelopmentToModuleFinderFacadeBridge.php", - "description": "Bridges: Method getPackages() must have `public function getCollection(CriteriaTransfer): CollectionTransfer;` signature.", + "description": "Bridges: Method `getPackages()` must have `public function getCollection(CriteriaTransfer): CollectionTransfer;` signature.", "rule": "BridgeFacadeMethodsRule", "ruleset": "Spryker", "priority": "2" From d4001e643cf5bfaddc9ed0dd864a4fdd1e6aa041 Mon Sep 17 00:00:00 2001 From: dima_tsemma Date: Fri, 18 Mar 2022 16:52:42 +0200 Subject: [PATCH 283/336] TE-10302: refactoring --- architecture-baseline.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/architecture-baseline.json b/architecture-baseline.json index ed12efcf..829d709c 100644 --- a/architecture-baseline.json +++ b/architecture-baseline.json @@ -176,21 +176,21 @@ }, { "fileName": "src/Spryker/Zed/Development/Dependency/Facade/DevelopmentToModuleFinderFacadeBridge.php", - "description": "Bridges: Method `getProjectModules()` must have `public function getCollection(CriteriaTransfer): CollectionTransfer;` signature.", + "description": "Bridges: Method `getProjectModules()` must have `public function getCollection(CriteriaTransfer): CollectionTransfer` signature.", "rule": "BridgeFacadeMethodsRule", "ruleset": "Spryker", "priority": "2" }, { "fileName": "src/Spryker/Zed/Development/Dependency/Facade/DevelopmentToModuleFinderFacadeBridge.php", - "description": "Bridges: Method `getModules()` must have `public function getCollection(CriteriaTransfer): CollectionTransfer;` signature.", + "description": "Bridges: Method `getModules()` must have `public function getCollection(CriteriaTransfer): CollectionTransfer` signature.", "rule": "BridgeFacadeMethodsRule", "ruleset": "Spryker", "priority": "2" }, { "fileName": "src/Spryker/Zed/Development/Dependency/Facade/DevelopmentToModuleFinderFacadeBridge.php", - "description": "Bridges: Method `getPackages()` must have `public function getCollection(CriteriaTransfer): CollectionTransfer;` signature.", + "description": "Bridges: Method `getPackages()` must have `public function getCollection(CriteriaTransfer): CollectionTransfer` signature.", "rule": "BridgeFacadeMethodsRule", "ruleset": "Spryker", "priority": "2" From 831067b00b334c7d5de787e0f8abfa206043571a Mon Sep 17 00:00:00 2001 From: Svyatoslav V Date: Fri, 1 Apr 2022 18:33:03 +0300 Subject: [PATCH 284/336] TE-10961 Fixed new lines after constants. (#9260) * TE-10961 Fixed new lines after contstants. --- .../Development/Communication/Console/CodePhpstanConsole.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php index 486e73e3..cd619189 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php @@ -23,9 +23,13 @@ class CodePhpstanConsole extends Console * @var string */ protected const COMMAND_NAME = 'code:phpstan'; + protected const OPTION_MODULE = PhpstanRunner::OPTION_MODULE; + protected const OPTION_DRY_RUN = PhpstanRunner::OPTION_DRY_RUN; + protected const OPTION_LEVEL = PhpstanRunner::OPTION_LEVEL; + protected const OPTION_OFFSET = PhpstanRunner::OPTION_OFFSET; /** From 4b0ad6e7583fc683551e01e5c603680a55558e3d Mon Sep 17 00:00:00 2001 From: Dmytro Dymarchuk Date: Fri, 8 Apr 2022 16:35:49 +0300 Subject: [PATCH 285/336] TE-10552 CodeSniffer: Generics for complex objects (#9253) * TE-10552 CodeSniffer: Generics for complex objects --- src/Spryker/Zed/Development/Business/Dependency/Manager.php | 2 +- .../Business/Dependency/SchemaParser/PropelSchemaParser.php | 2 +- .../Business/Dependency/TwigFileFinder/TwigFileFinder.php | 2 +- .../Dependency/TwigFileFinder/TwigFileFinderInterface.php | 2 +- .../Integration/DependencyProviderUsedPluginFinder.php | 2 +- .../Module/ModuleFileFinder/ModuleFileFinderInterface.php | 2 +- .../Development/Business/Module/ModuleFinder/ModuleFinder.php | 4 ++-- .../Module/ProjectModuleFinder/ProjectModuleFinder.php | 2 +- .../Business/Package/PackageFinder/PackageFinder.php | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Dependency/Manager.php b/src/Spryker/Zed/Development/Business/Dependency/Manager.php index 181b6371..abe8b0e3 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/Manager.php +++ b/src/Spryker/Zed/Development/Business/Dependency/Manager.php @@ -149,7 +149,7 @@ public function collectAllModules() } /** - * @return \Symfony\Component\Finder\Finder|\Symfony\Component\Finder\SplFileInfo[] + * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> */ protected function collectCoreModules() { diff --git a/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php b/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php index ad3b7d0d..c6842684 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php +++ b/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php @@ -151,7 +151,7 @@ protected function buildUniqueFieldToModuleNameMap(): array } /** - * @return \Symfony\Component\Finder\Finder|\Symfony\Component\Finder\SplFileInfo[] + * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> */ protected function getSchemaFileFinder(): Finder { diff --git a/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php b/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php index 4ea4d1b9..650acb3d 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php @@ -28,7 +28,7 @@ public function __construct(DevelopmentConfig $config) /** * @param string $module * - * @return \Symfony\Component\Finder\Finder|\Symfony\Component\Finder\SplFileInfo[] + * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> */ public function findTwigFiles(string $module): Finder { diff --git a/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinderInterface.php b/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinderInterface.php index 29be9e6e..36f4afaf 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinderInterface.php +++ b/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinderInterface.php @@ -14,7 +14,7 @@ interface TwigFileFinderInterface /** * @param string $module * - * @return \Symfony\Component\Finder\Finder|\Symfony\Component\Finder\SplFileInfo[] + * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> */ public function findTwigFiles(string $module): Finder; diff --git a/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php b/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php index 68bdaab4..c309d719 100644 --- a/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php +++ b/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php @@ -122,7 +122,7 @@ protected function getPath(ModuleTransfer $moduleTransfer, ApplicationTransfer $ /** * @param string $path * - * @return \Symfony\Component\Finder\Finder|\Symfony\Component\Finder\SplFileInfo[] + * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> */ protected function getFinderForModule(string $path): Finder { diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinderInterface.php b/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinderInterface.php index cc3a701c..9eb68a6d 100644 --- a/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinderInterface.php +++ b/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinderInterface.php @@ -15,7 +15,7 @@ interface ModuleFileFinderInterface /** * @param \Generated\Shared\Transfer\ModuleTransfer $moduleTransfer * - * @return \Symfony\Component\Finder\Finder|\Symfony\Component\Finder\SplFileInfo[] + * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> */ public function find(ModuleTransfer $moduleTransfer): Finder; diff --git a/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php b/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php index fbe61904..bbc27c2a 100644 --- a/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php +++ b/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php @@ -101,7 +101,7 @@ protected function addStandaloneModulesToCollection(array $moduleTransferCollect } /** - * @return \Symfony\Component\Finder\Finder|\Symfony\Component\Finder\SplFileInfo[] + * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> */ protected function getStandaloneModuleFinder(): Finder { @@ -171,7 +171,7 @@ protected function addModulesToCollection(array $moduleTransferCollection, ?Modu } /** - * @return \Symfony\Component\Finder\Finder|\Symfony\Component\Finder\SplFileInfo[] + * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> */ protected function getModuleFinder(): Finder { diff --git a/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php b/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php index 1618db6b..b802d4a5 100644 --- a/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php +++ b/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php @@ -95,7 +95,7 @@ protected function getProjectDirectories(): array /** * @param array $projectOrganizationModuleDirectories * - * @return \Symfony\Component\Finder\Finder|\Symfony\Component\Finder\SplFileInfo[] + * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> */ protected function getProjectModuleFinder(array $projectOrganizationModuleDirectories): Finder { diff --git a/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php b/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php index 7d8204f4..bfda3eb7 100644 --- a/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php +++ b/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php @@ -57,7 +57,7 @@ public function getPackages(): array } /** - * @return \Symfony\Component\Finder\Finder|\Symfony\Component\Finder\SplFileInfo[] + * @return \Symfony\Component\Finder\Finder<\Symfony\Component\Finder\SplFileInfo> */ protected function getPackageFinder(): Finder { From fb703ab9577b5e8f4232dc0978215d8a6a93c889 Mon Sep 17 00:00:00 2001 From: Oleksandr Kiiashko <80702205+oleksander-kiiashko@users.noreply.github.com> Date: Thu, 14 Apr 2022 10:53:41 +0300 Subject: [PATCH 286/336] APPS-2139 AOP support in Spryker modules (#9256) APPS-2139 Release AOP modules --- .../Dependency/DependencyFinder/SprykerSdkDependencyFinder.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/SprykerSdkDependencyFinder.php b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/SprykerSdkDependencyFinder.php index 73502b19..4401a1fe 100644 --- a/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/SprykerSdkDependencyFinder.php +++ b/src/Spryker/Zed/Development/Business/Dependency/DependencyFinder/SprykerSdkDependencyFinder.php @@ -135,7 +135,7 @@ protected function getModuleNamesFromUseStatements(array $useStatements, string } $foreignModule = $useStatementFragments[1]; if ($foreignModule !== $module) { - $dependentModules[] = $foreignModule; + $dependentModules[] = $this->buildComposerName($useStatementFragments[0], $useStatementFragments[1]); } } From 991cdb86435ac0752215bd888bafd2139e8838f1 Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Wed, 20 Apr 2022 10:42:56 +0200 Subject: [PATCH 287/336] TE-10993 Fix up generics phpdoc-blocks. (#9279) * TE-10993 Fix up generics phpdoc-blocks. Co-authored-by: Dmytro Dymarchuk --- phpstan.neon | 1 - .../Development/Business/CodeBuilder/Bridge/BridgeBuilder.php | 4 ++-- .../DependencyTree/DependencyGraph/OutgoingGraphBuilder.php | 2 +- .../Development/Business/Stability/StabilityCalculator.php | 4 ++-- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/phpstan.neon b/phpstan.neon index 4cbe39e0..5a23f24e 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -1,7 +1,6 @@ parameters: level: 7 reportUnmatchedIgnoredErrors: false - checkGenericClassInNonGenericObjectType: false checkMissingIterableValueType: false ignoreErrors: - '#Constant T_SEMICOLON not found.#' diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php b/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php index f19a478a..0a966c00 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Bridge/BridgeBuilder.php @@ -546,8 +546,8 @@ protected function addMethodsToInterface(BridgeBuilderDataTransfer $bridgeBuilde } /** - * @param \ReflectionClass $reflectionClass - * @param array $methodNames + * @param \ReflectionClass $reflectionClass + * @param array $methodNames * @param string $methodTemplate * @param string $templateContent * diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php index f2b4edb3..b836d98e 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyGraph/OutgoingGraphBuilder.php @@ -123,7 +123,7 @@ protected function addIncomingDependencies() /** * @param string $moduleName - * @param \ArrayObject $allDependencies + * @param \ArrayObject $allDependencies * * @return void */ diff --git a/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php b/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php index 068be91c..dcd42ae8 100644 --- a/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php +++ b/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php @@ -162,7 +162,7 @@ protected function calculateSprykerStability() /** * @param string $bundleName - * @param \ArrayObject $indirectOutgoingDependencies + * @param \ArrayObject $indirectOutgoingDependencies * * @return void */ @@ -181,7 +181,7 @@ protected function buildIndirectOutgoingDependencies($bundleName, ArrayObject $i /** * @param string $bundleName - * @param \ArrayObject $indirectIncomingDependencies + * @param \ArrayObject $indirectIncomingDependencies * * @return void */ From b75086e670d8553737c581e99478aaf0a81ea3d0 Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Wed, 20 Apr 2022 11:27:20 +0200 Subject: [PATCH 288/336] TE-11003 Fix up CS for new improved annotation sniffer. (#9293) * TE-11003 Fix up CS for new improved annotation sniffer. * TE-11003 CodeSniffer: Improved method annotation sniff Co-authored-by: Dmytro Dymarchuk --- .../Communication/Console/ComposerJsonValidatorConsole.php | 1 + .../Console/DependencyTreeDependencyViolationConsole.php | 1 + 2 files changed, 2 insertions(+) diff --git a/src/Spryker/Zed/Development/Communication/Console/ComposerJsonValidatorConsole.php b/src/Spryker/Zed/Development/Communication/Console/ComposerJsonValidatorConsole.php index 8ec19e59..feee7474 100644 --- a/src/Spryker/Zed/Development/Communication/Console/ComposerJsonValidatorConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/ComposerJsonValidatorConsole.php @@ -17,6 +17,7 @@ * @internal * * @method \Spryker\Zed\Development\Business\DevelopmentFacadeInterface getFacade() + * @method \Spryker\Zed\Development\Communication\DevelopmentCommunicationFactory getFactory() */ class ComposerJsonValidatorConsole extends AbstractCoreModuleAwareConsole { diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyTreeDependencyViolationConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyTreeDependencyViolationConsole.php index 6039617f..02a9465d 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyTreeDependencyViolationConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyTreeDependencyViolationConsole.php @@ -11,6 +11,7 @@ * @deprecated Use {@link \Spryker\Zed\Development\Communication\Console\DependencyViolationFinderConsole} instead. * * @method \Spryker\Zed\Development\Business\DevelopmentFacadeInterface getFacade() + * @method \Spryker\Zed\Development\Communication\DevelopmentCommunicationFactory getFactory() */ class DependencyTreeDependencyViolationConsole extends DependencyViolationFinderConsole { From 4ac0b42829757af0e3ae782761358443048e4904 Mon Sep 17 00:00:00 2001 From: mscherer Date: Thu, 21 Apr 2022 16:26:25 +0200 Subject: [PATCH 289/336] SUPESC-574 Cleanup --- src/Spryker/Zed/Development/DevelopmentConfig.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 980043b0..9709b7f2 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -352,7 +352,6 @@ public function getExternalToInternalNamespaceMap() { return [ 'Codeception\\' => 'spryker/testify', - 'CodeItNow\\BarcodeBundle' => 'spryker/code-it-now', 'Doctrine\\Common\\Inflector' => 'spryker/doctrine-inflector', 'Doctrine\\Inflector\\InflectorFactory' => 'spryker/doctrine-inflector', 'DMS\\PHPUnitExtensions\\' => 'spryker/testify', @@ -399,7 +398,6 @@ public function getExternalToInternalMap() { return [ 'codeception/codeception' => 'spryker/testify', - 'codeitnowin/barcode' => 'spryker/code-it-now', 'dms/phpunit-arraysubset-asserts' => 'spryker/testify', 'doctrine/inflector' => 'spryker/doctrine-inflector', 'egulias/email-validator' => 'spryker/egulias', From 8965e50a908a92f8db76c452aa4d52900c5b60fc Mon Sep 17 00:00:00 2001 From: mscherer Date: Tue, 26 Apr 2022 12:18:16 +0200 Subject: [PATCH 290/336] Fix CS. --- .../Communication/Console/AbstractCoreModuleAwareConsole.php | 2 +- .../Communication/Console/DependencyViolationFinderConsole.php | 2 +- .../Communication/Console/DependencyViolationFixConsole.php | 2 +- .../Communication/Console/PluginUsageFinderConsole.php | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php b/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php index 320bb9b4..028b705f 100644 --- a/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php @@ -19,7 +19,7 @@ /** * @method \Spryker\Zed\Development\Business\DevelopmentFacadeInterface getFacade() - * @method \Spryker\Zed\Development\Business\DevelopmentBusinessFactory getFactory() + * @method \Spryker\Zed\Development\Communication\DevelopmentCommunicationFactory getFactory() */ class AbstractCoreModuleAwareConsole extends Console { diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php index dd526b4c..4b75949c 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php @@ -20,7 +20,7 @@ * @internal * * @method \Spryker\Zed\Development\Business\DevelopmentFacadeInterface getFacade() - * @method \Spryker\Zed\Development\Business\DevelopmentBusinessFactory getFactory() + * @method \Spryker\Zed\Development\Communication\DevelopmentCommunicationFactory getFactory() */ class DependencyViolationFinderConsole extends AbstractCoreModuleAwareConsole { diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php index 22b60d8a..07bc6059 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php @@ -20,7 +20,7 @@ * @internal * * @method \Spryker\Zed\Development\Business\DevelopmentFacadeInterface getFacade() - * @method \Spryker\Zed\Development\Business\DevelopmentBusinessFactory getFactory() + * @method \Spryker\Zed\Development\Communication\DevelopmentCommunicationFactory getFactory() */ class DependencyViolationFixConsole extends AbstractCoreModuleAwareConsole { diff --git a/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php b/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php index f6c6f43d..5b6efc05 100644 --- a/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php @@ -20,7 +20,7 @@ /** * @method \Spryker\Zed\Development\Business\DevelopmentFacadeInterface getFacade() - * @method \Spryker\Zed\Development\Business\DevelopmentBusinessFactory getFactory() + * @method \Spryker\Zed\Development\Communication\DevelopmentCommunicationFactory getFactory() */ class PluginUsageFinderConsole extends Console { From ea06233692f85e106d8a8b3fc73d161284caafc7 Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Tue, 26 Apr 2022 12:37:56 +0200 Subject: [PATCH 291/336] Fix up deprecated module generator (#9318) --- .../Development/Business/CodeBuilder/Module/ModuleBuilder.php | 3 +-- .../Business/CodeBuilder/Module/Templates/.coveralls.yml.tpl | 3 --- .../Business/CodeBuilder/Module/Templates/phpstan.json.tpl | 3 --- .../Business/CodeBuilder/Module/Templates/phpstan.neon.tpl | 2 ++ 4 files changed, 3 insertions(+), 8 deletions(-) delete mode 100644 src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.coveralls.yml.tpl delete mode 100644 src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/phpstan.json.tpl create mode 100644 src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/phpstan.neon.tpl diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php index 0043b86c..b04c64ef 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php @@ -47,14 +47,13 @@ class ModuleBuilder * @var array */ protected $files = [ - '.coveralls.yml', '.gitattributes', '.gitignore', 'CHANGELOG.md', 'codecept.yml' => 'codeception.yml', 'composer.json', 'LICENSE', - 'phpstan.json', + 'phpstan.neon', 'README.md', 'tooling.yml', ]; diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.coveralls.yml.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.coveralls.yml.tpl deleted file mode 100644 index be4561ef..00000000 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/.coveralls.yml.tpl +++ /dev/null @@ -1,3 +0,0 @@ -coverage_clover: tests/_output/coverage.xml -json_path: tests/_output/coveralls-upload.json -service_name: travis-ci diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/phpstan.json.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/phpstan.json.tpl deleted file mode 100644 index 29ea502e..00000000 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/phpstan.json.tpl +++ /dev/null @@ -1,3 +0,0 @@ -{ - "defaultLevel": 8 -} diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/phpstan.neon.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/phpstan.neon.tpl new file mode 100644 index 00000000..b5f07451 --- /dev/null +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/phpstan.neon.tpl @@ -0,0 +1,2 @@ +parameters: + level: 8 From ef7781e4e31b7d8735044c28c789201c8d86e5e0 Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Tue, 26 Apr 2022 22:10:55 +0200 Subject: [PATCH 292/336] Fix up CS for annotations. (#9285) TE-11000 CodeSniffer: Deprecate legacy config --- .../CodeStyleSniffer/CodeStyleSniffer.php | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php index 8841fce8..a86dd3e4 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php @@ -7,6 +7,7 @@ namespace Spryker\Zed\Development\Business\CodeStyleSniffer; +use Laminas\Config\Reader\Xml; use Laminas\Filter\FilterChain; use Laminas\Filter\StringToLower; use Laminas\Filter\Word\CamelCaseToDash; @@ -324,7 +325,8 @@ protected function runSnifferCommand($path, CodeStyleSnifferConfigurationInterfa $optionIgnore = $codeStyleSnifferConfiguration->getIgnoredPaths(); $customPaths = []; - if (!file_exists($path . DIRECTORY_SEPARATOR . 'phpcs.xml')) { + $hasConfigFile = file_exists($path . DIRECTORY_SEPARATOR . 'phpcs.xml'); + if (!$hasConfigFile) { if (is_dir($path . 'src')) { $customPaths[] = $path . 'src/'; } @@ -347,11 +349,17 @@ protected function runSnifferCommand($path, CodeStyleSnifferConfigurationInterfa $processConfig .= ' -s'; } + if (!$hasConfigFile || $this->hasLegacyConfiguration($path . DIRECTORY_SEPARATOR . 'phpcs.xml')) { + $path = ' ' . $path; + } else { + $path = ''; + } + $command = sprintf( 'vendor/bin/%s %s%s', $optionFix ? 'phpcbf' : 'phpcs', $processConfig, - $customPaths ? '' : ' ' . $path, + $customPaths ? '' : $path, ); $optionDryRun = $codeStyleSnifferConfiguration->isDryRun(); @@ -487,4 +495,16 @@ protected function addPath(array $paths, string $moduleDirectoryPath, array $opt return $paths; } + + /** + * @param string $path + * + * @return bool + */ + protected function hasLegacyConfiguration(string $path): bool + { + $xml = (new Xml())->fromFile($path); + + return empty($xml['file']); + } } From 6ee0d3404ede6fd7ef74e82ed328fc66b78ea8b5 Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Fri, 29 Apr 2022 13:53:50 +0200 Subject: [PATCH 293/336] Fix up array docs. (#9339) * Fix up array docs. --- .../Communication/DevelopmentCommunicationFactory.php | 2 +- .../Communication/Form/DataProvider/BundleFormDataProvider.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Spryker/Zed/Development/Communication/DevelopmentCommunicationFactory.php b/src/Spryker/Zed/Development/Communication/DevelopmentCommunicationFactory.php index bd5187bb..11e5ec65 100644 --- a/src/Spryker/Zed/Development/Communication/DevelopmentCommunicationFactory.php +++ b/src/Spryker/Zed/Development/Communication/DevelopmentCommunicationFactory.php @@ -20,7 +20,7 @@ class DevelopmentCommunicationFactory extends AbstractCommunicationFactory { /** - * @param array $data + * @param array $data * @param array $options * * @return \Symfony\Component\Form\FormInterface diff --git a/src/Spryker/Zed/Development/Communication/Form/DataProvider/BundleFormDataProvider.php b/src/Spryker/Zed/Development/Communication/Form/DataProvider/BundleFormDataProvider.php index 15daf684..c25e2fc9 100644 --- a/src/Spryker/Zed/Development/Communication/Form/DataProvider/BundleFormDataProvider.php +++ b/src/Spryker/Zed/Development/Communication/Form/DataProvider/BundleFormDataProvider.php @@ -51,7 +51,7 @@ public function getData() } /** - * @return array + * @return array */ public function getOptions() { From 0eda6ae938100c3a64268f1e6410d84b0b909ec8 Mon Sep 17 00:00:00 2001 From: Dan Miniyarov <102034719+dan-miniyarov-spryker@users.noreply.github.com> Date: Wed, 11 May 2022 11:36:06 +0300 Subject: [PATCH 294/336] SUPESC-583 Restore previous behavior for Barcode (#9347) SUPESC-583 Barcode bug improvements --- src/Spryker/Zed/Development/DevelopmentConfig.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 9709b7f2..41205479 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -362,7 +362,9 @@ public function getExternalToInternalNamespaceMap() 'GuzzleHttp\\' => 'spryker/guzzle', 'JsonPath\\' => 'spryker/json-path', 'JsonSchema\\' => 'spryker/json-schema', - 'Laminas\\' => 'spryker/laminas', + 'Laminas\\Config' => 'spryker/laminas', + 'Laminas\\Filter' => 'spryker/laminas', + 'Laminas\\ServiceManager' => 'spryker/laminas', 'League\\Csv\\' => 'spryker/csv', 'Monolog\\' => 'spryker/monolog', 'org\\bovigo\\vfs\\' => 'spryker/testify', From b5f9e07292efeb6850888e42a6acd8b8486e7c05 Mon Sep 17 00:00:00 2001 From: mscherer Date: Wed, 11 May 2022 16:55:11 +0200 Subject: [PATCH 295/336] Output passed time in seconds for debugging. --- .../Zed/Development/Business/Phpstan/PhpstanRunner.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index c8ca2b1c..5c7c47bf 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -156,10 +156,12 @@ public function run(InputInterface $input, OutputInterface $output) continue; } + $time = time(); $resultCode |= $this->runCommand($path, $configFilePath, $input, $output); + $passedTime = time() - $time; if ($input->getOption(static::OPTION_VERBOSE)) { - $output->writeln(sprintf('Finished %s/%s.', $count, $total)); + $output->writeln(sprintf('Finished %s/%s (%s).', $count, $total, $passedTime . 's')); } } From 02e4602519d87c94e37cdf951005df3c41d83749 Mon Sep 17 00:00:00 2001 From: mscherer Date: Thu, 23 Jun 2022 14:02:00 +0200 Subject: [PATCH 296/336] Allow installation of slevomat/coding-standard: 8 --- ruleset.xml | 2 ++ rulesetStrict.xml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/ruleset.xml b/ruleset.xml index a812209e..d3869093 100644 --- a/ruleset.xml +++ b/ruleset.xml @@ -7,6 +7,8 @@ All sniffs in ./Sniffs will be auto loaded + + */tests/_support/_generated/* */tests/_helpers/* */tests/_output/* diff --git a/rulesetStrict.xml b/rulesetStrict.xml index 3686a7e9..bf3b5a3b 100644 --- a/rulesetStrict.xml +++ b/rulesetStrict.xml @@ -7,6 +7,8 @@ All sniffs in ./Sniffs will be auto loaded + + */tests/_support/_generated/* */tests/_helpers/* */tests/_output/* From 8bac92b5a1cf97a380380e88d4d1d38463508064 Mon Sep 17 00:00:00 2001 From: mscherer Date: Fri, 19 Aug 2022 14:38:26 +0200 Subject: [PATCH 297/336] Add soft deprecating notice for PHPCS, move phpmd ruleset. --- .../Business/PhpMd => resources/phpmd}/ruleset.xml | 8 +++----- .../Zed/Development/Business/PhpMd/PhpMdRunner.php | 5 ++++- src/Spryker/Zed/Development/DevelopmentConfig.php | 4 +++- 3 files changed, 10 insertions(+), 7 deletions(-) rename {src/Spryker/Zed/Development/Business/PhpMd => resources/phpmd}/ruleset.xml (96%) diff --git a/src/Spryker/Zed/Development/Business/PhpMd/ruleset.xml b/resources/phpmd/ruleset.xml similarity index 96% rename from src/Spryker/Zed/Development/Business/PhpMd/ruleset.xml rename to resources/phpmd/ruleset.xml index 2ef2cf1d..1db4e664 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/ruleset.xml +++ b/resources/phpmd/ruleset.xml @@ -3,13 +3,11 @@ name="Spryker PHPMD rule set" xmlns="http://pmd.sf.net/ruleset/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 - http://pmd.sf.net/ruleset_xml_schema.xsd" - xsi:noNamespaceSchemaLocation=" - http://pmd.sf.net/ruleset_xml_schema.xsd" + xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd" + xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd" > - Spryker Php Mess Detector rule set + Spryker PHP Mess Detector rule set tests/_data diff --git a/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php b/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php index 74aff587..623ea5e3 100644 --- a/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php +++ b/src/Spryker/Zed/Development/Business/PhpMd/PhpMdRunner.php @@ -153,7 +153,10 @@ protected function resolveCorePaths(string $module): string */ protected function runPhpMdCommand($path, array $options) { - $pathToFiles = rtrim($path, DIRECTORY_SEPARATOR); + $pathToFiles = rtrim($path, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR; + if (is_dir($pathToFiles . 'src')) { + $pathToFiles .= 'src' . DIRECTORY_SEPARATOR; + } $format = 'text'; if ($options[static::OPTION_FORMAT]) { diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 41205479..92ff41a3 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -259,6 +259,8 @@ public function getOrganizationPathMap(): array * Either a relative or full path to the ruleset.xml or a name of an installed * standard (see `phpcs -i` for a list of available ones). * + * Deprecated: Directly provide a ROOT phpcs.xml in your project instead. + * * @api * * @return string @@ -280,7 +282,7 @@ public function getCodingStandard() */ public function getArchitectureStandard() { - return __DIR__ . '/Business/PhpMd/ruleset.xml'; + return dirname(__DIR__, 4) . '/resources/phpmd/ruleset.xml'; } /** From 4329fa18c750d318d32c3d9ba34f04763ccdc72e Mon Sep 17 00:00:00 2001 From: Olha Livitchuk <77281282+olhalivitchuk@users.noreply.github.com> Date: Fri, 19 Aug 2022 18:44:34 +0300 Subject: [PATCH 298/336] FRW-66 updated psalm reports by filtered deprecations (#9552) --- psalm-report.json | 681 ++++------------------------------------------ 1 file changed, 47 insertions(+), 634 deletions(-) diff --git a/psalm-report.json b/psalm-report.json index d5a51537..c7d0e71d 100644 --- a/psalm-report.json +++ b/psalm-report.json @@ -124,15 +124,15 @@ }, { "severity": "info", - "line_from": 313, - "line_to": 313, - "type": "PossiblyNullOperand", - "message": "Cannot concatenate with a possibly null null|string", + "line_from": 316, + "line_to": 316, + "type": "PossiblyNullArgument", + "message": "Argument 2 of sprintf cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php", - "snippet": " throw new Exception('Sniffer run was not successful: ' . $process->getExitCodeText());", + "snippet": " $process->getExitCodeText(),", "selected_text": "$process->getExitCodeText()", - "error_level": 1, - "shortcode": 80 + "error_level": 3, + "shortcode": 78 }, { "severity": "info", @@ -724,8 +724,8 @@ }, { "severity": "info", - "line_from": 109, - "line_to": 109, + "line_from": 110, + "line_to": 110, "type": "PossiblyNullArgument", "message": "Argument 1 of strpos cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", @@ -736,8 +736,8 @@ }, { "severity": "info", - "line_from": 110, - "line_to": 110, + "line_from": 111, + "line_to": 111, "type": "PossiblyNullArgument", "message": "Argument 2 of explode cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", @@ -748,8 +748,8 @@ }, { "severity": "info", - "line_from": 148, - "line_to": 148, + "line_from": 149, + "line_to": 149, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\CodeStyleSniffer\\CodeStyleSniffer::resolveCorePath cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", @@ -760,8 +760,8 @@ }, { "severity": "info", - "line_from": 152, - "line_to": 152, + "line_from": 153, + "line_to": 153, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", @@ -772,8 +772,8 @@ }, { "severity": "info", - "line_from": 244, - "line_to": 244, + "line_from": 245, + "line_to": 245, "type": "PossiblyNullArgument", "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\CodeStyleSniffer\\CodeStyleSniffer::buildPath cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", @@ -784,8 +784,8 @@ }, { "severity": "info", - "line_from": 251, - "line_to": 251, + "line_from": 252, + "line_to": 252, "type": "PossiblyNullArgument", "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\CodeStyleSniffer\\CodeStyleSniffer::buildPath cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", @@ -796,8 +796,8 @@ }, { "severity": "info", - "line_from": 334, - "line_to": 334, + "line_from": 336, + "line_to": 336, "type": "PossiblyNullOperand", "message": "Cannot concatenate with a possibly null null|string", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", @@ -808,8 +808,8 @@ }, { "severity": "info", - "line_from": 368, - "line_to": 368, + "line_from": 376, + "line_to": 376, "type": "PossiblyNullArgument", "message": "Argument 1 of strpos cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", @@ -820,8 +820,8 @@ }, { "severity": "info", - "line_from": 376, - "line_to": 376, + "line_from": 384, + "line_to": 384, "type": "NullableReturnStatement", "message": "The declared return type 'int' for Spryker\\Zed\\Development\\Business\\CodeStyleSniffer\\CodeStyleSniffer::runSnifferCommand is not nullable, but the function returns 'int|null'", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", @@ -832,8 +832,8 @@ }, { "severity": "info", - "line_from": 384, - "line_to": 384, + "line_from": 392, + "line_to": 392, "type": "InvalidNullableReturnType", "message": "The declared return type 'int' for Spryker\\Zed\\Development\\Business\\CodeStyleSniffer\\CodeStyleSniffer::runSnifferCommandForAll is not nullable, but 'int|null' contains null", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", @@ -844,8 +844,8 @@ }, { "severity": "info", - "line_from": 407, - "line_to": 407, + "line_from": 415, + "line_to": 415, "type": "NullableReturnStatement", "message": "The declared return type 'int' for Spryker\\Zed\\Development\\Business\\CodeStyleSniffer\\CodeStyleSniffer::runSnifferCommandForAll is not nullable, but the function returns 'int|null'", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php", @@ -1298,42 +1298,6 @@ "error_level": 5, "shortcode": 166 }, - { - "severity": "info", - "line_from": 154, - "line_to": 154, - "type": "MismatchingDocblockReturnType", - "message": "Docblock has incorrect return type 'Symfony\\Component\\Finder\\Finder|array', should be 'Symfony\\Component\\Finder\\Finder'", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/SchemaParser/PropelSchemaParser.php", - "snippet": " * @return \\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", - "selected_text": "\\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", - "error_level": 4, - "shortcode": 142 - }, - { - "severity": "info", - "line_from": 31, - "line_to": 31, - "type": "MismatchingDocblockReturnType", - "message": "Docblock has incorrect return type 'Symfony\\Component\\Finder\\Finder|array', should be 'Symfony\\Component\\Finder\\Finder'", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinder.php", - "snippet": " * @return \\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", - "selected_text": "\\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", - "error_level": 4, - "shortcode": 142 - }, - { - "severity": "info", - "line_from": 17, - "line_to": 17, - "type": "MismatchingDocblockReturnType", - "message": "Docblock has incorrect return type 'Symfony\\Component\\Finder\\Finder|array', should be 'Symfony\\Component\\Finder\\Finder'", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Dependency/TwigFileFinder/TwigFileFinderInterface.php", - "snippet": " * @return \\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", - "selected_text": "\\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", - "error_level": 4, - "shortcode": 142 - }, { "severity": "info", "line_from": 95, @@ -1528,8 +1492,8 @@ }, { "severity": "info", - "line_from": 62, - "line_to": 62, + "line_from": 64, + "line_to": 64, "type": "PossiblyFalseOperand", "message": "Left operand cannot be falsable, got false|int", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php", @@ -1540,8 +1504,8 @@ }, { "severity": "info", - "line_from": 68, - "line_to": 68, + "line_from": 70, + "line_to": 70, "type": "PossiblyFalseOperand", "message": "Left operand cannot be falsable, got false|int", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/ExternalDependency.php", @@ -1958,18 +1922,6 @@ "error_level": 3, "shortcode": 78 }, - { - "severity": "info", - "line_from": 125, - "line_to": 125, - "type": "MismatchingDocblockReturnType", - "message": "Docblock has incorrect return type 'Symfony\\Component\\Finder\\Finder|array', should be 'Symfony\\Component\\Finder\\Finder'", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Integration/DependencyProviderUsedPluginFinder.php", - "snippet": " * @return \\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", - "selected_text": "\\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", - "error_level": 4, - "shortcode": 142 - }, { "severity": "info", "line_from": 164, @@ -1982,30 +1934,6 @@ "error_level": 1, "shortcode": 80 }, - { - "severity": "info", - "line_from": 18, - "line_to": 18, - "type": "MismatchingDocblockReturnType", - "message": "Docblock has incorrect return type 'Symfony\\Component\\Finder\\Finder|array', should be 'Symfony\\Component\\Finder\\Finder'", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFileFinder/ModuleFileFinderInterface.php", - "snippet": " * @return \\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", - "selected_text": "\\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", - "error_level": 4, - "shortcode": 142 - }, - { - "severity": "info", - "line_from": 104, - "line_to": 104, - "type": "MismatchingDocblockReturnType", - "message": "Docblock has incorrect return type 'Symfony\\Component\\Finder\\Finder|array', should be 'Symfony\\Component\\Finder\\Finder'", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php", - "snippet": " * @return \\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", - "selected_text": "\\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", - "error_level": 4, - "shortcode": 142 - }, { "severity": "info", "line_from": 142, @@ -2018,18 +1946,6 @@ "error_level": 3, "shortcode": 78 }, - { - "severity": "info", - "line_from": 174, - "line_to": 174, - "type": "MismatchingDocblockReturnType", - "message": "Docblock has incorrect return type 'Symfony\\Component\\Finder\\Finder|array', should be 'Symfony\\Component\\Finder\\Finder'", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php", - "snippet": " * @return \\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", - "selected_text": "\\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", - "error_level": 4, - "shortcode": 142 - }, { "severity": "info", "line_from": 212, @@ -2366,18 +2282,6 @@ "error_level": 5, "shortcode": 139 }, - { - "severity": "info", - "line_from": 98, - "line_to": 98, - "type": "MismatchingDocblockReturnType", - "message": "Docblock has incorrect return type 'Symfony\\Component\\Finder\\Finder|array', should be 'Symfony\\Component\\Finder\\Finder'", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php", - "snippet": " * @return \\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", - "selected_text": "\\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", - "error_level": 4, - "shortcode": 142 - }, { "severity": "info", "line_from": 200, @@ -2462,18 +2366,6 @@ "error_level": 3, "shortcode": 78 }, - { - "severity": "info", - "line_from": 60, - "line_to": 60, - "type": "MismatchingDocblockReturnType", - "message": "Docblock has incorrect return type 'Symfony\\Component\\Finder\\Finder|array', should be 'Symfony\\Component\\Finder\\Finder'", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php", - "snippet": " * @return \\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", - "selected_text": "\\Symfony\\Component\\Finder\\Finder|\\Symfony\\Component\\Finder\\SplFileInfo[]", - "error_level": 4, - "shortcode": 142 - }, { "severity": "info", "line_from": 131, @@ -2524,8 +2416,8 @@ }, { "severity": "info", - "line_from": 388, - "line_to": 388, + "line_from": 390, + "line_to": 390, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Phpstan\\PhpstanRunner::getVendorPathByNamespace cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php", @@ -2536,8 +2428,8 @@ }, { "severity": "info", - "line_from": 391, - "line_to": 391, + "line_from": 393, + "line_to": 393, "type": "PossiblyNullArgument", "message": "Argument 1 of Spryker\\Zed\\Development\\Business\\Phpstan\\Config\\PhpstanConfigFileFinderInterface::searchIn cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php", @@ -2548,8 +2440,8 @@ }, { "severity": "info", - "line_from": 396, - "line_to": 396, + "line_from": 398, + "line_to": 398, "type": "PossiblyNullArgument", "message": "Argument 2 of Spryker\\Zed\\Development\\Business\\Phpstan\\Config\\PhpstanConfigFileManagerInterface::merge cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php", @@ -2560,8 +2452,8 @@ }, { "severity": "info", - "line_from": 445, - "line_to": 445, + "line_from": 447, + "line_to": 447, "type": "PossiblyNullArgument", "message": "Argument 1 of dirname cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php", @@ -2716,8 +2608,8 @@ }, { "severity": "info", - "line_from": 119, - "line_to": 119, + "line_from": 120, + "line_to": 120, "type": "PossiblyNullArgument", "message": "Argument 1 of Symfony\\Component\\Console\\Output\\OutputInterface::writeln cannot be null, possibly null value provided", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ComposerJsonValidatorConsole.php", @@ -3040,18 +2932,6 @@ } ], "deprecation": [ - { - "severity": "info", - "line_from": 17, - "line_to": 17, - "type": "DeprecatedInterface", - "message": "Spryker\\Zed\\Development\\Business\\ArchitectureSniffer\\AllBundleFinderInterface is marked deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllBundleFinder.php", - "snippet": "class AllBundleFinder implements AllBundleFinderInterface", - "selected_text": "AllBundleFinder", - "error_level": 2, - "shortcode": 152 - }, { "severity": "info", "line_from": 55, @@ -3064,450 +2944,6 @@ "error_level": 2, "shortcode": 1 }, - { - "severity": "info", - "line_from": 18, - "line_to": 18, - "type": "DeprecatedInterface", - "message": "Spryker\\Zed\\Development\\Business\\DependencyTree\\ViolationChecker\\DependencyViolationCheckerInterface is marked deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DependencyTree/ViolationChecker/DependencyViolationChecker.php", - "snippet": "class DependencyViolationChecker implements DependencyViolationCheckerInterface", - "selected_text": "DependencyViolationChecker", - "error_level": 2, - "shortcode": 152 - }, - { - "severity": "info", - "line_from": 859, - "line_to": 859, - "type": "DeprecatedClass", - "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ModuleFinder\\ModuleFinderInterface is marked as deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " * @return \\Spryker\\Zed\\Development\\Business\\Module\\ModuleFinder\\ModuleFinderInterface", - "selected_text": "\\Spryker\\Zed\\Development\\Business\\Module\\ModuleFinder\\ModuleFinderInterface", - "error_level": 2, - "shortcode": 98 - }, - { - "severity": "info", - "line_from": 861, - "line_to": 861, - "type": "DeprecatedClass", - "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ModuleFinder\\ModuleFinderInterface is marked as deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " public function createModuleFinder(): ModuleFinderInterface", - "selected_text": "ModuleFinderInterface", - "error_level": 2, - "shortcode": 98 - }, - { - "severity": "info", - "line_from": 863, - "line_to": 863, - "type": "DeprecatedClass", - "message": "Spryker\\Zed\\Development\\Business\\Module\\ModuleFinder\\ModuleFinder is marked deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " return new ModuleFinder($this->getConfig(), $this->createModuleMatcher());", - "selected_text": "new ModuleFinder($this->getConfig(), $this->createModuleMatcher())", - "error_level": 2, - "shortcode": 98 - }, - { - "severity": "info", - "line_from": 863, - "line_to": 863, - "type": "DeprecatedMethod", - "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createModuleMatcher has been marked as deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " return new ModuleFinder($this->getConfig(), $this->createModuleMatcher());", - "selected_text": "createModuleMatcher", - "error_level": 2, - "shortcode": 1 - }, - { - "severity": "info", - "line_from": 869, - "line_to": 869, - "type": "DeprecatedClass", - "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface is marked as deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " * @return \\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface", - "selected_text": "\\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface", - "error_level": 2, - "shortcode": 98 - }, - { - "severity": "info", - "line_from": 871, - "line_to": 871, - "type": "DeprecatedClass", - "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface is marked as deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " public function createModuleMatcher(): ModuleMatcherInterface", - "selected_text": "ModuleMatcherInterface", - "error_level": 2, - "shortcode": 98 - }, - { - "severity": "info", - "line_from": 873, - "line_to": 873, - "type": "DeprecatedClass", - "message": "Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcher is marked deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " return new ModuleMatcher();", - "selected_text": "new ModuleMatcher()", - "error_level": 2, - "shortcode": 98 - }, - { - "severity": "info", - "line_from": 1312, - "line_to": 1312, - "type": "DeprecatedClass", - "message": "Class Spryker\\Zed\\Development\\Business\\DependencyTree\\ViolationChecker\\DependencyViolationCheckerInterface is marked as deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " * @return \\Spryker\\Zed\\Development\\Business\\DependencyTree\\ViolationChecker\\DependencyViolationCheckerInterface", - "selected_text": "\\Spryker\\Zed\\Development\\Business\\DependencyTree\\ViolationChecker\\DependencyViolationCheckerInterface", - "error_level": 2, - "shortcode": 98 - }, - { - "severity": "info", - "line_from": 1316, - "line_to": 1320, - "type": "DeprecatedClass", - "message": "Spryker\\Zed\\Development\\Business\\DependencyTree\\ViolationChecker\\DependencyViolationChecker is marked deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " return new DependencyViolationChecker(\n $this->createDependencyTreeReader(),\n $this->createViolationFinder(),\n $this->createDependencyViolationFilter(),\n );", - "selected_text": "new DependencyViolationChecker(\n $this->createDependencyTreeReader(),\n $this->createViolationFinder(),\n $this->createDependencyViolationFilter(),\n )", - "error_level": 2, - "shortcode": 98 - }, - { - "severity": "info", - "line_from": 1318, - "line_to": 1318, - "type": "DeprecatedMethod", - "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createViolationFinder has been marked as deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " $this->createViolationFinder(),", - "selected_text": "createViolationFinder", - "error_level": 2, - "shortcode": 1 - }, - { - "severity": "info", - "line_from": 1319, - "line_to": 1319, - "type": "DeprecatedMethod", - "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createDependencyViolationFilter has been marked as deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " $this->createDependencyViolationFilter(),", - "selected_text": "createDependencyViolationFilter", - "error_level": 2, - "shortcode": 1 - }, - { - "severity": "info", - "line_from": 1332, - "line_to": 1332, - "type": "DeprecatedMethod", - "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createViolationFinderUseForeignConstants has been marked as deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " ->addViolationFinder($this->createViolationFinderUseForeignConstants())", - "selected_text": "createViolationFinderUseForeignConstants", - "error_level": 2, - "shortcode": 1 - }, - { - "severity": "info", - "line_from": 1333, - "line_to": 1333, - "type": "DeprecatedMethod", - "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createViolationFinderUseForeignException has been marked as deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " ->addViolationFinder($this->createViolationFinderUseForeignException())", - "selected_text": "createViolationFinderUseForeignException", - "error_level": 2, - "shortcode": 1 - }, - { - "severity": "info", - "line_from": 1334, - "line_to": 1334, - "type": "DeprecatedMethod", - "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createViolationFinderBundleUsesConnector has been marked as deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " ->addViolationFinder($this->createViolationFinderBundleUsesConnector());", - "selected_text": "createViolationFinderBundleUsesConnector", - "error_level": 2, - "shortcode": 1 - }, - { - "severity": "info", - "line_from": 1348, - "line_to": 1348, - "type": "DeprecatedMethod", - "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createDependencyTreeConstantsToForeignConstantsFilter has been marked as deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " ->addFilter($this->createDependencyTreeConstantsToForeignConstantsFilter())", - "selected_text": "createDependencyTreeConstantsToForeignConstantsFilter", - "error_level": 2, - "shortcode": 1 - }, - { - "severity": "info", - "line_from": 1401, - "line_to": 1401, - "type": "DeprecatedClass", - "message": "Spryker\\Zed\\Development\\Business\\DependencyTree\\ViolationFinder\\BundleUsesConnector is marked deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " return new BundleUsesConnector();", - "selected_text": "new BundleUsesConnector()", - "error_level": 2, - "shortcode": 98 - }, - { - "severity": "info", - "line_from": 2023, - "line_to": 2023, - "type": "DeprecatedClass", - "message": "Class Spryker\\Zed\\Development\\Business\\ArchitectureSniffer\\AllBundleFinderInterface is marked as deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " * @return \\Spryker\\Zed\\Development\\Business\\ArchitectureSniffer\\AllBundleFinderInterface", - "selected_text": "\\Spryker\\Zed\\Development\\Business\\ArchitectureSniffer\\AllBundleFinderInterface", - "error_level": 2, - "shortcode": 98 - }, - { - "severity": "info", - "line_from": 2027, - "line_to": 2032, - "type": "DeprecatedClass", - "message": "Spryker\\Zed\\Development\\Business\\ArchitectureSniffer\\AllBundleFinder is marked deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " return new AllBundleFinder(\n $this->createFinder(),\n $this->createCamelCaseToDashFilter(),\n $this->getConfig()->getProjectNamespaces(),\n $this->getConfig()->getCoreNamespaces(),\n );", - "selected_text": "new AllBundleFinder(\n $this->createFinder(),\n $this->createCamelCaseToDashFilter(),\n $this->getConfig()->getProjectNamespaces(),\n $this->getConfig()->getCoreNamespaces(),\n )", - "error_level": 2, - "shortcode": 98 - }, - { - "severity": "info", - "line_from": 2058, - "line_to": 2058, - "type": "DeprecatedClass", - "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ProjectModuleFinder\\ProjectModuleFinderInterface is marked as deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " * @return \\Spryker\\Zed\\Development\\Business\\Module\\ProjectModuleFinder\\ProjectModuleFinderInterface", - "selected_text": "\\Spryker\\Zed\\Development\\Business\\Module\\ProjectModuleFinder\\ProjectModuleFinderInterface", - "error_level": 2, - "shortcode": 98 - }, - { - "severity": "info", - "line_from": 2060, - "line_to": 2060, - "type": "DeprecatedClass", - "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ProjectModuleFinder\\ProjectModuleFinderInterface is marked as deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " public function createProjectModuleFinder(): ProjectModuleFinderInterface", - "selected_text": "ProjectModuleFinderInterface", - "error_level": 2, - "shortcode": 98 - }, - { - "severity": "info", - "line_from": 2062, - "line_to": 2062, - "type": "DeprecatedClass", - "message": "Spryker\\Zed\\Development\\Business\\Module\\ProjectModuleFinder\\ProjectModuleFinder is marked deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " return new ProjectModuleFinder($this->getConfig(), $this->createModuleMatcher());", - "selected_text": "new ProjectModuleFinder($this->getConfig(), $this->createModuleMatcher())", - "error_level": 2, - "shortcode": 98 - }, - { - "severity": "info", - "line_from": 2062, - "line_to": 2062, - "type": "DeprecatedMethod", - "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createModuleMatcher has been marked as deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " return new ProjectModuleFinder($this->getConfig(), $this->createModuleMatcher());", - "selected_text": "createModuleMatcher", - "error_level": 2, - "shortcode": 1 - }, - { - "severity": "info", - "line_from": 2068, - "line_to": 2068, - "type": "DeprecatedClass", - "message": "Class Spryker\\Zed\\Development\\Business\\Package\\PackageFinder\\PackageFinderInterface is marked as deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " * @return \\Spryker\\Zed\\Development\\Business\\Package\\PackageFinder\\PackageFinderInterface", - "selected_text": "\\Spryker\\Zed\\Development\\Business\\Package\\PackageFinder\\PackageFinderInterface", - "error_level": 2, - "shortcode": 98 - }, - { - "severity": "info", - "line_from": 2070, - "line_to": 2070, - "type": "DeprecatedClass", - "message": "Class Spryker\\Zed\\Development\\Business\\Package\\PackageFinder\\PackageFinderInterface is marked as deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " public function createPackageFinder(): PackageFinderInterface", - "selected_text": "PackageFinderInterface", - "error_level": 2, - "shortcode": 98 - }, - { - "severity": "info", - "line_from": 2072, - "line_to": 2072, - "type": "DeprecatedClass", - "message": "Spryker\\Zed\\Development\\Business\\Package\\PackageFinder\\PackageFinder is marked deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php", - "snippet": " return new PackageFinder($this->getConfig());", - "selected_text": "new PackageFinder($this->getConfig())", - "error_level": 2, - "shortcode": 98 - }, - { - "severity": "info", - "line_from": 198, - "line_to": 198, - "type": "DeprecatedMethod", - "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentFacade::getAllModules has been marked as deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentFacade.php", - "snippet": " return $this->getAllModules();", - "selected_text": "getAllModules", - "error_level": 2, - "shortcode": 1 - }, - { - "severity": "info", - "line_from": 309, - "line_to": 309, - "type": "DeprecatedMethod", - "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentBusinessFactory::createDependencyViolationChecker has been marked as deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/DevelopmentFacade.php", - "snippet": " return $this->getFactory()->createDependencyViolationChecker()->getDependencyViolations();", - "selected_text": "createDependencyViolationChecker", - "error_level": 2, - "shortcode": 1 - }, - { - "severity": "info", - "line_from": 26, - "line_to": 26, - "type": "DeprecatedInterface", - "message": "Spryker\\Zed\\Development\\Business\\Module\\ModuleFinder\\ModuleFinderInterface is marked deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php", - "snippet": "class ModuleFinder implements ModuleFinderInterface", - "selected_text": "ModuleFinder", - "error_level": 2, - "shortcode": 152 - }, - { - "severity": "info", - "line_from": 34, - "line_to": 34, - "type": "DeprecatedClass", - "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface is marked as deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php", - "snippet": " * @var \\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface", - "selected_text": "\\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface", - "error_level": 2, - "shortcode": 98 - }, - { - "severity": "info", - "line_from": 45, - "line_to": 45, - "type": "DeprecatedClass", - "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface is marked as deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleFinder/ModuleFinder.php", - "snippet": " * @param \\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface $moduleMatcher", - "selected_text": "\\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface", - "error_level": 2, - "shortcode": 98 - }, - { - "severity": "info", - "line_from": 17, - "line_to": 17, - "type": "DeprecatedInterface", - "message": "Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface is marked deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ModuleMatcher/ModuleMatcher.php", - "snippet": "class ModuleMatcher implements ModuleMatcherInterface", - "selected_text": "ModuleMatcher", - "error_level": 2, - "shortcode": 152 - }, - { - "severity": "info", - "line_from": 22, - "line_to": 22, - "type": "DeprecatedInterface", - "message": "Spryker\\Zed\\Development\\Business\\Module\\ProjectModuleFinder\\ProjectModuleFinderInterface is marked deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php", - "snippet": "class ProjectModuleFinder implements ProjectModuleFinderInterface", - "selected_text": "ProjectModuleFinder", - "error_level": 2, - "shortcode": 152 - }, - { - "severity": "info", - "line_from": 30, - "line_to": 30, - "type": "DeprecatedClass", - "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface is marked as deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php", - "snippet": " * @var \\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface", - "selected_text": "\\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface", - "error_level": 2, - "shortcode": 98 - }, - { - "severity": "info", - "line_from": 36, - "line_to": 36, - "type": "DeprecatedClass", - "message": "Class Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface is marked as deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Module/ProjectModuleFinder/ProjectModuleFinder.php", - "snippet": " * @param \\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface $moduleMatcher", - "selected_text": "\\Spryker\\Zed\\Development\\Business\\Module\\ModuleMatcher\\ModuleMatcherInterface", - "error_level": 2, - "shortcode": 98 - }, - { - "severity": "info", - "line_from": 20, - "line_to": 20, - "type": "DeprecatedInterface", - "message": "Spryker\\Zed\\Development\\Business\\Package\\PackageFinder\\PackageFinderInterface is marked deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php", - "snippet": "class PackageFinder implements PackageFinderInterface", - "selected_text": "PackageFinder", - "error_level": 2, - "shortcode": 152 - }, - { - "severity": "info", - "line_from": 43, - "line_to": 43, - "type": "DeprecatedMethod", - "message": "The method Spryker\\Zed\\Development\\DevelopmentConfig::getInternalPackageDirectories has been marked as deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Business/Package/PackageFinder/PackageFinder.php", - "snippet": " if (in_array($directoryInfo->getFilename(), $this->config->getInternalPackageDirectories(), true)) {", - "selected_text": "getInternalPackageDirectories", - "error_level": 2, - "shortcode": 1 - }, { "severity": "info", "line_from": 102, @@ -3534,8 +2970,8 @@ }, { "severity": "info", - "line_from": 51, - "line_to": 51, + "line_from": 55, + "line_to": 55, "type": "DeprecatedConstant", "message": "Constant Spryker\\Zed\\Development\\Communication\\Console\\CodePhpstanConsole::OPTION_FORMAT is deprecated", "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php", @@ -3544,18 +2980,6 @@ "error_level": 2, "shortcode": 170 }, - { - "severity": "info", - "line_from": 82, - "line_to": 82, - "type": "DeprecatedMethod", - "message": "The method Spryker\\Zed\\Development\\Business\\DevelopmentFacadeInterface::createModule has been marked as deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php", - "snippet": " $this->getFacade()->createModule($module, $options);", - "selected_text": "createModule", - "error_level": 2, - "shortcode": 1 - }, { "severity": "info", "line_from": 141, @@ -3592,18 +3016,6 @@ "error_level": 2, "shortcode": 1 }, - { - "severity": "info", - "line_from": 195, - "line_to": 195, - "type": "DeprecatedConstant", - "message": "Constant Spryker\\Shared\\Kernel\\KernelConstants::SPRYKER_ROOT is deprecated", - "file_name": "vendor/spryker/spryker/Bundles/Development/src/Spryker/Zed/Development/DevelopmentConfig.php", - "snippet": " $path = $this->getConfig()->get(KernelConstants::SPRYKER_ROOT);", - "selected_text": "KernelConstants::SPRYKER_ROOT", - "error_level": 2, - "shortcode": 170 - }, { "severity": "info", "line_from": 253, @@ -3640,5 +3052,6 @@ "error_level": 2, "shortcode": 170 } - ] + ], + "count": 254 } From c47ee7b137456c0dc8c48799a6d968bc849440d8 Mon Sep 17 00:00:00 2001 From: Roman Havrylko <70894038+romanhavrylko@users.noreply.github.com> Date: Mon, 19 Sep 2022 08:48:51 +0200 Subject: [PATCH 299/336] CC-13273: Display numbers in Zed based on the current user locale. (#8889) CC-13273: Display numbers in Zed for users. --- composer.json | 2 +- .../Business/Stability/StabilityCalculator.php | 9 +++++++++ .../Presentation/Dependency/stability.twig | 14 +++++++------- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/composer.json b/composer.json index 3dea1764..f5434adb 100644 --- a/composer.json +++ b/composer.json @@ -13,7 +13,7 @@ "spryker/laminas": "^1.0.0", "spryker/module-finder": "^1.0.0", "spryker/symfony": "^3.0.0", - "spryker/twig": "^3.0.0" + "spryker/twig": "^3.16.0" }, "require-dev": { "spryker/code-sniffer": "*", diff --git a/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php b/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php index dcd42ae8..c0bc64b9 100644 --- a/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php +++ b/src/Spryker/Zed/Development/Business/Stability/StabilityCalculator.php @@ -118,6 +118,9 @@ protected function calculateBundlesStability() { foreach ($this->bundles as &$bundle) { $stability = count($bundle['out']) / (count($bundle['in']) + count($bundle['out'])); + $bundle['stabilityNotFormatted'] = $stability; + + /** @deprecated Exists for Backward Compatibility reasons only. Use `stabilityNotFormatted` instead. */ $bundle['stability'] = number_format($stability, 3); } } @@ -145,6 +148,9 @@ protected function calculateIndirectBundlesStability() $divisor = (count($this->bundles[$bundle]['indirectIn']) + count($this->bundles[$bundle]['indirectOut'])); $indirectStability = ($divisor > 0) ? count($this->bundles[$bundle]['indirectOut']) / $divisor : 0; + $this->bundles[$bundle]['indirectStabilityNotFormatted'] = $indirectStability; + + /** @deprecated Exists for Backward Compatibility reasons only. Use `indirectStabilityNotFormatted` instead. */ $this->bundles[$bundle]['indirectStability'] = number_format($indirectStability, 3); } } @@ -156,6 +162,9 @@ protected function calculateSprykerStability() { foreach ($this->bundles as $bundle => $info) { $sprykerStability = (count($info['indirectIn']) * count($info['indirectOut'])) * (1 - abs(0.5 - $info['indirectStability'])); + $this->bundles[$bundle]['sprykerStabilityNotFormatted'] = $sprykerStability; + + /** @deprecated Exists for Backward Compatibility reasons only. Use `sprykerStabilityNotFormatted` instead. */ $this->bundles[$bundle]['sprykerStability'] = number_format($sprykerStability, 3); } } diff --git a/src/Spryker/Zed/Development/Presentation/Dependency/stability.twig b/src/Spryker/Zed/Development/Presentation/Dependency/stability.twig index f1f9a490..3bc7b8fd 100644 --- a/src/Spryker/Zed/Development/Presentation/Dependency/stability.twig +++ b/src/Spryker/Zed/Development/Presentation/Dependency/stability.twig @@ -26,13 +26,13 @@
- - - - - - - 150 %} style="color: red"{% endif %} align="right">{{ info.sprykerStability }} + + + + + + + 150 %} style="color: red"{% endif %} align="right">{{ info.sprykerStabilityNotFormatted | executeFilterIfExists('formatFloat', app.locale) }} {% endfor %}
{{ bundle }} {{ info.in | length }}{{ info.out | length }}{{ info.stability }}{{ info.indirectIn | length }}{{ info.indirectOut | length }}{{ info.indirectStability }}{{ info.in | length | executeFilterIfExists('formatInt', app.locale) }}{{ info.out | length | executeFilterIfExists('formatInt', app.locale) }}{{ info.stabilityNotFormatted | executeFilterIfExists('formatFloat', app.locale) }}{{ info.indirectIn | length | executeFilterIfExists('formatInt', app.locale) }}{{ info.indirectOut | length | executeFilterIfExists('formatInt', app.locale) }}{{ info.indirectStabilityNotFormatted | executeFilterIfExists('formatFloat', app.locale) }}
From 447f27ce9597581a67b38fa553ec5122b2bb8433 Mon Sep 17 00:00:00 2001 From: Svyatoslav Varpikhovsky Date: Tue, 18 Oct 2022 20:47:15 +0300 Subject: [PATCH 300/336] FRW-332 Drop PHP 7 and Symfony 4 support. (#9641) FRW-332 PHP 8+ and Symfony 5+ --- .github/workflows/ci.yml | 4 ++-- README.md | 2 +- composer.json | 2 +- phpstan.neon | 1 + .../Business/CodeBuilder/Module/Templates/README.md.tpl | 2 +- 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0d8b4d01..bddaf4b6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,7 +18,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '7.4' + php-version: '8.0' extensions: mbstring, intl, bcmath coverage: none @@ -41,7 +41,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '7.4' + php-version: '8.0' extensions: mbstring, intl, bcmath coverage: none diff --git a/README.md b/README.md index 2e285b06..13ef66e9 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Development Module [![Latest Stable Version](https://poser.pugx.org/spryker/development/v/stable.svg)](https://packagist.org/packages/spryker/development) -[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.4-8892BF.svg)](https://php.net/) +[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%208.0-8892BF.svg)](https://php.net/) Development is a tooling module for (local) development. diff --git a/composer.json b/composer.json index f5434adb..3cfdae29 100644 --- a/composer.json +++ b/composer.json @@ -5,7 +5,7 @@ "license": "proprietary", "require": { "nette/di": "^2.4.7 || ^3.0.0", - "php": ">=7.4", + "php": ">=8.0", "phpmd/phpmd": "^2.0.0", "spryker/config": "^3.0.0", "spryker/graph": "^3.0.0", diff --git a/phpstan.neon b/phpstan.neon index 5a23f24e..d1ba79b8 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -11,3 +11,4 @@ parameters: - '#Call to an undefined method ReflectionType::isBuiltin\(\)#' - '#Comparison operation ">" between int<2, max> and 1 is always true.#' - '#Parameter \#1 \$[a-zA-Z]* of class ReflectionClass constructor expects class-string\|T of object, string given.#' + - '#Parameter \#1 \$callback of function spl_autoload_unregister expects callable\(\): mixed, array given.#' diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl index 1d40539e..58ad8146 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl @@ -1,6 +1,6 @@ # {module} Module [![Latest Stable Version](https://poser.pugx.org/{namespaceDashed}/{moduleDashed}/v/stable.svg)](https://packagist.org/packages/{namespaceDashed}/{moduleDashed}) -[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.4-8892BF.svg)](https://php.net/) +[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%208.0-8892BF.svg)](https://php.net/) {{ADD DESCRIPTION HERE}} From edc0bbf9e6533e6709dafec7dfcf372b6a250063 Mon Sep 17 00:00:00 2001 From: Svyatoslav Varpikhovsky Date: Wed, 9 Nov 2022 17:21:55 +0200 Subject: [PATCH 301/336] FRW-172 Upgrade to Codeception 5 (#9542) FRW-172 Codeception Upgrade to latest version --- codeception.yml | 2 +- phpstan.neon | 1 + .../Business/CodeBuilder/Module/Templates/codecept.yml.tpl | 2 +- tests/SprykerTest/Zed/Development/codeception.yml | 4 ++-- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/codeception.yml b/codeception.yml index 49b75187..efed1cb5 100644 --- a/codeception.yml +++ b/codeception.yml @@ -4,7 +4,7 @@ include: paths: tests: tests/ support: . - log: tests/_output/ + output: tests/_output/ data: tests/_data/ envs: tests/_envs/ settings: diff --git a/phpstan.neon b/phpstan.neon index d1ba79b8..877c705d 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -12,3 +12,4 @@ parameters: - '#Comparison operation ">" between int<2, max> and 1 is always true.#' - '#Parameter \#1 \$[a-zA-Z]* of class ReflectionClass constructor expects class-string\|T of object, string given.#' - '#Parameter \#1 \$callback of function spl_autoload_unregister expects callable\(\): mixed, array given.#' + - '#Parameter \#1 \$callback of function spl_autoload_unregister expects callable\(\): mixed, non-empty-array given.#' diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/codecept.yml.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/codecept.yml.tpl index 8b0d7e28..76ce1669 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/codecept.yml.tpl +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/codecept.yml.tpl @@ -2,7 +2,7 @@ namespace: {module} actor: Tester paths: tests: tests - log: tests/_output + output: tests/_output data: tests/_data support: tests/_support envs: tests/_envs diff --git a/tests/SprykerTest/Zed/Development/codeception.yml b/tests/SprykerTest/Zed/Development/codeception.yml index 003d05bf..e10eb71c 100644 --- a/tests/SprykerTest/Zed/Development/codeception.yml +++ b/tests/SprykerTest/Zed/Development/codeception.yml @@ -3,7 +3,7 @@ paths: tests: . data: ../../../_data support: _support - log: ../../../_output + output: ../../../_output coverage: enabled: true remote: false @@ -13,7 +13,7 @@ coverage: suites: Business: path: Business - class_name: DevelopmentBusinessTester + actor: DevelopmentBusinessTester modules: enabled: - Filesystem From d21510c2a253ee0c6119b45e34271ad892f0dc36 Mon Sep 17 00:00:00 2001 From: Dmitry Tsemma Date: Wed, 30 Nov 2022 15:09:31 +0200 Subject: [PATCH 302/336] FRW-912 Updated licence (#9781) --- LICENSE | 14 +++++++------- .../CodeBuilder/Module/Templates/LICENSE.tpl | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/LICENSE b/LICENSE index d376fd6f..36237b30 100644 --- a/LICENSE +++ b/LICENSE @@ -1,15 +1,15 @@ SPRYKER SYSTEMS GMBH EVALUATION LICENSE AGREEMENT SPRYKER SYSTEMS GMBH, REGISTERED WITH THE COMMERCIAL REGISTER OF THE LOWER COURT OF HAMBURG UNDER HRB 134310 -(“WE” OR ”SPRYKER”)GRANTS YOU (THE “LICENSEE”) THE RIGHT TO USE THE SOFTWARE (AS DEFINED BELOW) -UNDER THE PROVISIONS OF THIS EVALUATION LICENSE AGREEMENT (THE “AGREEMENT”). +("WE" OR "SPRYKER")GRANTS YOU (THE "LICENSEE") THE RIGHT TO USE THE SOFTWARE (AS DEFINED BELOW) +UNDER THE PROVISIONS OF THIS EVALUATION LICENSE AGREEMENT (THE "AGREEMENT"). -The “Software” includes any software owned and distributed by Spryker under this Agreement. The Software +The "Software" includes any software owned and distributed by Spryker under this Agreement. The Software contains elements of open source components, to which different license terms apply respectively. These open source components are needed to be installed separately. -Spryker grants to Licensee, during the 45-calendar-day period (the “Evaluation Period”) following the download of the Software, -the nontransferable, nonexclusive limited, free of charge license to permit Licensee’s employees to internally use the Software +Spryker grants to Licensee, during the 45-calendar-day period (the "Evaluation Period") following the download of the Software, +the nontransferable, nonexclusive limited, free of charge license to permit Licensee's employees to internally use the Software to test and evaluate the Software in connection with potentially purchasing non-evaluation licenses to the Software. Licensee shall not (i) use the Software to set up a productive live system, for development purposes or any other purposes apart @@ -18,7 +18,7 @@ disclose, market, rent, lease, or transfer the Software or act as a service bure Software or install it in multiple locations; (v) disclose any confidential information provided by Spryker; (vi) modify or make derivative works of the Software; or (vii) allow others to make or obtain copies of the Software. -THE SOFTWARE IS PROVIDED “AS-IS” AND WITHOUT WARRANTY OF ANY KIND. SPRYKER DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING +THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND. SPRYKER DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, TITLE, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE. SPRYKER WILL NOT BE LIABLE FOR ANY DAMAGES ASSOCIATED WITH THE SOFTWARE, INCLUDING WITHOUT LIMITATION ORDINARY, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES OF ANY KIND, INCLUDING BUT NOT LIMITED TO DAMAGES RELATING TO LOST DATA OR LOST PROFITS, EVEN IF SPRYKER HAS BEEN ADVISED OF @@ -34,7 +34,7 @@ on Contracts for the International Sale of Goods (CISG). The parties consent to This Agreement is not assignable or transferable by Licensee and any attempt to do so is null and void. -This Agreement constitutes the entire agreement between the parties concerning Licensee’s use of the Software. This Agreement supersedes +This Agreement constitutes the entire agreement between the parties concerning Licensee's use of the Software. This Agreement supersedes any prior verbal understanding between the parties and any Licensee purchase order or other ordering document, regardless of whether such document is received by Spryker before or after execution of this Agreement. This Agreement may be amended only in a writing signed by an authorized officer of Spryker. diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/LICENSE.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/LICENSE.tpl index d376fd6f..36237b30 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/LICENSE.tpl +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/LICENSE.tpl @@ -1,15 +1,15 @@ SPRYKER SYSTEMS GMBH EVALUATION LICENSE AGREEMENT SPRYKER SYSTEMS GMBH, REGISTERED WITH THE COMMERCIAL REGISTER OF THE LOWER COURT OF HAMBURG UNDER HRB 134310 -(“WE” OR ”SPRYKER”)GRANTS YOU (THE “LICENSEE”) THE RIGHT TO USE THE SOFTWARE (AS DEFINED BELOW) -UNDER THE PROVISIONS OF THIS EVALUATION LICENSE AGREEMENT (THE “AGREEMENT”). +("WE" OR "SPRYKER")GRANTS YOU (THE "LICENSEE") THE RIGHT TO USE THE SOFTWARE (AS DEFINED BELOW) +UNDER THE PROVISIONS OF THIS EVALUATION LICENSE AGREEMENT (THE "AGREEMENT"). -The “Software” includes any software owned and distributed by Spryker under this Agreement. The Software +The "Software" includes any software owned and distributed by Spryker under this Agreement. The Software contains elements of open source components, to which different license terms apply respectively. These open source components are needed to be installed separately. -Spryker grants to Licensee, during the 45-calendar-day period (the “Evaluation Period”) following the download of the Software, -the nontransferable, nonexclusive limited, free of charge license to permit Licensee’s employees to internally use the Software +Spryker grants to Licensee, during the 45-calendar-day period (the "Evaluation Period") following the download of the Software, +the nontransferable, nonexclusive limited, free of charge license to permit Licensee's employees to internally use the Software to test and evaluate the Software in connection with potentially purchasing non-evaluation licenses to the Software. Licensee shall not (i) use the Software to set up a productive live system, for development purposes or any other purposes apart @@ -18,7 +18,7 @@ disclose, market, rent, lease, or transfer the Software or act as a service bure Software or install it in multiple locations; (v) disclose any confidential information provided by Spryker; (vi) modify or make derivative works of the Software; or (vii) allow others to make or obtain copies of the Software. -THE SOFTWARE IS PROVIDED “AS-IS” AND WITHOUT WARRANTY OF ANY KIND. SPRYKER DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING +THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND. SPRYKER DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, TITLE, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE. SPRYKER WILL NOT BE LIABLE FOR ANY DAMAGES ASSOCIATED WITH THE SOFTWARE, INCLUDING WITHOUT LIMITATION ORDINARY, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES OF ANY KIND, INCLUDING BUT NOT LIMITED TO DAMAGES RELATING TO LOST DATA OR LOST PROFITS, EVEN IF SPRYKER HAS BEEN ADVISED OF @@ -34,7 +34,7 @@ on Contracts for the International Sale of Goods (CISG). The parties consent to This Agreement is not assignable or transferable by Licensee and any attempt to do so is null and void. -This Agreement constitutes the entire agreement between the parties concerning Licensee’s use of the Software. This Agreement supersedes +This Agreement constitutes the entire agreement between the parties concerning Licensee's use of the Software. This Agreement supersedes any prior verbal understanding between the parties and any Licensee purchase order or other ordering document, regardless of whether such document is received by Spryker before or after execution of this Agreement. This Agreement may be amended only in a writing signed by an authorized officer of Spryker. From bc86af272d39c97e638f5f2001b150f5fd820229 Mon Sep 17 00:00:00 2001 From: Svyatoslav Varpikhovsky Date: Thu, 1 Dec 2022 13:40:47 +0200 Subject: [PATCH 303/336] FRW-475 Compatibility with PHP 8.2. (#9731) FRW-475 Compatibility with PHP 8.2 --- .../IdeAutoCompletion/Remover/TargetDirectoryResolver.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/TargetDirectoryResolver.php b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/TargetDirectoryResolver.php index 22e31a20..8e6d749b 100644 --- a/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/TargetDirectoryResolver.php +++ b/src/Spryker/Zed/Development/Business/IdeAutoCompletion/Remover/TargetDirectoryResolver.php @@ -74,7 +74,7 @@ private function getOptions(string $application): array case IdeAutoCompletionOptionConstants::SERVICE: return $this->config->getServiceIdeAutoCompletionOptions(); default: - throw new InvalidArgumentException("Unable to resolve ide autocompletion directory for application ${application}"); + throw new InvalidArgumentException(sprintf('Unable to resolve IDE autocompletion directory for application `%s`', $application)); } } } From 1625e93110e48bf381d84c27ff1dc9389316ecb3 Mon Sep 17 00:00:00 2001 From: Svyatoslav Varpikhovsky Date: Fri, 23 Dec 2022 13:50:03 +0200 Subject: [PATCH 304/336] FRW-416 Removed direct symfony/messenger dependency in spryker/message-broker. (#9682) FRW-416 Removed direct symfony/messenger dependency in spryker/message-broker. --- src/Spryker/Zed/Development/DevelopmentConfig.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 92ff41a3..c703989a 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -441,6 +441,7 @@ public function getExternalToInternalMap() 'symfony/http-kernel' => 'spryker/symfony', 'symfony/intl' => 'spryker/symfony', 'symfony/mime' => 'spryker/symfony', + 'symfony/messenger' => 'spryker/symfony', 'symfony/options-resolver' => 'spryker/symfony', 'symfony/process' => 'spryker/symfony', 'symfony/property-access' => 'spryker/symfony', From 2774e1efc31a5e5a0d6ddabd9dd26bfabbaceb0b Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Wed, 8 Feb 2023 17:26:42 +0100 Subject: [PATCH 305/336] FRW-1558 Fix PHPStan issues. (#9935) FRW-1558 Update PHPStan to 1.9 --- .../Business/DependencyTree/DependencyFinder/UseStatement.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/UseStatement.php b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/UseStatement.php index d4cf4ab3..520b3b77 100644 --- a/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/UseStatement.php +++ b/src/Spryker/Zed/Development/Business/DependencyTree/DependencyFinder/UseStatement.php @@ -57,7 +57,7 @@ public function addDependencies(SplFileInfo $fileInfo) } /** - * @param string $match + * @param array $match * * @return string */ From bac6d28f395270607754def70a3a2e2360728730 Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Thu, 9 Feb 2023 13:28:48 +0100 Subject: [PATCH 306/336] Fix up PHPStan Runner for FC with PHPStan 2.0 (#9940) FRW-1572 Fix up PHPStan Runner to avoid running for non-PHP --- .../Business/Phpstan/PhpstanRunner.php | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index 5c7c47bf..62bd8200 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -10,6 +10,10 @@ use Laminas\Filter\FilterChain; use Laminas\Filter\StringToLower; use Laminas\Filter\Word\CamelCaseToDash; +use RecursiveDirectoryIterator; +use RecursiveIteratorIterator; +use RecursiveRegexIterator; +use RegexIterator; use RuntimeException; use SplFileInfo; use Spryker\Zed\Development\Business\Phpstan\Config\PhpstanConfigFileFinderInterface; @@ -193,6 +197,14 @@ protected function runCommand( $path .= 'src' . DIRECTORY_SEPARATOR; } + if (!$this->needsRun($path)) { + if ($output->isVerbose()) { + $output->writeln(sprintf('Skipping %s (no PHP files found)', $path)); + } + + return static::CODE_SUCCESS; + } + $configFilePath .= $this->config->getPhpstanConfigFilename(); $command = sprintf( @@ -634,4 +646,21 @@ protected function neonConfigLevel(string $path): ?int return (int)$matches[1] ?: null; } + + /** + * @param string $path + * + * @return bool + */ + protected function needsRun(string $path): bool + { + $directoryIterator = new RecursiveDirectoryIterator($path); + $recursiveIterator = new RecursiveIteratorIterator($directoryIterator); + $regexIterator = new RegexIterator($recursiveIterator, '#\.php$#', RecursiveRegexIterator::GET_MATCH); + foreach ($regexIterator as $file) { + return true; + } + + return false; + } } From 19e56c14fcd53960d5b0bb97f06bc95c1552f122 Mon Sep 17 00:00:00 2001 From: Ahmed Sabaa Date: Fri, 24 Feb 2023 13:35:46 +0100 Subject: [PATCH 307/336] Removed composer validate lowest check from CI --- .github/workflows/ci.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bddaf4b6..4b2df062 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -51,8 +51,3 @@ jobs: - name: Composer Update run: composer update --prefer-lowest --prefer-dist --no-interaction --profile -vvv - - name: Composer Install prefer lowest tool - run: composer require --dev dereuromark/composer-prefer-lowest; - - - name: Run validation - run: vendor/bin/validate-prefer-lowest -m From 953b7c9d8b7b66263eb332f043b83730874e0fe1 Mon Sep 17 00:00:00 2001 From: Ahmed Sabaa Date: Tue, 28 Feb 2023 16:23:12 +0100 Subject: [PATCH 308/336] Fixed .yml file --- .github/workflows/ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4b2df062..ee8c9146 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,4 +50,3 @@ jobs: - name: Composer Update run: composer update --prefer-lowest --prefer-dist --no-interaction --profile -vvv - From b8444f65221ae4d49572fb41cef05ebc9b964673 Mon Sep 17 00:00:00 2001 From: Ievgen Malykhin <80347519+ievgen-malykhin@users.noreply.github.com> Date: Fri, 3 Mar 2023 12:58:02 +0200 Subject: [PATCH 309/336] CC-20997 Picking app push notification. (#9796) CC-20997 Picking App - Push Notifications --- src/Spryker/Zed/Development/DevelopmentConfig.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index c703989a..cb236e7e 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -416,6 +416,7 @@ public function getExternalToInternalMap() 'league/oauth2-server' => 'spryker/oauth', 'mandrill/mandrill' => 'spryker/mandrill', 'mikey179/vfsstream' => 'spryker/testify', + 'minishlink/web-push' => 'spryker/push-notification-web-push-php', 'moneyphp/money' => 'spryker/money', 'monolog/monolog' => 'spryker/monolog', 'pimple/pimple' => 'spryker/container', From 9f5791d3b22f25e47606f79f846163acebb5571b Mon Sep 17 00:00:00 2001 From: Dmitriy Krainiy Date: Fri, 31 Mar 2023 21:36:11 +0200 Subject: [PATCH 310/336] TE-10886 Dynamic store. (#9457) TE-10886 Release Dynamic Store --- .../Development/Business/Composer/Updater/RequireUpdater.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php index 33e325a2..60414e69 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/RequireUpdater.php @@ -24,7 +24,7 @@ class RequireUpdater implements UpdaterInterface /** * @var string */ - public const PHP_MINIMUM = '>=7.4'; + public const PHP_MINIMUM = '>=8.0'; /** * @param array $composerJson From 2bb67cd2c94f4606cf8b76738114732c68e9d42d Mon Sep 17 00:00:00 2001 From: Spryker Release Bot Date: Mon, 14 Aug 2023 23:33:07 +0300 Subject: [PATCH 311/336] Update Bundles/Development/LICENSE --- LICENSE | 67 +++++++++++++++++++++++---------------------------------- 1 file changed, 27 insertions(+), 40 deletions(-) diff --git a/LICENSE b/LICENSE index 36237b30..fc1838ec 100644 --- a/LICENSE +++ b/LICENSE @@ -1,40 +1,27 @@ -SPRYKER SYSTEMS GMBH EVALUATION LICENSE AGREEMENT - -SPRYKER SYSTEMS GMBH, REGISTERED WITH THE COMMERCIAL REGISTER OF THE LOWER COURT OF HAMBURG UNDER HRB 134310 -("WE" OR "SPRYKER")GRANTS YOU (THE "LICENSEE") THE RIGHT TO USE THE SOFTWARE (AS DEFINED BELOW) -UNDER THE PROVISIONS OF THIS EVALUATION LICENSE AGREEMENT (THE "AGREEMENT"). - -The "Software" includes any software owned and distributed by Spryker under this Agreement. The Software -contains elements of open source components, to which different license terms apply respectively. -These open source components are needed to be installed separately. - -Spryker grants to Licensee, during the 45-calendar-day period (the "Evaluation Period") following the download of the Software, -the nontransferable, nonexclusive limited, free of charge license to permit Licensee's employees to internally use the Software -to test and evaluate the Software in connection with potentially purchasing non-evaluation licenses to the Software. - -Licensee shall not (i) use the Software to set up a productive live system, for development purposes or any other purposes apart -from evaluating the Software; (ii) copy any part of the Software except to make one copy for back-up purposes; (iii) distribute, -disclose, market, rent, lease, or transfer the Software or act as a service bureau with respect to the Software; (iv) export the -Software or install it in multiple locations; (v) disclose any confidential information provided by Spryker; (vi) modify or make -derivative works of the Software; or (vii) allow others to make or obtain copies of the Software. - -THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND. SPRYKER DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING -BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, TITLE, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE. SPRYKER WILL NOT -BE LIABLE FOR ANY DAMAGES ASSOCIATED WITH THE SOFTWARE, INCLUDING WITHOUT LIMITATION ORDINARY, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL -DAMAGES OF ANY KIND, INCLUDING BUT NOT LIMITED TO DAMAGES RELATING TO LOST DATA OR LOST PROFITS, EVEN IF SPRYKER HAS BEEN ADVISED OF -THE POSSIBILITY OF SUCH DAMAGES. - -Licensee's license to use the Software shall terminate on the earlier of (i) the expiration of the Evaluation Period, or (ii) the date -both parties enter into a definitive agreement for the provision by Spryker to Licensee of a non-evaluation license to the Software. -Upon termination of the license as provided above, Licensee shall promptly destroy the Software and any back-up copy of the Software -made during the Evaluation Period if Spryker and the Licensee have not agreed a non-evaluation license to the Software. - -This Agreement shall be governed by the laws of Germany to the exclusion of IPR (International Law) and the United Nations Convention -on Contracts for the International Sale of Goods (CISG). The parties consent to the jurisdiction of the courts in Berlin (Germany). - -This Agreement is not assignable or transferable by Licensee and any attempt to do so is null and void. - -This Agreement constitutes the entire agreement between the parties concerning Licensee's use of the Software. This Agreement supersedes -any prior verbal understanding between the parties and any Licensee purchase order or other ordering document, regardless of whether such -document is received by Spryker before or after execution of this Agreement. This Agreement may be amended only in a writing signed by -an authorized officer of Spryker. +SPRYKER - LICENSE AGREEMENT FOR EVALUATION OF AND EARLY ACCESS TO SOFTWARE + +SPRYKER SYSTEMS GMBH, REGISTERED WITH THE COMMERCIAL REGISTER OF THE LOWER COURT OF HAMBURG UNDER HRB 134310 ("WE" OR "SPRYKER") GRANTS YOU ("LICENSEE") THE RIGHT TO USE THE SOFTWARE (AS DEFINED BELOW) UNDER THE PROVISIONS OF THIS LICENSE AGREEMENT FOR EVALUATION AND EARLY ACCESS (THE "AGREEMENT"). + +For the purposes of this Agreement, the "Software" includes any software, which is owned and made available (i) by Spryker for evaluation purposes or (ii) as part of Spryker`s early access program under this Agreement. + +Spryker grants to Licensee, (i) during the 45-calendar-day period (the "Evaluation Period") following the first download of the Software or (ii) during the period it makes available a feature, module or functionality as part of its early access program (the "Early Access Period"), the non-transferable, non-exclusive limited, free of charge license (for (i) the "Evaluation License" or for (ii) the "Early Access License", as applicable, both a "License") to permit Licensee and/or Licensee`s employees to internally use the Software to test and evaluate the Software. In case of the Evaluation License, Licensee will not be granted the license under this Agreement for one particular piece of the Software more than once. + +Under the License granted in this Agreement, Licensee shall not (i) use the Software to set up a production live system, for development purposes or any other purposes apart from evaluating and testing the Software; (ii) copy any part of the Software except to make one copy for back-up purposes; (iii) distribute, disclose, market, rent, lease, or transfer the Software or act as a service bureau with respect to the Software; (iv) export the Software or install it in multiple locations; (v) disclose any confidential information provided by Spryker; (vi) modify or make derivative works of the Software; or (vii) allow others to make or obtain copies of the Software. + +The use of the Software in a production environment, to the extent permitted at all, requires prior conclusion of a separate agreement between Spryker and Licensee. Spryker will not support any versions of the Software being provided for evaluation purposes or as part of Spryker`s early access program. The provision of the Software as part of Spryker`s early access program does not necessarily mean it will be released as part of Spryker`s products in the future. + +The Software may contain elements of open source components, to which different license terms apply respectively. Licensee may need to install these open source components separately. + +THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND. SPRYKER DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, TITLE, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE. SPRYKER WILL NOT BE LIABLE FOR ANY DAMAGES ASSOCIATED WITH THE SOFTWARE, INCLUDING WITHOUT LIMITATION ORDINARY, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES OF ANY KIND, INCLUDING BUT NOT LIMITED TO DAMAGES RELATING TO LOST DATA OR LOST PROFITS, EVEN IF SPRYKER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +Licensee can provide input, suggestions, suggest or recommend changes or enhancements of the Software ("Feedback"). Any Feedback provided by Licensee is not considered confidential information and is received and treated by Spryker on a non-confidential and unrestricted basis. Licensee grants Spryker a sub-licenseable right to use, distribute, disclose and/or incorporate it into the Software or other products of Spryker, free of charge and without restriction as to time and place. + +Licensee`s License to use the Software under this Agreement shall terminate on the earlier of (i) the expiration of the Evaluation Period or the Early Access Period (as applicable), or (ii) the date both parties enter into a definitive agreement for the provision by Spryker to Licensee of a full non-evaluation license to Spryker`s software. + +Upon termination of the License as provided under this Agreement, Licensee shall promptly destroy the Software and any back-up copy of the Software made during the Evaluation Period or Early Access Period if Spryker and Licensee have not agreed a non-evaluation license to Spryker`s software. + +This Agreement shall be governed by the laws of Germany to the exclusion of IPR (International Law) and the United Nations Convention on Contracts for the International Sale of Goods (CISG). The parties consent to the jurisdiction of the courts in Berlin (Germany). + +This Agreement and/or the License is not assignable or transferable by Licensee and any attempt to do so is null and void. + +This Agreement constitutes the entire agreement between the parties concerning Licensee`s use of the Software. This Agreement supersedes any prior verbal understanding between the parties. This Agreement may be amended only in a writing signed by an authorized officer of Spryker. From eeaa3b970ba0314570bc723005979d17e93937db Mon Sep 17 00:00:00 2001 From: Anton Zubariev Date: Mon, 21 Aug 2023 10:50:21 +0300 Subject: [PATCH 312/336] BUGFIX: Fixed CI files according to Spryk's CI file version --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ee8c9146..24afc4b8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,10 +10,10 @@ on: jobs: validation: name: Validation - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Setup PHP uses: shivammathur/setup-php@v2 @@ -33,10 +33,10 @@ jobs: lowest: name: Prefer Lowest - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Setup PHP uses: shivammathur/setup-php@v2 From 5b091a16053e036567e1b76d599da34b284ffb2e Mon Sep 17 00:00:00 2001 From: Michael K <552911+michbeck@users.noreply.github.com> Date: Tue, 17 Oct 2023 18:01:45 +0200 Subject: [PATCH 313/336] CC-30444: Fixed Glue current locale negotiation. (#10513) CC-30444 Fixed Glue current locale negotiation. --- src/Spryker/Zed/Development/DevelopmentConfig.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index cb236e7e..dbf5c08a 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -389,6 +389,7 @@ public function getExternalToInternalNamespaceMap() 'Twig_' => 'spryker/twig', 'Twig\\' => 'spryker/twig', 'Webmozart\\Glob' => 'spryker/util-glob', + 'Willdurand\\Negotiation\\' => 'spryker/willdurand-negotiation', 'Zend\\' => 'spryker/zend', ]; } @@ -462,6 +463,7 @@ public function getExternalToInternalMap() 'swiftmailer/swiftmailer' => 'spryker/mail', 'twig/twig' => 'spryker/twig', 'webmozart/glob' => 'spryker/util-glob', + 'willdurand/negotiation' => 'spryker/willdurand-negotiation', 'zendframework/zend-config' => 'spryker/zend', 'zendframework/zend-filter' => 'spryker/zend', 'zendframework/zend-servicemanager' => 'spryker/zend', From 5ffaedf6ec6609b370281bf1dfbaf37635ee6534 Mon Sep 17 00:00:00 2001 From: Dmitriy Aseev <32021063+dmiseev@users.noreply.github.com> Date: Wed, 18 Oct 2023 18:23:47 +0300 Subject: [PATCH 314/336] Adjusted ruleset condfigurations. (#10561) CC-31572 Adjusted ruleset configurations --- ruleset.xml | 6 +++--- rulesetStrict.xml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ruleset.xml b/ruleset.xml index d3869093..314f586c 100644 --- a/ruleset.xml +++ b/ruleset.xml @@ -7,7 +7,7 @@ All sniffs in ./Sniffs will be auto loaded
- + */tests/_support/_generated/* */tests/_helpers/* @@ -20,8 +20,8 @@ - - + + diff --git a/rulesetStrict.xml b/rulesetStrict.xml index bf3b5a3b..f30c53fc 100644 --- a/rulesetStrict.xml +++ b/rulesetStrict.xml @@ -7,7 +7,7 @@ All sniffs in ./Sniffs will be auto loaded - + */tests/_support/_generated/* */tests/_helpers/* @@ -20,8 +20,8 @@ - - + + From c651efb9b6c93357dfe8aa8faa2903a30a587d92 Mon Sep 17 00:00:00 2001 From: Anton Smarovydlo Date: Thu, 2 Nov 2023 21:09:27 +0100 Subject: [PATCH 315/336] FRW-998 Switched PHP version from 8.0 to 8.1 by default, enabled support of PHP 8.2. (#10577) FRW-998 Dropped PHP 8.0 and added PHP 8.2 support. --- .github/workflows/ci.yml | 4 ++-- README.md | 2 +- composer.json | 2 +- ruleset.xml | 4 ++-- rulesetStrict.xml | 4 ++-- .../Business/CodeBuilder/Module/Templates/README.md.tpl | 2 +- .../Communication/Console/AbstractCoreModuleAwareConsole.php | 2 +- .../Communication/Console/CodeArchitectureSnifferConsole.php | 2 +- .../Development/Communication/Console/CodeFixturesConsole.php | 2 +- .../Communication/Console/CodePhpMessDetectorConsole.php | 2 +- .../Development/Communication/Console/CodePhpstanConsole.php | 2 +- .../Communication/Console/CodeStyleSnifferConsole.php | 2 +- .../Zed/Development/Communication/Console/CodeTestConsole.php | 2 +- .../Communication/Console/ComposerJsonUpdaterConsole.php | 2 +- .../Communication/Console/ComposerJsonValidatorConsole.php | 2 +- .../Communication/Console/DependencyTreeBuilderConsole.php | 2 +- .../Console/DependencyViolationFinderConsole.php | 2 +- .../Communication/Console/DependencyViolationFixConsole.php | 2 +- .../Console/GenerateClientIdeAutoCompletionConsole.php | 2 +- .../Console/GenerateGlueIdeAutoCompletionConsole.php | 2 +- .../Console/GenerateIdeAutoCompletionConsole.php | 2 +- .../Console/GenerateServiceIdeAutoCompletionConsole.php | 2 +- .../Console/GenerateYvesIdeAutoCompletionConsole.php | 2 +- .../Console/GenerateZedIdeAutoCompletionConsole.php | 2 +- .../Communication/Console/ModuleBridgeCreateConsole.php | 2 +- .../Development/Communication/Console/ModuleCreateConsole.php | 2 +- .../Communication/Console/PluginUsageFinderConsole.php | 2 +- .../Communication/Console/PropelAbstractValidateConsole.php | 2 +- .../Zed/Development/Communication/Form/BundlesFormType.php | 4 ++-- 29 files changed, 33 insertions(+), 33 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 24afc4b8..e851193f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,7 +18,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '8.0' + php-version: '8.2' extensions: mbstring, intl, bcmath coverage: none @@ -41,7 +41,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '8.0' + php-version: '8.1' extensions: mbstring, intl, bcmath coverage: none diff --git a/README.md b/README.md index 13ef66e9..db51b8e2 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Development Module [![Latest Stable Version](https://poser.pugx.org/spryker/development/v/stable.svg)](https://packagist.org/packages/spryker/development) -[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%208.0-8892BF.svg)](https://php.net/) +[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%208.1-8892BF.svg)](https://php.net/) Development is a tooling module for (local) development. diff --git a/composer.json b/composer.json index 3cfdae29..746cc302 100644 --- a/composer.json +++ b/composer.json @@ -5,7 +5,7 @@ "license": "proprietary", "require": { "nette/di": "^2.4.7 || ^3.0.0", - "php": ">=8.0", + "php": ">=8.1", "phpmd/phpmd": "^2.0.0", "spryker/config": "^3.0.0", "spryker/graph": "^3.0.0", diff --git a/ruleset.xml b/ruleset.xml index 314f586c..c45a4a71 100644 --- a/ruleset.xml +++ b/ruleset.xml @@ -20,8 +20,8 @@ - - + + diff --git a/rulesetStrict.xml b/rulesetStrict.xml index f30c53fc..83c5d79d 100644 --- a/rulesetStrict.xml +++ b/rulesetStrict.xml @@ -20,8 +20,8 @@ - - + + diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl index 58ad8146..d4d765a8 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl @@ -1,6 +1,6 @@ # {module} Module [![Latest Stable Version](https://poser.pugx.org/{namespaceDashed}/{moduleDashed}/v/stable.svg)](https://packagist.org/packages/{namespaceDashed}/{moduleDashed}) -[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%208.0-8892BF.svg)](https://php.net/) +[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%208.1-8892BF.svg)](https://php.net/) {{ADD DESCRIPTION HERE}} diff --git a/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php b/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php index 028b705f..ccd0c4bd 100644 --- a/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/AbstractCoreModuleAwareConsole.php @@ -36,7 +36,7 @@ class AbstractCoreModuleAwareConsole extends Console /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php index b8353ad4..0e152f06 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeArchitectureSnifferConsole.php @@ -85,7 +85,7 @@ class CodeArchitectureSnifferConsole extends Console /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php index f12079da..dac58988 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeFixturesConsole.php @@ -46,7 +46,7 @@ class CodeFixturesConsole extends Console /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); diff --git a/src/Spryker/Zed/Development/Communication/Console/CodePhpMessDetectorConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodePhpMessDetectorConsole.php index 7a565f66..9ead345f 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodePhpMessDetectorConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodePhpMessDetectorConsole.php @@ -46,7 +46,7 @@ class CodePhpMessDetectorConsole extends Console /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); diff --git a/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php index cd619189..a623c450 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php @@ -42,7 +42,7 @@ class CodePhpstanConsole extends Console /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php index 455e4047..932a4d75 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php @@ -63,7 +63,7 @@ class CodeStyleSnifferConsole extends Console /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php index 2c46c24a..9c412f12 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeTestConsole.php @@ -51,7 +51,7 @@ class CodeTestConsole extends Console /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); diff --git a/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php b/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php index 64199797..7992cd46 100644 --- a/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/ComposerJsonUpdaterConsole.php @@ -37,7 +37,7 @@ class ComposerJsonUpdaterConsole extends AbstractCoreModuleAwareConsole /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); diff --git a/src/Spryker/Zed/Development/Communication/Console/ComposerJsonValidatorConsole.php b/src/Spryker/Zed/Development/Communication/Console/ComposerJsonValidatorConsole.php index feee7474..7fa2d669 100644 --- a/src/Spryker/Zed/Development/Communication/Console/ComposerJsonValidatorConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/ComposerJsonValidatorConsole.php @@ -34,7 +34,7 @@ class ComposerJsonValidatorConsole extends AbstractCoreModuleAwareConsole /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php index 75e182d8..34cfde63 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyTreeBuilderConsole.php @@ -43,7 +43,7 @@ class DependencyTreeBuilderConsole extends Console /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php index 4b75949c..8aa4e370 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFinderConsole.php @@ -57,7 +57,7 @@ class DependencyViolationFinderConsole extends AbstractCoreModuleAwareConsole /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); diff --git a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php index 07bc6059..c1b432b6 100644 --- a/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/DependencyViolationFixConsole.php @@ -42,7 +42,7 @@ class DependencyViolationFixConsole extends AbstractCoreModuleAwareConsole /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateClientIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateClientIdeAutoCompletionConsole.php index b6493de3..0183c80d 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateClientIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateClientIdeAutoCompletionConsole.php @@ -30,7 +30,7 @@ class GenerateClientIdeAutoCompletionConsole extends Console /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateGlueIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateGlueIdeAutoCompletionConsole.php index 333b9b2e..024a15f2 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateGlueIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateGlueIdeAutoCompletionConsole.php @@ -30,7 +30,7 @@ class GenerateGlueIdeAutoCompletionConsole extends Console /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php index 66ba320c..996aff6f 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateIdeAutoCompletionConsole.php @@ -30,7 +30,7 @@ class GenerateIdeAutoCompletionConsole extends Console /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateServiceIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateServiceIdeAutoCompletionConsole.php index 93fb95a7..32c7b8ad 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateServiceIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateServiceIdeAutoCompletionConsole.php @@ -30,7 +30,7 @@ class GenerateServiceIdeAutoCompletionConsole extends Console /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateYvesIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateYvesIdeAutoCompletionConsole.php index b5d5e136..b5aceb1a 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateYvesIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateYvesIdeAutoCompletionConsole.php @@ -30,7 +30,7 @@ class GenerateYvesIdeAutoCompletionConsole extends Console /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); diff --git a/src/Spryker/Zed/Development/Communication/Console/GenerateZedIdeAutoCompletionConsole.php b/src/Spryker/Zed/Development/Communication/Console/GenerateZedIdeAutoCompletionConsole.php index d35cbb96..146abe93 100644 --- a/src/Spryker/Zed/Development/Communication/Console/GenerateZedIdeAutoCompletionConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/GenerateZedIdeAutoCompletionConsole.php @@ -30,7 +30,7 @@ class GenerateZedIdeAutoCompletionConsole extends Console /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); diff --git a/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php b/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php index 479e5a10..b4616720 100644 --- a/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/ModuleBridgeCreateConsole.php @@ -54,7 +54,7 @@ class ModuleBridgeCreateConsole extends Console /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); diff --git a/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php b/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php index 94da082d..6dcdbcba 100644 --- a/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/ModuleCreateConsole.php @@ -44,7 +44,7 @@ class ModuleCreateConsole extends Console /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); diff --git a/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php b/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php index 5b6efc05..6e42f574 100644 --- a/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/PluginUsageFinderConsole.php @@ -37,7 +37,7 @@ class PluginUsageFinderConsole extends Console /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); diff --git a/src/Spryker/Zed/Development/Communication/Console/PropelAbstractValidateConsole.php b/src/Spryker/Zed/Development/Communication/Console/PropelAbstractValidateConsole.php index ba4ad22a..941a847d 100644 --- a/src/Spryker/Zed/Development/Communication/Console/PropelAbstractValidateConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/PropelAbstractValidateConsole.php @@ -38,7 +38,7 @@ class PropelAbstractValidateConsole extends Console /** * @return void */ - protected function configure() + protected function configure(): void { parent::configure(); diff --git a/src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php b/src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php index c0f120a9..fc4d7794 100644 --- a/src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php +++ b/src/Spryker/Zed/Development/Communication/Form/BundlesFormType.php @@ -45,7 +45,7 @@ class BundlesFormType extends AbstractType * * @return void */ - public function configureOptions(OptionsResolver $resolver) + public function configureOptions(OptionsResolver $resolver): void { $resolver->setRequired(static::BUNDLE_NAME_CHOICES); } @@ -56,7 +56,7 @@ public function configureOptions(OptionsResolver $resolver) * * @return void */ - public function buildForm(FormBuilderInterface $builder, array $options) + public function buildForm(FormBuilderInterface $builder, array $options): void { $builder->add(static::EXCLUDED_BUNDLES, ChoiceType::class, [ 'expanded' => true, From 9b9de5b04f0c2f7bcb7c245762c3945b34e9fa99 Mon Sep 17 00:00:00 2001 From: Yaroslav Krutikov Date: Mon, 15 Jan 2024 12:37:17 +0100 Subject: [PATCH 316/336] FRW-2289 Allow to configure date field type for `Archivable` and `Timestampable` propel behaviors. (#10682) FRW-2289 Allow to configure date field type for `Archivable` and `Timestampable` propel behaviors. --- .../Business/Composer/Updater/AutoloadUpdater.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php index 6b84e612..142be492 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php @@ -69,6 +69,11 @@ class AutoloadUpdater implements UpdaterInterface */ public const BASE_FILTER_DIRECTORY = 'Filter'; + /** + * @var string + */ + public const POLYFILL_NAMESPACE = 'Polyfill'; + /** * @var string */ @@ -174,6 +179,7 @@ class AutoloadUpdater implements UpdaterInterface self::BASE_FILTER_DIRECTORY, self::SPRYKER_SDK_NAMESPACE, self::SPRYKER_MERCHANT_PORTAL_NAMESPACE, + self::POLYFILL_NAMESPACE, ]; /** From 2315a83ca2a45d31af87093c9ff0463b1fd85937 Mon Sep 17 00:00:00 2001 From: Yaroslav Krutikov Date: Wed, 14 Feb 2024 00:10:01 +0100 Subject: [PATCH 317/336] FRW-7289 Fixed Development module dependency BC-break. (#10806) FRW-7289 Fixed Development module dependency BC-break. --- composer.json | 2 +- phpstan.neon | 2 + .../Business/DevelopmentBusinessFactory.php | 27 ++++++- .../Config/PhpstanConfigFileManager.php | 26 +++++-- .../Phpstan/Config/PhpstanConfigFileSaver.php | 77 +++++++++++++++++++ .../PhpstanConfigFileSaverInterface.php | 19 +++++ .../DevelopmentDependencyProvider.php | 25 ++++++ 7 files changed, 170 insertions(+), 8 deletions(-) create mode 100644 src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileSaver.php create mode 100644 src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileSaverInterface.php diff --git a/composer.json b/composer.json index 746cc302..e56eb4ba 100644 --- a/composer.json +++ b/composer.json @@ -4,7 +4,7 @@ "description": "Development module", "license": "proprietary", "require": { - "nette/di": "^2.4.7 || ^3.0.0", + "nette/di": "^2.4.7 || ^3.2.0", "php": ">=8.1", "phpmd/phpmd": "^2.0.0", "spryker/config": "^3.0.0", diff --git a/phpstan.neon b/phpstan.neon index 877c705d..93954025 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -9,7 +9,9 @@ parameters: - '#Call to an undefined method ReflectionType::getName\(\)#' - '#Call to function method_exists\(\) with Symfony\\Component\\Console\\Helper\\ProgressBar and ''maxSecondsBetweenRe…'' will always evaluate to false.#' - '#Call to an undefined method ReflectionType::isBuiltin\(\)#' + - '#Call to an undefined method Nette\\DI\\Config\\Adapter::dump\(\)#' - '#Comparison operation ">" between int<2, max> and 1 is always true.#' + - '#Instanceof between string and Nette\\DI\\Config\\Adapter will always evaluate to false.#' - '#Parameter \#1 \$[a-zA-Z]* of class ReflectionClass constructor expects class-string\|T of object, string given.#' - '#Parameter \#1 \$callback of function spl_autoload_unregister expects callable\(\): mixed, array given.#' - '#Parameter \#1 \$callback of function spl_autoload_unregister expects callable\(\): mixed, non-empty-array given.#' diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index 03949c85..c73512e0 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -189,6 +189,8 @@ use Spryker\Zed\Development\Business\Phpstan\Config\PhpstanConfigFileFinderInterface; use Spryker\Zed\Development\Business\Phpstan\Config\PhpstanConfigFileManager; use Spryker\Zed\Development\Business\Phpstan\Config\PhpstanConfigFileManagerInterface; +use Spryker\Zed\Development\Business\Phpstan\Config\PhpstanConfigFileSaver; +use Spryker\Zed\Development\Business\Phpstan\Config\PhpstanConfigFileSaverInterface; use Spryker\Zed\Development\Business\Phpstan\PhpstanRunner; use Spryker\Zed\Development\Business\Propel\PropelAbstractClassValidator; use Spryker\Zed\Development\Business\Propel\PropelAbstractClassValidatorInterface; @@ -2114,7 +2116,12 @@ protected function createPhpstanConfigFileFinder(): PhpstanConfigFileFinderInter */ protected function createPhpstanConfigFileManager(): PhpstanConfigFileManagerInterface { - return new PhpstanConfigFileManager($this->getFilesystem(), $this->getConfig(), $this->getConfigLoader()); + return new PhpstanConfigFileManager( + $this->getFilesystem(), + $this->getConfig(), + $this->getConfigLoader(), + $this->createPhpstanConfigFileSaver(), + ); } /** @@ -2176,4 +2183,22 @@ protected function createTargetDirectoryResolver(): TargetDirectoryResolver $this->getConfig(), ); } + + /** + * @return \Spryker\Zed\Development\Business\Phpstan\Config\PhpstanConfigFileSaverInterface + */ + public function createPhpstanConfigFileSaver(): PhpstanConfigFileSaverInterface + { + return new PhpstanConfigFileSaver( + $this->getPhpstanFileAdapters(), + ); + } + + /** + * @return array + */ + public function getPhpstanFileAdapters(): array + { + return $this->getProvidedDependency(DevelopmentDependencyProvider::PHPSTAN_ADAPTERS); + } } diff --git a/src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileManager.php b/src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileManager.php index b301f54e..1882f6c3 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileManager.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileManager.php @@ -16,28 +16,39 @@ class PhpstanConfigFileManager implements PhpstanConfigFileManagerInterface /** * @var \Symfony\Component\Filesystem\Filesystem */ - protected $filesystem; + protected Filesystem $filesystem; /** * @var \Spryker\Zed\Development\DevelopmentConfig */ - protected $config; + protected DevelopmentConfig $config; /** * @var \Nette\DI\Config\Loader */ - protected $configLoader; + protected Loader $configLoader; + + /** + * @var \Spryker\Zed\Development\Business\Phpstan\Config\PhpstanConfigFileSaverInterface + */ + protected PhpstanConfigFileSaverInterface $phpstanConfigFileSaver; /** * @param \Symfony\Component\Filesystem\Filesystem $filesystem * @param \Spryker\Zed\Development\DevelopmentConfig $config * @param \Nette\DI\Config\Loader $configLoader + * @param \Spryker\Zed\Development\Business\Phpstan\Config\PhpstanConfigFileSaverInterface $phpstanConfigFileSaver */ - public function __construct(Filesystem $filesystem, DevelopmentConfig $config, Loader $configLoader) - { + public function __construct( + Filesystem $filesystem, + DevelopmentConfig $config, + Loader $configLoader, + PhpstanConfigFileSaverInterface $phpstanConfigFileSaver + ) { $this->filesystem = $filesystem; $this->config = $config; $this->configLoader = $configLoader; + $this->phpstanConfigFileSaver = $phpstanConfigFileSaver; } /** @@ -113,7 +124,10 @@ protected function saveConfig(string $newConfigFileName, array $mergedConfig): s } $newConfigFilePath = $directory . $newConfigFileName; - $this->configLoader->save($mergedConfig, $newConfigFilePath . $this->config->getPhpstanConfigFilename()); + $this->phpstanConfigFileSaver->save( + $newConfigFilePath . $this->config->getPhpstanConfigFilename(), + $mergedConfig, + ); return $newConfigFilePath; } diff --git a/src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileSaver.php b/src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileSaver.php new file mode 100644 index 00000000..fedef21f --- /dev/null +++ b/src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileSaver.php @@ -0,0 +1,77 @@ + + */ + protected array $fileAdapters; + + /** + * @param array $fileAdapters + */ + public function __construct(array $fileAdapters = []) + { + $this->fileAdapters = $fileAdapters; + } + + /** + * @param string $configFilePath + * @param array $data + * + * @throws \RuntimeException + * + * @return void + */ + public function save(string $configFilePath, array $data): void + { + if (file_put_contents($configFilePath, $this->getAdapter($configFilePath)->dump($data)) === false) { + throw new RuntimeException(sprintf(static::ERROR_CANNOT_WRITE_FILE, $configFilePath)); + } + } + + /** + * @param string $filePath + * + * @throws \InvalidArgumentException + * + * @return \Nette\DI\Config\Adapter + */ + protected function getAdapter(string $filePath): Adapter + { + $extension = strtolower(pathinfo($filePath, PATHINFO_EXTENSION)); + if (!isset($this->fileAdapters[$extension])) { + throw new InvalidArgumentException(sprintf(static::ERROR_UNKNOWN_FILE_EXTENSION, $filePath)); + } + + if ($this->fileAdapters[$extension] instanceof Adapter) { + return $this->fileAdapters[$extension]; + } + + /** @var \Nette\DI\Config\Adapter $adapter */ + $adapter = new $this->fileAdapters[$extension](); + + return $adapter; + } +} diff --git a/src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileSaverInterface.php b/src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileSaverInterface.php new file mode 100644 index 00000000..2f6c2132 --- /dev/null +++ b/src/Spryker/Zed/Development/Business/Phpstan/Config/PhpstanConfigFileSaverInterface.php @@ -0,0 +1,19 @@ + $data + * + * @return void + */ + public function save(string $configFilePath, array $data): void; +} diff --git a/src/Spryker/Zed/Development/DevelopmentDependencyProvider.php b/src/Spryker/Zed/Development/DevelopmentDependencyProvider.php index de45fbb3..1cadb5b3 100644 --- a/src/Spryker/Zed/Development/DevelopmentDependencyProvider.php +++ b/src/Spryker/Zed/Development/DevelopmentDependencyProvider.php @@ -7,6 +7,8 @@ namespace Spryker\Zed\Development; +use Nette\DI\Config\Adapters\NeonAdapter; +use Nette\DI\Config\Adapters\PhpAdapter; use Nette\DI\Config\Loader; use Spryker\Zed\Development\Dependency\Facade\DevelopmentToModuleFinderFacadeBridge; use Spryker\Zed\Graph\Communication\Plugin\GraphPlugin; @@ -57,6 +59,11 @@ class DevelopmentDependencyProvider extends AbstractBundleDependencyProvider */ public const TWIG_LOADER_FILESYSTEM = 'twig loader filesystem'; + /** + * @var string + */ + public const PHPSTAN_ADAPTERS = 'PHPSTAN_ADAPTERS'; + /** * @param \Spryker\Zed\Kernel\Container $container * @@ -89,6 +96,7 @@ public function provideBusinessLayerDependencies(Container $container) }); $container = $this->addModuleFinderFacade($container); + $container = $this->addPhpstanAdapters($container); return $container; } @@ -158,4 +166,21 @@ protected function addModuleFinderFacade(Container $container): Container return $container; } + + /** + * @param \Spryker\Zed\Kernel\Container $container + * + * @return \Spryker\Zed\Kernel\Container + */ + protected function addPhpstanAdapters(Container $container): Container + { + $container->set(static::PHPSTAN_ADAPTERS, function (Container $container) { + return [ + 'php' => PhpAdapter::class, + 'neon' => NeonAdapter::class, + ]; + }); + + return $container; + } } From e58e7c5f8670507fcc097da27d61236dcbb65fc8 Mon Sep 17 00:00:00 2001 From: Olha Livitchuk <77281282+olhalivitchuk@users.noreply.github.com> Date: Mon, 6 May 2024 14:15:28 +0200 Subject: [PATCH 318/336] FRW-7400 Upgraded PHPStan to `1.10.*`. (#10911) FRW-7400 Update PHPStan to 1.10.* --- phpstan.neon | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/phpstan.neon b/phpstan.neon index 93954025..6aa703bc 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -7,11 +7,12 @@ parameters: - '#Constant T_OPEN_PARENTHESIS not found.#' - '#Constant T_OPEN_SQUARE_BRACKET not found.#' - '#Call to an undefined method ReflectionType::getName\(\)#' - - '#Call to function method_exists\(\) with Symfony\\Component\\Console\\Helper\\ProgressBar and ''maxSecondsBetweenRe…'' will always evaluate to false.#' - '#Call to an undefined method ReflectionType::isBuiltin\(\)#' - '#Call to an undefined method Nette\\DI\\Config\\Adapter::dump\(\)#' - '#Comparison operation ">" between int<2, max> and 1 is always true.#' - '#Instanceof between string and Nette\\DI\\Config\\Adapter will always evaluate to false.#' - '#Parameter \#1 \$[a-zA-Z]* of class ReflectionClass constructor expects class-string\|T of object, string given.#' - '#Parameter \#1 \$callback of function spl_autoload_unregister expects callable\(\): mixed, array given.#' - - '#Parameter \#1 \$callback of function spl_autoload_unregister expects callable\(\): mixed, non-empty-array given.#' + - '#Parameter \#2 \$callback of function array_filter expects .+, .+glob.+ given#' + - '#Parameter \#2 \$callback of function array_filter expects \(callable\(mixed\): bool\)\|null, .+ given.#' + - '#Parameter \#2 \$callback of function array_filter expects \(callable\(string\): bool\)\|null, .+ given.#' From 2580a47694d53e25f46f3ebd5df1a62aa8acc60f Mon Sep 17 00:00:00 2001 From: Olha Livitchuk <77281282+olhalivitchuk@users.noreply.github.com> Date: Thu, 18 Jul 2024 13:23:38 +0200 Subject: [PATCH 319/336] FRW-8526 Updated and added missing CONTRIBUTING.md files. (#11005) FRW-8526 Update contribution.md content for all repos with the Spryker license --- CONTRIBUTING.md | 115 +++++++++++++++++++++++++++++------------------- 1 file changed, 69 insertions(+), 46 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5eff362d..6a2d4c07 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,46 +1,69 @@ -CODE CONTRIBUTION LICENSE AGREEMENT - -BY DISPLAYING, PUBLISHING, UPLOADING OR PROMOTING (COLLECTIVELY, “POSTING”) SOURCE CODE (“SOURCE CODE”) -TO SPRYKER SYSTEMS GMBH, REGISTERED WITH THE COMMERCIAL REGISTER OF THE LOWER COURT OF HAMBURG UNDER -HRB 134310 (“WE”, “US” OR ”SPRYKER”), YOU AGREE TO THIS CODE CONTRIBUTION LICENSE AGREEMENT (THE “AGREEMENT”). - -You grant us and our affiliates an irrevocable, perpetual, worldwide, royalty-free, non-exclusive, unrestricted -license and right to use, reproduce and store, disseminate and otherwise exploit, modify, delete from, add to, -create derivative works of, publicly perform, publicly display, reproduce, exchange parts of Source Code or combine them with -other Source Code, use in data networks and distribute with or without consideration and without limitations as to the -number of items via all distribution channels (and to sublicense the foregoing rights through multiple tiers of licensees) -of such Source Code and any other copyright protected material for any reason and in connection with advertising and -promoting our software and/or our products in any media formats and through any channels now existing or developed in -the future. The transfer and assignment of rights covers any usage and exploitation rights for any unknown types of use -as well as with regard to any known types of use the right to unrestrictedly make publicly available and publish, -irrespective of the medium including any editions and versions and grant simple or exclusive usage, exploitation or -adaptation rights to third parties. - -Spryker may reject, refuse to post or delete any Source Code for any or no reason, including, without limitation. - -From time to time, we may remove the Source Code permanently or temporarily, provided that even if we do remove such -Source Code, we shall have no obligation to cease our other uses of the Source Code as permitted above. - -You agree to be fully responsible for and to pay any and all royalties, fees, and any other monies owing any person or -entity by reason of any Source Code posted by you. - -Spryker respects the intellectual property of others, and requires that you do the same. Your postings and the Source Code -must not infringe any copyright, patent, trademark, trade secret or other proprietary rights or other rights of any person -or entity and you may not upload, embed, post, email, transmit or otherwise make available Source Code, software or any other -material that that infringes such rights. - -YOU GUARANTEE THAT: (I) YOU OWN THE SOURCE CODE POSTED BY YOU OR OTHERWISE HAVE THE RIGHT TO GRANT THE LICENSES AND RIGHTS -SET FORTH ABOVE, AND (II) THE POSTING OF YOUR SOURCE CODE DOES NOT VIOLATE THE PRIVACY RIGHTS, PUBLICITY RIGHTS, CONTRACT RIGHTS, -INTELLECTUAL PROPERTY OR ANY OTHER RIGHTS OF ANY PERSON OR ENTITY OR ANY APPLICABLE LAW. - -YOU AGREE TO INDEMNIFY AND HOLD SPRYKER, ITS SUBSIDIARIES, AND AFFILIATES, AND THEIR RESPECTIVE OFFICERS, AGENTS, PARTNERS -AND EMPLOYEES, HARMLESS FROM ANY LOSS, LIABILITY, COST, EXPENSE, CLAIM OR DEMAND, INCLUDING WITHOUT LIMITATION, REASONABLE -ATTORNEYS’ FEES, DUE OR RELATING TO OR ARISING OUT OF THE USE OF YOUR SOURCE CODE IN VIOLATION OF THIS AGREEMENT AND/OR -ARISING FROM A BREACH OF ANY TERMS OF THIS AGREEMENT AND/OR ANY BREACH OF YOUR REPRESENTATIONS AND WARRANTIES SET FORTH IN -THIS AGREEMENT AND/OR ARISING OUT OF OR RELATING TO ANY SOURCE CODE THAT YOU POST. - -This Agreement shall be governed by the laws of Germany to the exclusion of IPR (International Law) and the United Nations Convention -on Contracts for the International Sale of Goods (CISG). The parties consent to the jurisdiction of the courts in Berlin (Germany). - -This Agreement constitutes the entire agreement between you and us concerning Spryker’s use of the Source Code. This Agreement -supersedes any prior verbal understanding between the parties. This Agreement may be amended only in a writing signed by an authorized officer of Spryker. +SPRYKER - CONTRIBUTION AGREEMENT FOR PLATFORM CONTRIBUTIONS + +Spryker Systems GmbH, Heidestraße 9-10, 10557 Berlin, Germany (“Spryker”), and its affiliates invite you to contribute +to Spryker’s Software, including but not limited to with bug fixes, enhancements, additions or features +(each a “Platform Contribution”). For the purposes of this Agreement, the “Software” includes any software, +which is owned and made available by Spryker. Contributions can consist of source code, documentation and/or other +code-related elements. + +BY DISPLAYING, PUBLISHING, UPLOADING, PROMOTING OR OTHERWISE PROVIDING A PLATFORM CONTRIBUTION TO SPRYKER +(COLLECTIVELY, “SUBMITTING”), YOU AGREE TO THIS CONTRIBUTION AGREEMENT FOR PLATFORM CONTRIBUTIONS (THE “AGREEMENT”). + +Spryker grants you the right to use the Software for the purpose of developing and submitting Platform Contributions +to the Software and/or Spryker’s documentation subject to your compliance with this Agreement. +Under the license granted in this Agreement, you must not (i) use the Software to set up a production live system; +(ii) copy any part of the Software except to develop and provide a Platform Contribution or make one copy for back-up +purposes; (iii) distribute, disclose, market, rent, lease, or transfer the Software or act as a service bureau with +respect to the Software; (iv) export the Software or install it in multiple locations; (v) disclose any confidential +information provided by Spryker; (vi) modify or make derivative works of the Software beyond what you will submit to +Spryker as Platform Contribution; or (vii) allow others to make or obtain copies of the Software. + +You grant Spryker and its affiliates an irrevocable, perpetual, worldwide, royalty-free, non-exclusive, +unrestricted license and right to use, including to reproduce and store, disseminate and otherwise exploit, modify, +delete from, add to, create derivative works of, publicly perform, publicly display, reproduce, exchange parts +of a Platform Contribution or combine them with other code, use in data networks and distribute with or without +consideration and without limitations as to the number of items via all distribution channels (and to sublicense +the foregoing rights through multiple tiers of licensees) such Platform Contribution and any other copyright +protected material for any reason and in connection with advertising and promoting our software and/or Spryker’s +products in any media formats and through any channels now existing or developed in the future. +The granting of these rights covers any usage and exploitation rights for any unknown types of use as well as +with regard to any known types of use the right to unrestrictedly make publicly available and publish, +irrespective of the medium including any editions and versions and grant simple or exclusive usage, +exploitation or adaptation rights to third parties. + +Spryker may reject, refuse to post or delete any Platform Contribution for any or no reason, including, +without limitation. Spryker may or may not mention your name when publishing the Platform Contribution. +From time to time, Spryker may remove the Platform Contribution permanently or temporarily, provided that even +if Spryker does remove such Platform Contribution, Spryker shall have no obligation to cease its other uses of +the Platform Contribution as permitted above. +Spryker respects the intellectual property of others, and requires that you do the same. Your Platform Contributions +must not infringe any copyright, patent, trademark, trade secret or other proprietary rights or other rights of any +person or entity and you may not upload, embed, post, email, transmit or otherwise make available a Platform Contribution +or any other material that infringes such rights. +If you are submitting a Platform Contribution that includes licensed rights, you will inform Spryker of the name of +such third-party licensor, the third-party license as such and any restrictions you are aware of. +If you are submitting a Platform Contribution that was developed by you in the course of your work for your employer +or as a contractor, vendor or agent for another principal, you are responsible for obtaining permission from your +employer or such other principal. +You will not include a Platform Contribution containing code governed by a license with copyleft effect. You agree +to be fully responsible for and to pay any and all royalties, fees, and any other monies owed to any person or +entity for any rights in a Platform Contribution submitted by you. +YOU REPRESENT AND WARRANT THAT: (I) YOU OWN THE PLATFORM CONTRIBUTION POSTED BY YOU OR OTHERWISE ARE ENTITLED TO +GRANT THE LICENSES AND RIGHTS SET FORTH ABOVE, INCLUDING WHERE NECESSARY HAVE OBTAINED YOUR EMPLOYER’S OR OTHER +PRINCIPAL’S PERMISSION, AND (II) THE SUBMISSION OF YOUR PLATFORM CONTRIBUTION DOES NOT VIOLATE THE PRIVACY RIGHTS, +PUBLICITY RIGHTS, CONTRACT RIGHTS, INTELLECTUAL PROPERTY OR ANY OTHER RIGHTS OF ANY PERSON OR ENTITY OR ANY +APPLICABLE LAW. + +YOU AGREE TO INDEMNIFY AND HOLD SPRYKER AND ITS AFFILIATES, AND THEIR RESPECTIVE OFFICERS, AGENTS, PARTNERS AND EMPLOYEES, +HARMLESS FROM ANY LOSS, LIABILITY, COST, EXPENSE, CLAIM, OR DEMAND, INCLUDING WITHOUT LIMITATION, REASONABLE ATTORNEYS’ FEES, +DUE OR RELATING TO OR ARISING OUT OF THE USE OF THE YOUR PLATFORM CONTRIBUTION IN VIOLATION OF THIS AGREEMENT AND/OR +ARISING FROM A BREACH OF ANY TERMS OF THIS AGREEMENT AND/OR ANY BREACH OF YOUR REPRESENTATIONS AND WARRANTIES SET +FORTH IN THIS AGREEMENT AND/OR ARISING OUT OF OR RELATING TO ANY PLATFORM CONTRIBUTION THAT YOU SUBMIT. + +This Agreement is governed by the laws of Germany to the exclusion of its conflict of laws provisions and +the United Nations Convention on Contracts for the International Sale of Goods (CISG). The parties consent to the +jurisdiction of the courts in Berlin (Germany). + +This Agreement constitutes the entire agreement between the parties concerning the Platform Contributions submitted +by you. This Agreement supersedes any prior verbal understanding between the parties on the matter. This Agreement +may be amended only in a writing signed by an authorized officer of Spryker. From 90bd50b0116f0a563b34f78ae21ca90ad2e7964f Mon Sep 17 00:00:00 2001 From: Yaroslav Krutikov Date: Thu, 19 Sep 2024 16:39:52 +0200 Subject: [PATCH 320/336] FRW-8430 Enabled console commands to be ran during 3rd-party module development. (#10969) FRW-8430 Enabled console commands to be ran during 3rd-party module development. --- bin/development | 51 +++ composer.json | 7 +- config/Shared/config_default.php | 14 + dependency.json | 6 + .../ArchitectureSniffer.php | 39 ++- .../CodeBuilder/Module/ModuleBuilder.php | 5 - .../CodeStyleSniffer/CodeStyleSniffer.php | 283 ++-------------- .../Config/CodeStyleSnifferConfiguration.php | 21 +- .../Business/CodeTest/CodeTester.php | 55 +++- .../Business/DevelopmentBusinessFactory.php | 29 +- .../Business/Normalizer/NameNormalizer.php | 48 +++ .../Normalizer/NameNormalizerInterface.php | 25 ++ .../Business/PhpMd/PhpMdRunner.php | 130 ++++++-- .../Business/Phpstan/PhpstanRunner.php | 210 +++++++----- .../Resolver/CodeStylePathResolver.php | 309 ++++++++++++++++++ .../Resolver/PathResolverInterface.php | 21 ++ .../CodeArchitectureSnifferConsole.php | 131 ++++---- .../Console/CodePhpMessDetectorConsole.php | 31 +- .../Console/CodePhpstanConsole.php | 18 + .../Console/CodeStyleSnifferConsole.php | 13 +- .../DevelopmentCommunicationFactory.php | 10 + .../Zed/Development/DevelopmentConfig.php | 64 ++++ .../ArchitectureSnifferTest.php | 156 +++++++++ .../CodeStyleSniffer/CodeStyleSnifferTest.php | 8 +- .../Normalizer/NameNormalizerTest.php | 96 ++++++ .../Business/PhpMd/PhpMdRunnerTest.php | 123 +++++++ .../Resolver/CodeStylePathResolverTest.php | 106 ++++++ .../Console/CodePhpstanConsoleTest.php | 132 ++++++++ .../Console/CodeStyleSnifferConsoleTest.php | 134 ++++++++ .../_support/DevelopmentBusinessTester.php | 15 + .../DevelopmentCommunicationTester.php | 29 ++ .../Zed/Development/codeception.yml | 11 + 32 files changed, 1880 insertions(+), 450 deletions(-) create mode 100755 bin/development create mode 100644 config/Shared/config_default.php create mode 100644 dependency.json create mode 100644 src/Spryker/Zed/Development/Business/Normalizer/NameNormalizer.php create mode 100644 src/Spryker/Zed/Development/Business/Normalizer/NameNormalizerInterface.php create mode 100644 src/Spryker/Zed/Development/Business/Resolver/CodeStylePathResolver.php create mode 100644 src/Spryker/Zed/Development/Business/Resolver/PathResolverInterface.php create mode 100644 tests/SprykerTest/Zed/Development/Business/ArchitectureSniffer/ArchitectureSnifferTest.php create mode 100644 tests/SprykerTest/Zed/Development/Business/Normalizer/NameNormalizerTest.php create mode 100644 tests/SprykerTest/Zed/Development/Business/PhpMd/PhpMdRunnerTest.php create mode 100644 tests/SprykerTest/Zed/Development/Business/Resolver/CodeStylePathResolverTest.php create mode 100644 tests/SprykerTest/Zed/Development/Communication/Console/CodePhpstanConsoleTest.php create mode 100644 tests/SprykerTest/Zed/Development/Communication/Console/CodeStyleSnifferConsoleTest.php create mode 100644 tests/SprykerTest/Zed/Development/_support/DevelopmentCommunicationTester.php diff --git a/bin/development b/bin/development new file mode 100755 index 00000000..a42c662c --- /dev/null +++ b/bin/development @@ -0,0 +1,51 @@ +#!/usr/bin/env php +addCommands( + [ + new CodeArchitectureSnifferConsole(), + new CodePhpMessDetectorConsole(), + new CodePhpstanConsole(), + new CodeStyleSnifferConsole(), + ], +); + +$application->run(); + +if ($configWasAdded) { + unlink(getcwd() . '/config/Shared/config_default.php'); +} diff --git a/composer.json b/composer.json index e56eb4ba..42155eb1 100644 --- a/composer.json +++ b/composer.json @@ -16,6 +16,8 @@ "spryker/twig": "^3.16.0" }, "require-dev": { + "spryker-sdk/phpstan-spryker": "*", + "spryker/architecture-sniffer": "*", "spryker/code-sniffer": "*", "spryker/propel": "*", "spryker/testify": "*" @@ -50,5 +52,8 @@ "allow-plugins": { "dealerdirect/phpcodesniffer-composer-installer": true } - } + }, + "bin": [ + "bin/development" + ] } diff --git a/config/Shared/config_default.php b/config/Shared/config_default.php new file mode 100644 index 00000000..8cbfcf14 --- /dev/null +++ b/config/Shared/config_default.php @@ -0,0 +1,14 @@ +command)); + $command = $this->resolveRulesetPath($directory); + $command = explode(' ', str_replace(DevelopmentConfig::BUNDLE_PLACEHOLDER, $directory, $command)); $command[] = '--minimumpriority'; $command[] = $options[static::OPTION_PRIORITY]; @@ -325,6 +341,27 @@ protected function runCommand($directory, array $options = []) return $output; } + /** + * @param string $directory + * + * @return string + */ + protected function resolveRulesetPath(string $directory): string + { + $architecturalRulesetFilepath = dirname($directory) . DIRECTORY_SEPARATOR . static::CUSTOM_RULESET; + $command = $this->command; + + if (file_exists($architecturalRulesetFilepath) === true) { + $command = preg_replace( + static::DEFAULT_RULESET_PATTERN, + sprintf(static::REPLACEMENT_PLACEHOLDER, $architecturalRulesetFilepath), + $command, + ); + } + + return $command; + } + /** * @param array>> $array * diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php index b04c64ef..409c99b1 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/ModuleBuilder.php @@ -29,11 +29,6 @@ class ModuleBuilder */ protected const NAMESPACE_SPRYKER = 'Spryker'; - /** - * @var string - */ - protected const NAMESPACE_SPRYKER_SHOP = 'SprykerShop'; - /** * @var \Spryker\Zed\Development\DevelopmentConfig */ diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php index a86dd3e4..12744c02 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/CodeStyleSniffer.php @@ -8,15 +8,9 @@ namespace Spryker\Zed\Development\Business\CodeStyleSniffer; use Laminas\Config\Reader\Xml; -use Laminas\Filter\FilterChain; -use Laminas\Filter\StringToLower; -use Laminas\Filter\Word\CamelCaseToDash; -use RuntimeException; use Spryker\Zed\Development\Business\CodeStyleSniffer\Config\CodeStyleSnifferConfigurationInterface; -use Spryker\Zed\Development\Business\CodeStyleSniffer\Config\CodeStyleSnifferConfigurationLoaderInterface; -use Spryker\Zed\Development\Business\Exception\CodeStyleSniffer\PathDoesNotExistException; +use Spryker\Zed\Development\Business\Resolver\PathResolverInterface; use Spryker\Zed\Development\DevelopmentConfig; -use Symfony\Component\Finder\Finder; use Symfony\Component\Process\Process; class CodeStyleSniffer @@ -31,31 +25,11 @@ class CodeStyleSniffer */ protected const OPTION_IGNORE = 'ignore'; - /** - * @var array - */ - protected const APPLICATION_NAMESPACES = ['Orm']; - - /** - * @var array - */ - protected const APPLICATION_LAYERS = ['Zed', 'Client', 'Yves', 'Service', 'Shared']; - /** * @var array */ protected const EXTENSIONS = ['php']; - /** - * @var string - */ - protected const NAMESPACE_SPRYKER_SHOP = 'SprykerShop'; - - /** - * @var string - */ - protected const NAMESPACE_SPRYKER = 'Spryker'; - /** * @var \Spryker\Zed\Development\DevelopmentConfig */ @@ -67,9 +41,9 @@ class CodeStyleSniffer protected $options = []; /** - * @var \Spryker\Zed\Development\Business\CodeStyleSniffer\Config\CodeStyleSnifferConfigurationLoaderInterface + * @var \Spryker\Zed\Development\Business\Resolver\PathResolverInterface */ - protected $codeStyleSnifferConfigurationLoader; + protected PathResolverInterface $pathResolver; /** * @var int @@ -88,12 +62,14 @@ class CodeStyleSniffer /** * @param \Spryker\Zed\Development\DevelopmentConfig $config - * @param \Spryker\Zed\Development\Business\CodeStyleSniffer\Config\CodeStyleSnifferConfigurationLoaderInterface $codeStyleSnifferConfigurationLoader + * @param \Spryker\Zed\Development\Business\Resolver\PathResolverInterface $pathResolver */ - public function __construct(DevelopmentConfig $config, CodeStyleSnifferConfigurationLoaderInterface $codeStyleSnifferConfigurationLoader) - { + public function __construct( + DevelopmentConfig $config, + PathResolverInterface $pathResolver + ) { $this->config = $config; - $this->codeStyleSnifferConfigurationLoader = $codeStyleSnifferConfigurationLoader; + $this->pathResolver = $pathResolver; } /** @@ -107,17 +83,14 @@ public function checkCodeStyle(?string $module, array $options = []): int $resultCode = static::CODE_SUCCESS; $namespace = null; - if (strpos($module, '.') !== false) { + if ($module !== null && strpos($module, '.') !== false) { [$namespace, $module] = explode('.', $module, 2); } $pathOption = $options['path'] ?? null; - $defaults = [ - static::OPTION_IGNORE => $namespace || $pathOption ? null : 'vendor/', - ]; - $options += $defaults; + $options += $this->getDefaultIgnoredPath($module, $pathOption); - $paths = $this->resolvePaths($module, $namespace, $pathOption, $options); + $paths = $this->pathResolver->resolvePaths($module, $namespace, $pathOption, $options); $this->countTotalPaths = count($paths); foreach ($paths as $path => $codeStyleSnifferConfiguration) { @@ -134,162 +107,18 @@ public function checkCodeStyle(?string $module, array $options = []): int } /** - * @param string|null $module - * @param string|null $namespace - * @param string|null $path - * @param array $options - * - * @return array - */ - protected function resolvePaths(?string $module, ?string $namespace, ?string $path, array $options): array - { - $path = $path !== null ? trim($path, DIRECTORY_SEPARATOR) : null; - - if ($namespace) { - return $this->resolveCorePath($module, $namespace, $path, $options); - } - - if (!$module) { - return $this->addPath([], $this->config->getPathToRoot() . $path, $options); - } - - return $this->resolveProjectPath($module, $path, $options); - } - - /** - * @param string $module - * @param string $namespace * @param string|null $path - * @param array $options - * - * @return array - */ - protected function resolveCorePath(string $module, string $namespace, ?string $path, array $options) - { - if ($module === 'all') { - return $this->getPathsToAllCoreModules($namespace, $path, $options); - } - - return $this->getPathToCoreModule($module, $namespace, $path, $options); - } - - /** - * @param string $namespace - * @param string|null $pathSuffix - * @param array $options - * - * @throws \RuntimeException - * - * @return array - */ - protected function getPathsToAllCoreModules(string $namespace, ?string $pathSuffix, array $options): array - { - if ($pathSuffix) { - throw new RuntimeException('Path suffix option is not possible for "all".'); - } - - $pathToInternalNamespace = $this->config->getPathToInternalNamespace($namespace); - - if (!$pathToInternalNamespace) { - throw new RuntimeException('Namespace invalid: ' . $namespace); - } - - $paths = []; - $modules = $this->getCoreModules($pathToInternalNamespace); - foreach ($modules as $module) { - $path = $pathToInternalNamespace . $module . DIRECTORY_SEPARATOR; - $paths = $this->addPath($paths, $path, $options, $namespace); - } - - return $paths; - } - - /** - * @param string $module - * @param string $namespace - * @param string|null $pathSuffix - * @param array $options - * - * @throws \Spryker\Zed\Development\Business\Exception\CodeStyleSniffer\PathDoesNotExistException - * - * @return array - */ - protected function getPathToCoreModule(string $module, string $namespace, ?string $pathSuffix, array $options) - { - $path = $this->getCorePath($module, $namespace, $pathSuffix); - - if ($this->isPathValid($path)) { - return $this->addPath([], $path, $options, $namespace); - } - - $message = sprintf( - 'Could not find a valid path to your module "%s". Expected path "%s". Maybe there is a typo in the module name?', - $module, - $path, - ); - - throw new PathDoesNotExistException($message); - } - - /** - * @param string $module - * @param string $namespace - * @param string|null $pathSuffix + * @param string|null $pathOption * - * @return string + * @return array */ - protected function getCorePath($module, $namespace, $pathSuffix = null) + protected function getDefaultIgnoredPath(?string $path = null, ?string $pathOption = null): array { - $pathToInternalNamespace = $this->config->getPathToInternalNamespace($namespace); - if ($pathToInternalNamespace && is_dir($pathToInternalNamespace . $module)) { - return $this->buildPath($pathToInternalNamespace . $module . DIRECTORY_SEPARATOR, $pathSuffix); - } - - $vendor = $this->normalizeName($namespace); - $module = $this->normalizeName($module); - $path = $this->config->getPathToRoot() . 'vendor' . DIRECTORY_SEPARATOR . $vendor . DIRECTORY_SEPARATOR . $module . DIRECTORY_SEPARATOR; - - return $this->buildPath($path, $pathSuffix); - } - - /** - * @param string $path - * @param string $suffix - * - * @return string - */ - protected function buildPath($path, $suffix) - { - if (!$suffix) { - return $path; - } + $dontIgnoreVendor = $path || $pathOption || $this->config->isStandaloneMode(); - return $path . $suffix; - } - - /** - * @param string $name - * - * @return string - */ - protected function normalizeName($name) - { - $filterChain = new FilterChain(); - $filterChain - ->attach(new CamelCaseToDash()) - ->attach(new StringToLower()); - - return $filterChain->filter($name); - } - - /** - * @param string $path - * - * @return bool - */ - protected function isPathValid($path) - { - return (is_file($path) || is_dir($path)); + return [ + static::OPTION_IGNORE => $dontIgnoreVendor ? null : 'vendor/', + ]; } /** @@ -373,7 +202,8 @@ protected function runSnifferCommand($path, CodeStyleSnifferConfigurationInterfa $process = new Process(explode(' ', $command), $this->config->getPathToRoot()); $process->setTimeout($this->config->getProcessTimeout()); - if (strpos($codeStyleSnifferConfiguration->getModule(), '.all') !== false) { + $module = $codeStyleSnifferConfiguration->getModule(); + if ($module !== null && strpos($module, '.all') !== false) { return $this->runSnifferCommandForAll($process, $path, $codeStyleSnifferConfiguration); } @@ -425,77 +255,6 @@ protected function getSnifferResultMessage(Process $process): string return sprintf('%s', $process->getExitCode() === static::CODE_SUCCESS ? "\033[32m OK \033[0m" : "\033[31m FAIL \033[0m"); } - /** - * @param string $module - * @param string|null $pathSuffix - * @param array $options - * - * @return array - */ - protected function resolveProjectPath(string $module, ?string $pathSuffix, array $options): array - { - $projectNamespaces = $this->config->getProjectNamespaces(); - $namespaces = array_merge(static::APPLICATION_NAMESPACES, $projectNamespaces); - $pathToRoot = $this->config->getPathToRoot(); - - $paths = []; - foreach ($namespaces as $namespace) { - $path = $pathToRoot . 'src' . DIRECTORY_SEPARATOR . $namespace . DIRECTORY_SEPARATOR; - - foreach (static::APPLICATION_LAYERS as $layer) { - $layerPath = $path . $layer . DIRECTORY_SEPARATOR . $module . DIRECTORY_SEPARATOR; - if ($pathSuffix) { - $layerPath .= $pathSuffix; - } - - if (!is_dir($layerPath)) { - continue; - } - - $paths[] = $layerPath; - } - } - - return $this->addPath([], implode(' ', $paths), $options); - } - - /** - * @param string $path - * - * @return array - */ - protected function getCoreModules(string $path): array - { - /** @var array<\Symfony\Component\Finder\SplFileInfo> $directories */ - $directories = (new Finder()) - ->directories() - ->in($path) - ->depth('== 0') - ->sortByName(); - - $modules = []; - foreach ($directories as $dir) { - $modules[] = $dir->getFilename(); - } - - return $modules; - } - - /** - * @param array $paths - * @param string $moduleDirectoryPath - * @param array $options - * @param string|null $namespace - * - * @return array - */ - protected function addPath(array $paths, string $moduleDirectoryPath, array $options, ?string $namespace = null): array - { - $paths[$moduleDirectoryPath] = clone $this->codeStyleSnifferConfigurationLoader->load($options, $moduleDirectoryPath, $namespace); - - return $paths; - } - /** * @param string $path * diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php index 887f2ca3..7a736308 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php @@ -179,12 +179,23 @@ public function getCodingStandard(string $path): string $vendorDir = APPLICATION_VENDOR_DIR . DIRECTORY_SEPARATOR; - if (strpos($path, $vendorDir) !== false) { - if ($this->getLevel() === static::LEVEL_SPRYKER_STRICT) { - return $this->developmentConfig->getCodeSnifferStrictRuleset(); - } + $localConfigPath = ''; + if (strpos($path, $vendorDir) === false && !$this->developmentConfig->isStandaloneMode()) { + return $this->developmentConfig->getCodingStandard(); + } + + if ($this->getLevel() === static::LEVEL_SPRYKER_STRICT) { + $localConfigPath = $this->developmentConfig->getCodeSnifferStrictRuleset(); + } + + if (file_exists($localConfigPath)) { + return $localConfigPath; + } + + $localConfigPath = $this->developmentConfig->getCodeSnifferRuleset(); - return $this->developmentConfig->getCodeSnifferRuleset(); + if (file_exists($localConfigPath)) { + return $localConfigPath; } return $this->developmentConfig->getCodingStandard(); diff --git a/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php b/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php index fc6bbdea..3c526d1a 100644 --- a/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php +++ b/src/Spryker/Zed/Development/Business/CodeTest/CodeTester.php @@ -12,6 +12,7 @@ use Generated\Shared\Transfer\OrganizationTransfer; use RuntimeException; use Spryker\Zed\Development\Business\Codeception\Argument\Builder\CodeceptionArgumentsBuilderInterface; +use Spryker\Zed\Development\Business\Normalizer\NameNormalizerInterface; use Spryker\Zed\Development\Dependency\Facade\DevelopmentToModuleFinderFacadeInterface; use Spryker\Zed\Development\DevelopmentConfig; use Symfony\Component\Process\Process; @@ -68,19 +69,27 @@ class CodeTester */ protected $config; + /** + * @var \Spryker\Zed\Development\Business\Normalizer\NameNormalizerInterface + */ + protected NameNormalizerInterface $nameNormalizer; + /** * @param \Spryker\Zed\Development\Dependency\Facade\DevelopmentToModuleFinderFacadeInterface $developmentToModuleFinderFacade * @param \Spryker\Zed\Development\Business\Codeception\Argument\Builder\CodeceptionArgumentsBuilderInterface $argumentBuilder * @param \Spryker\Zed\Development\DevelopmentConfig $config + * @param \Spryker\Zed\Development\Business\Normalizer\NameNormalizerInterface $nameNormalizer */ public function __construct( DevelopmentToModuleFinderFacadeInterface $developmentToModuleFinderFacade, CodeceptionArgumentsBuilderInterface $argumentBuilder, - DevelopmentConfig $config + DevelopmentConfig $config, + NameNormalizerInterface $nameNormalizer ) { $this->developmentToModuleFinderFacade = $developmentToModuleFinderFacade; $this->argumentBuilder = $argumentBuilder; $this->config = $config; + $this->nameNormalizer = $nameNormalizer; } /** @@ -96,7 +105,7 @@ public function __construct( */ public function runTest(?string $moduleName, array $options = []): int { - if (!$moduleName) { + if ($moduleName === null || $moduleName === '') { if ($options[static::OPTION_INITIALIZE] && !$options[static::OPTION_DRY_RUN]) { $this->runCodeceptionBuild($options); } @@ -107,6 +116,12 @@ public function runTest(?string $moduleName, array $options = []): int $moduleFilterTransfer = $this->buildModuleFilterTransfer($moduleName); $modules = $this->developmentToModuleFinderFacade->getModules($moduleFilterTransfer); if (!$modules) { + if ($this->config->isStandaloneMode()) { + $path = $this->getCommonModulePath($moduleName); + + return $this->runTestCommand($path, $options) ? static::CODE_SUCCESS : static::CODE_ERROR; + } + throw new RuntimeException('No matching core modules found.'); } @@ -135,7 +150,7 @@ public function runTest(?string $moduleName, array $options = []): int */ public function runFixtures(?string $moduleName, array $options = []): int { - if (!$moduleName) { + if ($moduleName === null || $moduleName === '') { if ($options[static::OPTION_INITIALIZE] && !$options[static::OPTION_DRY_RUN]) { $this->runCodeceptionBuild($options); } @@ -146,6 +161,12 @@ public function runFixtures(?string $moduleName, array $options = []): int $moduleFilterTransfer = $this->buildModuleFilterTransfer($moduleName); $modules = $this->developmentToModuleFinderFacade->getModules($moduleFilterTransfer); if (!$modules) { + if ($this->config->isStandaloneMode()) { + $path = $this->getCommonModulePath($moduleName); + + return $this->runFixturesCommand($path, $options) ? static::CODE_SUCCESS : static::CODE_ERROR; + } + throw new RuntimeException('No matching core modules found.'); } @@ -258,7 +279,7 @@ protected function runTestCommand(?string $path, array $options): int protected function runFixturesCommand(?string $path, array $options): int { if ($options[static::OPTION_INITIALIZE] && !$options[static::OPTION_DRY_RUN]) { - $this->runCodeceptionBuild($options); + $this->runCodeceptionBuild($options, $path); } $commandLine = []; @@ -283,14 +304,16 @@ protected function runFixturesCommand(?string $path, array $options): int /** * @param array $options + * @param string|null $path * * @return void */ - protected function runCodeceptionBuild(array $options): void + protected function runCodeceptionBuild(array $options, ?string $path = null): void { $commandLine = []; - $commandLine[] = 'vendor/bin/codecept'; + $commandPath = $path ?? ''; + $commandLine[] = $commandPath . 'vendor/bin/codecept'; $commandLine[] = 'build'; $process = new Process($commandLine, $this->config->getPathToRoot(), null, null, $this->config->getProcessTimeout()); @@ -319,4 +342,24 @@ protected function dryRun(array $command): int return static::CODE_SUCCESS; } + + /** + * @param string $module + * + * @return string + */ + protected function getCommonModulePath(string $module): string + { + [$namespace, $module] = explode('.', $module); + + $moduleVendor = $this->nameNormalizer->dasherize($namespace); + $module = $this->nameNormalizer->dasherize($module); + + return sprintf( + '%s/vendor/%s/%s/', + $this->config->getPathToRoot(), + $moduleVendor, + $module, + ); + } } diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index c73512e0..bfeec366 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -182,6 +182,8 @@ use Spryker\Zed\Development\Business\Module\PathBuilder\SprykerStandaloneModulePathBuilder; use Spryker\Zed\Development\Business\Module\ProjectModuleFinder\ProjectModuleFinder; use Spryker\Zed\Development\Business\Module\ProjectModuleFinder\ProjectModuleFinderInterface; +use Spryker\Zed\Development\Business\Normalizer\NameNormalizer; +use Spryker\Zed\Development\Business\Normalizer\NameNormalizerInterface; use Spryker\Zed\Development\Business\Package\PackageFinder\PackageFinder; use Spryker\Zed\Development\Business\Package\PackageFinder\PackageFinderInterface; use Spryker\Zed\Development\Business\PhpMd\PhpMdRunner; @@ -194,6 +196,8 @@ use Spryker\Zed\Development\Business\Phpstan\PhpstanRunner; use Spryker\Zed\Development\Business\Propel\PropelAbstractClassValidator; use Spryker\Zed\Development\Business\Propel\PropelAbstractClassValidatorInterface; +use Spryker\Zed\Development\Business\Resolver\CodeStylePathResolver; +use Spryker\Zed\Development\Business\Resolver\PathResolverInterface; use Spryker\Zed\Development\Business\SnifferConfiguration\Builder\ArchitectureSnifferConfigurationBuilder; use Spryker\Zed\Development\Business\SnifferConfiguration\Builder\SnifferConfigurationBuilderInterface; use Spryker\Zed\Development\Business\SnifferConfiguration\ConfigurationReader\ConfigurationReader; @@ -219,7 +223,7 @@ public function createCodeStyleSniffer(): CodeStyleSniffer { return new CodeStyleSniffer( $this->getConfig(), - $this->createCodeStyleSnifferConfigurationLoader(), + $this->createCodeStylePathResolver(), ); } @@ -251,6 +255,7 @@ public function createCodeTester() $this->getModuleFinderFacade(), $this->createConfigArgumentCollectionBuilder(), $this->getConfig(), + $this->createNameNormalizer(), ); } @@ -261,6 +266,7 @@ public function createPhpMdRunner() { return new PhpMdRunner( $this->getConfig(), + $this->createNameNormalizer(), ); } @@ -273,6 +279,7 @@ public function createPhpstanRunner() $this->getConfig(), $this->createPhpstanConfigFileFinder(), $this->createPhpstanConfigFileManager(), + $this->createNameNormalizer(), ); } @@ -2201,4 +2208,24 @@ public function getPhpstanFileAdapters(): array { return $this->getProvidedDependency(DevelopmentDependencyProvider::PHPSTAN_ADAPTERS); } + + /** + * @return \Spryker\Zed\Development\Business\Resolver\PathResolverInterface + */ + public function createCodeStylePathResolver(): PathResolverInterface + { + return new CodeStylePathResolver( + $this->getConfig(), + $this->createNameNormalizer(), + $this->createCodeStyleSnifferConfigurationLoader(), + ); + } + + /** + * @return \Spryker\Zed\Development\Business\Normalizer\NameNormalizerInterface + */ + public function createNameNormalizer(): NameNormalizerInterface + { + return new NameNormalizer(); + } } diff --git a/src/Spryker/Zed/Development/Business/Normalizer/NameNormalizer.php b/src/Spryker/Zed/Development/Business/Normalizer/NameNormalizer.php new file mode 100644 index 00000000..4abcd7a4 --- /dev/null +++ b/src/Spryker/Zed/Development/Business/Normalizer/NameNormalizer.php @@ -0,0 +1,48 @@ +attach(new CamelCaseToDash()) + ->attach(new StringToLower()); + + return $filterChain->filter($name); + } + + /** + * @param string $name + * + * @return string + */ + public function camelize(string $name): string + { + /** @var string $name */ + $name = str_replace('-', '_', $name); + $filter = new UnderscoreToCamelCase(); + + /** @var string $camelCasedValue */ + $camelCasedValue = $filter->filter($name); + + return ucfirst($camelCasedValue); + } +} diff --git a/src/Spryker/Zed/Development/Business/Normalizer/NameNormalizerInterface.php b/src/Spryker/Zed/Development/Business/Normalizer/NameNormalizerInterface.php new file mode 100644 index 00000000..095df959 --- /dev/null +++ b/src/Spryker/Zed/Development/Business/Normalizer/NameNormalizerInterface.php @@ -0,0 +1,25 @@ +config = $config; + $this->nameNormalizer = $nameNormalizer; } /** @@ -68,26 +92,23 @@ public function run($bundle, array $options = []) throw new ErrorException($message); } - $defaults = [ - 'ignore' => $bundle ? '' : 'vendor/', - ]; - $options += $defaults; + $options += $this->getDefaultIgnoredPath($bundle); return $this->runPhpMdCommand($path, $options); } /** - * @param string $value + * @param string|null $bundle * - * @return string + * @return array */ - protected function convertToCamelCase(string $value): string + protected function getDefaultIgnoredPath(?string $bundle = null): array { - $filter = new UnderscoreToCamelCase(); - /** @var string $camelCasedValue */ - $camelCasedValue = $filter->filter($value); + $dontIgnoreVendor = $bundle !== null || $this->config->isStandaloneMode(); - return ucfirst($camelCasedValue); + return [ + static::OPTION_IGNORE => $dontIgnoreVendor ? null : 'vendor/', + ]; } /** @@ -102,7 +123,7 @@ protected function resolvePath($bundle) return $this->config->getPathToCore(); } - $bundle = $this->convertToCamelCase($bundle); + $bundle = $this->nameNormalizer->camelize($bundle); return $this->getPathToBundle($bundle); } @@ -134,15 +155,48 @@ protected function resolveCorePaths(string $module): string [$namespace, $module] = explode('.', $module, 2); $pathToInternalNamespace = $this->config->getPathToInternalNamespace($namespace); + if ($namespace !== null && $pathToInternalNamespace === null) { + return $this->resolveCommonModulePath($module, $namespace); + } + if ($pathToInternalNamespace !== null && is_dir($pathToInternalNamespace . $module)) { return $pathToInternalNamespace . $module . DIRECTORY_SEPARATOR; } - $namespace = $this->convertToCamelCase($namespace); - $module = $this->convertToCamelCase($module); - $path = $this->config->getPathToRoot() . 'vendor' . DIRECTORY_SEPARATOR . $namespace . DIRECTORY_SEPARATOR . $module . DIRECTORY_SEPARATOR; + $namespace = $this->nameNormalizer->camelize($namespace); + $module = $this->nameNormalizer->camelize($module); + + return $this->getFullPathFromRoot($namespace, $module); + } + + /** + * @param string $module + * @param string $namespace + * + * @return string + */ + protected function resolveCommonModulePath(string $module, string $namespace): string + { + $moduleVendor = $this->nameNormalizer->dasherize($namespace); + $module = $this->nameNormalizer->dasherize($module); - return $path; + return $this->getFullPathFromRoot($moduleVendor, $module); + } + + /** + * @param string $moduleVendor + * @param string $module + * + * @return string + */ + protected function getFullPathFromRoot(string $moduleVendor, string $module): string + { + return sprintf( + '%s/vendor/%s/%s/', + $this->config->getPathToRoot(), + $moduleVendor, + $module, + ); } /** @@ -163,7 +217,7 @@ protected function runPhpMdCommand($path, array $options) $format = $options[static::OPTION_FORMAT]; } - $config = $this->config->getArchitectureStandard(); + $config = $this->resolveRulesetPath($path); if ($options['ignore']) { $config .= ' --exclude ' . $options['ignore']; @@ -184,4 +238,40 @@ protected function runPhpMdCommand($path, array $options) return $process->getExitCode(); } + + /** + * @param string $directory + * + * @return string + */ + protected function resolveRulesetPath(string $directory): string + { + $rulesetFilepath = $directory . static::CUSTOM_RULESET; + + if (file_exists($rulesetFilepath) === true) { + return $rulesetFilepath; + } + + return $this->getArchitectureStandard($rulesetFilepath); + } + + /** + * @param string $path + * + * @return string + */ + protected function getArchitectureStandard(string $path): string + { + $standardConfig = $this->config->getArchitectureStandard(); + if (!$this->config->isStandaloneMode()) { + return $standardConfig; + } + + $configPath = $path . static::CONFIG_LOCAL; + if (file_exists($configPath)) { + return $configPath; + } + + return $standardConfig; + } } diff --git a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php index 62bd8200..2cc67365 100644 --- a/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php +++ b/src/Spryker/Zed/Development/Business/Phpstan/PhpstanRunner.php @@ -7,15 +7,13 @@ namespace Spryker\Zed\Development\Business\Phpstan; -use Laminas\Filter\FilterChain; -use Laminas\Filter\StringToLower; -use Laminas\Filter\Word\CamelCaseToDash; use RecursiveDirectoryIterator; use RecursiveIteratorIterator; use RecursiveRegexIterator; use RegexIterator; use RuntimeException; use SplFileInfo; +use Spryker\Zed\Development\Business\Normalizer\NameNormalizerInterface; use Spryker\Zed\Development\Business\Phpstan\Config\PhpstanConfigFileFinderInterface; use Spryker\Zed\Development\Business\Phpstan\Config\PhpstanConfigFileManagerInterface; use Spryker\Zed\Development\Business\Traits\PathTrait; @@ -28,11 +26,6 @@ class PhpstanRunner implements PhpstanRunnerInterface { use PathTrait; - /** - * @var string - */ - public const NAMESPACE_SPRYKER_SHOP = 'SprykerShop'; - /** * @var string */ @@ -78,6 +71,11 @@ class PhpstanRunner implements PhpstanRunnerInterface */ public const OPTION_OFFSET = 'offset'; + /** + * @var string + */ + public const OPTION_IS_MERGABLE_CONFIG = 'is-mergable-config'; + /** * @var int */ @@ -108,6 +106,11 @@ class PhpstanRunner implements PhpstanRunnerInterface */ protected $phpstanConfigFileManager; + /** + * @var \Spryker\Zed\Development\Business\Normalizer\NameNormalizerInterface $nameNormalizer + */ + protected NameNormalizerInterface $nameNormalizer; + /** * @var int */ @@ -117,15 +120,18 @@ class PhpstanRunner implements PhpstanRunnerInterface * @param \Spryker\Zed\Development\DevelopmentConfig $config * @param \Spryker\Zed\Development\Business\Phpstan\Config\PhpstanConfigFileFinderInterface $phpstanConfigFileFinder * @param \Spryker\Zed\Development\Business\Phpstan\Config\PhpstanConfigFileManagerInterface $phpstanConfigFileManager + * @param \Spryker\Zed\Development\Business\Normalizer\NameNormalizerInterface $nameNormalizer */ public function __construct( DevelopmentConfig $config, PhpstanConfigFileFinderInterface $phpstanConfigFileFinder, - PhpstanConfigFileManagerInterface $phpstanConfigFileManager + PhpstanConfigFileManagerInterface $phpstanConfigFileManager, + NameNormalizerInterface $nameNormalizer ) { $this->config = $config; $this->phpstanConfigFileFinder = $phpstanConfigFileFinder; $this->phpstanConfigFileManager = $phpstanConfigFileManager; + $this->nameNormalizer = $nameNormalizer; } /** @@ -139,14 +145,10 @@ public function run(InputInterface $input, OutputInterface $output) /** @var string|null $module */ $module = $input->getOption(static::OPTION_MODULE); - $message = 'Run PHPStan in PROJECT level'; - if ($module) { - $message = 'Run PHPStan in module ' . $module; - } - + $message = $this->buildMessage($module); $output->writeln($message); - $paths = $this->getPathsToAnalyze($module); + $paths = $this->getPathsToAnalyze($module, $input); $resultCode = 0; $count = 0; $total = count($paths); @@ -282,9 +284,13 @@ protected function executeCommand( protected function getLevel(InputInterface $input, string $path, string $configFilePath): int { $defaultLevel = $this->getDefaultLevel($path, $configFilePath); - /** @var string $level */ + /** @var string|null $level */ $level = $input->getOption(static::OPTION_LEVEL); + if ($level === null) { + return $defaultLevel; + } + if (preg_match('/^([+])(\d)$/', $level, $matches)) { return $defaultLevel + (int)$matches[2]; } @@ -294,15 +300,16 @@ protected function getLevel(InputInterface $input, string $path, string $configF /** * @param string|bool|null $module + * @param \Symfony\Component\Console\Input\InputInterface $input * * @throws \RuntimeException * * @return array */ - protected function getPathsToAnalyze($module): array + protected function getPathsToAnalyze($module, InputInterface $input): array { if (is_string($module) && $module) { - $paths = $this->getPaths($module); + $paths = $this->getPaths($module, $input); if (!$paths) { throw new RuntimeException('No path found for module ' . $module); @@ -326,13 +333,14 @@ protected function getErrorCount(): int /** * @param string $module + * @param \Symfony\Component\Console\Input\InputInterface $input * * @return array */ - protected function getPaths($module) + protected function getPaths($module, InputInterface $input) { if (strpos($module, '.') !== false) { - $paths = $this->resolveCorePaths($module); + $paths = $this->resolveCorePaths($module, $input); } else { $paths = $this->resolveProjectPaths($module); } @@ -340,6 +348,80 @@ protected function getPaths($module) return $paths; } + /** + * @param string $module + * @param \Symfony\Component\Console\Input\InputInterface $input + * + * @throws \RuntimeException + * + * @return array + */ + protected function resolveCorePaths($module, InputInterface $input) + { + $paths = []; + [$namespace, $module] = explode('.', $module, 2); + + $pathToInternalNamespace = $this->config->getPathToInternalNamespace($namespace); + if ($namespace !== null && $pathToInternalNamespace === null) { + return $this->resolveCommonModulePath([], $module, $namespace, $input); + } + + if ($module === 'all') { + if ($pathToInternalNamespace === null) { + throw new RuntimeException('Namespace invalid: ' . $namespace); + } + + return $this->resolveCoreModules($paths, $pathToInternalNamespace, $namespace, $input); + } + + if ($pathToInternalNamespace && is_dir($pathToInternalNamespace . $module)) { + return $this->addPath($paths, $pathToInternalNamespace . $module . DIRECTORY_SEPARATOR, $namespace, $input); + } + + return $this->resolveCommonModulePath($paths, $module, $namespace, $input); + } + + /** + * @param array $paths + * @param string $pathToInternalNamespace + * @param string $namespace + * @param \Symfony\Component\Console\Input\InputInterface $input + * + * @return array + */ + protected function resolveCoreModules(array $paths, string $pathToInternalNamespace, string $namespace, InputInterface $input): array + { + $modules = $this->getCoreModules($pathToInternalNamespace); + foreach ($modules as $module) { + $path = $pathToInternalNamespace . $module . DIRECTORY_SEPARATOR; + $paths = $this->addPath($paths, $path, $namespace, $input); + } + + return $paths; + } + + /** + * @param array $paths + * @param string|null $module + * @param string|null $namespace + * @param \Symfony\Component\Console\Input\InputInterface $input + * + * @return array + */ + protected function resolveCommonModulePath(array $paths, ?string $module, ?string $namespace, InputInterface $input): array + { + $moduleVendor = $this->nameNormalizer->dasherize($namespace); + $module = $this->nameNormalizer->dasherize($module); + $path = sprintf( + '%s/vendor/%s/%s/', + $this->config->getPathToRoot(), + $moduleVendor, + $module, + ); + + return $this->addPath($paths, $path, $namespace, $input); + } + /** * @param string $module * @param string|null $pathSuffix @@ -349,7 +431,7 @@ protected function getPaths($module) protected function resolveProjectPaths($module, $pathSuffix = null) { $projectNamespaces = $this->config->getProjectNamespaces(); - $namespaces = array_merge(DevelopmentConfig::APPLICATION_NAMESPACES, $projectNamespaces); + $namespaces = array_merge($this->config->getApplicationNamespaces(), $projectNamespaces); $pathToRoot = $this->config->getPathToRoot(); $paths = []; @@ -378,12 +460,13 @@ protected function resolveProjectPaths($module, $pathSuffix = null) * @param array $paths * @param string $moduleDirectoryPath * @param string|null $namespace + * @param \Symfony\Component\Console\Input\InputInterface $input * * @return array */ - protected function addPath(array $paths, string $moduleDirectoryPath, $namespace = null): array + protected function addPath(array $paths, string $moduleDirectoryPath, $namespace, InputInterface $input): array { - $paths[$moduleDirectoryPath] = $this->getConfigFilePathByModuleDirectory($moduleDirectoryPath, $namespace); + $paths[$moduleDirectoryPath] = $this->getConfigFilePathByModuleDirectory($moduleDirectoryPath, $namespace, $input); return $paths; } @@ -391,10 +474,11 @@ protected function addPath(array $paths, string $moduleDirectoryPath, $namespace /** * @param string $moduleDirectoryPath * @param string|null $namespace + * @param \Symfony\Component\Console\Input\InputInterface $input * * @return string */ - protected function getConfigFilePathByModuleDirectory(string $moduleDirectoryPath, $namespace = null): string + protected function getConfigFilePathByModuleDirectory(string $moduleDirectoryPath, $namespace, InputInterface $input): string { $moduleConfigFile = $this->phpstanConfigFileFinder ->searchIn($moduleDirectoryPath); @@ -404,7 +488,9 @@ protected function getConfigFilePathByModuleDirectory(string $moduleDirectoryPat $vendorConfigFile = $this->phpstanConfigFileFinder ->searchIn($vendorDirectoryPath); - if ($moduleConfigFile && $vendorConfigFile) { + $isMergable = $input->getOption(static::OPTION_IS_MERGABLE_CONFIG); + + if ($moduleConfigFile && $vendorConfigFile && $isMergable === true) { return $this->phpstanConfigFileManager->merge( [$moduleConfigFile, $vendorConfigFile], $this->getConfigFilenameForMerge($moduleConfigFile), @@ -459,61 +545,6 @@ protected function getVendorPathByNamespace(string $namespace): ?string return dirname($pathToModules) . DIRECTORY_SEPARATOR; } - /** - * @param string $module - * - * @throws \RuntimeException - * - * @return array - */ - protected function resolveCorePaths($module) - { - $paths = []; - [$namespace, $module] = explode('.', $module, 2); - - if ($module === 'all') { - $pathToInternalNamespace = $this->config->getPathToInternalNamespace($namespace); - if ($pathToInternalNamespace === null) { - throw new RuntimeException('Namespace invalid: ' . $namespace); - } - - $modules = $this->getCoreModules($pathToInternalNamespace); - foreach ($modules as $module) { - $path = $pathToInternalNamespace . $module . DIRECTORY_SEPARATOR; - $paths = $this->addPath($paths, $path, $namespace); - } - - return $paths; - } - - $pathToInternalNamespace = $this->config->getPathToInternalNamespace($namespace); - if ($pathToInternalNamespace && is_dir($pathToInternalNamespace . $module)) { - return $this->addPath($paths, $pathToInternalNamespace . $module . DIRECTORY_SEPARATOR, $namespace); - } - - $vendor = $this->dasherize($namespace); - $module = $this->dasherize($module); - $path = $this->config->getPathToRoot() . 'vendor' . DIRECTORY_SEPARATOR . $vendor . DIRECTORY_SEPARATOR . $module . DIRECTORY_SEPARATOR; - $paths = $this->addPath($paths, $path, $namespace); - - return $paths; - } - - /** - * @param string $name - * - * @return string - */ - protected function dasherize($name) - { - $filterChain = new FilterChain(); - $filterChain - ->attach(new CamelCaseToDash()) - ->attach(new StringToLower()); - - return $filterChain->filter($name); - } - /** * @param string $path * @@ -663,4 +694,23 @@ protected function needsRun(string $path): bool return false; } + + /** + * @param string|null $module + * + * @return string + */ + protected function buildMessage(?string $module = null): string + { + $message = 'Run PHPStan in '; + if ($this->config->isStandaloneMode()) { + return $message . 'Standalone Mode'; + } + + if ($module !== null) { + return $message . 'module ' . $module; + } + + return $message . 'PROJECT level'; + } } diff --git a/src/Spryker/Zed/Development/Business/Resolver/CodeStylePathResolver.php b/src/Spryker/Zed/Development/Business/Resolver/CodeStylePathResolver.php new file mode 100644 index 00000000..5d03e059 --- /dev/null +++ b/src/Spryker/Zed/Development/Business/Resolver/CodeStylePathResolver.php @@ -0,0 +1,309 @@ +config = $config; + $this->nameNormalizer = $nameNormalizer; + $this->codeStyleSnifferConfigurationLoader = $codeStyleSnifferConfigurationLoader; + } + + /** + * @param string|null $module + * @param string|null $namespace + * @param string|null $path + * @param array $options + * + * @return array + */ + public function resolvePaths(?string $module, ?string $namespace, ?string $path, array $options): array + { + $path = $path !== null ? trim($path, DIRECTORY_SEPARATOR) : null; + + if ($namespace !== null && $this->config->getPathToInternalNamespace($namespace) === null) { + return $this->resolveCommonModulePath($module, $namespace, $path, $options); + } + + if ($namespace) { + return $this->resolveCorePath($module, $namespace, $path, $options); + } + + if (!$module) { + return $this->addPath([], $this->config->getPathToRoot() . $path, $options); + } + + return $this->resolveProjectPath($module, $path, $options); + } + + /** + * @param string|null $module + * @param string|null $namespace + * @param string|null $path + * @param array $options + * + * @return array + */ + protected function resolveCommonModulePath(?string $module, ?string $namespace, ?string $path, array $options): array + { + $moduleVendor = $this->nameNormalizer->dasherize($namespace); + $module = $this->nameNormalizer->dasherize($module); + + $path = sprintf( + '%s/%s/%s/', + APPLICATION_VENDOR_DIR, + $moduleVendor, + $module, + ); + + return $this->addPath([], $path, $options); + } + + /** + * @param string $module + * @param string $namespace + * @param string|null $path + * @param array $options + * + * @return array + */ + protected function resolveCorePath(string $module, string $namespace, ?string $path, array $options): array + { + if ($module === 'all') { + return $this->getPathsToAllCoreModules($namespace, $path, $options); + } + + return $this->getPathToCoreModule($module, $namespace, $path, $options); + } + + /** + * @param string $module + * @param string|null $pathSuffix + * @param array $options + * + * @return array + */ + protected function resolveProjectPath(string $module, ?string $pathSuffix, array $options): array + { + $namespaces = array_merge($this->config->getApplicationNamespaces(), $this->config->getProjectNamespaces()); + $pathToRoot = $this->config->getPathToRoot(); + + $paths = []; + foreach ($namespaces as $namespace) { + $path = $pathToRoot . 'src' . DIRECTORY_SEPARATOR . $namespace . DIRECTORY_SEPARATOR; + + foreach ($this->config->getApplicationLayers() as $layer) { + $layerPath = $path . $layer . DIRECTORY_SEPARATOR . $module . DIRECTORY_SEPARATOR; + if ($pathSuffix) { + $layerPath .= $pathSuffix; + } + + if (!is_dir($layerPath)) { + continue; + } + + $paths[] = $layerPath; + } + } + + return $this->addPath([], implode(' ', $paths), $options); + } + + /** + * @param string $namespace + * @param string|null $pathSuffix + * @param array $options + * + * @throws \RuntimeException + * + * @return array + */ + protected function getPathsToAllCoreModules(string $namespace, ?string $pathSuffix, array $options): array + { + if ($pathSuffix) { + throw new RuntimeException(static::ERROR_SUFFIX_ISNT_POSSIBLE); + } + + $pathToInternalNamespace = $this->config->getPathToInternalNamespace($namespace); + + if (!$pathToInternalNamespace) { + throw new RuntimeException(sprintf(static::ERROR_NAMESPACE_INVALID, $namespace)); + } + + $paths = []; + $modules = $this->getCoreModules($pathToInternalNamespace); + foreach ($modules as $module) { + $path = $pathToInternalNamespace . $module . DIRECTORY_SEPARATOR; + $paths = $this->addPath($paths, $path, $options, $namespace); + } + + return $paths; + } + + /** + * @param string $module + * @param string $namespace + * @param string|null $pathSuffix + * @param array $options + * + * @throws \Spryker\Zed\Development\Business\Exception\CodeStyleSniffer\PathDoesNotExistException + * + * @return array + */ + protected function getPathToCoreModule(string $module, string $namespace, ?string $pathSuffix, array $options) + { + $path = $this->getCorePath($module, $namespace, $pathSuffix); + + if ($this->isPathValid($path)) { + return $this->addPath([], $path, $options, $namespace); + } + + $message = sprintf( + static::ERROR_NO_VALID_PATH, + $module, + $path, + ); + + throw new PathDoesNotExistException($message); + } + + /** + * @param string $module + * @param string $namespace + * @param string|null $pathSuffix + * + * @return string + */ + protected function getCorePath($module, $namespace, $pathSuffix = null): string + { + $pathToInternalNamespace = $this->config->getPathToInternalNamespace($namespace); + if ($pathToInternalNamespace && is_dir($pathToInternalNamespace . $module)) { + return $this->buildPath($pathToInternalNamespace . $module . DIRECTORY_SEPARATOR, $pathSuffix); + } + + $moduleVendor = $this->nameNormalizer->dasherize($namespace); + $module = $this->nameNormalizer->dasherize($module); + $path = sprintf( + '%s/vendor/%s/%s/', + $this->config->getPathToRoot(), + $moduleVendor, + $module, + ); + + return $this->buildPath($path, $pathSuffix); + } + + /** + * @param string $path + * @param string|null $suffix + * + * @return string + */ + protected function buildPath(string $path, ?string $suffix = null): string + { + if (!$suffix) { + return $path; + } + + return $path . $suffix; + } + + /** + * @param string $path + * + * @return bool + */ + protected function isPathValid(string $path): bool + { + return (is_file($path) || is_dir($path)); + } + + /** + * @param string $path + * + * @return array + */ + protected function getCoreModules(string $path): array + { + /** @var array<\Symfony\Component\Finder\SplFileInfo> $directories */ + $directories = (new Finder()) + ->directories() + ->in($path) + ->depth('== 0') + ->sortByName(); + + $modules = []; + foreach ($directories as $dir) { + $modules[] = $dir->getFilename(); + } + + return $modules; + } + + /** + * @param array $paths + * @param string $moduleDirectoryPath + * @param array $options + * @param string|null $namespace + * + * @return array + */ + protected function addPath(array $paths, string $moduleDirectoryPath, array $options, ?string $namespace = null): array + { + $paths[$moduleDirectoryPath] = clone $this->codeStyleSnifferConfigurationLoader->load($options, $moduleDirectoryPath, $namespace); + + return $paths; + } +} diff --git a/src/Spryker/Zed/Development/Business/Resolver/PathResolverInterface.php b/src/Spryker/Zed/Development/Business/Resolver/PathResolverInterface.php new file mode 100644 index 00000000..088961c5 --- /dev/null +++ b/src/Spryker/Zed/Development/Business/Resolver/PathResolverInterface.php @@ -0,0 +1,21 @@ +input->getOption(static::OPTION_MODULE); - $isCore = strpos($module, '.') !== false; - $message = sprintf('Run Architecture Sniffer for %s', $isCore ? 'CORE' : 'PROJECT'); - - if ($module) { - $module = $this->normalizeModuleName($module); - $message .= ' in ' . $module . ' module'; - } - /** @var string|null $path */ $path = $this->input->getArgument(static::ARGUMENT_SUB_PATH); + $isCore = strpos((string)$module, '.') !== false; - if ($path) { - $message .= ' (' . $path . ')'; - } - + $message = $this->buildMessage($module, $path, $isCore); $this->info($message); if ($isCore) { @@ -155,6 +137,15 @@ public function execute(InputInterface $input, OutputInterface $output) protected function runForCore(OutputInterface $output, $moduleArgument, $subPath): bool { $moduleTransferCollection = $this->getModulesToExecute($moduleArgument); + + if (!$moduleTransferCollection) { + $customPath = $this->getCommonPath($moduleArgument, $subPath); + + if (file_exists($customPath)) { + return $this->runCustomPath($output, $customPath); + } + } + if (!$moduleTransferCollection) { $output->writeln(sprintf('No module(s) found: `%s`.', $moduleArgument)); @@ -284,7 +275,7 @@ protected function runForProject(OutputInterface $output, $module, $subPath) $paths = []; if ($module) { - foreach (static::APPLICATION_LAYERS as $layer) { + foreach ($this->getFactory()->getConfig()->getApplicationLayers() as $layer) { $paths[] = $path . $layer . DIRECTORY_SEPARATOR . $module . DIRECTORY_SEPARATOR; } } else { @@ -392,36 +383,6 @@ protected function displayViolationsWithBaseline(OutputInterface $output, array return count($violations[ArchitectureSniffer::NAME_VISIBLE_VIOLATIONS]); } - /** - * @param string $module - * - * @return string - */ - protected function normalizeModuleName($module) - { - $filter = new UnderscoreToCamelCase(); - /** @var string $normalized */ - $normalized = $filter->filter(str_replace('-', '_', $module)); - $normalized = ucfirst($normalized); - - return $normalized; - } - - /** - * @param string $name - * - * @return string - */ - protected function dasherize($name) - { - $filterChain = new FilterChain(); - $filterChain - ->attach(new CamelCaseToDash()) - ->attach(new StringToLower()); - - return $filterChain->filter($name); - } - /** * @param \Symfony\Component\Console\Output\OutputInterface $output * @param int $count @@ -463,4 +424,62 @@ protected function getCustomPath(?string $module, ?string $path): string return $this->buildPath($customPath); } + + /** + * @param string|null $module + * @param string|null $path + * + * @return string + */ + protected function getCommonPath(?string $module, ?string $path): string + { + [$namespace, $module] = explode('.', $module); + + if (!$this->nameNormalizer) { + $this->nameNormalizer = $this->getFactory()->createNameNormalizer(); + } + + $moduleVendor = $this->nameNormalizer->dasherize($namespace); + $module = $this->nameNormalizer->dasherize($module); + + return sprintf( + '%s/vendor/%s/%s/%s', + $this->getFactory()->getConfig()->getPathToRoot(), + $moduleVendor, + $module, + $path, + ); + } + + /** + * @param string|null $module + * @param string|null $path + * @param bool $isCore + * + * @return string + */ + protected function buildMessage(?string $module = null, ?string $path = null, bool $isCore = true): string + { + if ($this->getFactory()->getConfig()->isStandaloneMode()) { + return static::RUN_IN_STANDALONE_MODE; + } + + $message = sprintf('Run Architecture Sniffer for %s', $isCore ? 'CORE' : 'PROJECT'); + + if ($module !== null) { + if (!$this->nameNormalizer) { + $this->nameNormalizer = $this->getFactory()->createNameNormalizer(); + } + + $module = $this->nameNormalizer->camelize($module); + + $message = sprintf('%s in %s module', $message, $module); + } + + if ($path) { + $message = sprintf('%s (%s)', $message, $path); + } + + return $message; + } } diff --git a/src/Spryker/Zed/Development/Communication/Console/CodePhpMessDetectorConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodePhpMessDetectorConsole.php index 9ead345f..76a5f4dd 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodePhpMessDetectorConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodePhpMessDetectorConsole.php @@ -71,15 +71,32 @@ public function execute(InputInterface $input, OutputInterface $output) /** @var string|null $module */ $module = $this->input->getOption(static::OPTION_MODULE); - $message = 'Run PHPMD in PROJECT level'; - if ($module) { - $message = 'Run PHPMD in all CORE modules'; - if ($module !== static::OPTION_MODULE_ALL) { - $message = 'Run PHPMD in ' . $module . ' CORE module'; - } - } + $message = $this->buildMessage($module); $this->info($message); return $this->getFacade()->runPhpMd($module, $this->input->getOptions()); } + + /** + * @param string|null $module + * + * @return string + */ + protected function buildMessage(?string $module = null): string + { + $message = 'Run PHPMD in'; + if ($this->getFactory()->getConfig()->isStandaloneMode()) { + return sprintf('%s Standalone Mode', $message); + } + + if ($module === null) { + return sprintf('%s PROJECT level', $message); + } + + if ($module !== static::OPTION_MODULE_ALL) { + return sprintf('%s %s CORE module', $message, $module); + } + + return sprintf('%s all CORE modules', $message); + } } diff --git a/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php index a623c450..6b6afbc5 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodePhpstanConsole.php @@ -24,14 +24,31 @@ class CodePhpstanConsole extends Console */ protected const COMMAND_NAME = 'code:phpstan'; + /** + * @var string + */ protected const OPTION_MODULE = PhpstanRunner::OPTION_MODULE; + /** + * @var string + */ protected const OPTION_DRY_RUN = PhpstanRunner::OPTION_DRY_RUN; + /** + * @var string + */ protected const OPTION_LEVEL = PhpstanRunner::OPTION_LEVEL; + /** + * @var string + */ protected const OPTION_OFFSET = PhpstanRunner::OPTION_OFFSET; + /** + * @var string + */ + protected const OPTION_IS_MERGABLE_CONFIG = PhpstanRunner::OPTION_IS_MERGABLE_CONFIG; + /** * @deprecated Not Used * @@ -55,6 +72,7 @@ protected function configure(): void $this->addOption(static::OPTION_FORMAT, 'f', InputOption::VALUE_OPTIONAL, 'Output format [text, xml, json, md]'); $this->addOption(static::OPTION_DRY_RUN, 'd', InputOption::VALUE_NONE, 'Dry-run the command, display it only'); $this->addOption(static::OPTION_LEVEL, 'l', InputOption::VALUE_OPTIONAL, 'Level of rule options - the higher the stricter'); + $this->addOption(static::OPTION_IS_MERGABLE_CONFIG, 'c', InputOption::VALUE_OPTIONAL, 'Defines whether the module config is mergable with the default one or not. If not set to false, the command will merge the module config with the default one.', true); $description = 'Offset to use for path splitting. Mainly for core, where it is needed for runtime reasons.'; $description .= PHP_EOL . 'Syntax: {offset}[,{limit}]'; diff --git a/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php b/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php index 932a4d75..2ed6be6a 100644 --- a/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php +++ b/src/Spryker/Zed/Development/Communication/Console/CodeStyleSnifferConsole.php @@ -60,6 +60,11 @@ class CodeStyleSnifferConsole extends Console */ protected const OPTION_LEVEL = 'level'; + /** + * @var string + */ + protected const RUN_IN_STANDALONE_MODE = 'Run Code Style Sniffer in Standalone Mode'; + /** * @return void */ @@ -108,16 +113,20 @@ public function execute(InputInterface $input, OutputInterface $output) */ protected function buildMessage($module, $path) { + if ($this->getFactory()->getConfig()->isStandaloneMode()) { + return static::RUN_IN_STANDALONE_MODE; + } + $isCore = strpos($module, '.') !== false; $message = sprintf('Run Code Style Sniffer for %s', $isCore ? 'CORE' : 'PROJECT'); if ($module) { $module = $this->normalizeModuleName($module); - $message .= ' in ' . $module . ' module'; + $message = sprintf('%s in %s module', $message, $module); } if ($path) { - $message .= ' (' . $path . ')'; + $message = sprintf('%s (%s)', $message, $path); } return $message; diff --git a/src/Spryker/Zed/Development/Communication/DevelopmentCommunicationFactory.php b/src/Spryker/Zed/Development/Communication/DevelopmentCommunicationFactory.php index 11e5ec65..f93ea6b4 100644 --- a/src/Spryker/Zed/Development/Communication/DevelopmentCommunicationFactory.php +++ b/src/Spryker/Zed/Development/Communication/DevelopmentCommunicationFactory.php @@ -8,6 +8,8 @@ namespace Spryker\Zed\Development\Communication; use Generated\Shared\Transfer\ModuleTransfer; +use Spryker\Zed\Development\Business\Normalizer\NameNormalizer; +use Spryker\Zed\Development\Business\Normalizer\NameNormalizerInterface; use Spryker\Zed\Development\Communication\Form\BundlesFormType; use Spryker\Zed\Development\Communication\Form\DataProvider\BundleFormDataProvider; use Spryker\Zed\Kernel\Communication\AbstractCommunicationFactory; @@ -45,4 +47,12 @@ public function createBundleFormDataProvider(Request $request, ModuleTransfer $m return $bundleFormDataProvider; } + + /** + * @return \Spryker\Zed\Development\Business\Normalizer\NameNormalizerInterface + */ + public function createNameNormalizer(): NameNormalizerInterface + { + return new NameNormalizer(); + } } diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index dbf5c08a..b5ba8b9a 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -79,6 +79,18 @@ class DevelopmentConfig extends AbstractBundleConfig 'Glue', ]; + /** + * @var array + */ + protected const APPLICATION_LAYERS = [ + 'Zed', + 'Client', + 'Yves', + 'Glue', + 'Service', + 'Shared', + ]; + /** * @var array */ @@ -180,6 +192,19 @@ public function getApplicationNamespaces() return static::APPLICATION_NAMESPACES; } + /** + * Specification: + * - Gets Application layers. + * + * @api + * + * @return array + */ + public function getApplicationLayers(): array + { + return static::APPLICATION_LAYERS; + } + /** * @api * @@ -818,6 +843,32 @@ public function getDefaultInclusiveGroups(): array ]; } + /** + * Specification: + * - Returns Spryker namespace. + * + * @api + * + * @return string + */ + public function getNamespaceSpryker(): string + { + return static::NAMESPACE_SPRYKER; + } + + /** + * Specification: + * - Returns Spryker Shop namespace. + * + * @api + * + * @return string + */ + public function getNamespaceSprykerShop(): string + { + return static::NAMESPACE_SPRYKER_SHOP; + } + /** * @api * @@ -827,4 +878,17 @@ public function getProcessTimeout(): int { return static::TIMEOUT_DEFAULT; } + + /** + * Specification: + * - Is used to determine if the application is in the standalone mode e.g. without the project context. + * + * @api + * + * @return bool + */ + public function isStandaloneMode(): bool + { + return (bool)getenv('DEVELOPMENT_STANDALONE_MODE'); + } } diff --git a/tests/SprykerTest/Zed/Development/Business/ArchitectureSniffer/ArchitectureSnifferTest.php b/tests/SprykerTest/Zed/Development/Business/ArchitectureSniffer/ArchitectureSnifferTest.php new file mode 100644 index 00000000..7d8e8e11 --- /dev/null +++ b/tests/SprykerTest/Zed/Development/Business/ArchitectureSniffer/ArchitectureSnifferTest.php @@ -0,0 +1,156 @@ +createMock(ReaderInterface::class); + $configurationBuilderMock = $this->createMock(SnifferConfigurationBuilderInterface::class); + $configurationBuilderMock->method('getConfiguration')->willReturn([]); + + $architectureSniffer = new ArchitectureSniffer($xmlReaderMock, 'command', $configurationBuilderMock); + + // Act + $result = $architectureSniffer->run('directory', []); + + // Assert + $this->assertEmpty($result); + } + + /** + * @return void + */ + public function shouldThrowExceptionForInvalidDirectory(): void + { + // Assert + $this->expectException(Exception::class); + + // Arrange + $xmlReaderMock = $this->createMock(ReaderInterface::class); + $configurationBuilderMock = $this->createMock(SnifferConfigurationBuilderInterface::class); + $configurationBuilderMock + ->method('getConfiguration') + ->willReturn(['someOption' => 'value']); + + $architectureSniffer = new ArchitectureSniffer($xmlReaderMock, 'command', $configurationBuilderMock); + + // Act + $architectureSniffer->run('invalid/directory', []); + } + + /** + * @return void + */ + public function shouldProcessValidDirectory(): void + { + // Arrange + $xmlReaderMock = $this->createMock(ReaderInterface::class); + $xmlReaderMock->method('fromString')->willReturn([ + 'file' => [ + '@attributes' => ['name' => 'someFile'], + 'violation' => [ + ['@attributes' => ['priority' => 1], '_' => 'Some violation'], + ], + ], + ]); + $configurationBuilderMock = $this->createMock(SnifferConfigurationBuilderInterface::class); + $configurationBuilderMock + ->method('getConfiguration') + ->willReturn(['priority' => 1]); + + $architectureSniffer = new ArchitectureSniffer($xmlReaderMock, 'command', $configurationBuilderMock); + + // Act + $result = $architectureSniffer->run('vendor/spryker/spryker/Bundles/Development', []); + + // Assert + $this->assertNotEmpty($result); + $this->assertArrayHasKey('fileName', $result[0]); + $this->assertArrayHasKey('description', $result[0]); + } + + /** + * @return void + */ + public function shouldHandleDryRunOption(): void + { + // Arrange + $xmlReaderMock = $this->createMock(ReaderInterface::class); + $configurationBuilderMock = $this->createMock(SnifferConfigurationBuilderInterface::class); + $configurationBuilderMock + ->method('getConfiguration') + ->willReturn(['dry-run' => true]); + + $architectureSniffer = new ArchitectureSniffer($xmlReaderMock, 'command', $configurationBuilderMock); + + // Assert + $this->expectOutputRegex('/command/'); + + // Act + $architectureSniffer->run('directory', ['dry-run' => true]); + } + + /** + * @return void + */ + public function shouldIgnoreErrorsBasedOnConfiguration(): void + { + // Arrabge + $xmlReaderMock = $this->createMock(ReaderInterface::class); + $xmlReaderMock->method('fromString')->willReturn([ + 'file' => [ + '@attributes' => ['name' => 'someFile'], + 'violation' => [ + ['@attributes' => ['priority' => 1], '_' => 'Ignored violation'], + ['@attributes' => ['priority' => 2], '_' => 'Processed violation'], + ], + ], + ]); + $configurationBuilderMock = $this->createMock(SnifferConfigurationBuilderInterface::class); + $configurationBuilderMock + ->method('getConfiguration') + ->willReturn(['ignoreErrors' => ['/Ignored violation/']]); + + $architectureSniffer = new ArchitectureSniffer($xmlReaderMock, 'command', $configurationBuilderMock); + + // Act + $result = $architectureSniffer->run('directory', ['ignoreErrors' => ['/Ignored violation/']]); + + // Assert + $this->assertCount(1, $result); + $this->assertEquals('Processed violation', $result[0]['description']); + } +} diff --git a/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php b/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php index 52d56563..870c521d 100644 --- a/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php +++ b/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php @@ -12,6 +12,7 @@ use ReflectionObject; use Spryker\Zed\Development\Business\CodeStyleSniffer\CodeStyleSniffer; use Spryker\Zed\Development\Business\CodeStyleSniffer\Config\CodeStyleSnifferConfigurationInterface; +use Spryker\Zed\Development\Business\Resolver\CodeStylePathResolver; /** * Auto-generated group annotations @@ -148,7 +149,7 @@ protected function getCodeStyleSnifferMock(string $developmentModulePath, int $l ->getMockBuilder(CodeStyleSniffer::class) ->setConstructorArgs([ $developmentConfig, - $this->tester->createCodeStyleSnifferConfigurationLoader(), + $this->tester->createCodeStylePathResolver(), ]) ->setMethods(['runSnifferCommand']) ->getMock(); @@ -177,10 +178,9 @@ protected function getResolvedPathsForAllSprykerModules(): array 'module' => $module, ] + $this->defaultOptions; - $reflectedResolvePathsMethod = new ReflectionMethod(CodeStyleSniffer::class, 'resolvePaths'); - $reflectedResolvePathsMethod->setAccessible(true); + $reflectedResolvePathsMethod = new ReflectionMethod(CodeStylePathResolver::class, 'resolvePaths'); $paths = $reflectedResolvePathsMethod->invokeArgs( - $this->tester->createCodeStyleSniffer(), + $this->tester->createCodeStylePathResolver(), ['all', 'Spryker', null, $options], ); diff --git a/tests/SprykerTest/Zed/Development/Business/Normalizer/NameNormalizerTest.php b/tests/SprykerTest/Zed/Development/Business/Normalizer/NameNormalizerTest.php new file mode 100644 index 00000000..d70b2df7 --- /dev/null +++ b/tests/SprykerTest/Zed/Development/Business/Normalizer/NameNormalizerTest.php @@ -0,0 +1,96 @@ +> + */ + public function dasherizeDataProvider() + { + return [ + ['TestName', 'test-name'], + ['testName', 'test-name'], + ['TestNameWithMultipleCAPS', 'test-name-with-multiple-caps'], + ['', ''], + ]; + } + + /** + * @return array> + */ + public function camelizeDataProvider() + { + return [ + ['test-name', 'TestName'], + ['test_name', 'TestName'], + ['test-name_with_mixed', 'TestNameWithMixed'], + ['', ''], + ]; + } + + /** + * @dataProvider dasherizeDataProvider + * + * @param string $input + * @param string $expected + * + * @return void + */ + public function shouldDasherizeCamelCaseToDash($input, $expected): void + { + // Arrange + $nameNormalizer = new NameNormalizer(); + + // Act + $result = $nameNormalizer->dasherize($input); + + // Assert + $this->assertSame($expected, $result); + } + + /** + * @dataProvider camelizeDataProvider + * + * @param string $input + * @param string $expected + * + * @return void + */ + public function shouldCamelizeUnderscoreToCamelCase($input, $expected): void + { + // Arrange + $nameNormalizer = new NameNormalizer(); + + // Act + $result = $nameNormalizer->camelize($input); + + // Assert + $this->assertSame($expected, $result); + } +} diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/PhpMdRunnerTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/PhpMdRunnerTest.php new file mode 100644 index 00000000..62d320bb --- /dev/null +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/PhpMdRunnerTest.php @@ -0,0 +1,123 @@ +createPhpMdRunner(); + + // Act + $exitCode = $phpMdRunner->run('Development', []); + + // Assert + $this->assertEquals(static::EXIT_CODE_SUCCESS, $exitCode); + } + + /** + * @return void + */ + public function shouldIgnoreVendorDirectoryByDefault(): void + { + // Arrange + $phpMdRunner = $this->createPhpMdRunner(); + + // Act + $exitCode = $phpMdRunner->run(null, []); + + // Assert + $this->assertEquals(static::EXIT_CODE_SUCCESS, $exitCode); + } + + /** + * @return void + */ + public function shouldThrowExceptionForInvalidBundlePath(): void + { + // Assert + $this->expectException(ErrorException::class); + + // Arrange + $phpMdRunner = $this->createPhpMdRunner(); + + // Act + $phpMdRunner->run('InvalidModuleName', []); + } + + /** + * @return void + */ + public function shouldUseCustomConfigForStandaloneMode(): void + { + // Arrange + $standaloneMode = true; + $phpMdRunner = $this->createPhpMdRunner($standaloneMode); + + // Assuming the mock setup and expectations here + $exitCode = $phpMdRunner->run('Development'); + + // Assert + $this->assertEquals(static::EXIT_CODE_SUCCESS, $exitCode); + } + + /** + * @param bool $standaloneMode + * + * @return \Spryker\Zed\Development\Business\PhpMd\PhpMdRunner + */ + protected function createPhpMdRunner(bool $standaloneMode = false): PhpMdRunner + { + $configMock = $this + ->getMockBuilder(DevelopmentConfig::class) + ->getMock(); + + $configMock->method('isStandaloneMode') + ->willReturn($standaloneMode); + + $nameNormalizerMock = $this->createMock(NameNormalizerInterface::class); + + $processMock = $this->getMockBuilder(Process::class) + ->disableOriginalConstructor() + ->getMock(); + + return new PhpMdRunner($configMock, $nameNormalizerMock); + } +} diff --git a/tests/SprykerTest/Zed/Development/Business/Resolver/CodeStylePathResolverTest.php b/tests/SprykerTest/Zed/Development/Business/Resolver/CodeStylePathResolverTest.php new file mode 100644 index 00000000..e1205580 --- /dev/null +++ b/tests/SprykerTest/Zed/Development/Business/Resolver/CodeStylePathResolverTest.php @@ -0,0 +1,106 @@ +createPathResolver(); + + // Act + $resolvedPaths = $pathResolver->resolvePaths('Development', null, null, []); + + // Assert + $this->assertNotEmpty($resolvedPaths); + } + + /** + * @return void + */ + public function shouldThrowExceptionForInvalidNamespace(): void + { + // Assert + $this->expectException(RuntimeException::class); + + // Arrange + $pathResolver = $this->createPathResolver(); + + // Act + $pathResolver->resolvePaths(null, 'InvalidNamespace', null, []); + } + + /** + * @return void + */ + public function shouldHandleAllModulesForCoreNamespace(): void + { + // Arrange + $pathResolver = $this->createPathResolver(); + + // Act + $resolvedPaths = $pathResolver->resolvePaths('all', 'Spryker', null, []); + + // Assert + $this->assertNotEmpty($resolvedPaths); + } + + /** + * @return void + */ + public function shouldThrowExceptionForSuffixWithAllModules() + { + // Assert + $this->expectException(RuntimeException::class); + + // Arrange + $pathResolver = $this->createPathResolver(); + + // Act + $pathResolver->resolvePaths('all', 'Spryker', null, ['pathSuffix' => 'someSuffix']); + } + + /** + * @return \Spryker\Zed\Development\Business\Resolver\CodeStylePathResolver + */ + protected function createPathResolver(): CodeStylePathResolver + { + $configMock = $this->createMock(DevelopmentConfig::class); + $nameNormalizerMock = $this->createMock(NameNormalizerInterface::class); + $codeStyleSnifferConfigurationLoaderMock = $this->createMock(CodeStyleSnifferConfigurationLoaderInterface::class); + + return new CodeStylePathResolver($configMock, $nameNormalizerMock, $codeStyleSnifferConfigurationLoaderMock); + } +} diff --git a/tests/SprykerTest/Zed/Development/Communication/Console/CodePhpstanConsoleTest.php b/tests/SprykerTest/Zed/Development/Communication/Console/CodePhpstanConsoleTest.php new file mode 100644 index 00000000..31f835b5 --- /dev/null +++ b/tests/SprykerTest/Zed/Development/Communication/Console/CodePhpstanConsoleTest.php @@ -0,0 +1,132 @@ +createCommandTester(); + + // Act + $exitCode = $commandTester->execute([]); + + // Assert + $this->assertSame(0, $exitCode); + $this->assertStringContainsString('Run PHPStan static analyzer for project or core', $commandTester->getDisplay()); + } + + /** + * @return void + */ + public function executesSuccessfullyWithModuleOption(): void + { + // Arrange + $commandTester = $this->createCommandTester(); + + // Act + $exitCode = $commandTester->execute([ + '--module' => 'Spryker.Development', + ]); + + // Assert + $this->assertSame(0, $exitCode); + $this->assertStringContainsString('Run PHPStan for Spryker.Development', $commandTester->getDisplay()); + } + + /** + * @return void + */ + public function executesSuccessfullyWithDryRunOption(): void + { + // Arrange + $commandTester = $this->createCommandTester(); + + // Act + $exitCode = $commandTester->execute([ + '--dry-run' => true, + ]); + + // Assert + $this->assertSame(0, $exitCode); + $this->assertStringContainsString('Dry-run the command, display it only', $commandTester->getDisplay()); + } + + /** + * @return void + */ + public function executesSuccessfullyWithLevelOption(): void + { + // Arrange + $commandTester = $this->createCommandTester(); + + // Act + $exitCode = $commandTester->execute([ + '--level' => '7', + ]); + + // Assert + $this->assertSame(0, $exitCode); + $this->assertStringContainsString('Level of rule options - the higher the stricter', $commandTester->getDisplay()); + } + + /** + * @return void + */ + public function failsWithInvalidLevelOption(): void + { + // Arrange + $commandTester = $this->createCommandTester(); + + // Act + $exitCode = $commandTester->execute([ + '--level' => 'invalid', + ]); + + // Assert + $this->assertNotSame(0, $exitCode); + } + + /** + * @return \Symfony\Component\Console\Tester\CommandTester + */ + protected function createCommandTester(): CommandTester + { + $application = new Application(); + $application->add(new CodePhpstanConsole()); + + $command = $application->find('code:phpstan'); + + return new CommandTester($command); + } +} diff --git a/tests/SprykerTest/Zed/Development/Communication/Console/CodeStyleSnifferConsoleTest.php b/tests/SprykerTest/Zed/Development/Communication/Console/CodeStyleSnifferConsoleTest.php new file mode 100644 index 00000000..b04b3e3f --- /dev/null +++ b/tests/SprykerTest/Zed/Development/Communication/Console/CodeStyleSnifferConsoleTest.php @@ -0,0 +1,134 @@ +createCommandTester(); + + // Act + $exitCode = $commandTester->execute([ + '--module' => 'Development', + ]); + + // Assert + $this->assertSame(0, $exitCode); + $this->assertStringContainsString('Run Code Style Sniffer for PROJECT in Development', $commandTester->getDisplay()); + } + + /** + * @return void + */ + public function executesSuccessfullyWithCoreModule(): void + { + // Arrange + $commandTester = $this->createCommandTester(); + + // Act + $exitCode = $commandTester->execute([ + '--module' => 'Spryker.Development', + ]); + + // Assert + $this->assertSame(0, $exitCode); + $this->assertStringContainsString('Run Code Style Sniffer for CORE in Spryker.Development', $commandTester->getDisplay()); + } + + /** + * @return void + */ + public function executesWithDryRunOption(): void + { + // Arrange + $commandTester = $this->createCommandTester(); + + // Act + $exitCode = $commandTester->execute([ + '--dry-run' => true, + ]); + + // Assert + $this->assertSame(0, $exitCode); + $this->assertStringContainsString('Dry-Run the command, display it only', $commandTester->getDisplay()); + } + + /** + * @return void + */ + public function failsWithInvalidModule(): void + { + // Arrange + $commandTester = $this->createCommandTester(); + + // Act + $exitCode = $commandTester->execute([ + '--module' => 'InvalidModule', + ]); + + // Assert + $this->assertNotSame(0, $exitCode); + } + + /** + * @return void + */ + public function executesWithFixOption(): void + { + // Arrange + $commandTester = $this->createCommandTester(); + + // Act + $exitCode = $commandTester->execute([ + '--fix' => true, + ]); + + // Assert + $this->assertSame(0, $exitCode); + $this->assertStringContainsString('Automatically fix errors that can be fixed', $commandTester->getDisplay()); + } + + /** + * @return \Symfony\Component\Console\Tester\CommandTester + */ + protected function createCommandTester(): CommandTester + { + $application = new Application(); + $application->add(new CodeStyleSnifferConsole()); + + $command = $application->find('code:sniff:style'); + + return new CommandTester($command); + } +} diff --git a/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php b/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php index 95e6ea2d..bd8f14ff 100644 --- a/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php +++ b/tests/SprykerTest/Zed/Development/_support/DevelopmentBusinessTester.php @@ -11,6 +11,9 @@ use Spryker\Zed\Development\Business\CodeStyleSniffer\CodeStyleSniffer; use Spryker\Zed\Development\Business\CodeStyleSniffer\Config\CodeStyleSnifferConfiguration; use Spryker\Zed\Development\Business\CodeStyleSniffer\Config\CodeStyleSnifferConfigurationLoader; +use Spryker\Zed\Development\Business\Normalizer\NameNormalizer; +use Spryker\Zed\Development\Business\Resolver\CodeStylePathResolver; +use Spryker\Zed\Development\Business\Resolver\PathResolverInterface; use Spryker\Zed\Development\Business\SnifferConfiguration\Builder\ArchitectureSnifferConfigurationBuilder; use Spryker\Zed\Development\Business\SnifferConfiguration\Builder\SnifferConfigurationBuilderInterface; use Spryker\Zed\Development\Business\SnifferConfiguration\ConfigurationReader\ConfigurationReader; @@ -127,6 +130,18 @@ public function createCodeStyleSniffer(): CodeStyleSniffer { return new CodeStyleSniffer( $this->createDevelopmentConfig(), + $this->createCodeStylePathResolver(), + ); + } + + /** + * @return \Spryker\Zed\Development\Business\Resolver\PathResolverInterface + */ + public function createCodeStylePathResolver(): PathResolverInterface + { + return new CodeStylePathResolver( + $this->createDevelopmentConfig(), + new NameNormalizer(), $this->createCodeStyleSnifferConfigurationLoader(), ); } diff --git a/tests/SprykerTest/Zed/Development/_support/DevelopmentCommunicationTester.php b/tests/SprykerTest/Zed/Development/_support/DevelopmentCommunicationTester.php new file mode 100644 index 00000000..91ec4492 --- /dev/null +++ b/tests/SprykerTest/Zed/Development/_support/DevelopmentCommunicationTester.php @@ -0,0 +1,29 @@ + Date: Fri, 20 Sep 2024 16:38:30 +0200 Subject: [PATCH 321/336] FRW-8801 Switched PHP version from 8.1 to 8.2 by default, enabled support of PHP 8.3. (#11088) FRW-8801 Switched PHP version from 8.1 to 8.2 by default, enabled support of PHP 8.3. --- .github/workflows/ci.yml | 4 ++-- README.md | 2 +- composer.json | 2 +- ruleset.xml | 4 ++-- rulesetStrict.xml | 4 ++-- .../Business/CodeBuilder/Module/Templates/README.md.tpl | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e851193f..5d6b48fd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,7 +18,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '8.2' + php-version: '8.3' extensions: mbstring, intl, bcmath coverage: none @@ -41,7 +41,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '8.1' + php-version: '8.2' extensions: mbstring, intl, bcmath coverage: none diff --git a/README.md b/README.md index db51b8e2..efaa9b77 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Development Module [![Latest Stable Version](https://poser.pugx.org/spryker/development/v/stable.svg)](https://packagist.org/packages/spryker/development) -[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%208.1-8892BF.svg)](https://php.net/) +[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%208.2-8892BF.svg)](https://php.net/) Development is a tooling module for (local) development. diff --git a/composer.json b/composer.json index 42155eb1..9c1314a6 100644 --- a/composer.json +++ b/composer.json @@ -5,7 +5,7 @@ "license": "proprietary", "require": { "nette/di": "^2.4.7 || ^3.2.0", - "php": ">=8.1", + "php": ">=8.2", "phpmd/phpmd": "^2.0.0", "spryker/config": "^3.0.0", "spryker/graph": "^3.0.0", diff --git a/ruleset.xml b/ruleset.xml index c45a4a71..a11d6d0b 100644 --- a/ruleset.xml +++ b/ruleset.xml @@ -20,8 +20,8 @@ - - + + diff --git a/rulesetStrict.xml b/rulesetStrict.xml index 83c5d79d..fc14211c 100644 --- a/rulesetStrict.xml +++ b/rulesetStrict.xml @@ -20,8 +20,8 @@ - - + + diff --git a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl index d4d765a8..63f95cad 100644 --- a/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl +++ b/src/Spryker/Zed/Development/Business/CodeBuilder/Module/Templates/README.md.tpl @@ -1,6 +1,6 @@ # {module} Module [![Latest Stable Version](https://poser.pugx.org/{namespaceDashed}/{moduleDashed}/v/stable.svg)](https://packagist.org/packages/{namespaceDashed}/{moduleDashed}) -[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%208.1-8892BF.svg)](https://php.net/) +[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%208.2-8892BF.svg)](https://php.net/) {{ADD DESCRIPTION HERE}} From 2c6bbc5ea35e7239311079bd3810abc734711cd2 Mon Sep 17 00:00:00 2001 From: Spryker Release Bot Date: Mon, 7 Oct 2024 08:14:02 +0300 Subject: [PATCH 322/336] Update Bundles/Development/.github/PULL_REQUEST_TEMPLATE.md --- .github/PULL_REQUEST_TEMPLATE.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .github/PULL_REQUEST_TEMPLATE.md diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..01031cea --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,13 @@ +## PR Description +Add a meaningful description here that will let us know what you want to fix with this PR or what functionality you want to add. + +## Steps before you submit a PR +- Please add tests for the code you add if it's possible. +- Please check out our contribution guide: https://docs.spryker.com/docs/dg/dev/code-contribution-guide.html +- Add a `contribution-license-agreement.txt` file with the following content: +`I hereby agree to Spryker\'s Contribution License Agreement in https://github.com/spryker/development/blob/HASH_OF_COMMIT_YOU_ARE_BASING_YOUR_BRANCH_FROM_MASTER_BRANCH/CONTRIBUTING.md.` + +This is a mandatory step to make sure you are aware of the license agreement and agree to it. `HASH_OF_COMMIT_YOU_ARE_BASING_YOUR_BRANCH_FROM_MASTER_BRANCH` is a hash of the commit you are basing your branch from the master branch. You can take it from commits list of master branch before you submit a PR. + +## Checklist +- [x] I agree with the Code Contribution License Agreement in CONTRIBUTING.md From a1744ad511190888143e94c4bb0420298aab44c7 Mon Sep 17 00:00:00 2001 From: Karoly Gerner <30629375+gerner-spryker@users.noreply.github.com> Date: Thu, 31 Oct 2024 13:46:14 +0100 Subject: [PATCH 323/336] AE-142 PHPStorm tools (#11147) PHPStorm tools --- bin/phpstorm-command-line-tools.sh | 310 +++++++++++++++++++++++++++++ composer.json | 3 +- 2 files changed, 312 insertions(+), 1 deletion(-) create mode 100755 bin/phpstorm-command-line-tools.sh diff --git a/bin/phpstorm-command-line-tools.sh b/bin/phpstorm-command-line-tools.sh new file mode 100755 index 00000000..a9b712ce --- /dev/null +++ b/bin/phpstorm-command-line-tools.sh @@ -0,0 +1,310 @@ +#!/bin/bash + +# The directory/file selected in PhpStorm ($FileName$) needs to be transformed to the widly used "module" parameter structure (first match applies): +# 1. Items in vendor direcotry are resolved to Core +# a. items ending as "/spryker" OR "/spryker/Bundles": are resolved to "Spryker.all" +# b. items ending as "/spryker-shop" OR "/spryker-shop/Bundles": are resolved to "SprykerShop.all" +# c. items ending as "/spryker-eco" OR "/spryker-eco/Bundles": are resolved to "SprykerEco.all" +# d. items containing "/spryker/spryker/" AND 1 more item: are resolved as "Spryker.{selected camelcased name}" (nonsplit modules) +# d. items containing "/spryker-shop/" AND 1 more item: are resolved as "SprykerShop.{selected camelcased name}" +# d. items containing "/spryker-eco/" AND 1 more item: are resolved as "SprykerEco.{selected camelcased name}" +# d. items containing "/spryker/" AND 1 more item: are resolved as "Spryker.{selected camelcased name}" (standalone modules) +# 2. If item is the root "src" directory OR a 1st level directory in "src" OR a 2nd level directory in "src": are resolved to "all" (project) +# 3. Item: is resolved to "{selected camelcased name}" (project) +TARGET_MODULE_EXPRESSION=$(cat <<'EOF' + TARGET_MODULE=$(if [[ $FileDirRelativeToProjectRoot$ == vendor* ]]; then if [[ $FileDirRelativeToProjectRoot$ == */spryker || $FileDirRelativeToProjectRoot$ == *spryker/Bundles ]]; then echo 'Spryker.all'; elif [[ $FileDirRelativeToProjectRoot$ == */spryker-shop || $FileDirRelativeToProjectRoot$ == *spryker-shop/Bundles ]]; then echo 'SprykerShop.all'; elif [[ $FileDirRelativeToProjectRoot$ == */spryker-eco || $FileDirRelativeToProjectRoot$ == *spryker-eco/Bundles ]]; then echo 'SprykerEco.all'; elif [[ $FileDirRelativeToProjectRoot$ == */spryker/spryker/* ]]; then echo \"Spryker.$TARGET_DIR\"; elif [[ $FileDirRelativeToProjectRoot$ == */spryker-shop/* ]]; then echo \"SprykerShop.$TARGET_DIR\"; elif [[ $FileDirRelativeToProjectRoot$ == */spryker-eco/* ]]; then echo \"SprykerEco.$TARGET_DIR\"; elif [[ "$FileDirRelativeToProjectRoot$" == */spryker/* && ! "$FileDirRelativeToProjectRoot$" == */spryker/*/* ]]; then echo \"Spryker.$TARGET_DIR\"; fi; else if [[ "$FilePath$" == "$ProjectFileDir$/src" ]] || [[ "$FilePath$" == "$ProjectFileDir$/src/*" && ! "$FilePath$" == "$ProjectFileDir$/src/*/*/*" ]]; then echo \"all\"; else echo \"$TARGET_DIR\"; fi; fi); +EOF +) + +# The directory/file selected in PhpStorm ($FileName$) is transformed to camelcase into TARGET_DIR variable (eg: event-behavior => EventBehavior, AclExtension => AclExtension) +TARGET_DIR_EXPRESSION=$(cat <<'EOF' + TARGET_DIR=$(echo '$FileName$' | awk -F- '{ OFS=\"\"; for(i=1; i<=NF; i++) $i = toupper(substr($i,1,1)) substr($i,2); print }'); +EOF +) + +XML_CONTENT_START=$(cat <<'EOF' + +EOF +) + +XML_CONTENT_END=$(cat <<'EOF' + + +EOF +) + +XML_GENERIC_COMMANDS=$(cat <<'EOF' + + + + + + + + + + + + + +EOF +) + +XML_CORE_COMMANDS=$(cat <<'EOF' + + + + + + + + + + + + + + + + + +EOF +) + + + +XML_GENERIC_COMMANDS="${XML_GENERIC_COMMANDS//__TARGETDIR__/$TARGET_DIR_EXPRESSION}" +XML_GENERIC_COMMANDS="${XML_GENERIC_COMMANDS//__TARGETMODULE__/$TARGET_MODULE_EXPRESSION}" +XML_CORE_COMMANDS="${XML_CORE_COMMANDS//__TARGETDIR__/$TARGET_DIR_EXPRESSION}" +XML_CORE_COMMANDS="${XML_CORE_COMMANDS//__TARGETMODULE__/$TARGET_MODULE_EXPRESSION}" + +display_help() { + cat << EOF +Description: + Copy Spryker Tool configuration files to the local machine PhpStorm configuration folder. + +Usage: + vendor/bin/phpstorm-command-line-tools.sh [options] + +Options: + -y Automatically agree to copy/remove the configuration files to the local machine PhpStorm configuration folder. + --platform=PLATFORM Set the platform for the configuration (default: docker). Options: docker, local. + -p PLATFORM Shorthand for --platform, specify either "docker" or "local". + -u, --uninstall Uninstall the Spryker tools configuration from the local PhpStorm configuration folder. + -h Display this help message. + +Help: + This script will copy configuration files to the local PhpStorm configuration folder for the latest version of PhpStorm. + + Example of usage: + + ./phpstorm-command-line-tools.sh -y --platform=local + This will run the script and automatically copy the configuration files for local machine tools without asking for confirmation. + + ./phpstorm-command-line-tools.sh -u + This will uninstall the Spryker tools configuration from the local PhpStorm configuration folder. + + Use -h to display this help message: + + ./phpstorm-command-line-tools.sh -h + +EOF +} + + +AUTO_CONFIRM=false +PLATFORM="docker" # Default value +UNINSTALL=false + +while [[ $# -gt 0 ]]; do + case "$1" in + -y) + AUTO_CONFIRM=true + shift # Remove -y from processing + ;; + -p) + # Ensure the platform argument exists and is valid for -p + if [[ -z "$2" || ( "$2" != "docker" && "$2" != "local" ) ]]; then + echo "Invalid platform option: $2 (allowed: docker, local)" >&2 + exit 1 + fi + PLATFORM="$2" + shift 2 # Remove both -p and its argument + ;; + --platform=*) + PLATFORM="${1#*=}" + if [[ "$PLATFORM" != "docker" && "$PLATFORM" != "local" ]]; then + echo "Invalid platform option: $PLATFORM (allowed: docker, local)" >&2 + exit 1 + fi + shift # Remove this argument + ;; + -u|--uninstall) + UNINSTALL=true + shift # Remove -u or --uninstall from processing + ;; + -h|--help) + display_help + exit 0 + ;; + *) + echo "Invalid option: $1" >&2 + exit 1 + ;; + esac +done + +delete_from_jetbrains() { + # Take the base directory as an argument + local BASE_DIR="$1" + + # Find the latest product version directory + LATEST_DIR=$(find "$BASE_DIR" -maxdepth 1 -type d -name 'PhpStorm*' | sort -V | tail -n 1) + + # Check if the latest PhpStorm configuration directory was found + if [[ -n "$LATEST_DIR" ]]; then + DEST_DIR="$LATEST_DIR/tools" + FILE_PATH="$DEST_DIR/Spryker Tools.xml" + + # Check if the Spryker Tools.xml file exists + if [[ -f "$FILE_PATH" ]]; then + # If AUTO_CONFIRM is not true, ask for confirmation + if ! $AUTO_CONFIRM; then + echo -e "\033[0;33mThis script will delete the Spryker Tools configuration file from your local JetBrains PhpStorm configuration directory:\033[0m" + echo "File to be deleted: $FILE_PATH" + read -p "Do you agree to proceed with the deletion? (y/n): " confirm + + if [[ "$confirm" != "y" ]]; then + echo "Operation canceled." + return 1 + fi + fi + + # Proceed to delete the file + rm -f "$FILE_PATH" + echo "Deleted $FILE_PATH ." + echo -e "\033[0;33mPlease restart PhpStorm for the changes to take effect.\033[0m" + else + echo "No Spryker Tools.xml file found in $DEST_DIR." + fi + else + echo "No JetBrains product directory found in $BASE_DIR." + fi +} + +# Function to handle copying on both macOS and Linux +copy_to_jetbrains() { + # Take the base directory as an argument + local BASE_DIR="$1" + + # Find the latest product version directory + LATEST_DIR=$(find "$BASE_DIR" -maxdepth 1 -type d -name 'PhpStorm*' | sort -V | tail -n 1) + + if [[ -n "$LATEST_DIR" ]]; then + DEST_DIR="$LATEST_DIR/tools" + + # If the -y flag was not provided, ask for confirmation + if ! $AUTO_CONFIRM; then + echo -e "\033[0;33mThis script will create or modify a file in your local machine JetBrains PhpStorm configuration directory:\033[0m" + echo "File: $DEST_DIR/Spryker Tools.xml" + read -p "Do you agree to proceed? (y/n): " confirm + + if [[ "$confirm" != "y" ]]; then + echo "Operation canceled." + exit 1 + fi + fi + + mkdir -p "$DEST_DIR" + + if [[ "$PLATFORM" == "local" ]]; then + XML_GENERIC_COMMANDS="${XML_GENERIC_COMMANDS//__COMMAND__/vendor/bin/console}" + if [[ -f "./vendor/bin/spryker-dev-console" ]]; then + echo "$XML_CONTENT_START$XML_GENERIC_COMMANDS$XML_CORE_COMMANDS$XML_CONTENT_END" > "$DEST_DIR/Spryker Tools.xml" + else + echo "$XML_CONTENT_START$XML_CORE_COMMANDS$XML_CONTENT_END" > "$DEST_DIR/Spryker Tools.xml" + fi + + echo "" + echo "Successfully created Spryker Tools.xml in $DEST_DIR with" + echo "- vendor/bin/console code:sniff:style -f -m [module]" + echo "- vendor/bin/console code:phpstan -m [module] -vvv" + echo "- vendor/bin/console code:sniff:architecture -m [module] -vvv" + if [[ -f "./vendor/bin/spryker-dev-console" ]]; then + echo "- vendor/bin/codecept run -c [relative directory]" + echo "- vendor/bin/spryker-dev-console dev:validate-module-transfers -m [module] -vvv" + echo "- vendor/bin/spryker-dev-console dev:validate-module-schemas -m [module] -vvv" + echo "- vendor/bin/spryker-dev-console dev:validate-module-databuilders -m [module] -vvv" + fi + echo "" + echo -e "\033[1;33mImportant:\033[0m To execute commands from within PhpStorm, verify that all required tools are installed and runnable on your local machine." + echo -e "\033[0;33mPlease restart PhpStorm for the changes to take effect.\033[0m" + + elif [[ "$PLATFORM" == "docker" ]]; then + XML_GENERIC_COMMANDS="${XML_GENERIC_COMMANDS//__COMMAND__/docker/sdk console}" + echo "$XML_CONTENT_START$XML_GENERIC_COMMANDS$XML_CONTENT_END" > "$DEST_DIR/Spryker Tools.xml" + echo "" + echo "Successfully created Spryker Tools.xml in $DEST_DIR with" + echo "- docker/sdk console code:sniff:style -f -m [module]" + echo "- docker/sdk console code:phpstan -m [module] -vvv" + echo "- docker/sdk console code:sniff:architecture -m [module] -vv" + if [[ -f "./vendor/bin/spryker-dev-console" ]]; then + echo "Info: vendor/bin/spryker-dev-console and vendor/bin/codecept commands were not registered as they require local machine to run." + fi + echo "" + echo -e "\033[1;33mImportant:\033[0m To execute commands from within PhpStorm, ensure that Spryker Docker is running." + echo -e "\033[0;33mPlease restart PhpStorm for the changes to take effect.\033[0m" + + else + echo "Error: Unexpected argument combination. Please specify a valid PLATFORM value ('local' or 'docker')." >&2 + exit 1 + fi + else + echo "No JetBrains product directory found in $BASE_DIR." + + exit 0 + fi +} + +if [[ "$UNINSTALL" != true ]]; then + if ! command -v awk &> /dev/null; then + echo "Error: 'awk' is not installed. Please install it before running this script." + exit 1 + fi +fi + +if [[ "$OSTYPE" == "darwin"* ]]; then + BASE_DIR="$HOME/Library/Application Support/JetBrains" +elif [[ "$OSTYPE" == "linux-gnu"* ]]; then + BASE_DIR="$HOME/.config/JetBrains" +else + echo "Unsupported operating system: $OSTYPE" + exit 1 +fi + +if [[ "$UNINSTALL" == true ]]; then + delete_from_jetbrains "$BASE_DIR" +else + copy_to_jetbrains "$BASE_DIR" +fi diff --git a/composer.json b/composer.json index 9c1314a6..f099991a 100644 --- a/composer.json +++ b/composer.json @@ -54,6 +54,7 @@ } }, "bin": [ - "bin/development" + "bin/development", + "bin/phpstorm-command-line-tools.sh" ] } From bb21c69a46527275e8b73f567c38b414b111d8e3 Mon Sep 17 00:00:00 2001 From: Olha Livitchuk <77281282+olhalivitchuk@users.noreply.github.com> Date: Mon, 4 Nov 2024 15:07:47 +0100 Subject: [PATCH 324/336] FRW-8773 Added PHPUnit 11 support. (#11131) FRW-8773 Added PHP Unit 11 support. --- .../Zed/Development/DevelopmentConfig.php | 1 - .../CodeStyleSniffer/CodeStyleSnifferTest.php | 2 +- .../Composer/Updater/AutoloadUpdaterTest.php | 2 +- .../MethodBuilder/ClientMethodBuilderTest.php | 2 +- .../MethodBuilder/FacadeMethodBuilderTest.php | 21 +++++++------------ .../QueryContainerMethodBuilderTest.php | 2 +- .../ServiceMethodBuilderTest.php | 2 +- .../IdeAutoCompletionWriterTest.php | 2 +- .../Design/CouplingBetweenObjectsTest.php | 5 +++-- .../Rules/Design/NumberOfChildrenTest.php | 5 +++-- .../PhpMd/Rules/Design/TooManyMethodsTest.php | 5 +++-- .../Rules/Design/TooManyPublicMethodsTest.php | 5 +++-- 12 files changed, 25 insertions(+), 29 deletions(-) diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index b5ba8b9a..d63f1f39 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -428,7 +428,6 @@ public function getExternalToInternalMap() { return [ 'codeception/codeception' => 'spryker/testify', - 'dms/phpunit-arraysubset-asserts' => 'spryker/testify', 'doctrine/inflector' => 'spryker/doctrine-inflector', 'egulias/email-validator' => 'spryker/egulias', 'fakerphp/faker' => 'spryker/testify', diff --git a/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php b/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php index 870c521d..fc76cc30 100644 --- a/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php +++ b/tests/SprykerTest/Zed/Development/Business/CodeStyleSniffer/CodeStyleSnifferTest.php @@ -151,7 +151,7 @@ protected function getCodeStyleSnifferMock(string $developmentModulePath, int $l $developmentConfig, $this->tester->createCodeStylePathResolver(), ]) - ->setMethods(['runSnifferCommand']) + ->onlyMethods(['runSnifferCommand']) ->getMock(); $codeStyleSnifferMock diff --git a/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php b/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php index 711e61ea..bb9a2017 100644 --- a/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php +++ b/tests/SprykerTest/Zed/Development/Business/Composer/Updater/AutoloadUpdaterTest.php @@ -199,7 +199,7 @@ public function autoloadKeys(): array protected function getAutoloadUpdaterMock(): AutoloadUpdater { $autoloadUpdaterMock = $this->getMockBuilder(AutoloadUpdater::class) - ->setMethods(['pathExists', 'getPath']) + ->onlyMethods(['pathExists', 'getPath']) ->getMock(); return $autoloadUpdaterMock; diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php index 7a9aea6b..ff3be150 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ClientMethodBuilderTest.php @@ -77,7 +77,7 @@ protected function getClientMethodBuilderMock(): ClientMethodBuilder $methodBuilderMock = $this ->getMockBuilder(ClientMethodBuilder::class) ->setConstructorArgs([$this->getNamespaceExtractorMock()]) - ->setMethods(['findFileByName', 'isSearchDirectoryAccessible']) + ->onlyMethods(['findFileByName', 'isSearchDirectoryAccessible']) ->getMock(); $methodBuilderMock diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php index 997c177d..23e81683 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/FacadeMethodBuilderTest.php @@ -79,13 +79,10 @@ public function testFileLookupPrefersInterface(): void $methodBuilderMock ->expects($this->exactly(1)) ->method('findFileByName') - ->withConsecutive( - [$this->equalTo('FooBundleFacadeInterface.php'), $this->anything()], - ) - ->will($this->onConsecutiveCalls( + ->willReturnOnConsecutiveCalls( new SplFileInfo(static::BUNDLE_DIRECTORY . 'FooBundle/Business/FooBundleFacadeInterface.php', 'foo', 'bar'), new SplFileInfo(static::BUNDLE_DIRECTORY . 'FooBundle/Business/FooBundleFacade.php', 'foo', 'bar'), - )); + ); $bundleMethodTransfer = $methodBuilderMock->getMethod($this->getBundleTransfer()); @@ -101,14 +98,10 @@ public function testFileLookupFallsBackToConcreteClassIfInterfaceIsMissing(): vo $methodBuilderMock ->expects($this->exactly(2)) ->method('findFileByName') - ->withConsecutive( - [$this->equalTo('FooBundleFacadeInterface.php'), $this->anything()], - [$this->equalTo('FooBundleFacade.php'), $this->anything()], - ) - ->will($this->onConsecutiveCalls( - null, - new SplFileInfo(static::BUNDLE_DIRECTORY . 'FooBundle/Business/FooBundleFacade.php', 'foo', 'bar'), - )); + ->willReturnOnConsecutiveCalls( + null, // First call returns null (interface missing) + new SplFileInfo(static::BUNDLE_DIRECTORY . 'FooBundle/Business/FooBundleFacade.php', 'foo', 'bar'), // Second call returns concrete class file + ); $bundleMethodTransfer = $methodBuilderMock->getMethod($this->getBundleTransfer()); @@ -123,7 +116,7 @@ protected function getFacadeMethodBuilderMock(): FacadeMethodBuilder $methodBuilderMock = $this ->getMockBuilder(FacadeMethodBuilder::class) ->setConstructorArgs([$this->getNamespaceExtractorMock()]) - ->setMethods(['findFileByName', 'isSearchDirectoryAccessible']) + ->onlyMethods(['findFileByName', 'isSearchDirectoryAccessible']) ->getMock(); $methodBuilderMock diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php index 6f3cd876..7e717622 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/QueryContainerMethodBuilderTest.php @@ -77,7 +77,7 @@ protected function getQueryContainerMethodBuilderMock(): QueryContainerMethodBui $methodBuilderMock = $this ->getMockBuilder(QueryContainerMethodBuilder::class) ->setConstructorArgs([$this->getNamespaceExtractorMock()]) - ->setMethods(['findFileByName', 'isSearchDirectoryAccessible']) + ->onlyMethods(['findFileByName', 'isSearchDirectoryAccessible']) ->getMock(); $methodBuilderMock diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php index 2d862b87..c92fbd6e 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/Bundle/MethodBuilder/ServiceMethodBuilderTest.php @@ -77,7 +77,7 @@ protected function getServiceMethodBuilderMock(): ServiceMethodBuilder $methodBuilderMock = $this ->getMockBuilder(ServiceMethodBuilder::class) ->setConstructorArgs([$this->getNamespaceExtractorMock()]) - ->setMethods(['findFileByName', 'isSearchDirectoryAccessible']) + ->onlyMethods(['findFileByName', 'isSearchDirectoryAccessible']) ->getMock(); $methodBuilderMock diff --git a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriterTest.php b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriterTest.php index 848a944c..08c893da 100644 --- a/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriterTest.php +++ b/tests/SprykerTest/Zed/Development/Business/IdeAutoCompletion/IdeAutoCompletionWriterTest.php @@ -184,7 +184,7 @@ protected function getDevelopmentConfigMock(): DevelopmentConfig { $configMock = $this ->getMockBuilder(DevelopmentConfig::class) - ->setMethods(['getDefaultIdeAutoCompletionOptions']) + ->onlyMethods(['getDefaultIdeAutoCompletionOptions']) ->getMock(); $configMock diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjectsTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjectsTest.php index ef1340de..6f431b29 100644 --- a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjectsTest.php +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/CouplingBetweenObjectsTest.php @@ -86,7 +86,7 @@ public function testApplyAddsViolationWhenClassIsNotIgnorable(): void protected function getCouplingBetweenObjectsMock(): CouplingBetweenObjects { $mockBuilder = $this->getMockBuilder(CouplingBetweenObjects::class); - $mockBuilder->setMethods(['addViolation', 'getIntProperty']); + $mockBuilder->onlyMethods(['addViolation', 'getIntProperty']); $couplingBetweenObjectsMock = $mockBuilder->getMock(); $couplingBetweenObjectsMock->expects($this->once())->method('getIntProperty')->willReturn(static::THRESHOLD); @@ -103,7 +103,8 @@ protected function getCouplingBetweenObjectsMock(): CouplingBetweenObjects protected function getNodeMock(string $fullyQualifiedClassName, string $nodeName): AbstractNode { $mockBuilder = $this->getMockBuilder(AbstractNode::class); - $mockBuilder->setMethods(['getMetric', 'getName', 'getNamespace', 'getNamespaceName', 'hasSuppressWarningsAnnotationFor', 'getFullQualifiedName', 'getParentName']) + $mockBuilder->addMethods(['getNamespace']) + ->onlyMethods(['getMetric', 'getName', 'getNamespaceName', 'hasSuppressWarningsAnnotationFor', 'getFullQualifiedName', 'getParentName']) ->disableOriginalConstructor(); $nodeMock = $mockBuilder->getMock(); diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildrenTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildrenTest.php index 31443127..361fa94f 100644 --- a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildrenTest.php +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/NumberOfChildrenTest.php @@ -81,7 +81,7 @@ public function testApplyAddsViolationWhenClassIsNotIgnorable(): void protected function getNumberOfChildrenMock(): NumberOfChildren { $mockBuilder = $this->getMockBuilder(NumberOfChildren::class); - $mockBuilder->setMethods(['addViolation', 'getIntProperty']); + $mockBuilder->onlyMethods(['addViolation', 'getIntProperty']); $numberOfChildrenMock = $mockBuilder->getMock(); $numberOfChildrenMock->expects($this->once())->method('getIntProperty')->willReturn(static::THRESHOLD); @@ -97,7 +97,8 @@ protected function getNumberOfChildrenMock(): NumberOfChildren protected function getNodeMock(string $fullyQualifiedClassName): AbstractNode { $mockBuilder = $this->getMockBuilder(AbstractNode::class); - $mockBuilder->setMethods(['getMetric', 'getName', 'getNamespace', 'getNamespaceName', 'hasSuppressWarningsAnnotationFor', 'getFullQualifiedName', 'getParentName']) + $mockBuilder->addMethods(['getNamespace']) + ->onlyMethods(['getMetric', 'getName', 'getNamespaceName', 'hasSuppressWarningsAnnotationFor', 'getFullQualifiedName', 'getParentName']) ->disableOriginalConstructor(); $nodeMock = $mockBuilder->getMock(); diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php index cc3032f7..ee41b3b4 100644 --- a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyMethodsTest.php @@ -107,7 +107,7 @@ public function testApplyDoesNotAddViolationIfNumberOfMethodsLowerThenThreshold( protected function getTooManyMethodsMock(): TooManyMethods { $mockBuilder = $this->getMockBuilder(TooManyMethods::class); - $mockBuilder->setMethods(['addViolation', 'getIntProperty', 'getStringProperty']); + $mockBuilder->onlyMethods(['addViolation', 'getIntProperty', 'getStringProperty']); $tooManyMethodsMock = $mockBuilder->getMock(); $tooManyMethodsMock->expects($this->any())->method('getStringProperty')->willReturn('/ignore regex pattern/'); @@ -124,7 +124,8 @@ protected function getTooManyMethodsMock(): TooManyMethods protected function getNodeMock(string $fullyQualifiedClassName, string $nodeName): AbstractNode { $mockBuilder = $this->getMockBuilder(AbstractTypeNode::class); - $mockBuilder->setMethods(['getMetric', 'getName', 'getNamespace', 'getNamespaceName', 'hasSuppressWarningsAnnotationFor', 'getFullQualifiedName', 'getParentName', 'getMethodNames']) + $mockBuilder->addMethods(['getNamespace']) + ->onlyMethods(['getMetric', 'getName', 'getNamespaceName', 'hasSuppressWarningsAnnotationFor', 'getFullQualifiedName', 'getParentName', 'getMethodNames']) ->disableOriginalConstructor(); $nodeMock = $mockBuilder->getMock(); diff --git a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php index 736b0e5a..829b9d71 100644 --- a/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php +++ b/tests/SprykerTest/Zed/Development/Business/PhpMd/Rules/Design/TooManyPublicMethodsTest.php @@ -106,7 +106,7 @@ public function testApplyDoesNotAddViolationIfNumberOfMethodsLowerThenThreshold( protected function getTooManyPublicMethodsMock(): TooManyPublicMethods { $mockBuilder = $this->getMockBuilder(TooManyPublicMethods::class); - $mockBuilder->setMethods(['addViolation', 'getIntProperty', 'getStringProperty']); + $mockBuilder->onlyMethods(['addViolation', 'getIntProperty', 'getStringProperty']); $tooManyMethodsMock = $mockBuilder->getMock(); $tooManyMethodsMock->expects($this->any())->method('getStringProperty')->willReturn('/ignore regex pattern/'); @@ -123,7 +123,8 @@ protected function getTooManyPublicMethodsMock(): TooManyPublicMethods protected function getNodeMock(string $fullyQualifiedClassName, string $nodeName): AbstractNode { $mockBuilder = $this->getMockBuilder(AbstractTypeNode::class); - $mockBuilder->setMethods(['getMetric', 'getName', 'getNamespace', 'getNamespaceName', 'hasSuppressWarningsAnnotationFor', 'getFullQualifiedName', 'getParentName', 'getMethods']) + $mockBuilder->addMethods(['getNamespace']) + ->onlyMethods(['getMetric', 'getName', 'getNamespaceName', 'hasSuppressWarningsAnnotationFor', 'getFullQualifiedName', 'getParentName', 'getMethods']) ->disableOriginalConstructor(); $nodeMock = $mockBuilder->getMock(); From 2123aa9425ac84ac24510603de64fc148a687883 Mon Sep 17 00:00:00 2001 From: Karoly Gerner <30629375+gerner-spryker@users.noreply.github.com> Date: Mon, 11 Nov 2024 16:26:08 +0100 Subject: [PATCH 325/336] AE-142 Fixing to the actually supported versions (#11168) AE-142 Fixed support definition. --- bin/phpstorm-command-line-tools.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/bin/phpstorm-command-line-tools.sh b/bin/phpstorm-command-line-tools.sh index a9b712ce..0c6354e1 100755 --- a/bin/phpstorm-command-line-tools.sh +++ b/bin/phpstorm-command-line-tools.sh @@ -296,8 +296,6 @@ fi if [[ "$OSTYPE" == "darwin"* ]]; then BASE_DIR="$HOME/Library/Application Support/JetBrains" -elif [[ "$OSTYPE" == "linux-gnu"* ]]; then - BASE_DIR="$HOME/.config/JetBrains" else echo "Unsupported operating system: $OSTYPE" exit 1 From 6e85228bc1e95a625c4dc5fe4d71ea0112d52f35 Mon Sep 17 00:00:00 2001 From: Anna Kotiuk <79214317+annakotiuk@users.noreply.github.com> Date: Tue, 7 Jan 2025 17:05:54 +0100 Subject: [PATCH 326/336] FRW-9645 Enable feature development. (#11264) FRW-9645 Enable feature development. --- config/Shared/config_default.php | 1 + .../ArchitectureSniffer/AllModuleFinder.php | 16 ++++++++++++ .../Business/Composer/ComposerJsonUpdater.php | 4 +++ .../Composer/Updater/AutoloadUpdater.php | 6 +++++ .../Business/DevelopmentBusinessFactory.php | 12 +++++++++ .../SprykerFeatureModulePathBuilder.php | 16 ++++++++++++ .../Propel/PropelAbstractClassValidator.php | 20 ++++++++++----- .../Zed/Development/DevelopmentConfig.php | 25 ++++++++++++++++++- 8 files changed, 93 insertions(+), 7 deletions(-) create mode 100644 src/Spryker/Zed/Development/Business/Module/PathBuilder/SprykerFeatureModulePathBuilder.php diff --git a/config/Shared/config_default.php b/config/Shared/config_default.php index 8cbfcf14..c78cb432 100644 --- a/config/Shared/config_default.php +++ b/config/Shared/config_default.php @@ -8,6 +8,7 @@ ]; $config[KernelConstants::CORE_NAMESPACES] = [ 'SprykerShop', + 'SprykerFeature', 'SprykerEco', 'Spryker', 'SprykerSdk', diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php index e44c8c8a..e7178f23 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/AllModuleFinder.php @@ -49,6 +49,7 @@ public function find(): array $modules = []; $modules[] = $this->loadProjectModules(); $modules[] = $this->loadCoreDevelopmentModules(); + $modules[] = $this->loadFeaturesDevelopmentModules(); $modules[] = $this->loadOtherCoreModules(); return $this->addApplication(array_merge(...$modules)); @@ -87,6 +88,21 @@ protected function loadCoreDevelopmentModules(): array return array_merge(...$modules); } + /** + * @return array + */ + protected function loadFeaturesDevelopmentModules(): array + { + $modules = []; + + foreach (range('A', 'Z') as $letter) { + $path = sprintf('%s/spryker/%s/Features/%s*/src/*/*', APPLICATION_VENDOR_DIR, 'spryker', $letter); + $modules[] = $this->findModules($path, $this->developmentConfig->getSprykerFeatureNamespace()); + } + + return array_merge(...$modules); + } + /** * @return array */ diff --git a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php index 09a4bf54..90a4c87c 100644 --- a/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/ComposerJsonUpdater.php @@ -209,6 +209,10 @@ protected function getOrganizationFromComposerJsonFile(SplFileInfo $composerJson return $matches[1]; } + if (preg_match('/vendor\/spryker\/spryker\/Features\/\w+\/composer.json$/', $realPath, $matches)) { + return 'spryker-feature'; + } + if (preg_match('/vendor\/([a-z_-]+)\/[a-z_-]+\/composer.json$/', $realPath, $matches)) { return $matches[1]; } diff --git a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php index 142be492..be95808b 100644 --- a/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php +++ b/src/Spryker/Zed/Development/Business/Composer/Updater/AutoloadUpdater.php @@ -104,6 +104,11 @@ class AutoloadUpdater implements UpdaterInterface */ public const SPRYKER_NAMESPACE = 'Spryker'; + /** + * @var string + */ + public const SPRYKER_FEATURE_NAMESPACE = 'SprykerFeature'; + /** * @var string */ @@ -169,6 +174,7 @@ class AutoloadUpdater implements UpdaterInterface */ protected $autoloadPSR4Whitelist = [ self::SPRYKER_NAMESPACE, + self::SPRYKER_FEATURE_NAMESPACE, self::SPRYKER_SHOP_NAMESPACE, self::SPRYKER_ECO_NAMESPACE, self::BASE_HELPER_DIRECTORY, diff --git a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php index bfeec366..fefc6f1c 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentBusinessFactory.php @@ -175,6 +175,7 @@ use Spryker\Zed\Development\Business\Module\PathBuilder\PathBuilderComposite; use Spryker\Zed\Development\Business\Module\PathBuilder\PathBuilderInterface; use Spryker\Zed\Development\Business\Module\PathBuilder\SprykerEcoModulePathBuilder; +use Spryker\Zed\Development\Business\Module\PathBuilder\SprykerFeatureModulePathBuilder; use Spryker\Zed\Development\Business\Module\PathBuilder\SprykerMerchantPortalModulePathBuilder; use Spryker\Zed\Development\Business\Module\PathBuilder\SprykerModulePathBuilder; use Spryker\Zed\Development\Business\Module\PathBuilder\SprykerSdkModulePathBuilder; @@ -337,6 +338,7 @@ public function createPathBuilder(): PathBuilderInterface return new PathBuilderComposite([ $this->createSprykerStandaloneModuleFilePathBuilder(), $this->createSprykerModuleFilePathBuilder(), + $this->createSprykerFeatureModuleFilePathBuilder(), $this->createSprykerShopModuleFilePathBuilder(), $this->createSprykerEcoModuleFilePathBuilder(), $this->createSprykerSdkModulePathBuilder(), @@ -362,6 +364,16 @@ public function createSprykerModuleFilePathBuilder(): PathBuilderInterface ); } + /** + * @return \Spryker\Zed\Development\Business\Module\PathBuilder\PathBuilderInterface + */ + public function createSprykerFeatureModuleFilePathBuilder(): PathBuilderInterface + { + return new SprykerFeatureModulePathBuilder( + $this->getConfig(), + ); + } + /** * @return \Spryker\Zed\Development\Business\Module\PathBuilder\PathBuilderInterface */ diff --git a/src/Spryker/Zed/Development/Business/Module/PathBuilder/SprykerFeatureModulePathBuilder.php b/src/Spryker/Zed/Development/Business/Module/PathBuilder/SprykerFeatureModulePathBuilder.php new file mode 100644 index 00000000..926d6fc4 --- /dev/null +++ b/src/Spryker/Zed/Development/Business/Module/PathBuilder/SprykerFeatureModulePathBuilder.php @@ -0,0 +1,16 @@ +directories()->in(APPLICATION_VENDOR_DIR . '/spryker/spryker/Bundles/')->depth('< 1'); + $finder->directories()->in([ + APPLICATION_VENDOR_DIR . '/spryker/spryker/Bundles/', + APPLICATION_VENDOR_DIR . '/spryker/spryker/Features/', + ])->depth('< 1'); $modules = []; @@ -127,7 +130,10 @@ protected function getModuleSchemaFileFinder(string $module) */ protected function getPathToModuleSchemas(string $module): string { - return sprintf('%1$s/spryker/spryker/Bundles/%2$s/src/Spryker/Zed/%2$s/Persistence/Propel/Schema/', APPLICATION_VENDOR_DIR, $module); + $bundlePath = sprintf('%1$s/spryker/spryker/Bundles/%2$s/src/Spryker/Zed/%2$s/Persistence/Propel/Schema/', APPLICATION_VENDOR_DIR, $module); + $featurePath = sprintf('%1$s/spryker/spryker/Features/%2$s/src/SprykerFeature/Zed/%2$s/Persistence/Propel/Schema/', APPLICATION_VENDOR_DIR, $module); + + return is_dir($featurePath) ? $featurePath : $bundlePath; } /** @@ -195,16 +201,18 @@ protected function abstractClassesForTableExists(array $simpleXmlTableElements, $tableName = $this->getTableNameFromSimpleXmlTableElement($simpleXmlTableElement); $abstractEntityClass = sprintf('Spryker\\Zed\\%s\\Persistence\\Propel\\Abstract%s', $module, $phpName); - if (!class_exists($abstractEntityClass)) { + $abstractFeatureEntityClass = sprintf('SprykerFeature\\Zed\\%s\\Persistence\\Propel\\Abstract%s', $module, $phpName); + if (!class_exists($abstractEntityClass) && !class_exists($abstractFeatureEntityClass)) { $isValid = false; - $output->writeln(sprintf('%s does not exists, please create one.', $abstractEntityClass)); + $output->writeln(sprintf('Neither %s nor %s does not exists, please create one.', $abstractEntityClass, $abstractFeatureEntityClass)); $output->writeln(sprintf('vendor/bin/console spryk:run AddZedPersistencePropelAbstractEntity --module=\'%1$s\' --targetModule=\'%1$s\' --tableName=\'%2$s\' -n', $module, $tableName)); } $abstractQueryClass = sprintf('Spryker\\Zed\\%s\\Persistence\\Propel\\Abstract%sQuery', $module, $phpName); - if (!class_exists($abstractQueryClass)) { + $abstractFeatureQueryClass = sprintf('SprykerFeature\\Zed\\%s\\Persistence\\Propel\\Abstract%sQuery', $module, $phpName); + if (!class_exists($abstractQueryClass) && !class_exists($abstractFeatureQueryClass)) { $isValid = false; - $output->writeln(sprintf('%s does not exists, please create one.', $abstractQueryClass)); + $output->writeln(sprintf('Neither %s nor %s does not exists, please create one.', $abstractQueryClass, $abstractFeatureQueryClass)); $output->writeln(sprintf('vendor/bin/console spryk:run AddZedPersistencePropelAbstractQuery --module=\'%1$s\' --targetModule=\'%1$s\' --tableName=\'%2$s\' -n', $module, $tableName)); } } diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index d63f1f39..46000374 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -60,6 +60,11 @@ class DevelopmentConfig extends AbstractBundleConfig */ protected const GROUP_SPRYKER_TEST = 'SprykerTest'; + /** + * @var string + */ + protected const NAMESPACE_SPRYKER_FEATURE = 'SprykerFeature'; + /** * @var array */ @@ -96,6 +101,7 @@ class DevelopmentConfig extends AbstractBundleConfig */ protected const INTERNAL_NAMESPACES_LIST = [ self::NAMESPACE_SPRYKER, + self::NAMESPACE_SPRYKER_FEATURE, self::NAMESPACE_SPRYKER_SHOP, self::NAMESPACE_SPRYKER_MERCHANT_PORTAL, ]; @@ -105,6 +111,7 @@ class DevelopmentConfig extends AbstractBundleConfig */ protected const INTERNAL_NAMESPACES_TO_PATH_MAPPING = [ self::NAMESPACE_SPRYKER => APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . 'vendor/spryker/', + self::NAMESPACE_SPRYKER_FEATURE => APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . 'vendor/spryker/', self::NAMESPACE_SPRYKER_SHOP => APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . 'vendor/spryker-shop/', self::NAMESPACE_SPRYKER_ECO => APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . 'vendor/spryker-eco/', self::NAMESPACE_SPRYKER_SDK => APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . 'vendor/spryker-sdk/', @@ -139,7 +146,7 @@ public function getPermissionMode(): int */ public function getInternalNamespaces(): array { - return ['Spryker', 'SprykerEco', 'SprykerSdk', 'SprykerShop', 'Orm']; + return ['Spryker', 'SprykerFeature', 'SprykerEco', 'SprykerSdk', 'SprykerShop', 'Orm']; } /** @@ -153,6 +160,8 @@ public function getTwigPathPatterns(): array $this->getPathToCore() . '%1$s/src/Spryker/Zed/%1$s/Presentation/', $this->getPathToCore() . '%1$s/src/Spryker/Yves/%1$s/Theme/', $this->getPathToShop() . '%1$s/src/SprykerShop/Yves/%1$s/Theme/', + $this->getPathToCore() . '%1$s/src/SprykerFeature/Zed/%1$s/Presentation/', + $this->getPathToCore() . '%1$s/src/SprykerFeature/Yves/%1$s/Theme/', ]; } @@ -276,6 +285,7 @@ public function getOrganizationPathMap(): array { return [ 'Spryker' => $this->getPathToCore(), + 'SprykerFeature' => $this->getPathToCore(), 'SprykerEco' => $this->getPathToEco(), ]; } @@ -890,4 +900,17 @@ public function isStandaloneMode(): bool { return (bool)getenv('DEVELOPMENT_STANDALONE_MODE'); } + + /** + * Specification: + * - Returns Spryker Feature namespace. + * + * @api + * + * @return string + */ + public function getSprykerFeatureNamespace(): string + { + return static::NAMESPACE_SPRYKER_FEATURE; + } } From 98182868d62c2755affaa498e27d4474f913a1fe Mon Sep 17 00:00:00 2001 From: Alexander Velikanov Date: Fri, 28 Feb 2025 17:43:50 -0300 Subject: [PATCH 327/336] FRW-8835 Update license text --- LICENSE | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/LICENSE b/LICENSE index fc1838ec..38123b96 100644 --- a/LICENSE +++ b/LICENSE @@ -1,27 +1,27 @@ SPRYKER - LICENSE AGREEMENT FOR EVALUATION OF AND EARLY ACCESS TO SOFTWARE -SPRYKER SYSTEMS GMBH, REGISTERED WITH THE COMMERCIAL REGISTER OF THE LOWER COURT OF HAMBURG UNDER HRB 134310 ("WE" OR "SPRYKER") GRANTS YOU ("LICENSEE") THE RIGHT TO USE THE SOFTWARE (AS DEFINED BELOW) UNDER THE PROVISIONS OF THIS LICENSE AGREEMENT FOR EVALUATION AND EARLY ACCESS (THE "AGREEMENT"). +SPRYKER SYSTEMS GMBH, HEIDESTRASSE 9-10, 10557 BERLIN, GERMANY (“WE” OR ”SPRYKER”) GRANTS YOU (“LICENSEE”) THE RIGHT TO USE THE SOFTWARE (AS DEFINED BELOW) UNDER THE PROVISIONS OF THIS LICENSE AGREEMENT FOR EVALUATION AND EARLY ACCESS (THE “AGREEMENT”). -For the purposes of this Agreement, the "Software" includes any software, which is owned and made available (i) by Spryker for evaluation purposes or (ii) as part of Spryker`s early access program under this Agreement. +For the purposes of this Agreement, the “Software” includes any software, which is owned and made available by Spryker (i) for evaluation purposes or (ii) as part of Spryker’s early access program under this Agreement. In case Licensee has a dedicated paid license agreement with Spryker on a part of the Software only, this Agreement still applies to all other parts of the Software not paid for and/or covered by such license agreement. -Spryker grants to Licensee, (i) during the 45-calendar-day period (the "Evaluation Period") following the first download of the Software or (ii) during the period it makes available a feature, module or functionality as part of its early access program (the "Early Access Period"), the non-transferable, non-exclusive limited, free of charge license (for (i) the "Evaluation License" or for (ii) the "Early Access License", as applicable, both a "License") to permit Licensee and/or Licensee`s employees to internally use the Software to test and evaluate the Software. In case of the Evaluation License, Licensee will not be granted the license under this Agreement for one particular piece of the Software more than once. +Spryker grants to Licensee, (i) during the 45-calendar-day period (the “Evaluation Period”) following the first download of the Software or (ii) during the period it makes available a feature, module or functionality as part of its early access program (the “Early Access Period”), the non-transferable, non-exclusive limited, free of charge license (for (i) the “Evaluation License” or for (ii) the “Early Access License”, as applicable, both a “License”) to permit Licensee and/or Licensee’s employees to internally use the Software to test and evaluate the Software. In case of the Evaluation License, Licensee will not be granted the license under this Agreement for one particular piece of the Software more than once. -Under the License granted in this Agreement, Licensee shall not (i) use the Software to set up a production live system, for development purposes or any other purposes apart from evaluating and testing the Software; (ii) copy any part of the Software except to make one copy for back-up purposes; (iii) distribute, disclose, market, rent, lease, or transfer the Software or act as a service bureau with respect to the Software; (iv) export the Software or install it in multiple locations; (v) disclose any confidential information provided by Spryker; (vi) modify or make derivative works of the Software; or (vii) allow others to make or obtain copies of the Software. +Under the License granted in this Agreement, Licensee shall not (i) use the Software to set up a production live system, for development purposes or any other purposes apart from evaluataing and testing the Software; (ii) copy any part of the Software except to make one copy for back-up purposes; (iii) distribute, disclose, market, rent, lease, or transfer the Software or act as a service bureau with respect to the Software; (iv) export the Software or install it in multiple locations; (v) disclose any confidential information provided by Spryker; (vi) modify or make derivative works of the Software; or (vii) allow others to make or obtain copies of the Software. -The use of the Software in a production environment, to the extent permitted at all, requires prior conclusion of a separate agreement between Spryker and Licensee. Spryker will not support any versions of the Software being provided for evaluation purposes or as part of Spryker`s early access program. The provision of the Software as part of Spryker`s early access program does not necessarily mean it will be released as part of Spryker`s products in the future. +The use of the Software in a production environment, to the extent permitted at all, requires prior conclusion of a separate agreement between Spryker and Licensee. Spryker will not support any versions of the Software being provided for evaluation purposes or as part of Spryker’s early access program. The provision of the Software as part of Spryker’s early access program does not necessarily mean it will be released as part of Spryker’s products in the future. The Software may contain elements of open source components, to which different license terms apply respectively. Licensee may need to install these open source components separately. -THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND. SPRYKER DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, TITLE, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE. SPRYKER WILL NOT BE LIABLE FOR ANY DAMAGES ASSOCIATED WITH THE SOFTWARE, INCLUDING WITHOUT LIMITATION ORDINARY, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES OF ANY KIND, INCLUDING BUT NOT LIMITED TO DAMAGES RELATING TO LOST DATA OR LOST PROFITS, EVEN IF SPRYKER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +THE SOFTWARE IS PROVIDED “AS-IS” AND WITHOUT WARRANTY OF ANY KIND. SPRYKER DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, TITLE, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE. SPRYKER WILL NOT BE LIABLE FOR ANY DAMAGES ASSOCIATED WITH THE SOFTWARE, INCLUDING WITHOUT LIMITATION ORDINARY, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES OF ANY KIND, INCLUDING BUT NOT LIMITED TO DAMAGES RELATING TO LOST DATA OR LOST PROFITS, EVEN IF SPRYKER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. -Licensee can provide input, suggestions, suggest or recommend changes or enhancements of the Software ("Feedback"). Any Feedback provided by Licensee is not considered confidential information and is received and treated by Spryker on a non-confidential and unrestricted basis. Licensee grants Spryker a sub-licenseable right to use, distribute, disclose and/or incorporate it into the Software or other products of Spryker, free of charge and without restriction as to time and place. +Licensee can provide input, suggestions, suggest or recommend changes or enhancements of the Software (“Feedback”). Any Feedback provided by Licensee is not considered confidential information and is received and treated by Spryker on a non-confidential and unrestricted basis. Licensee grants Spryker a sub-licenseable right to use, distribute, disclose and/or incorporate it into the Software or other products of Spryker, free of charge and without restriction as to time and place. -Licensee`s License to use the Software under this Agreement shall terminate on the earlier of (i) the expiration of the Evaluation Period or the Early Access Period (as applicable), or (ii) the date both parties enter into a definitive agreement for the provision by Spryker to Licensee of a full non-evaluation license to Spryker`s software. +Licensee's License to use the Software under this Agreement shall terminate on the earlier of (i) the expiration of the Evaluation Period or the Early Access Period (as applicable), or (ii) the date both parties enter into a definitive agreement for the provision by Spryker to Licensee of a full non-evaluation license to Spryker’s software. -Upon termination of the License as provided under this Agreement, Licensee shall promptly destroy the Software and any back-up copy of the Software made during the Evaluation Period or Early Access Period if Spryker and Licensee have not agreed a non-evaluation license to Spryker`s software. +Upon termination of the License as provided under this Agreement, Licensee shall promptly destroy the Software and any back-up copy of the Software made during the Evaluation Period or Early Access Period if Spryker and Licensee have not agreed a non-evaluation license to Spryker’s software. This Agreement shall be governed by the laws of Germany to the exclusion of IPR (International Law) and the United Nations Convention on Contracts for the International Sale of Goods (CISG). The parties consent to the jurisdiction of the courts in Berlin (Germany). This Agreement and/or the License is not assignable or transferable by Licensee and any attempt to do so is null and void. -This Agreement constitutes the entire agreement between the parties concerning Licensee`s use of the Software. This Agreement supersedes any prior verbal understanding between the parties. This Agreement may be amended only in a writing signed by an authorized officer of Spryker. +This Agreement constitutes the entire agreement between the parties concerning Licensee’s use of the Software. This Agreement supersedes any prior verbal understanding between the parties. This Agreement may be amended only in a writing signed by an authorized officer of Spryker. From 70f39f1de8d7f4f6341e914d8317f3da8bf59f7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Klatt?= Date: Tue, 11 Mar 2025 16:22:51 +0100 Subject: [PATCH 328/336] ACP-4802 Over-underpaid (#11345) ACP-4802 Over/Underpaid --- .../Business/Propel/PropelAbstractClassValidator.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php b/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php index 95037cdd..d1325b58 100644 --- a/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php +++ b/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php @@ -205,7 +205,7 @@ protected function abstractClassesForTableExists(array $simpleXmlTableElements, if (!class_exists($abstractEntityClass) && !class_exists($abstractFeatureEntityClass)) { $isValid = false; $output->writeln(sprintf('Neither %s nor %s does not exists, please create one.', $abstractEntityClass, $abstractFeatureEntityClass)); - $output->writeln(sprintf('vendor/bin/console spryk:run AddZedPersistencePropelAbstractEntity --module=\'%1$s\' --targetModule=\'%1$s\' --tableName=\'%2$s\' -n', $module, $tableName)); + $output->writeln(sprintf('vendor/bin/spryk-run AddZedPersistencePropelAbstractEntity --module=\'%1$s\' --targetModule=\'%1$s\' --tableName=\'%2$s\' -n', $module, $tableName)); } $abstractQueryClass = sprintf('Spryker\\Zed\\%s\\Persistence\\Propel\\Abstract%sQuery', $module, $phpName); @@ -213,7 +213,7 @@ protected function abstractClassesForTableExists(array $simpleXmlTableElements, if (!class_exists($abstractQueryClass) && !class_exists($abstractFeatureQueryClass)) { $isValid = false; $output->writeln(sprintf('Neither %s nor %s does not exists, please create one.', $abstractQueryClass, $abstractFeatureQueryClass)); - $output->writeln(sprintf('vendor/bin/console spryk:run AddZedPersistencePropelAbstractQuery --module=\'%1$s\' --targetModule=\'%1$s\' --tableName=\'%2$s\' -n', $module, $tableName)); + $output->writeln(sprintf('vendor/bin/spryk-run AddZedPersistencePropelAbstractQuery --module=\'%1$s\' --targetModule=\'%1$s\' --tableName=\'%2$s\' -n', $module, $tableName)); } } From d0aabc43d7e0c6ac72b9a55716f9d913952eaa88 Mon Sep 17 00:00:00 2001 From: Pyvovarov Stanislav <58219818+pyvovarov-s@users.noreply.github.com> Date: Wed, 12 Mar 2025 20:13:36 +0300 Subject: [PATCH 329/336] SSP-648: Fix feature resolution path (#11403) bugfix/ssp-648-fix-feature-path --- .../Zed/Development/DevelopmentConfig.php | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 46000374..a8cfe34b 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -111,7 +111,7 @@ class DevelopmentConfig extends AbstractBundleConfig */ protected const INTERNAL_NAMESPACES_TO_PATH_MAPPING = [ self::NAMESPACE_SPRYKER => APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . 'vendor/spryker/', - self::NAMESPACE_SPRYKER_FEATURE => APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . 'vendor/spryker/', + self::NAMESPACE_SPRYKER_FEATURE => APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . 'vendor/spryker-feature/', self::NAMESPACE_SPRYKER_SHOP => APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . 'vendor/spryker-shop/', self::NAMESPACE_SPRYKER_ECO => APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . 'vendor/spryker-eco/', self::NAMESPACE_SPRYKER_SDK => APPLICATION_ROOT_DIR . DIRECTORY_SEPARATOR . 'vendor/spryker-sdk/', @@ -262,6 +262,20 @@ public function getPathToShop() return $this->getPathToRoot() . 'vendor/spryker-shop/'; } + /** + * @api + * + * @deprecated Use {@link \Spryker\Zed\Development\Business\Module\PathBuilder\SprykerShopModulePathBuilder::buildPaths()} instead. + * + * Gets path to SprykerFeature core modules. + * + * @return string + */ + public function getPathToFeature() + { + return $this->getPathToRoot() . 'vendor/spryker-feature/'; + } + /** * @api * From d051bf22b05b1f62103f25427db1345477c3a222 Mon Sep 17 00:00:00 2001 From: vol4onok Date: Thu, 29 May 2025 15:00:47 +0300 Subject: [PATCH 330/336] FRW-9592: Fixed module codecept configuration --- codeception.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/codeception.yml b/codeception.yml index efed1cb5..5521e740 100644 --- a/codeception.yml +++ b/codeception.yml @@ -12,11 +12,3 @@ settings: colors: true memory_limit: 1024M log: true - -extensions: - enabled: - - SprykerTest\Shared\Testify\Helper\WebDriverHelper - config: - SprykerTest\Shared\Testify\Helper\WebDriverHelper: - suites: - - Presentation From 37bd93430950771e7943a6515927e0ac4b7f70b9 Mon Sep 17 00:00:00 2001 From: Denys Date: Tue, 5 Aug 2025 14:46:04 +0200 Subject: [PATCH 331/336] SSP-32 Enabled the code style sniffer for the features. (#11704) SSP-32 Enabled the code style sniffer for the features. --- .../ArchitectureSniffer.php | 31 ++++++++--- .../Config/CodeStyleSnifferConfiguration.php | 4 ++ .../Business/DevelopmentFacadeInterface.php | 1 + .../Resolver/CodeStylePathResolver.php | 4 ++ .../Zed/Development/DevelopmentConfig.php | 12 +++++ .../ArchitectureSnifferTest.php | 53 +++++++++++++++++++ 6 files changed, 98 insertions(+), 7 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php index c413aa27..f1227301 100644 --- a/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php +++ b/src/Spryker/Zed/Development/Business/ArchitectureSniffer/ArchitectureSniffer.php @@ -349,17 +349,34 @@ protected function runCommand($directory, array $options = []) protected function resolveRulesetPath(string $directory): string { $architecturalRulesetFilepath = dirname($directory) . DIRECTORY_SEPARATOR . static::CUSTOM_RULESET; - $command = $this->command; if (file_exists($architecturalRulesetFilepath) === true) { - $command = preg_replace( - static::DEFAULT_RULESET_PATTERN, - sprintf(static::REPLACEMENT_PLACEHOLDER, $architecturalRulesetFilepath), - $command, - ); + return $this->createCommand($architecturalRulesetFilepath); + } + $parentDirectory = dirname(dirname($directory)); + $parentArchitecturalRulesetFilepath = $parentDirectory . DIRECTORY_SEPARATOR . static::CUSTOM_RULESET; + + if (file_exists($parentArchitecturalRulesetFilepath) === true) { + return $this->createCommand($parentArchitecturalRulesetFilepath); } - return $command; + return $this->command; + } + + /** + * @param string $architecturalRulesetFilepath + * + * @return string + */ + protected function createCommand(string $architecturalRulesetFilepath): string + { + $command = $this->command; + + return preg_replace( + static::DEFAULT_RULESET_PATTERN, + sprintf(static::REPLACEMENT_PLACEHOLDER, $architecturalRulesetFilepath), + $command, + ); } /** diff --git a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php index 7a736308..349d9ea4 100644 --- a/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php +++ b/src/Spryker/Zed/Development/Business/CodeStyleSniffer/Config/CodeStyleSnifferConfiguration.php @@ -188,6 +188,10 @@ public function getCodingStandard(string $path): string $localConfigPath = $this->developmentConfig->getCodeSnifferStrictRuleset(); } + if ($this->getLevel() === static::LEVEL_SPRYKER_STRICT && $this->getNamespace() === $this->developmentConfig->getSprykerFeatureNamespace()) { + $localConfigPath = $this->developmentConfig->getCodeSnifferFeatureRuleset(); + } + if (file_exists($localConfigPath)) { return $localConfigPath; } diff --git a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php index 6d9f1597..7f683484 100644 --- a/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php +++ b/src/Spryker/Zed/Development/Business/DevelopmentFacadeInterface.php @@ -405,6 +405,7 @@ public function removeGlueIdeAutoCompletion(): void; /** * Specification: * - Run the architecture sniffer against the given module and returns the violations + * - In case the module contains a custom ruleset, it will be used instead of the default one. * * @api * diff --git a/src/Spryker/Zed/Development/Business/Resolver/CodeStylePathResolver.php b/src/Spryker/Zed/Development/Business/Resolver/CodeStylePathResolver.php index 5d03e059..da2f4a8a 100644 --- a/src/Spryker/Zed/Development/Business/Resolver/CodeStylePathResolver.php +++ b/src/Spryker/Zed/Development/Business/Resolver/CodeStylePathResolver.php @@ -233,6 +233,10 @@ protected function getCorePath($module, $namespace, $pathSuffix = null): string return $this->buildPath($pathToInternalNamespace . $module . DIRECTORY_SEPARATOR, $pathSuffix); } + if ($namespace === $this->config->getSprykerFeatureNamespace() && $pathToInternalNamespace && is_dir($pathToInternalNamespace)) { + return $this->buildPath($pathToInternalNamespace . DIRECTORY_SEPARATOR, $pathSuffix); + } + $moduleVendor = $this->nameNormalizer->dasherize($namespace); $module = $this->nameNormalizer->dasherize($module); $path = sprintf( diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index a8cfe34b..976ce159 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -708,6 +708,18 @@ public function getCodeSnifferStrictRuleset(): string return dirname(__DIR__, 4) . DIRECTORY_SEPARATOR . 'rulesetStrict.xml'; } + /** + * Returns the path to the CodeSniffer feature ruleset. + * + * @api + * + * @return string + */ + public function getCodeSnifferFeatureRuleset(): string + { + return $this->getPathToFeature() . 'phpcs.xml'; + } + /** * @api * diff --git a/tests/SprykerTest/Zed/Development/Business/ArchitectureSniffer/ArchitectureSnifferTest.php b/tests/SprykerTest/Zed/Development/Business/ArchitectureSniffer/ArchitectureSnifferTest.php index 7d8e8e11..585aaa70 100644 --- a/tests/SprykerTest/Zed/Development/Business/ArchitectureSniffer/ArchitectureSnifferTest.php +++ b/tests/SprykerTest/Zed/Development/Business/ArchitectureSniffer/ArchitectureSnifferTest.php @@ -10,6 +10,7 @@ use Codeception\Test\Unit; use Exception; use Laminas\Config\Reader\ReaderInterface; +use ReflectionMethod; use Spryker\Zed\Development\Business\ArchitectureSniffer\ArchitectureSniffer; use Spryker\Zed\Development\Business\SnifferConfiguration\Builder\SnifferConfigurationBuilderInterface; @@ -153,4 +154,56 @@ public function shouldIgnoreErrorsBasedOnConfiguration(): void $this->assertCount(1, $result); $this->assertEquals('Processed violation', $result[0]['description']); } + + /** + * @return void + */ + public function testResolveRulesetPathWithCustomRuleset(): void + { + // Arrange + $tempDir = sys_get_temp_dir() . DIRECTORY_SEPARATOR . 'testDir' . uniqid(); + mkdir($tempDir, 0777, true); + + $rulesetFile = $tempDir . DIRECTORY_SEPARATOR . 'architectural-ruleset.xml'; + touch($rulesetFile); + + $xmlReaderMock = $this->createMock(ReaderInterface::class); + $configurationBuilderMock = $this->createMock(SnifferConfigurationBuilderInterface::class); + $defaultCommand = 'phpmd /path/to/src text /path/to/ruleset.xml'; + $architectureSniffer = new ArchitectureSniffer($xmlReaderMock, $defaultCommand, $configurationBuilderMock); + + $reflectionMethod = new ReflectionMethod(ArchitectureSniffer::class, 'resolveRulesetPath'); + $reflectionMethod->setAccessible(true); + + // Act + $result = $reflectionMethod->invoke($architectureSniffer, $tempDir . DIRECTORY_SEPARATOR . 'module'); + + // Assert + $this->assertStringContainsString($rulesetFile, $result); + $this->assertNotEquals($defaultCommand, $result); + } + + /** + * @return void + */ + public function testResolveRulesetPathWithoutCustomRuleset(): void + { + // Arrange + $tempDir = sys_get_temp_dir() . DIRECTORY_SEPARATOR . 'testDir' . uniqid(); + mkdir($tempDir, 0777, true); + + $xmlReaderMock = $this->createMock(ReaderInterface::class); + $configurationBuilderMock = $this->createMock(SnifferConfigurationBuilderInterface::class); + $defaultCommand = 'phpmd /path/to/src text /path/to/ruleset.xml'; + $architectureSniffer = new ArchitectureSniffer($xmlReaderMock, $defaultCommand, $configurationBuilderMock); + + $reflectionMethod = new ReflectionMethod(ArchitectureSniffer::class, 'resolveRulesetPath'); + $reflectionMethod->setAccessible(true); + + // Act + $result = $reflectionMethod->invoke($architectureSniffer, $tempDir . DIRECTORY_SEPARATOR . 'module'); + + // Assert + $this->assertEquals($defaultCommand, $result); + } } From e92c320307a06e74fe2f53cd77dcd897c5c5d28c Mon Sep 17 00:00:00 2001 From: Denis Gnusov <53435720+denis-gnusov@users.noreply.github.com> Date: Fri, 15 Aug 2025 13:41:38 +0300 Subject: [PATCH 332/336] CC-33994: Text Alternatives (all Demo Shops) (#11421) CC-33994 Text Alternatives for Product Images --- .../Propel/PropelAbstractClassValidator.php | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php b/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php index d1325b58..64ad890c 100644 --- a/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php +++ b/src/Spryker/Zed/Development/Business/Propel/PropelAbstractClassValidator.php @@ -86,16 +86,26 @@ protected function validateModule(OutputInterface $output, string $module): bool } $moduleSchemaFileFinder = $this->getModuleSchemaFileFinder($module); - $isModuleValid = true; - foreach ($moduleSchemaFileFinder as $schemaFile) { - $isValid = $this->abstractClassesForTablesExist($output, $module, $schemaFile); - if (!$isValid) { - $isModuleValid = false; + if (is_dir($schemaFile->getPathname())) { + $moduleNestedSchemaFileFinder = new Finder(); + $moduleNestedSchemaFileFinder->in($schemaFile->getPathname()); + + foreach ($moduleNestedSchemaFileFinder as $nestedSchemaFile) { + if (!$this->abstractClassesForTablesExist($output, $module, $nestedSchemaFile)) { + return false; + } + } + + continue; + } + + if (!$this->abstractClassesForTablesExist($output, $module, $schemaFile)) { + return false; } } - return $isModuleValid; + return true; } /** From 494ff9ecefe71a4bb2db38d8167692ded4c436d3 Mon Sep 17 00:00:00 2001 From: Serhii Chepela Date: Mon, 8 Sep 2025 13:10:33 +0300 Subject: [PATCH 333/336] =?UTF-8?q?FRW-9573=20Added=20a=20generic=20Lock?= =?UTF-8?q?=20module=20that=20stores=20all=20locks=20in=20the=20Key?= =?UTF-8?q?=E2=80=A6=20(#11630)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit FRW-9573 OMS lock problem when running in transaction --- src/Spryker/Zed/Development/DevelopmentConfig.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Spryker/Zed/Development/DevelopmentConfig.php b/src/Spryker/Zed/Development/DevelopmentConfig.php index 976ce159..ce93b02d 100644 --- a/src/Spryker/Zed/Development/DevelopmentConfig.php +++ b/src/Spryker/Zed/Development/DevelopmentConfig.php @@ -492,6 +492,7 @@ public function getExternalToInternalMap() 'symfony/intl' => 'spryker/symfony', 'symfony/mime' => 'spryker/symfony', 'symfony/messenger' => 'spryker/symfony', + 'symfony/lock' => 'spryker/symfony', 'symfony/options-resolver' => 'spryker/symfony', 'symfony/process' => 'spryker/symfony', 'symfony/property-access' => 'spryker/symfony', From bf0b249bb7c9262882d4d8098f08cacf71f370de Mon Sep 17 00:00:00 2001 From: Dmytro Tsybenko Date: Wed, 10 Sep 2025 19:38:33 +0300 Subject: [PATCH 334/336] Add JSON schema for Spryker dependency.json files --- data/schema/dependency.schema.json | 37 ++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 data/schema/dependency.schema.json diff --git a/data/schema/dependency.schema.json b/data/schema/dependency.schema.json new file mode 100644 index 00000000..c97e6b6b --- /dev/null +++ b/data/schema/dependency.schema.json @@ -0,0 +1,37 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "title": "Spryker Module Dependency", + "description": "This schema defines the structure of dependency.json files in Spryker module.", + "properties": { + "include": { + "type": "object", + "description": "Composer packages to include in the module", + "additionalProperties": { + "type": "string" + } + }, + "include-dev": { + "type": "object", + "description": "Composer dev packages to include in the module", + "additionalProperties": { + "type": "string" + } + }, + "exclude": { + "type": "object", + "description": "Composer packages to exclude from the module", + "additionalProperties": { + "type": "string" + } + }, + "exclude-dev": { + "type": "object", + "description": "Composer dev packages to exclude from the module", + "additionalProperties": { + "type": "string" + } + } + }, + "additionalProperties": false +} \ No newline at end of file From fa80394badbb44d2b71ffeea572021f4a85566ed Mon Sep 17 00:00:00 2001 From: Dmytro Tsybenko Date: Wed, 10 Sep 2025 19:40:49 +0300 Subject: [PATCH 335/336] Move dependency.schema.json to module root directory --- data/schema/dependency.schema.json => dependency.schema.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename data/schema/dependency.schema.json => dependency.schema.json (99%) diff --git a/data/schema/dependency.schema.json b/dependency.schema.json similarity index 99% rename from data/schema/dependency.schema.json rename to dependency.schema.json index c97e6b6b..97f7d19e 100644 --- a/data/schema/dependency.schema.json +++ b/dependency.schema.json @@ -34,4 +34,4 @@ } }, "additionalProperties": false -} \ No newline at end of file +} From 355e99e11366892fef9de526dd44b60c026d59df Mon Sep 17 00:00:00 2001 From: Dmytro Tsybenko Date: Wed, 10 Sep 2025 19:43:05 +0300 Subject: [PATCH 336/336] Fix typo --- dependency.schema.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependency.schema.json b/dependency.schema.json index 97f7d19e..eeb66837 100644 --- a/dependency.schema.json +++ b/dependency.schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "title": "Spryker Module Dependency", - "description": "This schema defines the structure of dependency.json files in Spryker module.", + "description": "This schema defines the structure of the dependency.json files in Spryker modules.", "properties": { "include": { "type": "object",