This repository was archived by the owner on Apr 14, 2021. It is now read-only.
Check that Bundler::Deprecate is not an autoload constant#6692
Merged
bundlerbot merged 1 commit intorubygems:masterfrom Sep 10, 2018
Merged
Check that Bundler::Deprecate is not an autoload constant#6692bundlerbot merged 1 commit intorubygems:masterfrom
bundlerbot merged 1 commit intorubygems:masterfrom
Conversation
* Otherwise, it should be defined by this file. * The issue is bundler/deprecate.rb checks `defined? Bundler::Deprecate` and this would normally return true since an autoload is defined for that constant. But since the autoload file is #require-d explicitly (by bundler/psyched_yaml and bundler/shared_helpers), MRI makes it undefined to save this pattern. This however requires a complex autoload implementation and is confusing to debug, so let's simplify. * Related to rubygems#6163 and rubinius/rubinius#3769.
Contributor
|
Cool, thanks! @bundlerbot r+ |
Collaborator
|
📌 Commit 667ba5b has been approved by |
Collaborator
bundlerbot
added a commit
that referenced
this pull request
Sep 10, 2018
…egiddins Check that Bundler::Deprecate is not an autoload constant * Otherwise, it should be defined by this file. * The issue is bundler/deprecate.rb checks `defined? Bundler::Deprecate` and this would normally return true since an autoload is defined for that constant. But since the autoload file is #require-d explicitly (by bundler/psyched_yaml and bundler/shared_helpers), MRI makes it undefined to save this pattern. This however requires a complex autoload implementation and is confusing to debug, so let's simplify. * Related to #6163 and rubinius/rubinius#3769. ### What was the end-user problem that led to this PR? Bundler fails in TruffleRuby without this change. We plan to fix this case in TruffleRuby, but since at least 2 Ruby implementations did not expect such a corner case, we should make the code simpler since it's easy enough in this case. ### What was your diagnosis of the problem? See above. ### Why did you choose this fix out of the possible options? It's simple and does not break if an extra `require "bundler/deprecate"` is later added in the codebase.
Collaborator
|
☀️ Test successful - status-travis |
Contributor
Author
|
Could this also be backported to 1.16.x? |
colby-swandale
pushed a commit
that referenced
this pull request
Sep 14, 2018
…egiddins Check that Bundler::Deprecate is not an autoload constant * Otherwise, it should be defined by this file. * The issue is bundler/deprecate.rb checks `defined? Bundler::Deprecate` and this would normally return true since an autoload is defined for that constant. But since the autoload file is #require-d explicitly (by bundler/psyched_yaml and bundler/shared_helpers), MRI makes it undefined to save this pattern. This however requires a complex autoload implementation and is confusing to debug, so let's simplify. * Related to #6163 and rubinius/rubinius#3769. ### What was the end-user problem that led to this PR? Bundler fails in TruffleRuby without this change. We plan to fix this case in TruffleRuby, but since at least 2 Ruby implementations did not expect such a corner case, we should make the code simpler since it's easy enough in this case. ### What was your diagnosis of the problem? See above. ### Why did you choose this fix out of the possible options? It's simple and does not break if an extra `require "bundler/deprecate"` is later added in the codebase. (cherry picked from commit 02af3c2)
colby-swandale
pushed a commit
that referenced
this pull request
Sep 18, 2018
* 1-16-stable: Version 1.16.5 with changelog scope TruffleRuby platform specs to be RubyGems >= 2.1.0 Auto merge of #6689 - bundler:colby/fix-bundler-load-error, r=colby-swandale Auto merge of #6695 - bundler:segiddins/6684-gvp-prefer-non-pres, r=colby-swandale Auto merge of #6693 - eregon:truffleruby, r=colby-swandale Auto merge of #6692 - eregon:simplify-autoload-require-deprecate, r=segiddins Auto merge of #6688 - voxik:check-search, r=colby-swandale Auto merge of #6682 - bundler:bundle_env_formatting, r=colby-swandale Auto merge of #6675 - MaxLap:master, r=greysteil Auto merge of #6669 - ChrisBr:fix_dep_proxy, r=segiddins Auto merge of #6664 - greysteil:avoid-printing-git-error, r=colby-swandale
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
defined? Bundler::Deprecateand this would normally return true since an autoload is defined for
that constant. But since the autoload file is #require-d explicitly
(by bundler/psyched_yaml and bundler/shared_helpers), MRI makes it
undefined to save this pattern. This however requires a complex
autoload implementation and is confusing to debug, so let's simplify.
What was the end-user problem that led to this PR?
Bundler fails in TruffleRuby without this change.
We plan to fix this case in TruffleRuby, but since at least 2 Ruby implementations did not expect such a corner case, we should make the code simpler since it's easy enough in this case.
What was your diagnosis of the problem?
See above.
Why did you choose this fix out of the possible options?
It's simple and does not break if an extra
require "bundler/deprecate"is later added in the codebase.