| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[RuboCop] Update to 0.49.1
This PR will bump RuboCop to 0.49.1. The following is a change in this PR.
## Change department from Style to Layout
Some Cop's departments have changed as follows in RuboCop 0.49.0.
It is a change related to this PR.
### .rubocop.yml
Prior Name | New Name
--- | ---
Style/AccessModifierIndentation | Layout/AccessModifierIndentation
Style/AlignParameters | Layout/AlignParameters
Style/MultilineOperationIndentation | Layout/MultilineOperationIndentation
Style/SpaceInsideBlockBraces | Layout/SpaceInsideBlockBraces
Style/DotPosition | Layout/DotPosition
### .rubocop_todo.yml
Prior Name | New Name
--- | ---
Style/EmptyLineAfterMagicComment | Layout/EmptyLineAfterMagicComment
Style/EmptyLinesAroundExceptionHandlingKeywords | Layout/EmptyLinesAroundExceptionHandlingKeywords
Style/ExtraSpacing | Layout/ExtraSpacing
Style/IndentArray | Layout/IndentArray
Style/IndentHeredoc | Layout/IndentHeredoc
Style/MultilineMethodCallIndentation | Layout/MultilineMethodCallIndentation
Style/SpaceAroundOperators | Layout/SpaceAroundOperators
Style/SpaceInsideBlockBraces | Layout/SpaceInsideBlockBraces
cf. https://github.com/bbatsov/rubocop/commit/54166bf76ba76b14f1bbc8a34165f175dbc3f227
## New Cops
The following are a new Cops added in RuboCop 0.49.0.
- [Performance/Caller](http://rubocop.readthedocs.io/en/latest/cops_performance/#performancecaller)
- [Style/FormatStringToken](http://rubocop.readthedocs.io/en/latest/cops_style/#styleformatstringtoken)
Thanks.
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | | |
Fixed broken link in docs
fixed broken link within the HOW_YOU_CAN_HELP.md file in the docs. The link is located at the bottom of the file. It is on the second to last item in the unordered list. The words to the link are: "these instructions".
|
| |/
| |
| |
| | |
used relative path instead of full url
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Tweak a newgem template for RSpec
`--require spec_helper` is contained in .rspec by default when running `rspec --init` on RSpec 3.
```sh
% rspec --version
3.5.4
% rspec --init
create .rspec
create spec/spec_helper.rb
% cat .rspec
--color
--require spec_helper
```
It seems that the code of template premise the RSpec 3, so I think that it was reasonable to adjust to it.
Related PR #5634
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Specify `--require spec_helper` in .rspec
Specifying `--require spec_helper` in .rspec will automatically require spec_helper in *_spec.rb.
It isn't necessary to specify `require "spec_helper"` in individual *_spec.rb. I think that it's a [DRY](https://en.wikipedia.org/wiki/Don't_repeat_yourself) way.
Refer: https://github.com/rspec/rspec/wiki#rspec
|
| |/ / |
|
|\ \ \
| |_|/
|/| |
| | |
| | |
| | | |
[Env] Print well-formed markdown when there are no settings
Closes #5677
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | | |
SETUP.md: add markdown code blocks to shell commands
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | | |
r=segiddins
Make the setup specs resilient agains ruby shims setting RUBYLIB
Rbenv in particular does this
|
| | | |
| | | |
| | | |
| | | | |
Rbenv in particular does this
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
[RuboCop] Update to 0.48.1
|
| | | | |
| | | | |
| | | | |
| | | | | |
Run `rubocop -a --only Style/PercentLiteralDelimiters` and `rubocop --auto-gen-config`.
|
|/ / / / |
|
|\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Print errors to stderr
As we discussed, i'm going to start porting over features from the 2-0-dev branch into feature flags.
This PR adds the feature to print bundler errors to `stderr` instead of `stdout`. I had a look to see how feature flags worked and i think i have the idea down but let me know if i missed something.
Thanks!
\cc @segiddins @indirect
|
| | | | |
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* origin/master:
Avoid Rack 1.6.7 in specs for now
Avoid re-building manpages each spec run
[Travis] Use RubyGems 2.6.12
Ensure that manpages are always built when running specs
[Rakefile] Generate man/index in man:build
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| |_|_|/ /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
[GitProxy] Force deinitializing submodules
Fixes the following test under newer git versions
```
bundle update
git sources
with submodules
unlocks the source when submodules are removed from git source
```
|
|/ / / / |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
[Rakefile] Allow making a patch release with no changes
i.e. going from a pre to a .0
|
| | |/ /
| |/| |
| | | |
| | | | |
i.e. going from a pre to a .0
|
|\ \ \ \
| |/ / /
|/| | |
| | | | |
Version 1.15.0
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Avoid Rack 1.6.7 in specs for now
See https://github.com/rack/rack/issues/1168
The above issue broke rack on 1.9.3
\c @colby-swandale
|
|/ / / /
| | | |
| | | |
| | | |
| | | | |
See https://github.com/rack/rack/issues/1168
The above issue broke rack on 1.9.3
|
|\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Ensure that manpages are always built when running specs
Fixes #5657 by ensuring manpages are always built, much like how `Spec::Rubygems.setup` ensures gem dependencies are always installed
\c @colby-swandale
|
| | | | |
|
| | | | |
|
| | | | |
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Results in the following:
```
Gemfile(5) gemfile.5
bundle(1) bundle.1
bundle-add(1) bundle-add.1
bundle-binstubs(1) bundle-binstubs.1
bundle-check(1) bundle-check.1
bundle-clean(1) bundle-clean.1
bundle-config(1) bundle-config.1
bundle-exec(1) bundle-exec.1
bundle-gem(1) bundle-gem.1
bundle-info(1) bundle-info.1
bundle-init(1) bundle-init.1
bundle-inject(1) bundle-inject.1
bundle-install(1) bundle-install.1
bundle-lock(1) bundle-lock.1
bundle-open(1) bundle-open.1
bundle-outdated(1) bundle-outdated.1
bundle-package(1) bundle-package.1
bundle-platform(1) bundle-platform.1
bundle-pristine(1) bundle-pristine.1
bundle-show(1) bundle-show.1
bundle-update(1) bundle-update.1
bundle-viz(1) bundle-viz.1
```
|
|\ \ \
| |/ /
| | |
| | | |
Version 1.15.0.pre.4
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[RubygemsIntegration] Stub out Gem.finish_resolve
Fixes https://github.com/rubygems/rubygems/issues/1911
Small novel:
In RubyGems 2.6.11, I changed `Gem.finish_resolve` to respect all of the currently resolved (i.e. `Gem.loaded_specs`) gems. This fixed some bugs that would lead `Gem.finish_resolve` to incorrectly raise gem incompatibility exceptions. That's great, except Bundler's resolver doesn't always resolve the same thing as RG's. In particular, `Source::Gemspec` gems that come from the `gemspec` DSL method are allowed to have conflicts. It appears projects, such as rails, were taking advantage of that fact. Since `stub_entrypoints` is called whenever `Bundler.setup` is run, this is essentially us 'activating' all of the gems in the bundle. Since everything is eagerly activated, it should be impossible for there to ever be any unresolved dependencies, and thus `Gem.finish_resolve` should always be a no-op anyways. We can save CPU cycles and keep our special resolution behavior for `Source::Gemspec` by just acknowledging that `Gem.finish_resolve` should always be a no-op once the bundle has been setup.
(cherry picked from commit a1925cb18c58232ba009df01478b65dfe43d51ba)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Return Bundler::StubSpec if stub is a Bundler::StubSpec
Supersedes https://github.com/bundler/bundler/pull/5593
Fixes https://github.com/bundler/bundler/issues/5592
Explanation
---
In some cases the `Gem::Specification.stubs` call in [this method](https://github.com/bundler/bundler/blob/master/lib/bundler/rubygems_integration.rb#L773-L778) in the rubygems integration returns a mixed bag of `Bundler::StubSpecification` and `Gem::StubSpecification` objects. We then instantiate `Bundler::StubSpecification` objects and set the `stub` to be both `Gem::StubSpecification` and `Bundler::StubSpecification` objects.
This happens after we tell rubygems to use our overrides [here](https://github.com/bundler/bundler/blob/master/lib/bundler/runtime.rb#L21-L24).
A `Bundler::StubSpecification` does not define `to_spec` where `Gem::StubSpecification` does. In `Bundler::StubSpecification` we assume the `stub` to be a `Gem::StubSpecification` rather than the `to_spec`-less `Bundler::StubSpecification`. This means that in `_remote_specification`, the call to `to_spec` [here](https://github.com/bundler/bundler/blob/master/lib/bundler/stub_specification.rb#L88) fails. This falls back to `method_missing` [here](https://github.com/bundler/bundler/blob/master/lib/bundler/remote_specification.rb#L96-L98) which, of course, calls `_remote_specification` (and thus an infinite failing loops occurs).
### Why did this happen in such a weird way?
We needed to use a combination of `foreman`, `unicorn`, and a call to `Gem::Specification.find_by_name(*args)` to replicate.
I suspect this was required because Bundler doesn't call these methods as much. The last call in a doubly nested `bundle exec` resulted in the issue being exasperated.
You can however replicate with this:
```ruby
gem_stub = Gem::Specification.stubs.first
bundler_stub = Bundler::StubSpecification.from_stub(gem_stub)
bundler_stub = Bundler::StubSpecification.from_stub(bundler_stub)
bundler_stub.to_spec
```
We basically got to a point where we tried calling a method that doesn't exist on a `Bundler::StubSpecification`, so `_remote_specification` was called, but that had a method which didn't exist since we had the weirdness going on described here.
It was just a very specific sequence of events that is hard to replicate.
Options
---
1. We implement `to_spec` on `Bundler::StubSpecification`, as is done in https://github.com/bundler/bundler/pull/5593
2. We assume that `stub` is a `Gem::Specification`. Therefore if we try to create a `Bundler::StubSpecification` with the stub being a `Bundler::StubSpecification`, we simply return that stub we already made instead.
Thoughts
---
1. This basically ends up making a linked list of `Bundler::StubSpecifications` where you can follow `stub` all the way up until it's no longer a `Bundler::StubSpecification`. This means that the implementation is an accidental fix as `to_spec` in #5593 actually just calls `stub.to_spec` - which, if the stub is a `Bundler:StubSpecification`, would call that `Bundler::StubSpecification`, following the list up until we find a `Gem::StubSpecification`.
2. This is the right solution IMO. This breaks the weird linked list we made by mistake and just returns the object as we'd expect. Then, when `stub.to_spec` is called in `_remote_specification`, we always know it is a `Gem::StubSpecification` which has it defined.
cc @segiddins
(cherry picked from commit 47e7dd0e93a11b40fa982aaef5eb7d35cb7c2717)
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
[Mirror] Properly handle casing of file URIs
This came up when running the bundler specs in a path that had at least 1 upper case character
```
Run options:
include {:last_run_status=>"failed"}
exclude {:rubygems_master=>true, :git=>"=< 2.9.0", :rubygems=>"=< 2.6.12", :ruby=>"=< 2.3.1", :realworld=>true, :sudo=>true}
bundle install
with bundler dependencies
$ /Users/kenrettberg/.rbenv/versions/2.3.1/bin/ruby -rubygems -S gem --backtrace generate_index
Generating Marshal quick index gemspecs for 64 gems
................................................................
Complete
Generated Marshal quick index gemspecs: 0.036s
Generating specs index
Generated specs index: 0.000s
Generating latest specs index
Generated latest specs index: 0.000s
Generating prerelease specs index
Generated prerelease specs index: 0.000s
Compressing indices
Compressed indices: 0.001s
# $? => 0
$ /Users/kenrettberg/.rbenv/versions/2.3.1/bin/ruby -I/Users/kenrettberg/opensource/bundler/lib:/Users/kenrettberg/opensource/bundler/spec -r/Users/kenrettberg/opensource/bundler/spec/support/artifice/fail.rb -rsupport/hax /Users/kenrettberg/opensource/bundler/exe/bundle install --retry 0 --no-color
Fetching source index from file:/users/kenrettberg/opensource/bundler/tmp/gems/remote2/
Resolving dependencies...
Bundler could not find compatible versions for gem "bundler":
In Gemfile:
bundler (= 0.9.2)
Current Bundler version:
bundler (1.15.0.pre.3)
This Gemfile requires a different version of Bundler.
Perhaps you need to update Bundler by running `gem install bundler`?
Could not find gem 'bundler (= 0.9.2)' in any of the sources
# $? => 6
causes a conflict if explicitly requesting a different version (FAILED - 1)
Retried examples: 0
Failures:
1) bundle install with bundler dependencies causes a conflict if explicitly requesting a different version
Failure/Error: expect(out).to eq(nice_error)
expected: "Fetching source index from file:/Users/kenrettberg/opensource/bundler/tmp/gems/remote2/\nResolving d...r by running `gem install bundler`?\n\nCould not find gem 'bundler (= 0.9.2)' in any of the sources"
got: "Fetching source index from file:/users/kenrettberg/opensource/bundler/tmp/gems/remote2/\nResolving d...r by running `gem install bundler`?\n\nCould not find gem 'bundler (= 0.9.2)' in any of the sources"
(compared using ==)
Diff:
@@ -1,4 +1,4 @@
-Fetching source index from file:/Users/kenrettberg/opensource/bundler/tmp/gems/remote2/
+Fetching source index from file:/users/kenrettberg/opensource/bundler/tmp/gems/remote2/
Resolving dependencies...
Bundler could not find compatible versions for gem "bundler":
In Gemfile:
Commands:
$ /Users/kenrettberg/.rbenv/versions/2.3.1/bin/ruby -rubygems -S gem --backtrace generate_index
Generating Marshal quick index gemspecs for 64 gems
................................................................
Complete
Generated Marshal quick index gemspecs: 0.036s
Generating specs index
Generated specs index: 0.000s
Generating latest specs index
Generated latest specs index: 0.000s
Generating prerelease specs index
Generated prerelease specs index: 0.000s
Compressing indices
Compressed indices: 0.001s
# $? => 0
$ /Users/kenrettberg/.rbenv/versions/2.3.1/bin/ruby -I/Users/kenrettberg/opensource/bundler/lib:/Users/kenrettberg/opensource/bundler/spec -r/Users/kenrettberg/opensource/bundler/spec/support/artifice/fail.rb -rsupport/hax /Users/kenrettberg/opensource/bundler/exe/bundle install --retry 0 --no-color
Fetching source index from file:/users/kenrettberg/opensource/bundler/tmp/gems/remote2/
Resolving dependencies...
Bundler could not find compatible versions for gem "bundler":
In Gemfile:
bundler (= 0.9.2)
Current Bundler version:
bundler (1.15.0.pre.3)
This Gemfile requires a different version of Bundler.
Perhaps you need to update Bundler by running `gem install bundler`?
Could not find gem 'bundler (= 0.9.2)' in any of the sources
# $? => 6
# ./spec/install/bundler_spec.rb:54:in `block (3 levels) in <top (required)>'
Finished in 2.4 seconds (files took 1.66 seconds to load)
1 example, 1 failure
Failed examples:
rspec ./spec/install/bundler_spec.rb:33 # bundle install with bundler dependencies causes a conflict if explicitly requesting a different version
```
Notice the failure is just in the casing of the path... but that path is actually a file URI that is printed by a `Mirror` instance. Tracing back that initialization led me to undoing some down casing, so hopefully this is more correct without introducing any further regressions?
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Update comments in installer that was a bit out of date
This PR just updates some comments/documentation that was written ~6 years ago that is a fair bit out of date.
Let me know if any information is incorrect.
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add specs for #find_by_name_and_platform and #merge in SpecSet
As the title says, this PR just adds a few specs that i noticed were missing in SpecSet.
|
| |/ / / / |
|