8000 [HttpKernel] removed absolute paths from the generated container by fabpot · Pull Request #10894 · symfony/symfony · GitHub
[go: up one dir, main page]

Skip to content

[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

Merged
merged 1 commit into from
May 17, 2014

Conversation

fabpot
Copy link
Member
@fabpot fabpot commented May 12, 2014
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.

@stof
Copy link
Member
stof commented May 12, 2014

This should clearly be covered by tests

return $content;
}

$cacheDir = $this->getCacheDir();
Copy link
Contributor

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

@fabpot fabpot changed the title [WIP] [HttpKernel] removed absolute paths from the generated container [HttpKernel] removed absolute paths from the generated container May 17, 2014
@fabpot
Copy link
Member Author
fabpot commented May 17, 2014

This one should be ready now.

$rootDir = $this->getRootDir();
$previous = $rootDir;
while (!file_exists($rootDir.'/composer.json')) {
if ($previous === $rootDir = realpath($rootDir.'/..')) {
Copy link
Member

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 ?

Copy link
Member Author

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.

Copy link
Contributor

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

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tvlooy this is already reverted see #10943

Copy link
Contributor

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

@fabpot fabpot merged commit c1450b4 into symfony:2.3 May 17, 2014
fabpot added a commit that referenced this pull request May 17, 2014
…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
@fabpot fabpot deleted the absolute-paths branch May 17, 2014 13:28
fabpot added a commit that referenced this pull request May 26, 2014
…ated container (fabpot)"

This reverts commit 735e9a4, reversing
changes made to 5c91dc1.
fabpot added a commit that referenced this pull request May 26, 2014
* 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
fabpot added a commit that referenced this pull request May 26, 2014
* 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
fabpot added a commit that referenced this pull request May 26, 2014
* 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
fabpot added a commit that referenced this pull request Dec 2, 2014
…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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants
0