Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
die_coolen_jungs
our_own_cloud_project
Commits
b028a6af
Commit
b028a6af
authored
Dec 02, 2014
by
Thomas Müller
Browse files
adjust dependency analyzer to use attributes properly
parent
c80ec91f
Changes
2
Hide whitespace changes
Inline
Side-by-side
lib/private/app/dependencyanalyzer.php
View file @
b028a6af
...
...
@@ -12,13 +12,25 @@ namespace OC\App;
class
DependencyAnalyzer
{
/** @var Platform */
private
$system
;
/** @var \OCP\IL10N */
private
$l
;
/** @var array */
private
$missing
;
/** @var array */
private
$dependencies
;
/**
* @param array $app
* @param Platform $
syste
m
* @param Platform $
platfor
m
* @param \OCP\IL10N $l
*/
function
__construct
(
array
$app
,
$
syste
m
,
$l
)
{
$this
->
system
=
$
syste
m
;
function
__construct
(
array
$app
,
$
platfor
m
,
$l
)
{
$this
->
system
=
$
platfor
m
;
$this
->
l
=
$l
;
$this
->
missing
=
array
();
$this
->
dependencies
=
array
();
...
...
@@ -38,18 +50,14 @@ class DependencyAnalyzer {
}
private
function
analysePhpVersion
()
{
if
(
!
array_key_exists
(
'php'
,
$this
->
dependencies
))
{
return
;
}
if
(
array_key_exists
(
'min-version'
,
$this
->
dependencies
[
'php'
]))
{
$minVersion
=
$this
->
dependencies
[
'php'
][
'min-version'
];
if
(
isset
(
$this
->
dependencies
[
'php'
][
'@attributes'
][
'min-version'
]))
{
$minVersion
=
$this
->
dependencies
[
'php'
][
'@attributes'
][
'min-version'
];
if
(
version_compare
(
$this
->
system
->
getPhpVersion
(),
$minVersion
,
'<'
))
{
$this
->
missing
[]
=
(
string
)
$this
->
l
->
t
(
'PHP %s or higher is required.'
,
$minVersion
);
}
}
if
(
array_key_exists
(
'max-version'
,
$this
->
dependencies
[
'php
'
]))
{
$maxVersion
=
$this
->
dependencies
[
'php'
][
'max-version'
];
if
(
isset
(
$this
->
dependencies
[
'php'
][
'@attributes'
][
'max-version
'
]))
{
$maxVersion
=
$this
->
dependencies
[
'php'
][
'
@attributes'
][
'
max-version'
];
if
(
version_compare
(
$this
->
system
->
getPhpVersion
(),
$maxVersion
,
'>'
))
{
$this
->
missing
[]
=
(
string
)
$this
->
l
->
t
(
'PHP with a version less then %s is required.'
,
$maxVersion
);
}
...
...
@@ -57,18 +65,23 @@ class DependencyAnalyzer {
}
private
function
analyseSupportedDatabases
()
{
if
(
!
array_key_exists
(
'database'
,
$this
->
dependencies
))
{
if
(
!
isset
(
$this
->
dependencies
[
'databases'
]
))
{
return
;
}
$supportedDatabases
=
$this
->
dependencies
[
'database'
];
$supportedDatabases
=
$this
->
dependencies
[
'database
s
'
];
if
(
empty
(
$supportedDatabases
))
{
return
;
}
$supportedDatabases
=
array_map
(
function
(
$db
)
{
if
(
isset
(
$db
[
'@value'
]))
{
return
$db
[
'@value'
];
}
return
$db
;
},
$supportedDatabases
);
$currentDatabase
=
$this
->
system
->
getDatabase
();
if
(
!
in_array
(
$currentDatabase
,
$supportedDatabases
))
{
$this
->
missing
[]
=
(
string
)
$this
->
l
->
t
(
'Following databases are supported: %s'
,
join
(
', '
,
$supportedDatabases
));
}
}
}
tests/lib/app/dependencyanalyzer.php
View file @
b028a6af
...
...
@@ -55,10 +55,10 @@ class DependencyAnalyzer extends \PHPUnit_Framework_TestCase {
)
);
if
(
!
is_null
(
$minVersion
))
{
$app
[
'dependencies'
][
'php'
][
'min-version'
]
=
$minVersion
;
$app
[
'dependencies'
][
'php'
][
'
@attributes'
][
'
min-version'
]
=
$minVersion
;
}
if
(
!
is_null
(
$maxVersion
))
{
$app
[
'dependencies'
][
'php'
][
'max-version'
]
=
$maxVersion
;
$app
[
'dependencies'
][
'php'
][
'
@attributes'
][
'
max-version'
]
=
$maxVersion
;
}
$analyser
=
new
\
OC\App\DependencyAnalyzer
(
$app
,
$this
->
platformMock
,
$this
->
l10nMock
);
$missing
=
$analyser
->
analyze
();
...
...
@@ -77,7 +77,7 @@ class DependencyAnalyzer extends \PHPUnit_Framework_TestCase {
)
);
if
(
!
is_null
(
$databases
))
{
$app
[
'dependencies'
][
'database'
]
=
$databases
;
$app
[
'dependencies'
][
'database
s
'
]
=
$databases
;
}
$analyser
=
new
\
OC\App\DependencyAnalyzer
(
$app
,
$this
->
platformMock
,
$this
->
l10nMock
);
$missing
=
$analyser
->
analyze
();
...
...
@@ -92,7 +92,7 @@ class DependencyAnalyzer extends \PHPUnit_Framework_TestCase {
// non BC - in case on databases are defined -> all are supported
array
(
array
(),
null
),
array
(
array
(),
array
()),
array
(
array
(
'Following databases are supported: sqlite, postgres'
),
array
(
'sqlite'
,
'postgres'
)),
array
(
array
(
'Following databases are supported: sqlite, postgres'
),
array
(
'sqlite'
,
array
(
'@value'
=>
'postgres'
))
)
,
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment