Skip to content

Commit 0ed588a

Browse files
Merge pull request #245 from magento/1.1-fwd
Forward-port 1.1
2 parents 3989aab + 297f199 commit 0ed588a

File tree

1 file changed

+35
-11
lines changed

1 file changed

+35
-11
lines changed

src/Config/Source/CliSource.php

Lines changed: 35 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -70,17 +70,29 @@ class CliSource implements SourceInterface
7070
* @var array
7171
*/
7272
private static $enableOptionsMap = [
73-
self::OPTION_PHP => [self::PHP],
73+
self::OPTION_PHP => [
74+
self::PHP => true
75+
],
7476
self::OPTION_DB => [
75-
self::SERVICES_DB,
76-
self::SERVICES_DB_QUOTE,
77-
self::SERVICES_DB_SALES
77+
self::SERVICES_DB => true,
78+
self::SERVICES_DB_QUOTE => false,
79+
self::SERVICES_DB_SALES => false
80+
],
81+
self::OPTION_NGINX => [
82+
self::SERVICES_NGINX => true
83+
],
84+
self::OPTION_REDIS => [
85+
self::SERVICES_REDIS => true
86+
],
87+
self::OPTION_ES => [
88+
self::SERVICES_ES => true
89+
],
90+
self::OPTION_NODE => [
91+
self::SERVICES_NODE => true
92+
],
93+
self::OPTION_RABBIT_MQ => [
94+
self::SERVICES_RMQ => true
7895
],
79-
self::OPTION_NGINX => [self::SERVICES_NGINX],
80-
self::OPTION_REDIS => [self::SERVICES_REDIS],
81-
self::OPTION_ES => [self::SERVICES_ES],
82-
self::OPTION_NODE => [self::SERVICES_NODE],
83-
self::OPTION_RABBIT_MQ => [self::SERVICES_RMQ],
8496
];
8597

8698
/**
@@ -128,13 +140,25 @@ public function read(): Repository
128140
]);
129141
}
130142

143+
/**
144+
* Loop through options to enable services.
145+
* Each option may have one or more dependencies.
146+
*
147+
* The dependencies must be in sync.
148+
* The dependencies which does not change status, must keep their default status.
149+
*/
131150
foreach (self::$enableOptionsMap as $option => $services) {
132151
if ($value = $this->input->getOption($option)) {
133-
foreach ($services as $service) {
152+
foreach ($services as $service => $status) {
134153
$repository->set([
135-
$service . '.enabled' => true,
136154
$service . '.version' => $value
137155
]);
156+
157+
if ($status === true) {
158+
$repository->set([
159+
$service . '.enabled' => true
160+
]);
161+
}
138162
}
139163
}
140164
}

0 commit comments

Comments
 (0)