@@ -51,7 +51,7 @@ discard block |
||
51 | 51 | foreach ($paths as $path) { |
52 | 52 | if (preg_match('/\.php$/i', $path)) { |
53 | 53 | // Prevent variable leak into deploy.php file |
54 | - call_user_func(function () use ($path) { |
|
54 | + call_user_func(function() use ($path) { |
|
55 | 55 | // Reorder autoload stack |
56 | 56 | $originStack = spl_autoload_functions(); |
57 | 57 | |
@@ -69,7 +69,7 @@ discard block |
||
69 | 69 | self::$recipeFilename = basename($path); |
70 | 70 | self::$recipeSource = file_get_contents($path, true); |
71 | 71 | |
72 | - $root = array_filter(Yaml::parse(self::$recipeSource), static function (string $key) { |
|
72 | + $root = array_filter(Yaml::parse(self::$recipeSource), static function(string $key) { |
|
73 | 73 | return !str_starts_with($key, '.'); |
74 | 74 | }, ARRAY_FILTER_USE_KEY); |
75 | 75 | |
@@ -107,17 +107,17 @@ discard block |
||
107 | 107 | |
108 | 108 | protected static function tasks(array $tasks) |
109 | 109 | { |
110 | - $buildTask = function ($name, $steps) { |
|
111 | - $body = function () {}; |
|
110 | + $buildTask = function($name, $steps) { |
|
111 | + $body = function() {}; |
|
112 | 112 | $task = task($name, $body); |
113 | 113 | |
114 | 114 | foreach ($steps as $step) { |
115 | - $buildStep = function ($step) use (&$body, $task) { |
|
115 | + $buildStep = function($step) use (&$body, $task) { |
|
116 | 116 | extract($step); |
117 | 117 | |
118 | 118 | if (isset($cd)) { |
119 | 119 | $prev = $body; |
120 | - $body = function () use ($cd, $prev) { |
|
120 | + $body = function() use ($cd, $prev) { |
|
121 | 121 | $prev(); |
122 | 122 | cd($cd); |
123 | 123 | }; |
@@ -126,7 +126,7 @@ discard block |
||
126 | 126 | if (isset($run)) { |
127 | 127 | $has = 'run'; |
128 | 128 | $prev = $body; |
129 | - $body = function () use ($run, $prev) { |
|
129 | + $body = function() use ($run, $prev) { |
|
130 | 130 | $prev(); |
131 | 131 | try { |
132 | 132 | run($run); |
@@ -144,7 +144,7 @@ discard block |
||
144 | 144 | } |
145 | 145 | $has = 'run_locally'; |
146 | 146 | $prev = $body; |
147 | - $body = function () use ($run_locally, $prev) { |
|
147 | + $body = function() use ($run_locally, $prev) { |
|
148 | 148 | $prev(); |
149 | 149 | try { |
150 | 150 | runLocally($run_locally); |
@@ -162,7 +162,7 @@ discard block |
||
162 | 162 | } |
163 | 163 | $has = 'upload'; |
164 | 164 | $prev = $body; |
165 | - $body = function () use ($upload, $prev) { |
|
165 | + $body = function() use ($upload, $prev) { |
|
166 | 166 | $prev(); |
167 | 167 | upload($upload['src'], $upload['dest']); |
168 | 168 | }; |
@@ -174,7 +174,7 @@ discard block |
||
174 | 174 | } |
175 | 175 | $has = 'download'; |
176 | 176 | $prev = $body; |
177 | - $body = function () use ($download, $prev) { |
|
177 | + $body = function() use ($download, $prev) { |
|
178 | 178 | $prev(); |
179 | 179 | download($download['src'], $download['dest']); |
180 | 180 | }; |
@@ -39,7 +39,7 @@ discard block |
||
39 | 39 | private InputInterface $input; |
40 | 40 | private OutputInterface $output; |
41 | 41 | private Messenger $messenger; |
42 | - private string|false $phpBin; |
|
42 | + private string | false $phpBin; |
|
43 | 43 | |
44 | 44 | public function __construct( |
45 | 45 | HostCollection $hosts, |
@@ -171,7 +171,7 @@ discard block |
||
171 | 171 | /** @var Process[] $processes */ |
172 | 172 | $processes = []; |
173 | 173 | |
174 | - $server->afterRun(function (int $port) use (&$processes, $hosts, $task) { |
|
174 | + $server->afterRun(function(int $port) use (&$processes, $hosts, $task) { |
|
175 | 175 | foreach ($hosts as $host) { |
176 | 176 | $processes[] = $this->createProcess($host, $task, $port); |
177 | 177 | } |
@@ -181,14 +181,14 @@ discard block |
||
181 | 181 | } |
182 | 182 | }); |
183 | 183 | |
184 | - $echoCallback = function (string $output) { |
|
184 | + $echoCallback = function(string $output) { |
|
185 | 185 | $output = preg_replace('/\n$/', '', $output); |
186 | 186 | if (strlen($output) !== 0) { |
187 | 187 | $this->output->writeln($output); |
188 | 188 | } |
189 | 189 | }; |
190 | 190 | |
191 | - $server->ticker(function () use (&$processes, $server, $echoCallback) { |
|
191 | + $server->ticker(function() use (&$processes, $server, $echoCallback) { |
|
192 | 192 | $this->gatherOutput($processes, $echoCallback); |
193 | 193 | if ($this->output->isDecorated() && !getenv('CI')) { |
194 | 194 | $this->output->write(spinner()); |
@@ -198,7 +198,7 @@ discard block |
||
198 | 198 | } |
199 | 199 | }); |
200 | 200 | |
201 | - $server->router(function (string $path, array $payload) { |
|
201 | + $server->router(function(string $path, array $payload) { |
|
202 | 202 | switch ($path) { |
203 | 203 | case '/load': |
204 | 204 | ['host' => $host] = $payload; |
@@ -28,7 +28,7 @@ discard block |
||
28 | 28 | // Name of current user who is running deploy. |
29 | 29 | // If not set will try automatically get git user name, |
30 | 30 | // otherwise output of `whoami` command. |
31 | -set('user', function () { |
|
31 | +set('user', function() { |
|
32 | 32 | if (getenv('CI') !== false) { |
33 | 33 | $ciUserVars = ['GITLAB_USER_NAME', 'GITHUB_ACTOR', 'CIRCLE_USERNAME', 'DRONE_BUILD_TRIGGER']; |
34 | 34 | foreach ($ciUserVars as $var) { |
@@ -94,7 +94,7 @@ discard block |
||
94 | 94 | * set('deploy_path', '~/{{alias}}'); |
95 | 95 | * ``` |
96 | 96 | */ |
97 | -set('deploy_path', function () { |
|
97 | +set('deploy_path', function() { |
|
98 | 98 | throw new ConfigurationException('Please, specify `deploy_path`.'); |
99 | 99 | }); |
100 | 100 | |
@@ -107,7 +107,7 @@ discard block |
||
107 | 107 | set('current_path', '{{deploy_path}}/current'); |
108 | 108 | |
109 | 109 | // Path to the `php` bin. |
110 | -set('bin/php', function () { |
|
110 | +set('bin/php', function() { |
|
111 | 111 | if (currentHost()->hasOwn('php_version')) { |
112 | 112 | return '/usr/bin/php{{php_version}}'; |
113 | 113 | } |
@@ -115,25 +115,25 @@ discard block |
||
115 | 115 | }); |
116 | 116 | |
117 | 117 | // Path to the `git` bin. |
118 | -set('bin/git', function () { |
|
118 | +set('bin/git', function() { |
|
119 | 119 | return which('git'); |
120 | 120 | }); |
121 | 121 | |
122 | 122 | // Should {{bin/symlink}} use `--relative` option or not. Will detect |
123 | 123 | // automatically. |
124 | -set('use_relative_symlink', function () { |
|
124 | +set('use_relative_symlink', function() { |
|
125 | 125 | return commandSupportsOption('ln', '--relative'); |
126 | 126 | }); |
127 | 127 | |
128 | 128 | // Path to the `ln` bin. With predefined options `-nfs`. |
129 | -set('bin/symlink', function () { |
|
129 | +set('bin/symlink', function() { |
|
130 | 130 | return get('use_relative_symlink') ? 'ln -nfs --relative' : 'ln -nfs'; |
131 | 131 | }); |
132 | 132 | |
133 | 133 | // Path to a file which will store temp script with sudo password. |
134 | 134 | // Defaults to `.dep/sudo_pass`. This script is only temporary and will be deleted after |
135 | 135 | // sudo command executed. |
136 | -set('sudo_askpass', function () { |
|
136 | +set('sudo_askpass', function() { |
|
137 | 137 | if (test('[ -d {{deploy_path}}/.dep ]')) { |
138 | 138 | return '{{deploy_path}}/.dep/sudo_pass'; |
139 | 139 | } else { |
@@ -171,7 +171,7 @@ discard block |
||
171 | 171 | /** |
172 | 172 | * Prints success message |
173 | 173 | */ |
174 | -task('deploy:success', function () { |
|
174 | +task('deploy:success', function() { |
|
175 | 175 | info('successfully deployed!'); |
176 | 176 | }) |
177 | 177 | ->hidden(); |
@@ -180,7 +180,7 @@ discard block |
||
180 | 180 | /** |
181 | 181 | * Hook on deploy failure. |
182 | 182 | */ |
183 | -task('deploy:failed', function () {}) |
|
183 | +task('deploy:failed', function() {}) |
|
184 | 184 | ->hidden(); |
185 | 185 | |
186 | 186 | fail('deploy', 'deploy:failed'); |
@@ -189,7 +189,7 @@ discard block |
||
189 | 189 | * Follows latest application logs. |
190 | 190 | */ |
191 | 191 | desc('Shows application logs'); |
192 | -task('logs:app', function () { |
|
192 | +task('logs:app', function() { |
|
193 | 193 | if (!has('log_files')) { |
194 | 194 | warning("Please, specify \"log_files\" option."); |
195 | 195 | return; |
@@ -25,7 +25,7 @@ discard block |
||
25 | 25 | */ |
26 | 26 | function command(string $command, array $options = []): \Closure |
27 | 27 | { |
28 | - return function () use ($command, $options): void { |
|
28 | + return function() use ($command, $options): void { |
|
29 | 29 | $output = run("cd {{release_or_current_path}} && {{bin/php}} app.php $command"); |
30 | 30 | |
31 | 31 | if (\in_array('showOutput', $options, true)) { |
@@ -42,7 +42,7 @@ discard block |
||
42 | 42 | */ |
43 | 43 | function rr(string $command, array $options = []): \Closure |
44 | 44 | { |
45 | - return function () use ($command, $options): void { |
|
45 | + return function() use ($command, $options): void { |
|
46 | 46 | $output = run("cd {{roadrunner_path}} && ./rr $command"); |
47 | 47 | |
48 | 48 | if (\in_array('showOutput', $options, true)) { |
@@ -109,7 +109,7 @@ discard block |
||
109 | 109 | * RoadRunner console commands |
110 | 110 | */ |
111 | 111 | desc('Start RoadRunner server'); |
112 | -task('roadrunner:serve', function (): void { |
|
112 | +task('roadrunner:serve', function(): void { |
|
113 | 113 | exec(parse('cd {{roadrunner_path}} && ./rr serve -p > /dev/null 2>&1 &')); |
114 | 114 | }); |
115 | 115 | |
@@ -123,13 +123,13 @@ discard block |
||
123 | 123 | * Download and restart RoadRunner |
124 | 124 | */ |
125 | 125 | desc('Download RoadRunner'); |
126 | -task('deploy:download-rr', function (): void { |
|
126 | +task('deploy:download-rr', function(): void { |
|
127 | 127 | $output = run("cd {{release_or_current_path}} && {{bin/php}} ./vendor/bin/rr get-binary -l {{roadrunner_path}}"); |
128 | 128 | writeln("<info>$output</info>"); |
129 | 129 | }); |
130 | 130 | |
131 | 131 | desc('Restart RoadRunner'); |
132 | -task('deploy:restart-rr', function (): void { |
|
132 | +task('deploy:restart-rr', function(): void { |
|
133 | 133 | try { |
134 | 134 | invoke('roadrunner:reset'); |
135 | 135 | writeln("<info>Roadrunner successfully restarted.</info>"); |
@@ -6,7 +6,7 @@ discard block |
||
6 | 6 | |
7 | 7 | add('recipes', ['symfony']); |
8 | 8 | |
9 | -set('symfony_version', function () { |
|
9 | +set('symfony_version', function() { |
|
10 | 10 | $result = run('{{bin/console}} --version'); |
11 | 11 | preg_match_all('/(\d+\.?)+/', $result, $matches); |
12 | 12 | return $matches[0][0] ?? 5.0; |
@@ -35,12 +35,12 @@ discard block |
||
35 | 35 | |
36 | 36 | set('bin/console', '{{bin/php}} {{release_or_current_path}}/bin/console'); |
37 | 37 | |
38 | -set('console_options', function () { |
|
38 | +set('console_options', function() { |
|
39 | 39 | return '--no-interaction'; |
40 | 40 | }); |
41 | 41 | |
42 | 42 | desc('Migrates database'); |
43 | -task('database:migrate', function () { |
|
43 | +task('database:migrate', function() { |
|
44 | 44 | $options = '--allow-no-migration'; |
45 | 45 | if (get('migrations_config') !== '') { |
46 | 46 | $options = "$options --configuration={{release_or_current_path}}/{{migrations_config}}"; |
@@ -50,12 +50,12 @@ discard block |
||
50 | 50 | }); |
51 | 51 | |
52 | 52 | desc('Validate the Doctrine mapping files'); |
53 | -task('doctrine:schema:validate', function () { |
|
53 | +task('doctrine:schema:validate', function() { |
|
54 | 54 | run("cd {{release_or_current_path}} && {{bin/console}} doctrine:schema:validate {{doctrine_schema_validate_config}} {{console_options}}"); |
55 | 55 | }); |
56 | 56 | |
57 | 57 | desc('Clears cache'); |
58 | -task('deploy:cache:clear', function () { |
|
58 | +task('deploy:cache:clear', function() { |
|
59 | 59 | // composer install scripts usually clear and warmup symfony cache |
60 | 60 | // so we only need to do it if composer install was run with --no-scripts |
61 | 61 | if (false !== strpos(get('composer_options', ''), '--no-scripts')) { |
@@ -64,8 +64,8 @@ discard block |
||
64 | 64 | }); |
65 | 65 | |
66 | 66 | desc('Optimize environment variables'); |
67 | -task('deploy:dump-env', function () { |
|
68 | - within('{{release_or_current_path}}', function () { |
|
67 | +task('deploy:dump-env', function() { |
|
68 | + within('{{release_or_current_path}}', function() { |
|
69 | 69 | run('{{bin/composer}} dump-env "${APP_ENV:-prod}"'); |
70 | 70 | }); |
71 | 71 | }); |
@@ -86,19 +86,19 @@ discard block |
||
86 | 86 | new InputOption('file', 'f', InputOption::VALUE_REQUIRED, 'Recipe file path'), |
87 | 87 | ); |
88 | 88 | |
89 | - $this['console'] = function () use ($console) { |
|
89 | + $this['console'] = function() use ($console) { |
|
90 | 90 | return $console; |
91 | 91 | }; |
92 | - $this['input'] = function () { |
|
92 | + $this['input'] = function() { |
|
93 | 93 | throw new \RuntimeException('Uninitialized "input" in Deployer container.'); |
94 | 94 | }; |
95 | - $this['output'] = function () { |
|
95 | + $this['output'] = function() { |
|
96 | 96 | throw new \RuntimeException('Uninitialized "output" in Deployer container.'); |
97 | 97 | }; |
98 | - $this['inputDefinition'] = function () { |
|
98 | + $this['inputDefinition'] = function() { |
|
99 | 99 | return new InputDefinition(); |
100 | 100 | }; |
101 | - $this['questionHelper'] = function () { |
|
101 | + $this['questionHelper'] = function() { |
|
102 | 102 | return $this->getHelper('question'); |
103 | 103 | }; |
104 | 104 | |
@@ -106,12 +106,12 @@ discard block |
||
106 | 106 | * Config * |
107 | 107 | ******************************/ |
108 | 108 | |
109 | - $this['config'] = function () { |
|
109 | + $this['config'] = function() { |
|
110 | 110 | return new Configuration(); |
111 | 111 | }; |
112 | 112 | // -l act as if it had been invoked as a login shell (i.e. source ~/.profile file) |
113 | 113 | // -s commands are read from the standard input (no arguments should remain after this option) |
114 | - $this->config['shell'] = function () { |
|
114 | + $this->config['shell'] = function() { |
|
115 | 115 | if (currentHost() instanceof Localhost) { |
116 | 116 | return 'bash -s'; // Non-login shell for localhost. |
117 | 117 | } |
@@ -124,37 +124,37 @@ discard block |
||
124 | 124 | * Core * |
125 | 125 | ******************************/ |
126 | 126 | |
127 | - $this['pop'] = function ($c) { |
|
127 | + $this['pop'] = function($c) { |
|
128 | 128 | return new Printer($c['output']); |
129 | 129 | }; |
130 | - $this['sshClient'] = function ($c) { |
|
130 | + $this['sshClient'] = function($c) { |
|
131 | 131 | return new SshClient($c['output'], $c['pop'], $c['logger']); |
132 | 132 | }; |
133 | - $this['rsync'] = function ($c) { |
|
133 | + $this['rsync'] = function($c) { |
|
134 | 134 | return new Rsync($c['pop'], $c['output']); |
135 | 135 | }; |
136 | - $this['processRunner'] = function ($c) { |
|
136 | + $this['processRunner'] = function($c) { |
|
137 | 137 | return new ProcessRunner($c['pop'], $c['logger']); |
138 | 138 | }; |
139 | - $this['tasks'] = function () { |
|
139 | + $this['tasks'] = function() { |
|
140 | 140 | return new TaskCollection(); |
141 | 141 | }; |
142 | - $this['hosts'] = function () { |
|
142 | + $this['hosts'] = function() { |
|
143 | 143 | return new HostCollection(); |
144 | 144 | }; |
145 | - $this['scriptManager'] = function ($c) { |
|
145 | + $this['scriptManager'] = function($c) { |
|
146 | 146 | return new ScriptManager($c['tasks']); |
147 | 147 | }; |
148 | - $this['selector'] = function ($c) { |
|
148 | + $this['selector'] = function($c) { |
|
149 | 149 | return new Selector($c['hosts']); |
150 | 150 | }; |
151 | - $this['fail'] = function () { |
|
151 | + $this['fail'] = function() { |
|
152 | 152 | return new Collection(); |
153 | 153 | }; |
154 | - $this['messenger'] = function ($c) { |
|
154 | + $this['messenger'] = function($c) { |
|
155 | 155 | return new Messenger($c['input'], $c['output'], $c['logger']); |
156 | 156 | }; |
157 | - $this['master'] = function ($c) { |
|
157 | + $this['master'] = function($c) { |
|
158 | 158 | return new Master( |
159 | 159 | $c['hosts'], |
160 | 160 | $c['input'], |
@@ -162,7 +162,7 @@ discard block |
||
162 | 162 | $c['messenger'], |
163 | 163 | ); |
164 | 164 | }; |
165 | - $this['importer'] = function () { |
|
165 | + $this['importer'] = function() { |
|
166 | 166 | return new Importer(); |
167 | 167 | }; |
168 | 168 | |
@@ -170,12 +170,12 @@ discard block |
||
170 | 170 | * Logger * |
171 | 171 | ******************************/ |
172 | 172 | |
173 | - $this['log_handler'] = function () { |
|
173 | + $this['log_handler'] = function() { |
|
174 | 174 | return !empty($this['log']) |
175 | 175 | ? new FileHandler($this['log']) |
176 | 176 | : new NullHandler(); |
177 | 177 | }; |
178 | - $this['logger'] = function () { |
|
178 | + $this['logger'] = function() { |
|
179 | 179 | return new Logger($this['log_handler']); |
180 | 180 | }; |
181 | 181 | |
@@ -305,7 +305,7 @@ discard block |
||
305 | 305 | $output->writeln([ |
306 | 306 | "<fg=white;bg=red> {$class} </> <comment>in {$file} on line {$exception->getLine()}:</>", |
307 | 307 | "", |
308 | - implode("\n", array_map(function ($line) { |
|
308 | + implode("\n", array_map(function($line) { |
|
309 | 309 | return " " . $line; |
310 | 310 | }, explode("\n", $exception->getMessage()))), |
311 | 311 | "", |
@@ -20,8 +20,8 @@ discard block |
||
20 | 20 | new InputOption('plan', null, InputOption::VALUE_NONE, 'Show execution plan'), |
21 | 21 | new InputOption('start-from', null, InputOption::VALUE_REQUIRED, 'Start execution from this task'), |
22 | 22 | new InputOption('log', null, InputOption::VALUE_REQUIRED, 'Write log to a file'), |
23 | - new InputOption('profile', null, InputOption::VALUE_REQUIRED, 'Write profile to a file', ), |
|
24 | - new InputOption('ansi', null, InputOption::VALUE_OPTIONAL, 'Force ANSI output', ), |
|
23 | + new InputOption('profile', null, InputOption::VALUE_REQUIRED, 'Write profile to a file',), |
|
24 | + new InputOption('ansi', null, InputOption::VALUE_OPTIONAL, 'Force ANSI output',), |
|
25 | 25 | ]); |
26 | 26 | |
27 | 27 | $args = IOArguments::collect( |
@@ -29,6 +29,6 @@ discard block |
||
29 | 29 | new ConsoleOutput(OutputInterface::VERBOSITY_DEBUG, false), |
30 | 30 | ); |
31 | 31 | |
32 | - self::assertEquals(['--option','env=prod', '--limit', '1', '-vvv'], $args); |
|
32 | + self::assertEquals(['--option', 'env=prod', '--limit', '1', '-vvv'], $args); |
|
33 | 33 | } |
34 | 34 | } |
@@ -38,7 +38,7 @@ |
||
38 | 38 | */ |
39 | 39 | public function callback(Host $host, bool $forceOutput): callable |
40 | 40 | { |
41 | - return function ($type, $buffer) use ($forceOutput, $host) { |
|
41 | + return function($type, $buffer) use ($forceOutput, $host) { |
|
42 | 42 | if ($this->output->isVerbose() || $forceOutput) { |
43 | 43 | $this->printBuffer($type, $host, $buffer); |
44 | 44 | } |
@@ -115,7 +115,7 @@ |
||
115 | 115 | { |
116 | 116 | if (is_string($value)) { |
117 | 117 | $normalizedValue = normalize_line_endings($value); |
118 | - return preg_replace_callback('/\{\{\s*([\w\.\/-]+)\s*\}\}/', function (array $matches) { |
|
118 | + return preg_replace_callback('/\{\{\s*([\w\.\/-]+)\s*\}\}/', function(array $matches) { |
|
119 | 119 | return $this->get($matches[1]); |
120 | 120 | }, $normalizedValue); |
121 | 121 | } |