From 5dc1a9bb587bea497ad07d76bd697b14a400525d Mon Sep 17 00:00:00 2001 From: Kris Wallsmith Date: Tue, 26 Apr 2011 07:45:16 -0700 Subject: [PATCH] [Process] added optional argument for default executable --- .../AsseticBundle/DependencyInjection/Configuration.php | 6 +++--- src/Symfony/Component/Process/ExecutableFinder.php | 9 +++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/Symfony/Bundle/AsseticBundle/DependencyInjection/Configuration.php b/src/Symfony/Bundle/AsseticBundle/DependencyInjection/Configuration.php index f221a68f8c..07dcedaf86 100644 --- a/src/Symfony/Bundle/AsseticBundle/DependencyInjection/Configuration.php +++ b/src/Symfony/Bundle/AsseticBundle/DependencyInjection/Configuration.php @@ -57,9 +57,9 @@ class Configuration implements ConfigurationInterface ->booleanNode('use_controller')->defaultValue($this->debug)->end() ->scalarNode('read_from')->defaultValue('%kernel.root_dir%/../web')->end() ->scalarNode('write_to')->defaultValue('%assetic.read_from%')->end() - ->scalarNode('java')->defaultValue(function() use ($finder) { $java = $finder->find('java'); return $java ? $java : '/usr/bin/java'; })->end() - ->scalarNode('node')->defaultValue(function() use ($finder) { $node = $finder->find('node'); return $node ? $node : '/usr/bin/node'; })->end() - ->scalarNode('sass')->defaultValue(function() use ($finder) { $saas = $finder->find('saas'); return $saas ? $saas : '/usr/bin/saas'; })->end() + ->scalarNode('java')->defaultValue($finder->find('java', '/usr/bin/java'))->end() + ->scalarNode('node')->defaultValue($finder->find('node', '/usr/bin/node'))->end() + ->scalarNode('sass')->defaultValue($finder->find('sass', '/usr/bin/sass'))->end() ->end() // bundles diff --git a/src/Symfony/Component/Process/ExecutableFinder.php b/src/Symfony/Component/Process/ExecutableFinder.php index 630e10b8ee..39cfc35655 100644 --- a/src/Symfony/Component/Process/ExecutableFinder.php +++ b/src/Symfony/Component/Process/ExecutableFinder.php @@ -34,11 +34,12 @@ class ExecutableFinder /** * Finds an executable by name. * - * @param string $name The executable name (without the extension) + * @param string $name The executable name (without the extension) + * @param string $default The default to return if no executable is found * - * @return string|false The executable path or false if it cannot be found + * @return string The executable path or default value */ - public function find($name) + public function find($name, $default = null) { $dirs = explode(PATH_SEPARATOR, getenv('PATH') ? getenv('PATH') : getenv('Path')); $suffixes = DIRECTORY_SEPARATOR == '\\' ? (getenv('PATHEXT') ? explode(PATH_SEPARATOR, getenv('PATHEXT')) : $this->suffixes) : array(''); @@ -50,6 +51,6 @@ class ExecutableFinder } } - return false; + return $default; } }