-
Notifications
You must be signed in to change notification settings - Fork 305
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixes #648: Allow Symfony 4 components in composer.json. #651
Conversation
This PR, as of c2f6d1e, will now resolve Symfony 4 components if desired. The composer.json is currently pinning to Symfony 3 by way of the extra.platform.php configuration item in the composer.json file. Delete this value (or set it to 7.1.3 or later) and run Ad-hoc testing with Symfony 4 shows Robo core to be working. However, the dev versions of Codeception are not working. Running the tests results in:
The tests here are failing because the "lowest" tests require PHP 5.5, but we have set our platform php version to 5.6, which breaks this requirement. I'll improve the highest/lowest testing once our dependencies are ready to merge. Prerequisites:
Optional:
|
It turns out that henrikbjorn/lurker is a fork of https://github.com/flint/Lurker. |
src/Common/ExecTrait.php
Outdated
$this->process->setWorkingDirectory($this->workingDirectory); | ||
|
||
if ($this->workingDirectory) { | ||
$this->process->setWorkingDirectory($this->workingDirectory); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Line indented incorrectly; expected at least 12 spaces, found 10
4263dc9
to
4ae8d85
Compare
…x Symfony/Process 4.x API convention change: working directory must be explicitly provided. Make our own copy of Symfony ProcessUtils, since escapeArgument() is removed in Symfony 4.
4ae8d85
to
1758d52
Compare
It turns out that the error message above was not caused by Codeception at all, but rather by a new requirement in Symfony/Process 4.x that the cwd be explicitly provided. This PR causes Robo to subvert this behavior by explicitly providing At the time of this writing, the test failures are expected, as this branch is set up to use Symfony 4 components, ergo anything earlier than php 7.1 will fail. I expect we'll want the Robo phar to pin to Symfony 3, and allow compatibility with Symfony 4 only for those who use Robo as a framework. We now have:
We still need:
|
I just faced an issue while executing my Robo script. Due to different symfony/process versions I received this error
This makes Robo unusable with projects containing Symfony 4 components.
Here it is: 2.1.1. https://github.com/Codeception/AspectMock/releases/tag/2.1.1
Yes, that's what I'm trying to do but my Robo script is broken 😫 |
Ok, codeception/base 4.0 supports Symfony 4.0 so you can go on 👍 |
I'll give codeception/base a spin and see how it goes. Note that this PR already solves the |
@DavertMik
Not a big deal, probably - I'll charge forward ignoring this. Fix it up in a new aspect-mock release when you have a chance. |
Tests are once again passing for php 7.1, so we're just about done here: just need to do highest/lowest testing with Symfony 2, 3 and 4 and make all the tests green. |
Tested all the things! Symfony 2, 3 and 4 all passing. |
Overview
This pull request:
Summary
Allow Symfony 4 components in composer.json. Note that Codeception is still pinning us to Symfony 3. This should allow folks using Robo as a Framework to use Symfony 4, albeit without test coverage on Robo with Symfony 4.
After
composer install --no-dev
: