summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Update the dependency fetcher spec to pass in a flat array of gem namesseg-sort-dep-api-gem-namesSamuel Giddins2016-10-091-2/+2
|
* [Fetcher::Dependency] Sort gem names in query stringSamuel Giddins2016-10-091-1/+1
|
* Auto merge of #5064 - bundler:aa-debug-etag-mismatch, r=indirectHomu2016-10-092-14/+17
|\ | | | | | | | | | | | | | | | | | | change checksum warning to debug print This was super helpful when the server was continuously returning bad checksums, but it’s a scary warning to see anytime we update the versions file. And we’re going to need to update the versions file at least twice a year, so it seems like a good idea to head off users worrying about a message that is actually things working as intended.
| * clearer objects, fix fetch_url typoaa-debug-etag-mismatchAndre Arko2016-10-081-4/+7
| |
| * change checksum warning to debug printAndre Arko2016-10-071-1/+1
| | | | | | | | | | | | | | This was super helpful when the server was continuously returning bad checksums, but it’s a scary warning to see anytime we update the versions file. And we’re going to need to update the versions file at least twice a year, so it seems like a good idea to head off users worrying about a message that is actually things working as intended.
| * make lambda an object with explicit attributesAndre Arko2016-10-071-9/+8
| |
| * unless var.nil? → if varAndre Arko2016-10-071-2/+2
| |
| * begin/end so the indentation matches the endsAndre Arko2016-10-071-1/+2
|/
* Auto merge of #4841 - AirRefund:master, r=chrismoHomu2016-10-063-28/+187
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Better gem outdated list Hi, the current version of bundler is listing all gems with the group, I improve these list grouping the gems by group and not repeat the group every line. Current: ``` Outdated gems included in the bundle: * aasm (newest 4.11.0, installed 3.4.0, requested = 3.4.0) in group "default" * activerecord-import (newest 0.15.0, installed 0.13.0) in group "default" * annotate (newest 2.7.1, installed 2.7.0) in group "development" * authority (newest 3.2.0, installed 3.0.0, requested ~> 3.0.0) in group "default" * awesome_print (newest 1.7.0, installed 1.2.0, requested ~> 1.2.0) in groups "development, test" * aws-sdk (newest 2.5.1, installed 1.60.2, requested ~> 1.60.2) in group "default" * bootstrap-sass (newest 3.3.7, installed 3.3.5.1, requested ~> 3.3.5.1) in group "default" * capybara (newest 2.7.1, installed 2.5.0, requested ~> 2.4) in group "test" * capybara-email (newest 2.5.0, installed 2.4.0) in group "test" * codeclimate-test-reporter (newest 0.6.0, installed 0.4.7) in group "test" * coffee-rails (newest 4.2.1, installed 4.0.1, requested ~> 4.0.0) in group "default" * countries (newest 1.2.5, installed 0.9.3, requested ~> 0.9.3) in group "default" * country_select (newest 2.5.2, installed 2.1.1) in group "default" * dalli (newest 2.7.6, installed 2.7.4) in group "default" ``` Better group: ``` $ bundle outdated ===== Group default ===== * addressable (newest 2.4.0, installed 2.3.8) * puma (newest 3.6.0, installed 2.10.2, requested ~> 2.10.2) * rails-assets-Sortable (newest 1.4.2, installed 0.7.1, requested ~> 0.7.1) * rails-assets-jquery-file-upload (newest 9.12.5, installed 9.7.0, requested = 9.7.0) * rails-assets-jquery-ui (newest 1.12.0, installed 1.11.0, requested = 1.11.0) * rails-assets-superagent (newest 2.1.0, installed 0.21.0, requested ~> 0.21.0) * rollbar (newest 2.12.0, installed 2.7.1, requested ~> 2.0) * sidekiq-pro (newest 3.3.2, installed 3.3.1) ===== Group development ===== * brakeman (newest 3.3.3, installed 3.1.0) ===== Group development, test ===== * pry (newest 0.10.4, installed 0.10.3) * pry-doc (newest 0.9.0, installed 0.8.0) * rspec (newest 3.5.0, installed 3.3.0, requested ~> 3.0) * rspec-support (newest 3.5.0, installed 3.3.0) * rubocop-rspec (newest 1.4.0, installed 1.3.1) ===== Without group ===== * babel-source (newest 5.8.35, installed 5.8.34) * execjs (newest 2.7.0, installed 2.6.0) * hashie (newest 3.4.4, installed 3.3.1) * ice_nine (newest 0.11.2, installed 0.11.1) * mini_portile2 (newest 2.1.0, installed 2.0.0) * minitest (newest 5.9.0, installed 5.8.4) * multi_json (newest 1.12.1, installed 1.11.2) * multipart-post (newest 2.0.0, installed 1.2.0) * rails-assets-blueimp-canvas-to-blob (newest 3.3.0, installed 2.1.1) * rails-assets-blueimp-load-image (newest 2.6.1, installed 1.13.0) * rails-assets-blueimp-tmpl (newest 3.4.0, installed 2.5.4) * rails-assets-jquery (newest 3.1.0, installed 2.1.4) * rake (newest 11.2.2, installed 10.5.0) * rdoc (newest 4.2.2, installed 4.2.0) ``` Regards
| * Better gem outdated list grouped by groups.Guillermo Guerrero2016-10-063-28/+187
|/ | | | | | | | | | | | Restore default outdated. Added command in cli: - bundle outdated --groups Added --group option. Groups with alphabetical order. Added test. Reverted.
* Auto merge of #5043 - bundler:aa-use-tmp, r=segiddinsHomu2016-10-052-1/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | use /tmp for mktmpdir As we noticed in #4519, we need to use a temporary directory to hold compact index downloads so that multiple processes don't write to the same files at the same time and break everything. The fix for that was #4561, which added temporary directories to hold all files as they download, and then uses the (atomic) `FileUtils.cp` to move the completed downloads into place, so there is never a point where multiple processes are trying to write into the file at once. Unfortunately, using `Dir.mktmpdir` requires that the parent directory be _either_ world writable or sticky, but not both. Based on #4599, it looks like it's common for home directories to be both world writable and sticky. While that's a security problem by itself, it's not a big concern for Bundler and the compact index. So we want to let users continue to use Bundler, even with the compact index, without having to change the permissions on their home directories. This commit changes the `mktmpdir` call to create the temporary directory inside the default OS tempdir, which is typically `/tmp` or `/var/tmp` depending on distro. Since that directory is designed to hold other temporary directories, that change should (theoretically) reduce or eliminate the problem reported in #4599.
| * spec for tmp change that fails on masteraa-use-tmpAndre Arko2016-10-041-0/+8
| |
| * use /tmp for mktmpdirAndre Arko2016-10-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As we noticed in #4519, we need to use a temporary directory to hold compact index downloads so that multiple processes don't write to the same files at the same time and break everything. The fix for that was #4561, which added temporary directories to hold all files as they download, and then uses the (atomic) `FileUtils.cp` to move the completed downloads into place, so there is never a point where multiple processes are trying to write into the file at once. Unfortunately, using `Dir.mktmpdir` requires that the parent directory be _either_ world writable or sticky, but not both. Based on #4599, it looks like it's common for home directories to be both world writable and sticky. While that's a security problem by itself, it's not a big concern for Bundler and the compact index. So we want to let users continue to use Bundler, even with the compact index, without having to change the permissions on their home directories. This commit changes the `mktmpdir` call to create the temporary directory inside the default OS tempdir, which is typically `/tmp` or `/var/tmp` depending on distro. Since that directory is designed to hold other temporary directories, that change should (theoretically) reduce or eliminate the problem reported in #4599.
* | Auto merge of #5045 - chrismo:lock_conservative_updates, r=indirectHomu2016-10-055-7/+72
|\ \ | |/ |/| | | | | | | | | | | | | | | | | Add conservative update options to bundle lock Fix #4912. The bundle lock command produces a lockfile same as bundle update but won't install all the gems. If the `--update` option is fed to `bundle lock` you can also specify the `--patch`, `--minor`, `--major` and `--strict` options added to `bundle update` in 1.13.
| * Add conservative update options to bundle lockchrismo2016-10-045-7/+72
|/ | | | | | | | | Fix #4912. The bundle lock command produces a lockfile same as bundle update but won't install all the gems. If the `--update` option is fed to `bundle lock` you can also specify the `--patch`, `--minor`, `--major` and `--strict` options added to `bundle update` in 1.13.
* Auto merge of #5042 - bundler:remove-permafailing-build, r=indirectHomu2016-10-031-5/+1
|\ | | | | | | | | | | Remove build that always fails In retrospect, once this build started always failing, we should have just removed it rather than moved it to allowed failures. I guess I was hoping it would get better. :/
| * remove always-failing 1.8.7 buildremove-permafailing-buildAndre Arko2016-10-021-5/+1
| |
* | Auto merge of #5028 - bundler:seg-settings-only-ruby-platform, r=indirectHomu2016-10-0312-11/+34
|\ \ | | | | | | | | | | | | | | | | | | | | | Add a setting for forcing only the ruby platform See https://github.com/bundler/bundler/pull/4895. Closes https://github.com/bundler/bundler/issues/4813.
| * | Rename to force_ruby_platformseg-settings-only-ruby-platformAndre Arko2016-10-025-5/+5
| | |
| * | Add a spec for only_ruby_platformSamuel Giddins2016-09-273-1/+18
| | |
| * | Add a setting for forcing only the ruby platformSamuel Giddins2016-09-279-10/+16
| | |
* | | Auto merge of #5010 - ↵Homu2016-10-032-2/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | aycabta:use-require-instead-of-autoload-for-plugin-api, r=indirect [workaround] Use `require` instead of `autoload` for bundler/plugin/api Please read https://github.com/bundler/bundler/pull/4981#issuecomment-248674155. > But it's elusive reproduction (and lack of test case) makes me think that the problem is a bit deeper and may recur. I think so. This Pull Request is just *workaround*.
| * | | Use `require` instead of `autoload` for bundler/plugin/apiCode Ass2016-09-162-2/+2
| | | |
* | | | Auto merge of #4954 - bundler:seg-load-gem-plugins-on-install, r=indirectHomu2016-10-034-6/+5
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | [Installer] Load gem plugins when installing Closes #2824 I think
| * | | | [Installer] Load gem plugins when installingseg-load-gem-plugins-on-installSamuel Giddins2016-09-074-6/+5
| | | | |
* | | | | Auto merge of #5036 - bundler:seg-specs-no-spaces, r=indirectHomu2016-10-031-0/+4
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | Fail fast in the specs when running from a path with special characters \c @indirect
| * | | | Fail fast in the specs when running from a path with special charactersseg-specs-no-spacesSamuel Giddins2016-09-301-0/+4
| | | | |
* | | | | Auto merge of #5035 - bundler:1_13_2_changelog_edit, r=indirectHomu2016-10-011-1/+1
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | Change changelog on #4974 It's more accurate to say what was fixed that was broken. The prior text, "invoking bundler with binstubs generated by RubyGems 2.6.2+" was required to keep what was fixed in 1.13 still fixed.
| * | | | Change changelog on #49741_13_2_changelog_editchrismo2016-09-301-1/+1
|/ / / / | | | | | | | | It's more accurate to say what was fixed that was broken. The prior text, "invoking bundler with binstubs generated by RubyGems 2.6.2+" was required to keep what was fixed in 1.13 still fixed.
* | | | Merge tag 'v1.13.2'Samuel Giddins2016-09-302-1/+17
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Version 1.13.2 # Conflicts: # lib/bundler/lazy_specification.rb
| * | | | Version 1.13.2 with changelogv1.13.2Samuel Giddins2016-09-302-1/+17
| | | | |
| * | | | Auto merge of #4990 - bundler:seg-realworld-flex, r=segiddinsHomu2016-09-301-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dynamically fetch expected rails version This way, we don't have to update this expectation every time a new rails version comes out
| * | | | Auto merge of #4922 - ↵Homu2016-09-303-2/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | JuanitoFatas:fix/4914-gemfile-engine-symbol-and-string, r=segiddins Support specify engine by symbol in Gemfile This fixes #4914. Our test suite did not run with jruby but I have manually verified this patch works. Details can be seen below. <details> <summary>View manual verification details</summary> The spec I added in this PR works with jruby: ``` $ chruby jruby-9.1.2.0 $ ruby -v jruby 9.1.2.0 (2.3.0) 2016-05-26 7357c8f Java HotSpot(TM) 64-Bit Server VM 25.25-b02 on 1.8.0_25-b17 +jit [darwin-x86_64] $ rspec spec/install/gemfile_spec.rb Run options: exclude {:rubygems_master=>true, :git=>"=< 2.8.1", :rubygems=>"=< 2.6.4", :ruby=>"=< 2.3.0", :realworld=>true, :sudo=>true} bundle install with duplicated gems will display a warning with --gemfile finds the gemfile with gemfile set via config uses the gemfile to install uses the gemfile while in a subdirectory with deprecated features reports that lib is an invalid option with engine specified in symbol <--------------------- HERE should not report error <--------------------- HERE Retried examples: 0 Finished in 43.89 seconds (files took 1.68 seconds to load) 6 examples, 0 failures ``` Real-world Gemfile also works after this patch: ``` $ ruby -v jruby 9.1.2.0 (2.3.0) 2016-05-26 7357c8f Java HotSpot(TM) 64-Bit Server VM 25.25-b02 on 1.8.0_25-b17 +jit [darwin-x86_64] $ cat Gemfile source "https://rubygems.org" ruby '2.3.0', :engine => :jruby, engine_version: '9.1.2.0' $ dbundle The Gemfile specifies no dependencies Bundle complete! 0 Gemfile dependencies, 1 gem now installed. Use `bundle show [gemname]` to see where a bundled gem is installed. ``` </details>
| * | | | Auto merge of #4983 - bundler:seg-redefine-method-visibility, r=indirectHomu2016-09-301-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [RubygemsIntegration] Ensure redefined methods have the same visibility Closes #4975 \c @indirect @headius I'd love to get this out as 1.13.2 asap, if it works
| * | | | Auto merge of #4994 - bundler:seg-definition-init-perf, r=segiddinsHomu2016-09-301-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [Definition] Avoid parsing lockfile twice on init \c @chrismo
| * | | | Auto merge of #4971 - bundler:seg-pare-metadata-error, r=indirectHomu2016-09-302-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [EndpointSpecification] Raise a helpful error when parsing metadata fails Would make diagnosing a recent issue around this easier \c @indirect would love to get this into 1.13.1
| * | | | Auto merge of #4998 - srbaker:patch-1, r=segiddinsHomu2016-09-301-1/+1
| | | | | | | | | | | | | | | | | | | | ::Rake::CommandFailedError doesn't exist.
| * | | | Auto merge of #4968 - bundler:seg-exec-load-docs, r=indirectHomu2016-09-301-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update bundle-exec docs for exec loading See https://github.com/bundler/bundler/issues/4852 @indirect
| * | | | Auto merge of #5002 - alepore:fix-colors, r=indirectHomu2016-09-302-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix message parenthesis color Hello! Using Bundler version 1.13.1 i noticed a small graphic inconsistency on parentheses color: <img width="349" alt="screen shot 2016-09-19 at 16 16 10" src="https://cloud.githubusercontent.com/assets/557414/18635257/b41a0366-7e84-11e6-9664-174c90a0863f.png"> This commit resets the opening parenthesis color: <img width="287" alt="screen shot 2016-09-19 at 16 27 08" src="https://cloud.githubusercontent.com/assets/557414/18635630/f7081b94-7e85-11e6-963c-8c2b869a9443.png"> Is this the expected behaviour? The spec was only checking the closing parenthesis color. p.s: Imho green parentheses look better here.
| * | | | Auto merge of #5015 - m1k3:fix-settings-no-config, r=segiddinsHomu2016-09-302-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixing NoMethodError on settings When the Settings object is initialized with no root directory it cannot read the local_config. This used to not be a problem due to the fact that the `#load_config` method did not try to exit early. Since now it does it returns nil when the config is not present setting the @local_config instance variable to nil. The fix is to return an empty hash the same way the `#load_config` method would return if it encountered a problem later on. The attached test proves that there is a problem and the fix makes the problem go away.
| * | | | Auto merge of #4992 - chrismo:fix_disable_shared_gems_gem_path, r=chrismoHomu2016-09-305-7/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix GEM_PATH regression in 1.13. _nth time is a charm ... here's the latest latest latest commit message_: Fix disable_shared_gems bug & keep nested exec tl;dr `--deployment` will copy _all_ gems to the `--path` now and a proper fix is in place for nested bundle execs when `--path` is set and RubyGems >=2.6.2 is being used. Fixes #4974. There's two problems blended in here. Let's trace the events here from the beginning, shall we? First off, from probably the first versions of Bundler, when `disable_shared_gems` is true, the `GEM_PATH` gets internally overridden and initialized to an empty string. This is done to make sure that later in the `Bundler.setup` process it's expanded to ONLY the Bundler `--path` setting, otherwise it expands to include the system path. In 1.12, `bundle exec` was changed to use `Kernel.load` in some cases, and that new code path calls `require "bundler/setup"`. Later, issue #4592 was filed, showing that in cases like `--deployment` where `disable_shared_gems` is true, Bundler couldn't find itself, because Bundler never lives in the `--path` but only in system gems. And as it would later be discovered, was not a problem with RubyGems 2.6.1, but was a problem with >=2.6.2 (and older RubyGems it would seem, though those weren't as thoroughly investigated). We fixed #4592 (see PR #4701) in 1.13.0 by changing the oooold code initializing `GEM_PATH` to be initialized to `nil` instead of empty string in all `disable_shared_gems` cases. But it created another bug, filed as #4974, wherein system gems were no longer copied to the `--path` when `disable_shared_gems` is true. In this commit here (#4992) we've reverted the change so that `GEM_PATH` is now back to being initialized to an empty string instead of `nil`. That fixes #4974, but regresses #4592, and we needed a new way to fix it. After a few tortured attempts at this, I ran across issue #4602, a similar report of nested bundle execs being broken, #4602 itself an extension of #4381 reporting the same problem. It brought to light the role the Rubygems version played in the problem. When the `bundler` gem is installed and the wrapper is generated for any gem executables, the contents of this wrapper are determined by the Rubygems version. Up until RubyGems 2.6.1 the last line of this wrapper calls `Gem.bin_path`. Bundler replaces the Rubygems implementation of `Gem.bin_path` with its own, and has for a long time made a special exception for the Bundler gem itself, short-circuiting with the contents of a special ENV variable called `BUNDLE_BIN_PATH`. In Rubygems 2.6.2, `bin_path` was superseded by a new `Gem.activate_bin_path` method which did what `bin_path` did but also activated the gem. Bundler 1.13 added support for this, but it didn't include the same short-circuit for bundler itself. (Alert user @taoza even noticed this here fcaab35#r56665282). This commit also includes that short circuit for Rubygems >=2.6.2 now and nested bundle exec should continue to work.
| * | | | Auto merge of #5008 - bundler:seg-lazy-specification-materialize-platform, ↵Homu2016-09-302-1/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r=indirect [LazySpecification] Select the best platform match when materializing Closes #5006 This was not fun to track down >.<
| * | | | Auto merge of #5014 - bundler:seg-auto-install-bool-key, r=indirectHomu2016-09-301-0/+1
| | | | | | | | | | | | | | | | | | | | [Settings] Make auto_install a bool key
| * | | | Auto merge of #4928 - bundler:seg-update-compact-index, r=segiddinsHomu2016-09-304-12/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update specs to use compact_index 0.11 Also removed the penalty for adding requirements to dependencies! \c @indirect
* | | | | Auto merge of #5016 - bundler:seg-jruby-oom-error-message, r=indirectHomu2016-09-301-0/+5
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [FriendlyErrors] Print a custom message on Java::JavaLang::OutOfMemor… …yError Closes https://github.com/bundler/bundler/issues/4673
| * | | | | [FriendlyErrors] Print a custom message on Java::JavaLang::OutOfMemoryErrorseg-jruby-oom-error-messageSamuel Giddins2016-09-231-0/+5
| | | | | |
* | | | | | Auto merge of #5014 - bundler:seg-auto-install-bool-key, r=indirectHomu2016-09-301-0/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | [Settings] Make auto_install a bool key
| * | | | | | [Settings] Make auto_install a bool keyseg-auto-install-bool-keySamuel Giddins2016-09-231-0/+1
| |/ / / / /
* | | | | | Auto merge of #5007 - bundler:seg-unvendor-compact-index-client, r=indirectHomu2016-09-309-305/+310
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Un-vendor the compact index client Step one to https://github.com/bundler/bundler/issues/4935
| * | | | | | Use filesystem_access in the compact indexseg-unvendor-compact-index-clientSamuel Giddins2016-09-232-5/+15
| | | | | | |