summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Update changelog for 1.11.0.pre.1v1.11.0.pre.1Samuel Giddins2015-11-292-1/+64
|
* Merge pull request #4129 from JuanitoFatas/doc/lock-update-optionSamuel E. Giddins2015-11-281-2/+19
|\ | | | | Documents lock command's `--update` option
| * Documents lock command's `--update` option [ci skip].JuanitoFatas2015-11-281-2/+19
|/
* Auto merge of #4127 - TimMoore:comment-on-git-vs-https-github-urls, r=segiddinsHomu2015-11-281-0/+13
|\ | | | | | | | | | | | | | | Explain why we don't use HTTPS for github sources There are frequent pull requests proposing this change, which has already been merged to 2-0-dev. Hopefully, this will help avoid so much wasted time.
| * Explain why we don't use HTTPS for github sourcesTim Moore2015-11-281-0/+13
|/ | | | | There are frequent pull requests proposing this change, which has already been merged to 2-0-dev.
* Auto merge of #4124 - bundler:seg-rubocop, r=indirectHomu2015-11-2769-469/+296
|\ | | | | | | More rubocop_todo cleanup
| * [RuboCop] Enable Lint/NonLocalExitFromIteratorseg-rubocopSamuel Giddins2015-11-262-6/+1
| |
| * [RuboCop] Disable Style/MultilineBlockChainSamuel Giddins2015-11-262-5/+3
| |
| * [RuboCop] Enable Style/SingleLineBlockParamsSamuel Giddins2015-11-262-6/+3
| |
| * [RuboCop] Enable Style/ParallelAssignmentSamuel Giddins2015-11-266-23/+26
| |
| * [RuboCop] Enable Style/MultilineOperationIndentationSamuel Giddins2015-11-263-9/+3
| |
| * [RuboCop] Enable Style/IfUnlessModifierSamuel Giddins2015-11-2613-72/+18
| |
| * [RuboCop] Enable Style/EmptyLinesAroundModuleBodySamuel Giddins2015-11-2610-25/+0
| |
| * [RuboCop] Enable Style/EmptyElseSamuel Giddins2015-11-263-12/+0
| |
| * [RuboCop] Enable Style/NextSamuel Giddins2015-11-268-92/+69
| |
| * [RuboCop] Enable Style/PercentLiteralDelimitersSamuel Giddins2015-11-2634-75/+69
| |
| * [RuboCop] Disable Style/PerlBackrefsSamuel Giddins2015-11-262-13/+3
| |
| * [RuboCop] Enable Style/CaseIndentationSamuel Giddins2015-11-262-18/+12
| |
| * [RuboCop] Enable Style/BlockDelimitersSamuel Giddins2015-11-2618-54/+48
| |
| * [RuboCop] Enable Style/AndOrSamuel Giddins2015-11-2611-32/+16
| |
| * [RuboCop] Enable Style/RedundantSelfSamuel Giddins2015-11-268-19/+7
| |
| * [RuboCop] Enable Style/RescueModifierSamuel Giddins2015-11-266-16/+26
| |
* | Auto merge of #4114 - smellsblue:restrict-gemspec-platforms, r=segiddinsHomu2015-11-273-1/+43
|\ \ | | | | | | | | | | | | | | | | | | | | | Restrict platforms when using gemspec in DSL When referencing a `gemspec` in the `Gemfile`, restrict what platforms to check against to just those defined by the `gemspec` itself. This fixes #4102
| * | When loading a gem from a gemspec, restrict to the platforms defined in the ↵Mike Virata-Stone2015-11-183-1/+43
| | | | | | | | | | | | | | | | | | gemspec This fixes #4102
* | | Auto merge of #4105 - JuanitoFatas:feature/lock-takes-gems, r=indirectHomu2015-11-273-4/+18
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [Lock] Add support for specify gems to `bundle lock` command This Pull Request adds the ability to specify gems in bundle lock command via command-line option, so that this is allowed: ``` bundle lock --gems devise ``` or ``` bundle lock --gems devise ominiauth ``` In this way, we can use lock command for specific gems without downloading any gem. Thanks!
| * | | Add support for specify gems via --update option for `bundle lock` commandJuanitoFatas2015-11-173-4/+18
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds the ability to specify gems in `bundle lock` command via `--update` option. After this commit, if no list is given: ``` bundle lock --update ``` will update all gems. Or update a list of specified gems: ``` bundle lock --update devise ominiauth ``` In this way, we can use lock command for specific gems without downloading any gem.
* | | Auto merge of #4103 - jingweno:master, r=indirectHomu2015-11-272-5/+12
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Retry `Fetcher#specs` with `Bundler::Retry` As mentioned in https://github.com/heroku/heroku-buildpack-ruby/pull/435, bundler failed at the step of fetching version metadata: ``` Fetching version metadata from https://rubygems.org/Net::HTTPInternalServerError: <?xml version=\"1.0\" encoding=\"UTF-8\"?> <Error><Code>InternalError</Code><Message>We encountered an internal error. Please try again.</Message><RequestId>E7402EA19C5D6803</RequestId><HostId>hzuvaA1JAZX6ST+OL4ARYeAqZ/tgkM2yOjZgBq6Panu10YzWtfNNozOg8N5qR3gxFE/sUfYGP48=</HostId></Error> ``` It turns out the retry logic doesn’t cover fetching source index, gem metadata, version metadata and dependency metadata. A new method `Fetcher#specs_with_retry` is added to wrap `Fetcher#specs` with `Bundler::Retry` which reties when bundler fails in the mentioned cases. /cc @schneems
| * | | Retry `Fetcher#specs` with `Bundler::Retry`Jingwen Owen Ou2015-11-112-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As mentioned in https://github.com/heroku/heroku-buildpack-ruby/pull/435, bundler failed at the step of fetching version metadata: ``` Fetching version metadata from https://rubygems.org/Net::HTTPInternalServerError: <?xml version=\"1.0\" encoding=\"UTF-8\"?> <Error><Code>InternalError</Code><Message>We encountered an internal error. Please try again.</Message><RequestId>E7402EA19C5D6803</RequestId><HostId>hzuvaA1JAZX6ST+OL4ARYeAqZ/tgkM2yOjZgBq6Panu10YzWtfNNozOg8N5qR3gxFE/sUfYGP48=</HostId></Error> ``` It turns out the retry logic doesn’t cover fetching source index, gem metadata, version metadata and dependency metadata. A new method `Fetcher#specs_with_retry` is added to wrap `Fetcher#specs` with `Bundler::Retry` which reties when bundler fails in the mentioned cases.
* | | | Auto merge of #4021 - jaym:bin-move, r=segiddinsHomu2015-11-272-1/+17
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use exe instead of bin for BUNDLE_BIN_PATH fallback Looks like these got moved. I'm having a hard time getting this to actually fail in the tests. Here's a gist of something that fails: Gemfile ---------- ```ruby source 'https://rubygems.org' gem 'rake' ``` Rakefile ----------- ```ruby desc "foo" task :foo do sh 'bundle -v' end ``` > bundle install > bundle install --deployment > bundle exec rake foo ``` bundle -v /Users/jmundrawala/.rbenv/versions/2.1.2/bin/bundle:23:in `load': cannot load such file -- /Users/jmundrawala/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.10.6/bin/bundle (LoadError) from /Users/jmundrawala/.rbenv/versions/2.1.2/bin/bundle:23:in `<main>' rake aborted! Command failed with status (1): [bundle -v...] /Users/jmundrawala/workspace/bundler/foo/Rakefile:4:in `block in <top (required)>' Tasks: TOP => foo (See full trace by running task with --trace) ```
| * | | | Add spec to make sure we can call bundler from a bundle execd programJay Mundrawala2015-10-201-0/+16
| | | | |
| * | | | Use exe instead of bin for BUNDLE_BIN_PATH fallbackJay Mundrawala2015-10-191-1/+1
| | | | |
* | | | | Auto merge of #4120 - CoralineAda:contributor_covenant_1_3_0, r=indirectHomu2015-11-272-13/+42
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updates Contributor Covenant to 1.3.0 The code of conduct template also now inserts email address for contact purposes.
| * | | | | Updates Contributor Covenant to 1.3.0CoralineAda2015-11-242-13/+42
| | |_|_|/ | |/| | | | | | | | The code of conduct template also now inserts email address for contact purposes.
* | | | | Auto merge of #4123 - bundler:seg-fix-realworld-specs, r=segiddinsHomu2015-11-271-3/+4
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | Fix edgecases spec for new gxapi_rails version \c @indirect
| * | | | Fix edgecases spec for new gxapi_rails versionSamuel Giddins2015-11-261-3/+4
|/ / / /
* | | | Auto merge of #4113 - blackxored:silence-root-warning, r=segiddinsHomu2015-11-224-5/+33
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Check silence_root_warning option to skip warning on root install cmds Adds a new setting `silence_root_warning` (environment variable: `BUNDLE_SILENCE_ROOT_WARNING`) that skips the default warning when `install` is run as root. The warning is useful but I think it should be able to be disabled if the user knows what he's doing, it's handy when run inside Docker containers (which by default run as root), or other environments where root is used. Also adds a new `preserve_env` option to `bundle` helper in tests which allows running commands under sudo with the `-E` flag (preserve environment) as opposed to the default env_reset. Without this, the command would be run without our flag which makes it impossible to test. There might be cleaner ways to achieve this, though.
| * | | | Promote silence_root_warning to Bundler.settings option, fix style issuesAdrian Perez2015-11-184-9/+22
| | | | |
| * | | | Check SILENCE_ROOT_WARNING env to skip warning on root install cmdsAdrian Perez2015-11-173-4/+19
| | | | |
* | | | | Auto merge of #4110 - felixbuenemann:fix-bundle-console-irb-fallback, ↵Homu2015-11-223-5/+51
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r=segiddins Fix bundle console IRB fallback The fallback to IRB for `bundle console` is currently broken, due to a missing `require 'irb'`: ```bash bundle config console pry bundle console Couldn't load console pry Could not find constant IRB ``` This fixes the fallback and also alters the error message to indicate the fallback to irb. While investigating the fix I noticed that the `bundle console` specs were broken and only worked because the expected strings were both contained in the error message. In order to test an alternate console and the fallback behavior, I added a fake pry gem that implements the minimum required api. I also replaced `__callee__` with `__method__` for ruby 1.8.7 compatibility.
| * | | | | Fix `bundle console` IRB fallbackFelix Bünemann2015-11-161-1/+2
| | | | | |
| * | | | | Fix bundle console specsFelix Bünemann2015-11-162-4/+49
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous specs only worked by accident, because the error message "Couldn't load pry\nCould not find constant IRB\n" contained both of the strings expected by the assertions. In order to test loading an alternate console without adding a permanent dependency, we can use a fake pry gem that implements the minimum required api.
* | | | | Auto merge of #4117 - bundler:seg-rubocop-0.35.1, r=segiddinsHomu2015-11-223-13/+23
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | [RuboCop] Update to 0.35.1
| * | | | | [RuboCop] Update to 0.35.1seg-rubocop-0.35.1Samuel Giddins2015-11-213-13/+23
|/ / / / /
* | | | | Auto merge of #4063 - A5308Y:master, r=segiddinsHomu2015-11-188-67/+102
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extracting a new "GemInstaller" from installer.rb My goal was to reveal the main part of install_gem_from_spec. From my perspective the main part is: 1. Install 2. Generate stubs 3. Print message to the user (4. handle exceptions) While working on it I found that Bundler::Installer's run method and instance variables weren't used when installing gems with install_gem_from_spec. The installer was (and still is) only used to generate executable stubs. So I inserted the new GemInstaller in ParallelInstaller; passing the instantiated Bundler::Installer to the GemInstaller only to generate the executable stubs. Based on this I would continue by extracting two BinstubGenerator classes and removing GemInstaller's dependency on Bundler::Installer, possibly allowing for a more concise way to generate binstubs in other parts of bundler. I was a bit intimidated by the amount of installers and weary to add another one to this contested namespace. So I checked in with @indirect who approved of the general direction of the refactoring and suggested to rename the old GemInstaller to RubyGemsGemInstaller.
| * | | | My goal was to reveal the main part of install_gem_from_spec. From myAndreas Hellwig2015-10-278-67/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | perspective the main part is: 1. Install 2. Generate stubs 3. Print message to the user (4. handle exceptions) While working on it I found that Bundler::Installer's run method and instance variables weren't used when installing gems with install_gem_from_spec. The installer was (and still is) only used to generate executable stubs. So I inserted the new GemInstaller in ParallelInstaller; passing the instantiated Bundler::Installer to the GemInstaller only to generate the executable stubs. Based on this I would continue by extracting two BinstubGenerator classes and removing GemInstaller's dependency on Bundler::Installer, possibly allowing for a more concise way to generate binstubs in other parts of bundler. I was a bit intimidated by the amount of installers and weary to add another one to this contested namespace. So I checked in with @indirect who approved of the general direction of the refactoring and suggested to rename the old GemInstaller to RubyGemsGemInstaller.
* | | | | Merge pull request #4108 from JuanitoFatas/doc/man-bundle-lockAndré Arko2015-11-171-0/+30
|\ \ \ \ \ | |_|/ / / |/| | | | Add a basic bundle lock manual [ci skip]
| * | | | Add a basic bundle lock manual [ci skip]JuanitoFatas2015-11-131-0/+30
|/ / / /
* | | | Auto merge of #4080 - toolmantim:patch-1, r=segiddinsHomu2015-11-131-1/+2
|\ \ \ \ | | | | | | | | | | | | | | | Clarify the documentation for --jobs
| * | | | Clarify the documentation for --jobsTim Lucas2015-11-051-1/+2
| |/ / /
* | | | Auto merge of #4091 - smellsblue:full-index-x-gemfile-source, r=segiddinsHomu2015-11-126-38/+83
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Send X-Gemfile-Source when bundling with --full-index This fixes #4090 I did a little refactoring that made sense to me along the way, but if I went too far or might be breaking something I'm not aware of, please let me know. **Existing issue:** This doesn't fix bundling with full index when using Rubygems < 2.0, as that code path seemed a bit trickier to fix. I added a *TODO* comment at the relevant method. I thought of a couple possibilities: * Subclass `Gem::SpecFetcher` like `Bundler::GemRemoteFetcher`, it seems like it might be as simple as calling the super constructor and then replace `@fetcher` with a `Bundler::GemRemoteFetcher` with the headers added ahead of time (see https://github.com/rubygems/rubygems/blob/v1.8.30/lib/rubygems/spec_fetcher.rb#L66). This may involve different solutions the further back in Rubygems you go. * Use the newer implementation of `fetch_all_remote_specs` for older Rubygems as well (I don't know if that would work though, but it might be worth a try). I haven't yet added additional specs for this, but I wanted to get this out there first to get some feedback if possible.