bundler 1.16.0 → 1.16.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of bundler might be problematic. Click here for more details.

Files changed (60) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +13 -0
  3. data/bundler.gemspec +57 -0
  4. data/lib/bundler/build_metadata.rb +2 -2
  5. data/lib/bundler/cli/gem.rb +1 -1
  6. data/lib/bundler/cli/init.rb +1 -5
  7. data/lib/bundler/cli/update.rb +3 -1
  8. data/lib/bundler/definition.rb +1 -1
  9. data/lib/bundler/resolver.rb +4 -1
  10. data/lib/bundler/source/rubygems.rb +2 -4
  11. data/lib/bundler/templates/.document +1 -0
  12. data/lib/bundler/templates/Executable +11 -3
  13. data/lib/bundler/templates/newgem/{.travis.yml.tt → travis.yml.tt} +0 -0
  14. data/lib/bundler/version.rb +1 -1
  15. data/man/bundle-add.1 +1 -1
  16. data/man/bundle-add.1.txt +11 -11
  17. data/man/bundle-binstubs.1.txt +19 -19
  18. data/man/bundle-check.1 +1 -1
  19. data/man/bundle-check.1.txt +15 -15
  20. data/man/bundle-clean.1 +1 -1
  21. data/man/bundle-clean.1.txt +10 -10
  22. data/man/bundle-config.1 +1 -1
  23. data/man/bundle-config.1.txt +194 -194
  24. data/man/bundle-exec.1 +1 -1
  25. data/man/bundle-exec.1.txt +62 -62
  26. data/man/bundle-gem.1 +1 -1
  27. data/man/bundle-gem.1.txt +38 -38
  28. data/man/bundle-info.1 +1 -1
  29. data/man/bundle-info.1.txt +8 -8
  30. data/man/bundle-init.1 +1 -1
  31. data/man/bundle-init.1.txt +12 -12
  32. data/man/bundle-inject.1 +1 -1
  33. data/man/bundle-inject.1.txt +9 -9
  34. data/man/bundle-install.1 +1 -1
  35. data/man/bundle-install.1.txt +165 -165
  36. data/man/bundle-list.1 +1 -1
  37. data/man/bundle-list.1.txt +8 -8
  38. data/man/bundle-lock.1 +1 -1
  39. data/man/bundle-lock.1.txt +46 -46
  40. data/man/bundle-open.1 +1 -1
  41. data/man/bundle-open.1.txt +7 -7
  42. data/man/bundle-outdated.1 +1 -1
  43. data/man/bundle-outdated.1.txt +33 -33
  44. data/man/bundle-package.1 +1 -1
  45. data/man/bundle-package.1.txt +35 -35
  46. data/man/bundle-platform.1 +1 -1
  47. data/man/bundle-platform.1.txt +13 -13
  48. data/man/bundle-pristine.1 +1 -1
  49. data/man/bundle-pristine.1.txt +19 -19
  50. data/man/bundle-show.1 +1 -1
  51. data/man/bundle-show.1.txt +11 -11
  52. data/man/bundle-update.1 +1 -1
  53. data/man/bundle-update.1.txt +98 -98
  54. data/man/bundle-viz.1 +1 -1
  55. data/man/bundle-viz.1.txt +16 -16
  56. data/man/bundle.1 +1 -1
  57. data/man/bundle.1.txt +50 -50
  58. data/man/gemfile.5 +1 -1
  59. data/man/gemfile.5.txt +200 -200
  60. metadata +5 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: d56462f2f8c79cbbedc0181c42011735545ba490563aa6ffd54fc3fdcf059a0d
4
- data.tar.gz: 75f2fea3dde35a7cf22b2e208676670c619b43f86b7b30b5154f6e4f74eca50c
2
+ SHA1:
3
+ metadata.gz: 1740d2e5ead04fc448d7676f9e57b2621dfdc16c
4
+ data.tar.gz: e36b94d810b1eba94863fcd681157abacbed3516
5
5
  SHA512:
6
- metadata.gz: 5e297400591076de5fdb17dd50d4cc36615d1294e402fb6675df7fd138e46aecce70dff55ff5efbb1b0ab9044f2c6df3ac7a838353693570f4be5fa0a2fa993e
7
- data.tar.gz: ed1ceb6eaeafd2208447f362bc77867d7a0207ed1379c78e88e0e37b91f929f64376cce5fab1e2393833a78a836a3de51d19f93b630e5247d4cc4be190ea9444
6
+ metadata.gz: 29116c83cab200dc0a8103736f80ba25d238b129f2b650947f67e0aae871f655383ee6933683a5162a0de3c2209303c69aa8aae99136effdaec3fd633939371f
7
+ data.tar.gz: 635d4a391d1c24695b9bb0f313b51f16f832462dfb5384fd8201c57c89537a78cc1919cce4ec4134b4518683fd6fd33fcfabd2196c40852f47ac22e255dfcb45
@@ -1,3 +1,16 @@
1
+ ## 1.16.1 (2017-12-12)
2
+
3
+ Bugfixes:
4
+
5
+ - avoid hanging on complex resolver errors ([#6114](https://github.com/bundler/bundler/issues/6114), @halfbyte)
6
+ - avoid an error when running `bundle update --group` ([#6156](https://github.com/bundler/bundler/issues/6156), @mattbrictson)
7
+ - ensure the resolver prefers non-pre-release gems when possible ([#6181](https://github.com/bundler/bundler/issues/6181), @greysteil)
8
+ - include bundler's gemspec in the built gem ([#6165](https://github.com/bundler/bundler/issues/6165), @dr-itz)
9
+ - ensure locally installed specs are not overriden by those in remote sources during dependency resolution ([#6072](https://github.com/bundler/bundler/issues/6072), @indirect)
10
+ - ensure custom gemfiles are respected in generated binstubs (@pftg)
11
+ - fail gracefully when loading a bundler-generated binstub when `bin/bundle` was not generated by bundler ([#6149](https://github.com/bundler/bundler/issues/6149), @hsbt)
12
+ - allow `bundle init` to be run even when a parent directory contains a gemfile ([#6205](https://github.com/bundler/bundler/issues/6205), @colby-swandale)
13
+
1
14
  ## 1.16.0 (2017-10-31)
2
15
 
3
16
  Bugfixes:
@@ -0,0 +1,57 @@
1
+ # coding: utf-8
2
+ # frozen_string_literal: true
3
+
4
+ require File.expand_path("../lib/bundler/version", __FILE__)
5
+ require "shellwords"
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = "bundler"
9
+ s.version = Bundler::VERSION
10
+ s.license = "MIT"
11
+ s.authors = [
12
+ "André Arko", "Samuel Giddins", "Chris Morris", "James Wen", "Tim Moore",
13
+ "André Medeiros", "Jessica Lynn Suttles", "Terence Lee", "Carl Lerche",
14
+ "Yehuda Katz"
15
+ ]
16
+ s.email = ["team@bundler.io"]
17
+ s.homepage = "http://bundler.io"
18
+ s.summary = "The best way to manage your application's dependencies"
19
+ s.description = "Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably"
20
+
21
+ if s.respond_to?(:metadata=)
22
+ s.metadata = {
23
+ "bug_tracker_uri" => "http://github.com/bundler/bundler/issues",
24
+ "changelog_uri" => "https://github.com/bundler/bundler/blob/master/CHANGELOG.md",
25
+ "homepage_uri" => "https://bundler.io/",
26
+ "source_code_uri" => "http://github.com/bundler/bundler/",
27
+ }
28
+ end
29
+
30
+ if s.version >= Gem::Version.new("2.a".dup)
31
+ s.required_ruby_version = ">= 2.3.0"
32
+ s.required_rubygems_version = ">= 2.5.0"
33
+ else
34
+ s.required_ruby_version = ">= 1.8.7"
35
+ s.required_rubygems_version = ">= 1.3.6"
36
+ end
37
+
38
+ s.add_development_dependency "automatiek", "~> 0.1.0"
39
+ s.add_development_dependency "mustache", "0.99.6"
40
+ s.add_development_dependency "rake", "~> 10.0"
41
+ s.add_development_dependency "rdiscount", "~> 2.2"
42
+ s.add_development_dependency "ronn", "~> 0.7.3"
43
+ s.add_development_dependency "rspec", "~> 3.6"
44
+
45
+ s.files = `git ls-files -z`.split("\x0").select {|f| f.match(%r{^(lib|exe)/}) }
46
+ # we don't check in man pages, but we need to ship them because
47
+ # we use them to generate the long-form help for each command.
48
+ s.files += Dir.glob("man/**/*")
49
+ # Include the CHANGELOG.md, LICENSE.md, README.md manually
50
+ s.files += %w[CHANGELOG.md LICENSE.md README.md]
51
+ # include the gemspec itself because warbler breaks w/o it
52
+ s.files += %w[bundler.gemspec]
53
+
54
+ s.bindir = "exe"
55
+ s.executables = %w[bundle bundler]
56
+ s.require_paths = ["lib"]
57
+ end
@@ -4,8 +4,8 @@ module Bundler
4
4
  # Represents metadata from when the Bundler gem was built.
5
5
  module BuildMetadata
6
6
  # begin ivars
7
- @built_at = "2017-10-31".freeze
8
- @git_commit_sha = "10f20fa33".freeze
7
+ @built_at = "2017-12-21".freeze
8
+ @git_commit_sha = "0034ef341".freeze
9
9
  @release = true
10
10
  # end ivars
11
11
 
@@ -83,7 +83,7 @@ module Bundler
83
83
  config[:test] = test_framework
84
84
  config[:test_framework_version] = TEST_FRAMEWORK_VERSIONS[test_framework]
85
85
 
86
- templates.merge!(".travis.yml.tt" => ".travis.yml")
86
+ templates.merge!("travis.yml.tt" => ".travis.yml")
87
87
 
88
88
  case test_framework
89
89
  when "rspec"
@@ -36,11 +36,7 @@ module Bundler
36
36
  private
37
37
 
38
38
  def gemfile
39
- @gemfile ||= begin
40
- Bundler.default_gemfile
41
- rescue GemfileNotFound
42
- Bundler.feature_flag.init_gems_rb? ? "gems.rb" : "Gemfile"
43
- end
39
+ @gemfile ||= Bundler.feature_flag.init_gems_rb? ? "gems.rb" : "Gemfile"
44
40
  end
45
41
  end
46
42
  end
@@ -68,7 +68,9 @@ module Bundler
68
68
 
69
69
  if locked_gems = Bundler.definition.locked_gems
70
70
  gems.each do |name|
71
- locked_version = locked_gems.specs.find {|s| s.name == name }.version
71
+ locked_version = locked_gems.specs.find {|s| s.name == name }
72
+ locked_version &&= locked_version.version
73
+ next unless locked_version
72
74
  new_version = Bundler.definition.specs[name].first
73
75
  new_version &&= new_version.version
74
76
  if !new_version
@@ -295,7 +295,7 @@ module Bundler
295
295
  end
296
296
 
297
297
  sources.all_sources.each do |source|
298
- source.double_check_for(unmet_dependency_names, :override_dupes)
298
+ source.double_check_for(unmet_dependency_names)
299
299
  end
300
300
 
301
301
  break if idxcount == idx.size
@@ -245,7 +245,8 @@ module Bundler
245
245
  if all <= 1
246
246
  all - 1_000_000
247
247
  else
248
- search = search_for(dependency).size
248
+ search = search_for(dependency)
249
+ search = @prerelease_specified[dependency.name] ? search.count : search.count {|s| !s.version.prerelease? }
249
250
  search - all
250
251
  end
251
252
  end
@@ -305,6 +306,8 @@ module Bundler
305
306
  :solver_name => "Bundler",
306
307
  :possibility_type => "gem",
307
308
  :reduce_trees => lambda do |trees|
309
+ # bail out if tree size is too big for Array#combination to make any sense
310
+ return trees if trees.size > 15
308
311
  maximal = 1.upto(trees.size).map do |size|
309
312
  trees.map(&:last).flatten(1).combination(size).to_a
310
313
  end.flatten(1).select do |deps|
@@ -252,10 +252,8 @@ module Bundler
252
252
  end
253
253
  end
254
254
 
255
- def double_check_for(unmet_dependency_names, override_dupes = false, index = specs)
255
+ def double_check_for(unmet_dependency_names)
256
256
  return unless @allow_remote
257
- raise ArgumentError, "missing index" unless index
258
-
259
257
  return unless api_fetchers.any?
260
258
 
261
259
  unmet_dependency_names = unmet_dependency_names.call
@@ -270,7 +268,7 @@ module Bundler
270
268
 
271
269
  Bundler.ui.debug "Double checking for #{unmet_dependency_names || "all specs (due to the size of the request)"} in #{self}"
272
270
 
273
- fetch_names(api_fetchers, unmet_dependency_names, index, override_dupes)
271
+ fetch_names(api_fetchers, unmet_dependency_names, specs, false)
274
272
  end
275
273
 
276
274
  def dependency_names_to_double_check
@@ -0,0 +1 @@
1
+ # Ignore all files in this directory
@@ -8,13 +8,21 @@
8
8
  # this file is here to facilitate running it.
9
9
  #
10
10
 
11
- bundle_binstub = File.expand_path("../bundle", __FILE__)
12
- load(bundle_binstub) if File.file?(bundle_binstub)
13
-
14
11
  require "pathname"
15
12
  ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../<%= relative_gemfile_path %>",
16
13
  Pathname.new(__FILE__).realpath)
17
14
 
15
+ bundle_binstub = File.expand_path("../bundle", __FILE__)
16
+
17
+ if File.file?(bundle_binstub)
18
+ if File.read(bundle_binstub, 150) =~ /This file was generated by Bundler/
19
+ load(bundle_binstub)
20
+ else
21
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22
+ Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23
+ end
24
+ end
25
+
18
26
  require "rubygems"
19
27
  require "bundler/setup"
20
28
 
@@ -7,7 +7,7 @@ module Bundler
7
7
  # We're doing this because we might write tests that deal
8
8
  # with other versions of bundler and we are unsure how to
9
9
  # handle this better.
10
- VERSION = "1.16.0" unless defined?(::Bundler::VERSION)
10
+ VERSION = "1.16.1" unless defined?(::Bundler::VERSION)
11
11
 
12
12
  def self.overwrite_loaded_gem_version
13
13
  begin
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-ADD" "1" "September 2017" "" ""
4
+ .TH "BUNDLE\-ADD" "1" "June 2017" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-add\fR \- Add gem to the Gemfile and run bundle install
@@ -2,15 +2,15 @@ BUNDLE-ADD(1) BUNDLE-ADD(1)
2
2
 
3
3
 
4
4
 
5
- 1mNAME0m
6
- 1mbundle-add 22m- Add gem to the Gemfile and run bundle install
5
+ NAME
6
+ bundle-add - Add gem to the Gemfile and run bundle install
7
7
 
8
- 1mSYNOPSIS0m
9
- 1mbundle add 4m22mGEM_NAME24m [--group=GROUP] [--version=VERSION]
8
+ SYNOPSIS
9
+ bundle add GEM_NAME [--group=GROUP] [--version=VERSION]
10
10
  [--source=SOURCE]
11
11
 
12
- 1mDESCRIPTION0m
13
- Adds the named gem to the Gemfile and run 1mbundle install22m.
12
+ DESCRIPTION
13
+ Adds the named gem to the Gemfile and run bundle install.
14
14
 
15
15
  Example:
16
16
 
@@ -23,18 +23,18 @@ BUNDLE-ADD(1) BUNDLE-ADD(1)
23
23
 
24
24
  bundle add rails --group "development, test"
25
25
 
26
- 1mOPTIONS0m
27
- 1m--version22m, 1m-v0m
26
+ OPTIONS
27
+ --version, -v
28
28
  Specify version requirements(s) for the added gem.
29
29
 
30
- 1m--group22m, 1m-g0m
30
+ --group, -g
31
31
  Specify the group(s) for the added gem. Multiple groups should
32
32
  be separated by commas.
33
33
 
34
- 1m--source22m, , 1m-s0m
34
+ --source, , -s
35
35
  Specify the source for the added gem.
36
36
 
37
37
 
38
38
 
39
39
 
40
- September 2017 BUNDLE-ADD(1)
40
+ June 2017 BUNDLE-ADD(1)
@@ -2,46 +2,46 @@ BUNDLE-BINSTUBS(1) BUNDLE-BINSTUBS(1)
2
2
 
3
3
 
4
4
 
5
- 1mNAME0m
6
- 1mbundle-binstubs 22m- Install the binstubs of the listed gems
5
+ NAME
6
+ bundle-binstubs - Install the binstubs of the listed gems
7
7
 
8
- 1mSYNOPSIS0m
9
- 1mbundle binstubs 4m22mGEM_NAME24m [--force] [--path PATH] [--standalone]
8
+ SYNOPSIS
9
+ bundle binstubs GEM_NAME [--force] [--path PATH] [--standalone]
10
10
 
11
- 1mDESCRIPTION0m
11
+ DESCRIPTION
12
12
  Binstubs are scripts that wrap aroung executables. Bundler creates a
13
13
  small Ruby file (a binstub) that loads Bundler, runs the command, and
14
- puts it into 1mbin/22m. Binstubs are a shortcut-or alternative- to always
15
- using 1mbundle exec22m. This gives you a file that can by run directly, and
14
+ puts it into bin/. Binstubs are a shortcut-or alternative- to always
15
+ using bundle exec. This gives you a file that can by run directly, and
16
16
  one that will always run the correct gem version used by the applica-
17
17
  tion.
18
18
 
19
- For example, if you run 1mbundle binstubs rspec-core22m, Bundler will create
20
- the file 1mbin/rspec22m. That file will contain enough code to load Bundler,
19
+ For example, if you run bundle binstubs rspec-core, Bundler will create
20
+ the file bin/rspec. That file will contain enough code to load Bundler,
21
21
  tell it to load the bundled gems, and then run rspec.
22
22
 
23
- This command generates binstubs for executables in 1mGEM_NAME22m. Binstubs
24
- are put into 1mbin22m, or the 1m--path 22mdirectory if one has been set. Calling
23
+ This command generates binstubs for executables in GEM_NAME. Binstubs
24
+ are put into bin, or the --path directory if one has been set. Calling
25
25
  binstubs with [GEM [GEM]] will create binstubs for all given gems.
26
26
 
27
- 1mOPTIONS0m
28
- 1m--force0m
27
+ OPTIONS
28
+ --force
29
29
  Overwrite existing binstubs if they exist.
30
30
 
31
- 1m--path 22mThe location to install the specified binstubs to. This defaults
32
- to 1mbin22m.
31
+ --path The location to install the specified binstubs to. This defaults
32
+ to bin.
33
33
 
34
- 1m--standalone0m
34
+ --standalone
35
35
  Makes binstubs that can work without depending on Rubygems or
36
36
  Bundler at runtime.
37
37
 
38
- 1m--sheband0m
38
+ --sheband
39
39
  Specify a different shebang executable name than the default
40
40
  (default 'ruby')
41
41
 
42
- 1mBUNDLE INSTALL --BINSTUBS0m
42
+ BUNDLE INSTALL --BINSTUBS
43
43
  To create binstubs for all the gems in the bundle you can use the
44
- 1m--binstubs 22mflag in [bundle install(1)][bundle-install].
44
+ --binstubs flag in [bundle install(1)][bundle-install].
45
45
 
46
46
 
47
47
 
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-CHECK" "1" "September 2017" "" ""
4
+ .TH "BUNDLE\-CHECK" "1" "February 2017" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-check\fR \- Verifies if dependencies are satisfied by installed gems
@@ -2,31 +2,31 @@ BUNDLE-CHECK(1) BUNDLE-CHECK(1)
2
2
 
3
3
 
4
4
 
5
- 1mNAME0m
6
- 1mbundle-check 22m- Verifies if dependencies are satisfied by installed gems
5
+ NAME
6
+ bundle-check - Verifies if dependencies are satisfied by installed gems
7
7
 
8
- 1mSYNOPSIS0m
9
- 1mbundle check 22m[--dry-run] [--gemfile=FILE] [--path=PATH]
8
+ SYNOPSIS
9
+ bundle check [--dry-run] [--gemfile=FILE] [--path=PATH]
10
10
 
11
- 1mDESCRIPTION0m
12
- 1mcheck 22msearches the local machine for each of the gems requested in the
13
- Gemfile. If all gems are found, Bundler prints a success message and
11
+ DESCRIPTION
12
+ check searches the local machine for each of the gems requested in the
13
+ Gemfile. If all gems are found, Bundler prints a success message and
14
14
  exits with a status of 0.
15
15
 
16
16
  If not, the first missing gem is listed and Bundler exits status 1.
17
17
 
18
- 1mOPTIONS0m
19
- 1m--dry-run0m
20
- Locks the 1mGemfile(5) 22mbefore running the command.
18
+ OPTIONS
19
+ --dry-run
20
+ Locks the Gemfile(5) before running the command.
21
21
 
22
- 1m--gemfile0m
23
- Use the specified gemfile instead of the 1mGemfile(5)0m
22
+ --gemfile
23
+ Use the specified gemfile instead of the Gemfile(5)
24
24
 
25
- 1m--path 22mSpecify a different path than the system default ($BUNDLE_PATH
26
- or $GEM_HOME). Bundler will remember this value for future
25
+ --path Specify a different path than the system default ($BUNDLE_PATH
26
+ or $GEM_HOME). Bundler will remember this value for future
27
27
  installs on this machine.
28
28
 
29
29
 
30
30
 
31
31
 
32
- September 2017 BUNDLE-CHECK(1)
32
+ February 2017 BUNDLE-CHECK(1)
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-CLEAN" "1" "September 2017" "" ""
4
+ .TH "BUNDLE\-CLEAN" "1" "February 2017" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-clean\fR \- Cleans up unused gems in your bundler directory
@@ -2,25 +2,25 @@ BUNDLE-CLEAN(1) BUNDLE-CLEAN(1)
2
2
 
3
3
 
4
4
 
5
- 1mNAME0m
6
- 1mbundle-clean 22m- Cleans up unused gems in your bundler directory
5
+ NAME
6
+ bundle-clean - Cleans up unused gems in your bundler directory
7
7
 
8
- 1mSYNOPSIS0m
9
- 1mbundle clean 22m[--dry-run] [--force]
8
+ SYNOPSIS
9
+ bundle clean [--dry-run] [--force]
10
10
 
11
- 1mDESCRIPTION0m
11
+ DESCRIPTION
12
12
  This command will remove all unused gems in your bundler directory.
13
13
  This is useful when you have made many changes to your gem dependen-
14
14
  cies.
15
15
 
16
- 1mOPTIONS0m
17
- 1m--dry-run0m
16
+ OPTIONS
17
+ --dry-run
18
18
  Print the changes, but do not clean the unused gems.
19
19
 
20
- 1m--force0m
21
- Force a clean even if 1m--path 22mis not set.
20
+ --force
21
+ Force a clean even if --path is not set.
22
22
 
23
23
 
24
24
 
25
25
 
26
- September 2017 BUNDLE-CLEAN(1)
26
+ February 2017 BUNDLE-CLEAN(1)