From 27db54c41e8e2364f37058ff80c3c40be3cc708d Mon Sep 17 00:00:00 2001 From: Ondrej Mirtes Date: Sun, 7 Jun 2020 17:54:36 +0200 Subject: [PATCH] Introduce scanDirectories --- conf/config.neon | 3 +++ .../BetterReflectionSourceLocatorFactory.php | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/conf/config.neon b/conf/config.neon index 6de56fe917..937b9633cb 100644 --- a/conf/config.neon +++ b/conf/config.neon @@ -41,6 +41,7 @@ parameters: reportStaticMethodSignatures: false mixinExcludeClasses: [] scanFiles: [] + scanDirectories: [] parallel: jobSize: 20 processTimeout: 60.0 @@ -228,6 +229,7 @@ parametersSchema: cliArgumentsVariablesRegistered: bool() mixinExcludeClasses: listOf(string()) scanFiles: listOf(string()) + scanDirectories: listOf(string()) # irrelevant Nette parameters debugMode: bool() @@ -1148,6 +1150,7 @@ services: autoloadDirectories: %autoload_directories% autoloadFiles: %autoload_files% scanFiles: %scanFiles% + scanDirectories: %scanDirectories% analysedPaths: %analysedPaths% composerAutoloaderProjectPaths: %composerAutoloaderProjectPaths% analysedPathsFromConfig: %analysedPathsFromConfig% diff --git a/src/Reflection/BetterReflection/BetterReflectionSourceLocatorFactory.php b/src/Reflection/BetterReflection/BetterReflectionSourceLocatorFactory.php index 044d6cbc2d..e192922550 100644 --- a/src/Reflection/BetterReflection/BetterReflectionSourceLocatorFactory.php +++ b/src/Reflection/BetterReflection/BetterReflectionSourceLocatorFactory.php @@ -55,6 +55,9 @@ class BetterReflectionSourceLocatorFactory /** @var string[] */ private $scanFiles; + /** @var string[] */ + private $scanDirectories; + /** @var string[] */ private $analysedPaths; @@ -68,6 +71,7 @@ class BetterReflectionSourceLocatorFactory * @param string[] $autoloadDirectories * @param string[] $autoloadFiles * @param string[] $scanFiles + * @param string[] $scanDirectories * @param string[] $analysedPaths * @param string[] $composerAutoloaderProjectPaths * @param string[] $analysedPathsFromConfig @@ -84,6 +88,7 @@ public function __construct( array $autoloadDirectories, array $autoloadFiles, array $scanFiles, + array $scanDirectories, array $analysedPaths, array $composerAutoloaderProjectPaths, array $analysedPathsFromConfig @@ -100,6 +105,7 @@ public function __construct( $this->autoloadDirectories = $autoloadDirectories; $this->autoloadFiles = $autoloadFiles; $this->scanFiles = $scanFiles; + $this->scanDirectories = $scanDirectories; $this->analysedPaths = $analysedPaths; $this->composerAutoloaderProjectPaths = $composerAutoloaderProjectPaths; $this->analysedPathsFromConfig = $analysedPathsFromConfig; @@ -138,7 +144,7 @@ public function create(): SourceLocator $locators[] = $this->optimizedSingleFileSourceLocatorRepository->getOrCreate($analysedFile); } - $directories = array_unique(array_merge($analysedDirectories, $this->autoloadDirectories)); + $directories = array_unique(array_merge($analysedDirectories, $this->autoloadDirectories, $this->scanDirectories)); foreach ($directories as $directory) { $locators[] = $this->optimizedDirectorySourceLocatorRepository->getOrCreate($directory); }