Movatterモバイル変換


[0]ホーム

URL:


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

Sign up
Appearance settings

[HttpFoundation] optimize files for distribution#24427

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Closed
jpuck wants to merge1 commit intosymfony:3.4fromMyTeamName:export-ignore-tests

Conversation

@jpuck
Copy link

QA
Branch?3.4
Bug fix?no
New feature?no
BC breaks?no
Deprecations?no
Tests pass?yes
LicenseMIT

Currently every production installation will pull in all of the tests into the vendor directory. This is unnecessary file bloat on the server and network bandwidth. By adding a.gitattributes file with filenames listed to be excluded during export, this will speed up installations and facilitate better stewardship of server resources.

This is my 1st PR, so I hope I understood the contributing guidelines and submitted to the correct repository and branch, so please kindly advise if otherwise. If acceptable in principle, then I'd be happy to duplicate the efforts in additional commits for the other components. I chose the HttpFoundation subtree because it came to my attention as it was used in a project when a lint failed on a php 5.6 server only because of php 7 language used in one of the tests.

Thanks!

@Tobion
Copy link
Contributor

@jpuck
Copy link
Author

@Tobion ah thanks for the reading material. So should I just close now then?

@javiereguiluz
Copy link
Member

@jpuck it's true that this has been asked for (and rejected) many times before, but it's OK to discuss about this again from time to time. Besides, if so many people and so many times ask for the same thing, maybe it's time to reconsider our past decision. Thanks!

@linaori
Copy link
Contributor

I'm still of opinion that it's 100% useless to include tests unless you specifically install the source as dependency. I don't care about the amount of files, or even that it's in production, but I do care about the DX of developing with Symfony. Current DX status when looking up classes and implementations:

  • Stubs polluting my search results
  • There areTest andTests namespaces, where the former is a public API to extend while the latter is not, caused me a "wtf" moment more than once already

The biggest issue is thatall searches are heavily polluted with search results from tests:
image

image

While everything is being done to enhance the DX of Symfony, this is still a big issue.

@Tobion
Copy link
Contributor

I full agree wit@iltar and I've alwas been in favor in adding this.

@sroze
Copy link
Contributor

sroze commentedOct 5, 2017
edited
Loading

Definitely agree with this as well, these tests files shouldn't be within the "distributed archive". Ideally I'd move them totests/ instead ofsrc/ within anautoload-dev but I guess we can't do this as it might cause a BC break. I guess the.gitattributes option is a good compromise 👍

@linaori
Copy link
Contributor

The problem is primarily present when you usesymfony/symfony, so with flex the problem becomes smaller. I would love to have atest directory of sorts that's on autoload-dev only, makes it really easy to exclude tests and will always prevent you from adding tests either way.

@nicolas-grekas
Copy link
Member

Having tests in each component is a requirement so there is no way to move tests outside of src, unless someone wants to take the responsibility and has the leadership to rewrite all our processes and releasing infrastructure.

About DX, I thinkhttps://youtrack.jetbrains.com/issue/WI-37750 will do the job.
Of course, that'll require adding@internal to all test classes. PR welcomed.

👎 on my side, with the same rationale as previously detailed.

@afurculita
Copy link
Contributor

Forsymfony/symfony we can add the paths to all theTests folders (or a regex) in a.gitattributes file at the root of the project.

@linaori
Copy link
Contributor

That means all tests would have to be marked with@internal?

@nicolas-grekas
Copy link
Member

@iltar yes. That looks accurate to me, anything in "Tests" folder is out of BC policy, so they are internal.

@linaori
Copy link
Contributor

But that won't fix it for:

  • Searches
  • People that don't use PhpStorm

@nicolas-grekas
Copy link
Member

It's still an IDE-domain problem.
A more generic solution would be:editorconfig/editorconfig#228
(ref for previous discussion btw:#17749)

@linaori
Copy link
Contributor

linaori commentedOct 5, 2017
edited
Loading

Excluding the tests from dist files would cover all scenarios though, no opt-outs for anything, no additional work for the developer

@nicolas-grekas
Copy link
Member

Not all usages, as previously discussed in#17749.

@linaori
Copy link
Contributor

That was a slightly different topic, moving the files. The only thing I would like to see this issue resolve in, is no test files present when I add symfony as a dependency to my project.

I have yet to see an argument that might convince me that this is a bad idea for the majority of people. Adjusting the IDE or config files for every single developer is a lot of work, where as the minuscule amount of developers thatdoes want the test files, can get them via numerous ways.

Why not hold a poll whether or not the community wants the test files included or excluded from the dist?

afurculita, jpuck, and terjebraten-certua reacted with thumbs up emoji

@nicolas-grekas
Copy link
Member

Closing as explained.

terjebraten-certua reacted with thumbs down emoji

fabpot added a commit that referenced this pull requestSep 16, 2019
…dist" (Nyholm)This PR was merged into the 4.4 branch.Discussion----------Adding .gitattributes to remove Tests directory from "dist"| Q             | A| ------------- | ---| Branch?       | 4.4| Bug fix?      | no| New feature?  | yes| Deprecations? | no?| Tickets       || License       | MIT| Doc PR        |This is a controversial topic that have been mentioned before. We recently had some discussions on Slack about it and the community not in an agreement. This was asked back in 2014 already.Im making this PR again, because I think this will help more people than it hurts to keep the tests in the "dist" version.### Reasons for keeping the tests with the source* You can look at the tests to understand how the code works* It is convenientIn the past there were an argument of people might depend on Symfony's classes in Tests. That is no longer the case since we moved reusable classes from Tests to Test.### Reasons for removing them (merging this PR)* There should be difference between `composer update --prefer-source` and `composer update --prefer-dist`* Smaller packages when deploying with Docker or on Serverless.* Static analysis tools will not complain on PHP syntax errors in our tests ([example](https://github.com/symfony/symfony/blob/4.4/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/xml_with_wrong_ext.php))## How to decide?Merging this PR or not is tricky because no side has a solid technical argument. It is basically just personal preference. Please give this PR a 👍 or 👎 if you want to give your opinion.## Other PRs and issues related to this:Add .gitattributes file (#29277)Added .gitattributes files to root and all components (#26472)Exclude non-essential files from Composer package (#25414)[HttpFoundation] optimize files for distribution (#24427)Add .gitattributes files (#23926)[Suggestion] Adding .gitattributes to ignore unnecessary folders and files for production env (#20057)Add lightweight and root only .gitattributes (#18004)Add .gitattributes to exclude tests from ZIPs (#17995)[RFC] Move tests out of the source and source out of the tests (#17749)Removal of development & testing files using .gitattributes (#16174)Please add .gitattributes files and fix line endings (#13521)making use of .gitattributes (#11810)## WorkaroundsThere are workarounds for both sides. Example:### Workaround if merged* `composer update --prefer-source`### Workaround if closed* `find vendor/symfony -name "Tests" -type d -exec rm -r "{}" \;`*editorconfig/editorconfig#228*https://github.com/dg/composer-cleanerCommits-------ac7dc24 Adding .gitattributes to remove Tests directory from "dist"
symfony-splitter pushed a commit to symfony/mailer that referenced this pull requestSep 16, 2019
…dist" (Nyholm)This PR was merged into the 4.4 branch.Discussion----------Adding .gitattributes to remove Tests directory from "dist"| Q             | A| ------------- | ---| Branch?       | 4.4| Bug fix?      | no| New feature?  | yes| Deprecations? | no?| Tickets       || License       | MIT| Doc PR        |This is a controversial topic that have been mentioned before. We recently had some discussions on Slack about it and the community not in an agreement. This was asked back in 2014 already.Im making this PR again, because I think this will help more people than it hurts to keep the tests in the "dist" version.### Reasons for keeping the tests with the source* You can look at the tests to understand how the code works* It is convenientIn the past there were an argument of people might depend on Symfony's classes in Tests. That is no longer the case since we moved reusable classes from Tests to Test.### Reasons for removing them (merging this PR)* There should be difference between `composer update --prefer-source` and `composer update --prefer-dist`* Smaller packages when deploying with Docker or on Serverless.* Static analysis tools will not complain on PHP syntax errors in our tests ([example](https://github.com/symfony/symfony/blob/4.4/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/xml_with_wrong_ext.php))## How to decide?Merging this PR or not is tricky because no side has a solid technical argument. It is basically just personal preference. Please give this PR a 👍 or 👎 if you want to give your opinion.## Other PRs and issues related to this:Add .gitattributes file (symfony/symfony#29277)Added .gitattributes files to root and all components (symfony/symfony#26472)Exclude non-essential files from Composer package (symfony/symfony#25414)[HttpFoundation] optimize files for distribution (symfony/symfony#24427)Add .gitattributes files (symfony/symfony#23926)[Suggestion] Adding .gitattributes to ignore unnecessary folders and files for production env (symfony/symfony#20057)Add lightweight and root only .gitattributes (symfony/symfony#18004)Add .gitattributes to exclude tests from ZIPs (symfony/symfony#17995)[RFC] Move tests out of the source and source out of the tests (symfony/symfony#17749)Removal of development & testing files using .gitattributes (symfony/symfony#16174)Please add .gitattributes files and fix line endings (symfony/symfony#13521)making use of .gitattributes (symfony/symfony#11810)## WorkaroundsThere are workarounds for both sides. Example:### Workaround if merged* `composer update --prefer-source`### Workaround if closed* `find vendor/symfony -name "Tests" -type d -exec rm -r "{}" \;`*editorconfig/editorconfig#228*https://github.com/dg/composer-cleanerCommits-------ac7dc24bcb Adding .gitattributes to remove Tests directory from "dist"
symfony-splitter pushed a commit to symfony/web-profiler-bundle that referenced this pull requestSep 16, 2019
…dist" (Nyholm)This PR was merged into the 4.4 branch.Discussion----------Adding .gitattributes to remove Tests directory from "dist"| Q             | A| ------------- | ---| Branch?       | 4.4| Bug fix?      | no| New feature?  | yes| Deprecations? | no?| Tickets       || License       | MIT| Doc PR        |This is a controversial topic that have been mentioned before. We recently had some discussions on Slack about it and the community not in an agreement. This was asked back in 2014 already.Im making this PR again, because I think this will help more people than it hurts to keep the tests in the "dist" version.### Reasons for keeping the tests with the source* You can look at the tests to understand how the code works* It is convenientIn the past there were an argument of people might depend on Symfony's classes in Tests. That is no longer the case since we moved reusable classes from Tests to Test.### Reasons for removing them (merging this PR)* There should be difference between `composer update --prefer-source` and `composer update --prefer-dist`* Smaller packages when deploying with Docker or on Serverless.* Static analysis tools will not complain on PHP syntax errors in our tests ([example](https://github.com/symfony/symfony/blob/4.4/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/xml_with_wrong_ext.php))## How to decide?Merging this PR or not is tricky because no side has a solid technical argument. It is basically just personal preference. Please give this PR a 👍 or 👎 if you want to give your opinion.## Other PRs and issues related to this:Add .gitattributes file (symfony/symfony#29277)Added .gitattributes files to root and all components (symfony/symfony#26472)Exclude non-essential files from Composer package (symfony/symfony#25414)[HttpFoundation] optimize files for distribution (symfony/symfony#24427)Add .gitattributes files (symfony/symfony#23926)[Suggestion] Adding .gitattributes to ignore unnecessary folders and files for production env (symfony/symfony#20057)Add lightweight and root only .gitattributes (symfony/symfony#18004)Add .gitattributes to exclude tests from ZIPs (symfony/symfony#17995)[RFC] Move tests out of the source and source out of the tests (symfony/symfony#17749)Removal of development & testing files using .gitattributes (symfony/symfony#16174)Please add .gitattributes files and fix line endings (symfony/symfony#13521)making use of .gitattributes (symfony/symfony#11810)## WorkaroundsThere are workarounds for both sides. Example:### Workaround if merged* `composer update --prefer-source`### Workaround if closed* `find vendor/symfony -name "Tests" -type d -exec rm -r "{}" \;`*editorconfig/editorconfig#228*https://github.com/dg/composer-cleanerCommits-------ac7dc24bcb Adding .gitattributes to remove Tests directory from "dist"
symfony-splitter pushed a commit to symfony/framework-bundle that referenced this pull requestSep 16, 2019
…dist" (Nyholm)This PR was merged into the 4.4 branch.Discussion----------Adding .gitattributes to remove Tests directory from "dist"| Q             | A| ------------- | ---| Branch?       | 4.4| Bug fix?      | no| New feature?  | yes| Deprecations? | no?| Tickets       || License       | MIT| Doc PR        |This is a controversial topic that have been mentioned before. We recently had some discussions on Slack about it and the community not in an agreement. This was asked back in 2014 already.Im making this PR again, because I think this will help more people than it hurts to keep the tests in the "dist" version.### Reasons for keeping the tests with the source* You can look at the tests to understand how the code works* It is convenientIn the past there were an argument of people might depend on Symfony's classes in Tests. That is no longer the case since we moved reusable classes from Tests to Test.### Reasons for removing them (merging this PR)* There should be difference between `composer update --prefer-source` and `composer update --prefer-dist`* Smaller packages when deploying with Docker or on Serverless.* Static analysis tools will not complain on PHP syntax errors in our tests ([example](https://github.com/symfony/symfony/blob/4.4/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/xml_with_wrong_ext.php))## How to decide?Merging this PR or not is tricky because no side has a solid technical argument. It is basically just personal preference. Please give this PR a 👍 or 👎 if you want to give your opinion.## Other PRs and issues related to this:Add .gitattributes file (symfony/symfony#29277)Added .gitattributes files to root and all components (symfony/symfony#26472)Exclude non-essential files from Composer package (symfony/symfony#25414)[HttpFoundation] optimize files for distribution (symfony/symfony#24427)Add .gitattributes files (symfony/symfony#23926)[Suggestion] Adding .gitattributes to ignore unnecessary folders and files for production env (symfony/symfony#20057)Add lightweight and root only .gitattributes (symfony/symfony#18004)Add .gitattributes to exclude tests from ZIPs (symfony/symfony#17995)[RFC] Move tests out of the source and source out of the tests (symfony/symfony#17749)Removal of development & testing files using .gitattributes (symfony/symfony#16174)Please add .gitattributes files and fix line endings (symfony/symfony#13521)making use of .gitattributes (symfony/symfony#11810)## WorkaroundsThere are workarounds for both sides. Example:### Workaround if merged* `composer update --prefer-source`### Workaround if closed* `find vendor/symfony -name "Tests" -type d -exec rm -r "{}" \;`*editorconfig/editorconfig#228*https://github.com/dg/composer-cleanerCommits-------ac7dc24bcb Adding .gitattributes to remove Tests directory from "dist"
symfony-splitter pushed a commit to symfony/cache that referenced this pull requestSep 16, 2019
…dist" (Nyholm)This PR was merged into the 4.4 branch.Discussion----------Adding .gitattributes to remove Tests directory from "dist"| Q             | A| ------------- | ---| Branch?       | 4.4| Bug fix?      | no| New feature?  | yes| Deprecations? | no?| Tickets       || License       | MIT| Doc PR        |This is a controversial topic that have been mentioned before. We recently had some discussions on Slack about it and the community not in an agreement. This was asked back in 2014 already.Im making this PR again, because I think this will help more people than it hurts to keep the tests in the "dist" version.### Reasons for keeping the tests with the source* You can look at the tests to understand how the code works* It is convenientIn the past there were an argument of people might depend on Symfony's classes in Tests. That is no longer the case since we moved reusable classes from Tests to Test.### Reasons for removing them (merging this PR)* There should be difference between `composer update --prefer-source` and `composer update --prefer-dist`* Smaller packages when deploying with Docker or on Serverless.* Static analysis tools will not complain on PHP syntax errors in our tests ([example](https://github.com/symfony/symfony/blob/4.4/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/xml_with_wrong_ext.php))## How to decide?Merging this PR or not is tricky because no side has a solid technical argument. It is basically just personal preference. Please give this PR a 👍 or 👎 if you want to give your opinion.## Other PRs and issues related to this:Add .gitattributes file (symfony/symfony#29277)Added .gitattributes files to root and all components (symfony/symfony#26472)Exclude non-essential files from Composer package (symfony/symfony#25414)[HttpFoundation] optimize files for distribution (symfony/symfony#24427)Add .gitattributes files (symfony/symfony#23926)[Suggestion] Adding .gitattributes to ignore unnecessary folders and files for production env (symfony/symfony#20057)Add lightweight and root only .gitattributes (symfony/symfony#18004)Add .gitattributes to exclude tests from ZIPs (symfony/symfony#17995)[RFC] Move tests out of the source and source out of the tests (symfony/symfony#17749)Removal of development & testing files using .gitattributes (symfony/symfony#16174)Please add .gitattributes files and fix line endings (symfony/symfony#13521)making use of .gitattributes (symfony/symfony#11810)## WorkaroundsThere are workarounds for both sides. Example:### Workaround if merged* `composer update --prefer-source`### Workaround if closed* `find vendor/symfony -name "Tests" -type d -exec rm -r "{}" \;`*editorconfig/editorconfig#228*https://github.com/dg/composer-cleanerCommits-------ac7dc24bcb Adding .gitattributes to remove Tests directory from "dist"
symfony-splitter pushed a commit to symfony/yaml that referenced this pull requestSep 16, 2019
…dist" (Nyholm)This PR was merged into the 4.4 branch.Discussion----------Adding .gitattributes to remove Tests directory from "dist"| Q             | A| ------------- | ---| Branch?       | 4.4| Bug fix?      | no| New feature?  | yes| Deprecations? | no?| Tickets       || License       | MIT| Doc PR        |This is a controversial topic that have been mentioned before. We recently had some discussions on Slack about it and the community not in an agreement. This was asked back in 2014 already.Im making this PR again, because I think this will help more people than it hurts to keep the tests in the "dist" version.### Reasons for keeping the tests with the source* You can look at the tests to understand how the code works* It is convenientIn the past there were an argument of people might depend on Symfony's classes in Tests. That is no longer the case since we moved reusable classes from Tests to Test.### Reasons for removing them (merging this PR)* There should be difference between `composer update --prefer-source` and `composer update --prefer-dist`* Smaller packages when deploying with Docker or on Serverless.* Static analysis tools will not complain on PHP syntax errors in our tests ([example](https://github.com/symfony/symfony/blob/4.4/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/xml_with_wrong_ext.php))## How to decide?Merging this PR or not is tricky because no side has a solid technical argument. It is basically just personal preference. Please give this PR a 👍 or 👎 if you want to give your opinion.## Other PRs and issues related to this:Add .gitattributes file (symfony/symfony#29277)Added .gitattributes files to root and all components (symfony/symfony#26472)Exclude non-essential files from Composer package (symfony/symfony#25414)[HttpFoundation] optimize files for distribution (symfony/symfony#24427)Add .gitattributes files (symfony/symfony#23926)[Suggestion] Adding .gitattributes to ignore unnecessary folders and files for production env (symfony/symfony#20057)Add lightweight and root only .gitattributes (symfony/symfony#18004)Add .gitattributes to exclude tests from ZIPs (symfony/symfony#17995)[RFC] Move tests out of the source and source out of the tests (symfony/symfony#17749)Removal of development & testing files using .gitattributes (symfony/symfony#16174)Please add .gitattributes files and fix line endings (symfony/symfony#13521)making use of .gitattributes (symfony/symfony#11810)## WorkaroundsThere are workarounds for both sides. Example:### Workaround if merged* `composer update --prefer-source`### Workaround if closed* `find vendor/symfony -name "Tests" -type d -exec rm -r "{}" \;`*editorconfig/editorconfig#228*https://github.com/dg/composer-cleanerCommits-------ac7dc24bcb Adding .gitattributes to remove Tests directory from "dist"
symfony-splitter pushed a commit to symfony/mailer that referenced this pull requestSep 28, 2021
…dist" (Nyholm)This PR was merged into the 4.4 branch.Discussion----------Adding .gitattributes to remove Tests directory from "dist"| Q             | A| ------------- | ---| Branch?       | 4.4| Bug fix?      | no| New feature?  | yes| Deprecations? | no?| Tickets       || License       | MIT| Doc PR        |This is a controversial topic that have been mentioned before. We recently had some discussions on Slack about it and the community not in an agreement. This was asked back in 2014 already.Im making this PR again, because I think this will help more people than it hurts to keep the tests in the "dist" version.### Reasons for keeping the tests with the source* You can look at the tests to understand how the code works* It is convenientIn the past there were an argument of people might depend on Symfony's classes in Tests. That is no longer the case since we moved reusable classes from Tests to Test.### Reasons for removing them (merging this PR)* There should be difference between `composer update --prefer-source` and `composer update --prefer-dist`* Smaller packages when deploying with Docker or on Serverless.* Static analysis tools will not complain on PHP syntax errors in our tests ([example](https://github.com/symfony/symfony/blob/4.4/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/xml_with_wrong_ext.php))## How to decide?Merging this PR or not is tricky because no side has a solid technical argument. It is basically just personal preference. Please give this PR a 👍 or 👎 if you want to give your opinion.## Other PRs and issues related to this:Add .gitattributes file (symfony/symfony#29277)Added .gitattributes files to root and all components (symfony/symfony#26472)Exclude non-essential files from Composer package (symfony/symfony#25414)[HttpFoundation] optimize files for distribution (symfony/symfony#24427)Add .gitattributes files (symfony/symfony#23926)[Suggestion] Adding .gitattributes to ignore unnecessary folders and files for production env (symfony/symfony#20057)Add lightweight and root only .gitattributes (symfony/symfony#18004)Add .gitattributes to exclude tests from ZIPs (symfony/symfony#17995)[RFC] Move tests out of the source and source out of the tests (symfony/symfony#17749)Removal of development & testing files using .gitattributes (symfony/symfony#16174)Please add .gitattributes files and fix line endings (symfony/symfony#13521)making use of .gitattributes (symfony/symfony#11810)## WorkaroundsThere are workarounds for both sides. Example:### Workaround if merged* `composer update --prefer-source`### Workaround if closed* `find vendor/symfony -name "Tests" -type d -exec rm -r "{}" \;`*editorconfig/editorconfig#228*https://github.com/dg/composer-cleanerCommits-------ac7dc24bcb Adding .gitattributes to remove Tests directory from "dist"
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

8 participants

@jpuck@Tobion@javiereguiluz@linaori@sroze@nicolas-grekas@afurculita@carsonbot

[8]ページ先頭

©2009-2025 Movatter.jp