-
-
Notifications
You must be signed in to change notification settings - Fork 9.6k
[HttpKernel] removed absolute paths from the generated container #10894
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
Conversation
This should clearly be covered by tests |
return $content; | ||
} | ||
|
||
$cacheDir = $this->getCacheDir(); |
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.
Could be moved below the while loop, because not used before
This one should be ready now. |
$rootDir = $this->getRootDir(); | ||
$previous = $rootDir; | ||
while (!file_exists($rootDir.'/composer.json')) { | ||
if ($previous === $rootDir = realpath($rootDir.'/..')) { |
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.
shoudln't $previous
be updated in the loop too ?
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.
right, fixed it now and added a test about that.
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.
@fabpot I think this stuff (the preg_replace_callback below) breaks the console. kernel.rootpath is now at app/cache/dev/../src can be reproduced by generating a bundle
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.
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.
@wouterj thanks for the pointer
…tainer (fabpot) This PR was merged into the 2.3 branch. Discussion ---------- [HttpKernel] removed absolute paths from the generated container | Q | A | ------------- | --- | Bug fix? | yes | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | first step to resolve #6484, #3079, and #9238 | License | MIT | Doc PR | n/a This PR converts absolute paths to relative ones in the dumped container. The code is a bit "ugly", but it gets the job done and I'm not sure that there is a more elegant way without breaking everything. Commits ------- c1450b4 [HttpKernel] removed absolute paths from the generated container
* 2.3: Revert "bug #10894 [HttpKernel] removed absolute paths from the generated container (fabpot)" Revert "bug #10937 [HttpKernel] Fix "absolute path" when we look to the cache directory (BenoitLeveque)" Revert "fixed CS" Revert "bug #10979 Make rootPath part of regex greedy (artursvonda)" Revert "[HttpKernel] simplified some tests" [HttpKernel] simplified some tests Make rootPath part of regex greedy Conflicts: src/Symfony/Component/HttpKernel/Tests/KernelTest.php
* 2.4: Revert "bug #10894 [HttpKernel] removed absolute paths from the generated container (fabpot)" Revert "bug #10937 [HttpKernel] Fix "absolute path" when we look to the cache directory (BenoitLeveque)" Revert "fixed CS" Revert "bug #10979 Make rootPath part of regex greedy (artursvonda)" Revert "[HttpKernel] simplified some tests" [HttpKernel] simplified some tests Make rootPath part of regex greedy
* 2.5: Revert "bug #10894 [HttpKernel] removed absolute paths from the generated container (fabpot)" Revert "bug #10937 [HttpKernel] Fix "absolute path" when we look to the cache directory (BenoitLeveque)" Revert "fixed CS" Revert "bug #10979 Make rootPath part of regex greedy (artursvonda)" Revert "[HttpKernel] simplified some tests" [HttpKernel] simplified some tests Make rootPath part of regex greedy
…e generated container (nicolas-grekas) This PR was merged into the 2.3 branch. Discussion ---------- [DependencyInjection] make paths relative to __DIR__ in the generated container | Q | A | ------------- | --- | Bug fix? | yes | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | #6484, #3079, partially #9238, #10894, #10999 | License | MIT | Doc PR | n/a This is an alternative approach to #10999 for removing absolute paths from the generated container: instead of trying to fix the container file after it has been dumped, telling to the PhpDumper where its output will be written allows it to replace parts of strings by an equivalent value based on `__DIR__`. This should be safe, thus the PR is on 2.3. Commits ------- edd7057 [DependencyInjection] make paths relative to __DIR__ in the generated container
This PR converts absolute paths to relative ones in the dumped container. The code is a bit "ugly", but it gets the job done and I'm not sure that there is a more elegant way without breaking everything.