diff --git a/composer.json b/composer.json index 5d1c5297..46ea2d77 100644 --- a/composer.json +++ b/composer.json @@ -32,9 +32,11 @@ "psr/http-server-handler": "^1.0", "psr/http-server-middleware": "^1.0", "psr/log": "^1.0 || ^2.0 || ^3.0", - "symfony/finder": "^5.4 || ^6.4 || ^7.3 || ^8.0", "symfony/uid": "^5.4 || ^6.4 || ^7.3 || ^8.0" }, + "suggest": { + "symfony/finder": "Required for file-based discovery." + }, "require-dev": { "ext-openssl": "*", "composer/semver": "^3.0", @@ -50,6 +52,7 @@ "psr/simple-cache": "^2.0 || ^3.0", "symfony/cache": "^5.4 || ^6.4 || ^7.3 || ^8.0", "symfony/console": "^5.4 || ^6.4 || ^7.3 || ^8.0", + "symfony/finder": "^5.4 || ^6.4 || ^7.3 || ^8.0", "symfony/http-client": "^5.4 || ^6.4 || ^7.3 || ^8.0", "symfony/process": "^5.4 || ^6.4 || ^7.3 || ^8.0" }, diff --git a/src/Capability/Discovery/Discoverer.php b/src/Capability/Discovery/Discoverer.php index 3b9ed3a9..b71d9c7c 100644 --- a/src/Capability/Discovery/Discoverer.php +++ b/src/Capability/Discovery/Discoverer.php @@ -66,6 +66,10 @@ public function __construct( */ public function discover(string $basePath, array $directories, array $excludeDirs = []): DiscoveryState { + if (!class_exists(Finder::class)) { + throw new \RuntimeException('File-based discovery requires symfony/finder. Run: composer require symfony/finder'); + } + $startTime = microtime(true); $discoveredCount = [ 'tools' => 0,