Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 1195c7d

Browse filesBrowse files
committed
feature #23111 [Process] Deprecate ProcessBuilder (nicolas-grekas)
This PR was merged into the 3.4 branch. Discussion ---------- [Process] Deprecate ProcessBuilder | Q | A | ------------- | --- | Branch? | 3.4 | Bug fix? | no | New feature? | no | BC breaks? | no | Deprecations? | yes | Tests pass? | yes | Fixed tickets | - | License | MIT | Doc PR | - Commits ------- 3aa8861 [Process] Deprecate ProcessBuilder
2 parents e4e1b81 + 3aa8861 commit 1195c7d
Copy full SHA for 1195c7d

File tree

10 files changed

+32
-24
lines changed
Filter options

10 files changed

+32
-24
lines changed

‎UPGRADE-3.4.md

Copy file name to clipboardExpand all lines: UPGRADE-3.4.md
+6Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,12 @@ FrameworkBundle
2626
* The `KernelTestCase::getPhpUnitXmlDir()` and `KernelTestCase::getPhpUnitCliConfigArgument()`
2727
methods are deprecated since 3.4 and will be removed in 4.0.
2828

29+
Process
30+
-------
31+
32+
* The `Symfony\Component\Process\ProcessBuilder` class has been deprecated,
33+
use the `Symfony\Component\Process\Process` class directly instead.
34+
2935
Validator
3036
---------
3137

‎UPGRADE-4.0.md

Copy file name to clipboardExpand all lines: UPGRADE-4.0.md
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -420,6 +420,9 @@ Ldap
420420
Process
421421
-------
422422

423+
* The `Symfony\Component\Process\ProcessBuilder` class has been removed,
424+
use the `Symfony\Component\Process\Process` class directly instead.
425+
423426
* The `ProcessUtils::escapeArgument()` method has been removed, use a command line array or give env vars to the `Process::start/run()` method instead.
424427

425428
* Environment variables are always inherited in sub-processes.

‎src/Symfony/Bundle/WebServerBundle/WebServer.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/WebServerBundle/WebServer.php
+4-5Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313

1414
use Symfony\Component\Process\PhpExecutableFinder;
1515
use Symfony\Component\Process\Process;
16-
use Symfony\Component\Process\ProcessBuilder;
1716
use Symfony\Component\Process\Exception\RuntimeException;
1817

1918
/**
@@ -151,11 +150,11 @@ private function createServerProcess(WebServerConfig $config)
151150
throw new \RuntimeException('Unable to find the PHP binary.');
152151
}
153152

154-
$builder = new ProcessBuilder(array($binary, '-S', $config->getAddress(), $config->getRouter()));
155-
$builder->setWorkingDirectory($config->getDocumentRoot());
156-
$builder->setTimeout(null);
153+
$process = new Process(array($binary, '-S', $config->getAddress(), $config->getRouter()));
154+
$process->setWorkingDirectory($config->getDocumentRoot());
155+
$process->setTimeout(null);
157156

158-
return $builder->getProcess();
157+
return $process;
159158
}
160159

161160
private function getDefaultPidFile()

‎src/Symfony/Bundle/WebServerBundle/composer.json

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/WebServerBundle/composer.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"php": ">=5.5.9",
2020
"symfony/console": "~2.8.8|~3.0.8|~3.1.2|~3.2|~4.0",
2121
"symfony/http-kernel": "~3.3|~4.0",
22-
"symfony/process": "~2.8|~3.0|~4.0"
22+
"symfony/process": "~3.3|~4.0"
2323
},
2424
"autoload": {
2525
"psr-4": { "Symfony\\Bundle\\WebServerBundle\\": "" },

‎src/Symfony/Component/Console/Helper/ProcessHelper.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Console/Helper/ProcessHelper.php
+1-2Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
use Symfony\Component\Console\Output\OutputInterface;
1616
use Symfony\Component\Process\Exception\ProcessFailedException;
1717
use Symfony\Component\Process\Process;
18-
use Symfony\Component\Process\ProcessBuilder;
1918

2019
/**
2120
* The ProcessHelper class provides helpers to run external processes.
@@ -45,7 +44,7 @@ public function run(OutputInterface $output, $cmd, $error = null, callable $call
4544
$formatter = $this->getHelperSet()->get('debug_formatter');
4645

4746
if (is_array($cmd)) {
48-
$process = ProcessBuilder::create($cmd)->getProcess();
47+
$process = new Process($cmd);
4948
} elseif ($cmd instanceof Process) {
5049
$process = $cmd;
5150
} else {

‎src/Symfony/Component/Console/Tests/Helper/ProcessHelperTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Console/Tests/Helper/ProcessHelperTest.php
+2-3Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
use Symfony\Component\Console\Output\StreamOutput;
1818
use Symfony\Component\Console\Helper\ProcessHelper;
1919
use Symfony\Component\Process\Process;
20-
use Symfony\Component\Process\ProcessBuilder;
2120

2221
class ProcessHelperTest extends TestCase
2322
{
@@ -85,8 +84,8 @@ public function provideCommandsAndOutput()
8584
EOT;
8685

8786
$errorMessage = 'An error occurred';
88-
$args = new ProcessBuilder(array('php', '-r', 'echo 42;'));
89-
$args = $args->getProcess()->getCommandLine();
87+
$args = new Process(array('php', '-r', 'echo 42;'));
88+
$args = $args->getCommandLine();
9089
$successOutputProcessDebug = str_replace("'php' '-r' 'echo 42;'", $args, $successOutputProcessDebug);
9190

9291
return array(

‎src/Symfony/Component/Console/composer.json

Copy file name to clipboardExpand all lines: src/Symfony/Component/Console/composer.json
+3-2Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
"symfony/event-dispatcher": "~2.8|~3.0|~4.0",
2727
"symfony/dependency-injection": "~3.3|~4.0",
2828
"symfony/filesystem": "~2.8|~3.0|~4.0",
29-
"symfony/process": "~2.8|~3.0|~4.0",
29+
"symfony/process": "~3.3|~4.0",
3030
"psr/log": "~1.0"
3131
},
3232
"suggest": {
@@ -36,7 +36,8 @@
3636
"psr/log": "For using the console logger"
3737
},
3838
"conflict": {
39-
"symfony/dependency-injection": "<3.3"
39+
"symfony/dependency-injection": "<3.3",
40+
"symfony/process": "<3.3"
4041
},
4142
"autoload": {
4243
"psr-4": { "Symfony\\Component\\Console\\": "" },

‎src/Symfony/Component/Process/CHANGELOG.md

Copy file name to clipboardExpand all lines: src/Symfony/Component/Process/CHANGELOG.md
+5Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
CHANGELOG
22
=========
33

4+
3.4.0
5+
-----
6+
7+
* deprecated the ProcessBuilder class
8+
49
3.3.0
510
-----
611

‎src/Symfony/Component/Process/ProcessBuilder.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Process/ProcessBuilder.php
+4-8Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,17 @@
1111

1212
namespace Symfony\Component\Process;
1313

14+
@trigger_error(sprintf('The %s class is deprecated since version 3.4 and will be removed in 4.0. Use the Process class instead.', ProcessBuilder::class), E_USER_DEPRECATED);
15+
1416
use Symfony\Component\Process\Exception\InvalidArgumentException;
1517
use Symfony\Component\Process\Exception\LogicException;
1618

1719
/**
1820
* Process builder.
1921
*
2022
* @author Kris Wallsmith <kris@symfony.com>
23+
*
24+
* @deprecated since version 3.4, to be removed in 4.0. Use the Process class instead.
2125
*/
2226
class ProcessBuilder
2327
{
@@ -120,13 +124,9 @@ public function setWorkingDirectory($cwd)
120124
* @param bool $inheritEnv
121125
*
122126
* @return $this
123-
*
124-
* @deprecated since version 3.3, to be removed in 4.0.
125127
*/
126128
public function inheritEnvironmentVariables($inheritEnv = true)
127129
{
128-
@trigger_error(sprintf('The %s() method is deprecated since version 3.3 and will be removed in 4.0.', __METHOD__), E_USER_DEPRECATED);
129-
130130
$this->inheritEnv = $inheritEnv;
131131

132132
return $this;
@@ -221,13 +221,9 @@ public function setTimeout($timeout)
221221
* @param string $value The option value
222222
*
223223
* @return $this
224-
*
225-
* @deprecated since version 3.3, to be removed in 4.0.
226224
*/
227225
public function setOption($name, $value)
228226
{
229-
@trigger_error(sprintf('The %s() method is deprecated since version 3.3 and will be removed in 4.0.', __METHOD__), E_USER_DEPRECATED);
230-
231227
$this->options[$name] = $value;
232228

233229
return $this;

‎src/Symfony/Component/Process/Tests/ProcessBuilderTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Process/Tests/ProcessBuilderTest.php
+3-3Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414
use PHPUnit\Framework\TestCase;
1515
use Symfony\Component\Process\ProcessBuilder;
1616

17+
/**
18+
* @group legacy
19+
*/
1720
class ProcessBuilderTest extends TestCase
1821
{
19-
/**
20-
* @group legacy
21-
*/
2222
public function testInheritEnvironmentVars()
2323
{
2424
$proc = ProcessBuilder::create()

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.