summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix markdown headers in doc/development/readmeseg-doc-header-spacingSamuel Giddins2017-05-301-4/+4
|
* Auto merge of #5686 - koic:update_rubocop_0_49_1, r=segiddinsThe Bundler Bot2017-05-304-78/+91
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [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.
| * [RuboCop] Update to 0.49.1Koichi ITO2017-05-304-78/+91
| |
* | Auto merge of #5683 - HippoDippo:master, r=segiddinsThe Bundler Bot2017-05-301-1/+1
|\ \ | | | | | | | | | | | | | | | 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".
| * | Fixed link('these instructions') in HOW_YOU_CAN_HELP.md fileHippoDippo2017-05-291-1/+1
| |/ | | | | | | used relative path instead of full url
* | Auto merge of #5635 - koic:tweak_newgem_template_for_rspec, r=indirectThe Bundler Bot2017-05-302-2/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | Tweak a newgem template for RSpecKoichi ITO2017-05-032-2/+1
| | |
* | | Auto merge of #5634 - koic:specify_require_spec_helper_in_dot_rspec, r=indirectThe Bundler Bot2017-05-30147-146/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | Specify `--require spec_helper` in .rspecKoichi ITO2017-05-03147-146/+1
| |/ /
* | | Auto merge of #5679 - bundler:seg-env-no-settings, r=indirectThe Bundler Bot2017-05-291-6/+8
|\ \ \ | |_|/ |/| | | | | | | | | | | [Env] Print well-formed markdown when there are no settings Closes #5677
| * | [Env] Print well-formed markdown when there are no settingsseg-env-no-settingsSamuel Giddins2017-05-251-6/+8
| | |
* | | Auto merge of #5684 - bundler:colby/setup-doc-formatting, r=segiddinsThe Bundler Bot2017-05-291-5/+5
|\ \ \ | | | | | | | | | | | | SETUP.md: add markdown code blocks to shell commands
| * | | SETUP.md: add markdown code blocks to shell commandscolby/setup-doc-formattingColby Swandale2017-05-291-5/+5
| | | |
* | | | Auto merge of #5675 - bundler:seg-specs-resilient-against-rubylib-shims, ↵The Bundler Bot2017-05-291-2/+4
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | r=segiddins Make the setup specs resilient agains ruby shims setting RUBYLIB Rbenv in particular does this
| * | | Make the setup specs resilient agains ruby shims setting RUBYLIBseg-specs-resilient-against-rubylib-shimsSamuel Giddins2017-05-231-2/+4
| | | | | | | | | | | | | | | | Rbenv in particular does this
* | | | Auto merge of #5645 - koic:update_rubocop_0_48_1, r=indirectThe Bundler Bot2017-05-2856-219/+215
|\ \ \ \ | | | | | | | | | | | | | | | [RuboCop] Update to 0.48.1
| * | | | [RuboCop] Enable Style/PercentLiteralDelimitersKoichi ITO2017-05-2855-210/+204
| | | | | | | | | | | | | | | | | | | | Run `rubocop -a --only Style/PercentLiteralDelimiters` and `rubocop --auto-gen-config`.
| * | | | [RuboCop] Update to 0.48.1Koichi ITO2017-05-283-16/+18
|/ / / /
* | | | Auto merge of #5665 - bundler:colby/stderr-feature, r=indirectThe Bundler Bot2017-05-275-2/+62
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | use Settings.temporary to set error_on_stderr feature flag in rspeccolby/stderr-featureColby Swandale2017-05-231-1/+1
| | | |
| * | | remove colors if printing errors to stderr without a tty availableColby Swandale2017-05-232-2/+4
| | | |
| * | | fix newline not being added correctly when printing to stderrColby Swandale2017-05-212-1/+4
| | | |
| * | | Merge remote-tracking branch 'origin/master' into colby/stderr-featureColby Swandale2017-05-175-19/+37
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
| * | | | stderr feature flag is notw error_on_stderrColby Swandale2017-05-175-5/+5
| | | | |
| * | | | fix not checking error level before printing to stderrColby Swandale2017-05-172-1/+6
| | | | |
| * | | | document stderr configColby Swandale2017-05-161-0/+2
| | | | |
| * | | | add print error to stderr featureColby Swandale2017-05-164-0/+48
| | | | |
* | | | | Auto merge of #5673 - bundler:seg-force-submodule-deinit, r=indirectThe Bundler Bot2017-05-231-1/+1
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [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 ```
| * | | | [GitProxy] Force deinitializing submodulesseg-force-submodule-deinitSamuel Giddins2017-05-231-1/+1
|/ / / /
* | | | Auto merge of #5671 - bundler:seg-release-no-changes, r=segiddinsThe Bundler Bot2017-05-191-1/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | [Rakefile] Allow making a patch release with no changes i.e. going from a pre to a .0
| * | | | [Rakefile] Allow making a patch release with no changesseg-release-no-changesSamuel Giddins2017-05-191-1/+2
| | |/ / | |/| | | | | | | | | | i.e. going from a pre to a .0
* | | | Merge tag 'v1.15.0'Samuel Giddins2017-05-192-1/+5
|\ \ \ \ | |/ / / |/| | | | | | | Version 1.15.0
| * | | Version 1.15.0 with changelogv1.15.0Samuel Giddins2017-05-192-1/+5
| | | |
* | | | Auto merge of #5667 - bundler:seg-spec-rack-avoid-1.6.7, r=colby-swandaleThe Bundler Bot2017-05-161-1/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | Avoid Rack 1.6.7 in specs for nowseg-spec-rack-avoid-1.6.7Samuel Giddins2017-05-161-1/+3
|/ / / / | | | | | | | | | | | | | | | | See https://github.com/rack/rack/issues/1168 The above issue broke rack on 1.9.3
* | | | Auto merge of #5660 - bundler:seg-ensure-man, r=colby-swandaleThe Bundler Bot2017-05-144-18/+34
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | 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
| * | | Avoid re-building manpages each spec runseg-ensure-manSamuel Giddins2017-05-131-1/+1
| | | |
| * | | [Travis] Use RubyGems 2.6.12Samuel Giddins2017-05-131-1/+1
| | | |
| * | | Ensure that manpages are always built when running specsSamuel Giddins2017-05-122-0/+14
| | | |
| * | | [Rakefile] Generate man/index in man:buildSamuel Giddins2017-05-122-17/+19
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ```
* | | Merge tag 'v1.15.0.pre.4'Samuel Giddins2017-05-102-1/+8
|\ \ \ | |/ / | | | | | | Version 1.15.0.pre.4
| * | Version 1.15.0.pre.4 with changelogv1.15.0.pre.4Samuel Giddins2017-05-102-1/+8
| | |
| * | Auto merge of #5637 - bundler:seg-gem-finish-resolve, r=indirectThe Bundler Bot2017-05-102-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [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)
| * | Auto merge of #5630 - bundler:jules2689-bundler-stub-spec, r=segiddinsThe Bundler Bot2017-05-102-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* | | Auto merge of #5650 - bundler:seg-mirror-file-uri-case, r=indirectThe Bundler Bot2017-05-103-3/+20
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [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?
| * | | [Mirror] Properly handle casing of file URIsseg-mirror-file-uri-caseSamuel Giddins2017-05-093-3/+20
| | | |
* | | | Auto merge of #5646 - bundler:colby/installer-documetnation, r=segiddinsThe Bundler Bot2017-05-101-12/+15
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | update comments in installer that was a bit out of datecolby/installer-documetnationColby Swandale2017-05-091-12/+15
| | | | |
* | | | | Auto merge of #5647 - bundler:colby/spec-set-specs, r=segiddinsThe Bundler Bot2017-05-091-0/+35
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | add specs for #find_by_name_and_platform and #merge in SpecSetcolby/spec-set-specsColby Swandale2017-05-091-0/+35
| |/ / / /