Skip to content

Commit 4940c87

Browse files
committed
[process] Avoid splitting absolute binary paths
1 parent bce7685 commit 4940c87

12 files changed

Lines changed: 54 additions & 33 deletions

src/Console/Command/CodeStyleCommand.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
149149
$processBuilder = $processBuilder->withArgument('--fix');
150150
}
151151

152-
$ecs = $processBuilder->build(DevToolsPathResolver::getPreferredToolBinaryPath('ecs'));
152+
$ecs = $processBuilder->build([DevToolsPathResolver::getPreferredToolBinaryPath('ecs')]);
153153

154154
$this->processQueue->add(process: $composerUpdate, label: 'Refreshing Composer Lock');
155155
$this->processQueue->add(

src/Console/Command/DependenciesCommand.php

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ private function getComposerDependencyAnalyserCommand(InputInterface $input): Pr
201201

202202
$showShadowDependencies = (bool) $input->getOption('show-shadow-dependencies');
203203
$process = $processBuilder->build(
204-
DevToolsPathResolver::getPreferredToolBinaryPath('composer-dependency-analyser')
204+
[DevToolsPathResolver::getPreferredToolBinaryPath('composer-dependency-analyser')]
205205
);
206206
$process->setEnv([
207207
ComposerDependencyAnalyserConfig::ENV_SHOW_SHADOW_DEPENDENCIES => $showShadowDependencies ? '1' : '0',
@@ -220,17 +220,17 @@ private function getComposerDependencyAnalyserCommand(InputInterface $input): Pr
220220
*/
221221
private function getJackBreakpointCommand(InputInterface $input, int $maximumOutdated): Process
222222
{
223-
$command = DevToolsPathResolver::getPreferredToolBinaryPath('jack') . ' breakpoint';
223+
$processBuilder = $this->processBuilder;
224224

225225
if ((bool) $input->getOption('dev')) {
226-
$command .= ' --dev';
226+
$processBuilder = $processBuilder->withArgument('--dev');
227227
}
228228

229229
if (! $this->shouldIgnoreOutdatedFailures($maximumOutdated)) {
230-
$command .= ' --limit ' . $maximumOutdated;
230+
$processBuilder = $processBuilder->withArgument('--limit', (string) $maximumOutdated);
231231
}
232232

233-
return $this->processBuilder->build($command);
233+
return $processBuilder->build([DevToolsPathResolver::getPreferredToolBinaryPath('jack'), 'breakpoint']);
234234
}
235235

236236
/**
@@ -242,17 +242,17 @@ private function getJackBreakpointCommand(InputInterface $input, int $maximumOut
242242
*/
243243
private function getOpenVersionsCommand(InputInterface $input): Process
244244
{
245-
$command = DevToolsPathResolver::getPreferredToolBinaryPath('jack') . ' open-versions';
245+
$processBuilder = $this->processBuilder;
246246

247247
if ((bool) $input->getOption('dev')) {
248-
$command .= ' --dev';
248+
$processBuilder = $processBuilder->withArgument('--dev');
249249
}
250250

251251
if (! (bool) $input->getOption('upgrade')) {
252-
$command .= ' --dry-run';
252+
$processBuilder = $processBuilder->withArgument('--dry-run');
253253
}
254254

255-
return $this->processBuilder->build($command);
255+
return $processBuilder->build([DevToolsPathResolver::getPreferredToolBinaryPath('jack'), 'open-versions']);
256256
}
257257

258258
/**
@@ -264,17 +264,17 @@ private function getOpenVersionsCommand(InputInterface $input): Process
264264
*/
265265
private function getRaiseToInstalledCommand(InputInterface $input): Process
266266
{
267-
$command = DevToolsPathResolver::getPreferredToolBinaryPath('jack') . ' raise-to-installed';
267+
$processBuilder = $this->processBuilder;
268268

269269
if ((bool) $input->getOption('dev')) {
270-
$command .= ' --dev';
270+
$processBuilder = $processBuilder->withArgument('--dev');
271271
}
272272

273273
if (! (bool) $input->getOption('upgrade')) {
274-
$command .= ' --dry-run';
274+
$processBuilder = $processBuilder->withArgument('--dry-run');
275275
}
276276

277-
return $this->processBuilder->build($command);
277+
return $processBuilder->build([DevToolsPathResolver::getPreferredToolBinaryPath('jack'), 'raise-to-installed']);
278278
}
279279

280280
/**

src/Console/Command/PhpDocCommand.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
186186
$processBuilder = $processBuilder->withArgument('--dry-run');
187187
}
188188

189-
$phpCsFixer = $processBuilder->build(DevToolsPathResolver::getPreferredToolBinaryPath('php-cs-fixer') . ' fix');
189+
$phpCsFixer = $processBuilder->build([DevToolsPathResolver::getPreferredToolBinaryPath('php-cs-fixer'), 'fix']);
190190

191191
$processBuilder = $this->processBuilder
192192
->withArgument('--ansi')
@@ -207,7 +207,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
207207
$processBuilder = $processBuilder->withArgument('--dry-run');
208208
}
209209

210-
$rector = $processBuilder->build(DevToolsPathResolver::getPreferredToolBinaryPath('rector') . ' process');
210+
$rector = $processBuilder->build([DevToolsPathResolver::getPreferredToolBinaryPath('rector'), 'process']);
211211

212212
$this->processQueue->add(process: $phpCsFixer, label: 'Fixing PHPDoc File Headers with PHP-CS-Fixer');
213213
$this->processQueue->add(process: $rector, label: 'Adding Missing PHPDoc with Rector');

src/Console/Command/RefactorCommand.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,6 @@ protected function execute(InputInterface $input, OutputInterface $output): int
125125
]);
126126

127127
$processBuilder = $this->processBuilder
128-
->withArgument('process')
129128
->withArgument('--ansi')
130129
->withArgument('--config')
131130
->withArgument($this->fileLocator->locate(self::CONFIG));
@@ -144,7 +143,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
144143
}
145144

146145
$this->processQueue->add(
147-
process: $processBuilder->build(DevToolsPathResolver::getPreferredToolBinaryPath('rector')),
146+
process: $processBuilder->build([DevToolsPathResolver::getPreferredToolBinaryPath('rector'), 'process']),
148147
label: 'Refactoring Code with Rector',
149148
);
150149

src/Console/Command/ReportsCommand.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
170170
$docsBuilder = $docsBuilder->withArgument('--pretty-json');
171171
}
172172

173-
$docs = $docsBuilder->build(DevToolsPathResolver::getBinaryCommand('docs'));
173+
$docs = $docsBuilder->build([DevToolsPathResolver::getBinaryPath(), 'docs']);
174174

175175
if (null !== $cacheArgument) {
176176
$coverageBuilder = $coverageBuilder->withArgument($cacheArgument);
@@ -192,7 +192,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
192192
$coverageBuilder = $coverageBuilder->withArgument('--pretty-json');
193193
}
194194

195-
$coverage = $coverageBuilder->build(DevToolsPathResolver::getBinaryCommand('tests'));
195+
$coverage = $coverageBuilder->build([DevToolsPathResolver::getBinaryPath(), 'tests']);
196196

197197
if ($progress) {
198198
$metricsBuilder = $metricsBuilder->withArgument('--progress');
@@ -206,7 +206,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
206206
$metricsBuilder = $metricsBuilder->withArgument('--pretty-json');
207207
}
208208

209-
$metrics = $metricsBuilder->build(DevToolsPathResolver::getBinaryCommand('metrics'));
209+
$metrics = $metricsBuilder->build([DevToolsPathResolver::getBinaryPath(), 'metrics']);
210210

211211
$this->processQueue->add(process: $docs, detached: true, label: 'Generating API Docs Report');
212212
$this->processQueue->add(process: $coverage, label: 'Generating Coverage Report');

src/Console/Command/StandardsCommand.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
150150
}
151151

152152
$this->processQueue->add(
153-
process: $processBuilder->build(DevToolsPathResolver::getBinaryCommand($command)),
153+
process: $processBuilder->build([DevToolsPathResolver::getBinaryPath(), $command]),
154154
label: $this->getProcessLabel($command),
155155
);
156156
}

src/Console/Command/SyncCommand.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ private function queueDevToolsCommand(
230230
$processBuilder = $processBuilder->withArgument($argument);
231231
}
232232

233-
$process = $processBuilder->build(DevToolsPathResolver::getBinaryPath());
233+
$process = $processBuilder->build([DevToolsPathResolver::getBinaryPath()]);
234234

235235
$this->processQueue->add(process: $process, detached: $detached, label: 'Running DevTools Sync Hook');
236236
}

tests/Console/Command/CodeStyleCommandTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ protected function setUp(): void
116116
#[Test]
117117
public function executeWillReturnSuccessWhenProcessQueueSucceeds(): void
118118
{
119-
$this->processBuilder->build(DevToolsPathResolver::getPreferredToolBinaryPath('ecs'))
119+
$this->processBuilder->build([DevToolsPathResolver::getPreferredToolBinaryPath('ecs')])
120120
->willReturn($this->process->reveal())
121121
->shouldBeCalled();
122122
$this->processQueue->run(Argument::type('object'))

tests/Console/Command/DependenciesCommandTest.php

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ private function assertComposerDependencyAnalyserEnvironment(string $expectedVal
228228
->willReturn($configuredProcessBuilder->reveal())
229229
->shouldBeCalledOnce();
230230
$configuredProcessBuilder->build(
231-
DevToolsPathResolver::getPreferredToolBinaryPath('composer-dependency-analyser')
231+
[DevToolsPathResolver::getPreferredToolBinaryPath('composer-dependency-analyser')]
232232
)
233233
->willReturn($process->reveal())
234234
->shouldBeCalledOnce();
@@ -256,7 +256,10 @@ public function jackBreakpointProcessWillUseTheResolvedJackBinary(): void
256256
$this->logger->reveal(),
257257
);
258258

259-
$processBuilder->build(DevToolsPathResolver::getPreferredToolBinaryPath('jack') . ' breakpoint --limit 5')
259+
$processBuilder->withArgument('--limit', '5')
260+
->willReturn($processBuilder->reveal())
261+
->shouldBeCalledOnce();
262+
$processBuilder->build([DevToolsPathResolver::getPreferredToolBinaryPath('jack'), 'breakpoint'])
260263
->willReturn($process->reveal())
261264
->shouldBeCalledOnce();
262265

@@ -279,7 +282,10 @@ public function openVersionsProcessWillUseTheResolvedJackBinary(): void
279282
$this->logger->reveal(),
280283
);
281284

282-
$processBuilder->build(DevToolsPathResolver::getPreferredToolBinaryPath('jack') . ' open-versions --dry-run')
285+
$processBuilder->withArgument('--dry-run')
286+
->willReturn($processBuilder->reveal())
287+
->shouldBeCalledOnce();
288+
$processBuilder->build([DevToolsPathResolver::getPreferredToolBinaryPath('jack'), 'open-versions'])
283289
->willReturn($process->reveal())
284290
->shouldBeCalledOnce();
285291

@@ -302,9 +308,10 @@ public function raiseToInstalledProcessWillUseTheResolvedJackBinary(): void
302308
$this->logger->reveal(),
303309
);
304310

305-
$processBuilder->build(
306-
DevToolsPathResolver::getPreferredToolBinaryPath('jack') . ' raise-to-installed --dry-run'
307-
)
311+
$processBuilder->withArgument('--dry-run')
312+
->willReturn($processBuilder->reveal())
313+
->shouldBeCalledOnce();
314+
$processBuilder->build([DevToolsPathResolver::getPreferredToolBinaryPath('jack'), 'raise-to-installed'])
308315
->willReturn($process->reveal())
309316
->shouldBeCalledOnce();
310317

tests/Console/Command/PhpDocCommandTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -180,10 +180,10 @@ protected function setUp(): void
180180
public function executeWillCreateDocHeaderAndRunPhpDocProcesses(): void
181181
{
182182
$this->filesystem->dumpFile(PhpDocCommand::FILENAME, 'docheader')->shouldBeCalled();
183-
$this->processBuilder->build(DevToolsPathResolver::getPreferredToolBinaryPath('php-cs-fixer') . ' fix')
183+
$this->processBuilder->build([DevToolsPathResolver::getPreferredToolBinaryPath('php-cs-fixer'), 'fix'])
184184
->willReturn($this->process->reveal())
185185
->shouldBeCalled();
186-
$this->processBuilder->build(DevToolsPathResolver::getPreferredToolBinaryPath('rector') . ' process')
186+
$this->processBuilder->build([DevToolsPathResolver::getPreferredToolBinaryPath('rector'), 'process'])
187187
->willReturn($this->process->reveal())
188188
->shouldBeCalled();
189189
$this->processBuilder->withArgument('--using-cache=yes')

0 commit comments

Comments
 (0)