diff --git a/lib/private/App/DependencyAnalyzer.php b/lib/private/App/DependencyAnalyzer.php index 7adb5d1c57..7b48e81f3e 100644 --- a/lib/private/App/DependencyAnalyzer.php +++ b/lib/private/App/DependencyAnalyzer.php @@ -197,6 +197,9 @@ class DependencyAnalyzer { if (!is_array($commands)) { $commands = array($commands); } + if (isset($commands['@value'])) { + $commands = [$commands]; + } $os = $this->platform->getOS(); foreach ($commands as $command) { if (isset($command['@attributes']['os']) && $command['@attributes']['os'] !== $os) { diff --git a/tests/lib/App/DependencyAnalyzerTest.php b/tests/lib/App/DependencyAnalyzerTest.php index 684a1b5225..091479798b 100644 --- a/tests/lib/App/DependencyAnalyzerTest.php +++ b/tests/lib/App/DependencyAnalyzerTest.php @@ -256,17 +256,18 @@ class DependencyAnalyzerTest extends TestCase { * @return array */ function providesCommands() { - return array( - array(array(), null), + return [ + [[], null], // grep is known on linux - array(array(), array(array('@attributes' => array('os' => 'Linux'), '@value' => 'grep'))), + [[], [['@attributes' => ['os' => 'Linux'], '@value' => 'grep']]], // grepp is not known on linux - array(array('The command line tool grepp could not be found'), array(array('@attributes' => array('os' => 'Linux'), '@value' => 'grepp'))), + [['The command line tool grepp could not be found'], [['@attributes' => ['os' => 'Linux'], '@value' => 'grepp']]], // we don't care about tools on Windows - we are on Linux - array(array(), array(array('@attributes' => array('os' => 'Windows'), '@value' => 'grepp'))), + [[], [['@attributes' => ['os' => 'Windows'], '@value' => 'grepp']]], // grep is known on all systems - array(array(), 'grep'), - ); + [[], 'grep'], + [[], ['@attributes' => ['os' => 'Linux'], '@value' => 'grep']], + ]; } /**