bundler 1.17.2 → 2.1.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +799 -571
- data/LICENSE.md +18 -19
- data/README.md +9 -8
- data/bundler.gemspec +8 -25
- data/exe/bundle +19 -3
- data/lib/bundler.rb +202 -87
- data/lib/bundler/build_metadata.rb +3 -3
- data/lib/bundler/capistrano.rb +4 -4
- data/lib/bundler/cli.rb +178 -140
- data/lib/bundler/cli/add.rb +28 -16
- data/lib/bundler/cli/cache.rb +25 -13
- data/lib/bundler/cli/common.rb +11 -12
- data/lib/bundler/cli/config.rb +161 -86
- data/lib/bundler/cli/console.rb +1 -1
- data/lib/bundler/cli/doctor.rb +4 -4
- data/lib/bundler/cli/exec.rb +15 -18
- data/lib/bundler/cli/gem.rb +5 -5
- data/lib/bundler/cli/info.rb +17 -5
- data/lib/bundler/cli/init.rb +1 -1
- data/lib/bundler/cli/install.rb +11 -10
- data/lib/bundler/cli/issue.rb +3 -3
- data/lib/bundler/cli/open.rb +10 -6
- data/lib/bundler/cli/outdated.rb +85 -81
- data/lib/bundler/cli/plugin.rb +9 -2
- data/lib/bundler/cli/pristine.rb +1 -1
- data/lib/bundler/cli/show.rb +1 -1
- data/lib/bundler/cli/update.rb +32 -12
- data/lib/bundler/compact_index_client.rb +25 -9
- data/lib/bundler/compact_index_client/updater.rb +2 -6
- data/lib/bundler/current_ruby.rb +9 -7
- data/lib/bundler/definition.rb +35 -26
- data/lib/bundler/dependency.rb +16 -4
- data/lib/bundler/deployment.rb +1 -1
- data/lib/bundler/dsl.rb +16 -40
- data/lib/bundler/env.rb +8 -13
- data/lib/bundler/environment_preserver.rb +0 -1
- data/lib/bundler/feature_flag.rb +23 -34
- data/lib/bundler/fetcher.rb +16 -13
- data/lib/bundler/fetcher/compact_index.rb +26 -12
- data/lib/bundler/fetcher/dependency.rb +1 -1
- data/lib/bundler/fetcher/downloader.rb +5 -2
- data/lib/bundler/fetcher/index.rb +5 -3
- data/lib/bundler/friendly_errors.rb +6 -7
- data/lib/bundler/gem_helper.rb +40 -25
- data/lib/bundler/gem_helpers.rb +2 -4
- data/lib/bundler/gem_tasks.rb +1 -1
- data/lib/bundler/gem_version_promoter.rb +3 -3
- data/lib/bundler/graph.rb +2 -2
- data/lib/bundler/injector.rb +10 -8
- data/lib/bundler/inline.rb +40 -30
- data/lib/bundler/installer.rb +7 -14
- data/lib/bundler/installer/gem_installer.rb +5 -1
- data/lib/bundler/installer/parallel_installer.rb +4 -8
- data/lib/bundler/installer/standalone.rb +1 -2
- data/lib/bundler/lazy_specification.rb +2 -3
- data/lib/bundler/lockfile_parser.rb +14 -21
- data/lib/bundler/match_platform.rb +1 -1
- data/lib/bundler/mirror.rb +3 -3
- data/lib/bundler/plugin.rb +42 -29
- data/lib/bundler/plugin/api.rb +1 -1
- data/lib/bundler/plugin/api/source.rb +4 -6
- data/lib/bundler/plugin/index.rb +14 -3
- data/lib/bundler/plugin/installer.rb +28 -15
- data/lib/bundler/psyched_yaml.rb +1 -1
- data/lib/bundler/remote_specification.rb +0 -2
- data/lib/bundler/resolver.rb +72 -24
- data/lib/bundler/resolver/spec_group.rb +3 -2
- data/lib/bundler/retry.rb +2 -2
- data/lib/bundler/ruby_version.rb +4 -19
- data/lib/bundler/rubygems_ext.rb +11 -67
- data/lib/bundler/rubygems_gem_installer.rb +1 -1
- data/lib/bundler/rubygems_integration.rb +142 -402
- data/lib/bundler/runtime.rb +2 -9
- data/lib/bundler/settings.rb +22 -51
- data/lib/bundler/setup.rb +7 -13
- data/lib/bundler/shared_helpers.rb +51 -77
- data/lib/bundler/similarity_detector.rb +2 -2
- data/lib/bundler/source.rb +5 -5
- data/lib/bundler/source/git.rb +24 -17
- data/lib/bundler/source/git/git_proxy.rb +38 -41
- data/lib/bundler/source/metadata.rb +9 -5
- data/lib/bundler/source/path.rb +13 -8
- data/lib/bundler/source/rubygems.rb +14 -8
- data/lib/bundler/source/rubygems/remote.rb +2 -3
- data/lib/bundler/source_list.rb +9 -12
- data/lib/bundler/spec_set.rb +23 -12
- data/lib/bundler/stub_specification.rb +18 -30
- data/lib/bundler/templates/Executable.bundler +23 -14
- data/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +3 -3
- data/lib/bundler/templates/newgem/Gemfile.tt +8 -2
- data/lib/bundler/templates/newgem/README.md.tt +4 -3
- data/lib/bundler/templates/newgem/newgem.gemspec.tt +6 -27
- data/lib/bundler/templates/newgem/test/test_helper.rb.tt +1 -1
- data/lib/bundler/templates/newgem/travis.yml.tt +0 -1
- data/lib/bundler/ui.rb +3 -3
- data/lib/bundler/ui/rg_proxy.rb +1 -1
- data/lib/bundler/ui/shell.rb +4 -8
- data/lib/bundler/uri_credentials_filter.rb +7 -3
- data/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +161 -0
- data/lib/bundler/vendor/connection_pool/lib/connection_pool/monotonic_time.rb +66 -0
- data/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +176 -0
- data/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +3 -0
- data/lib/bundler/vendor/fileutils/lib/fileutils.rb +273 -147
- data/lib/bundler/vendor/molinillo/lib/molinillo.rb +6 -6
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +2 -2
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +1 -1
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +1 -1
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +1 -1
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +1 -1
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +6 -6
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +1 -1
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +1 -1
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +30 -8
- data/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +1 -1
- data/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +4 -4
- data/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +2 -2
- data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +273 -304
- data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +40 -0
- data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +53 -0
- data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +79 -0
- data/lib/bundler/vendor/thor/lib/thor.rb +19 -4
- data/lib/bundler/vendor/thor/lib/thor/actions.rb +27 -12
- data/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/actions/directory.rb +7 -17
- data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +16 -7
- data/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +19 -8
- data/lib/bundler/vendor/thor/lib/thor/base.rb +54 -43
- data/lib/bundler/vendor/thor/lib/thor/command.rb +21 -14
- data/lib/bundler/vendor/thor/lib/thor/error.rb +78 -0
- data/lib/bundler/vendor/thor/lib/thor/group.rb +3 -3
- data/lib/bundler/vendor/thor/lib/thor/invocation.rb +1 -0
- data/lib/bundler/vendor/thor/lib/thor/line_editor.rb +2 -2
- data/lib/bundler/vendor/thor/lib/thor/line_editor/basic.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/line_editor/readline.rb +6 -6
- data/lib/bundler/vendor/thor/lib/thor/nested_context.rb +29 -0
- data/lib/bundler/vendor/thor/lib/thor/parser.rb +4 -4
- data/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +2 -2
- data/lib/bundler/vendor/thor/lib/thor/parser/option.rb +20 -7
- data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +20 -5
- data/lib/bundler/vendor/thor/lib/thor/rake_compat.rb +1 -0
- data/lib/bundler/vendor/thor/lib/thor/runner.rb +15 -14
- data/lib/bundler/vendor/thor/lib/thor/shell.rb +4 -4
- data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +62 -8
- data/lib/bundler/vendor/thor/lib/thor/shell/color.rb +6 -2
- data/lib/bundler/vendor/thor/lib/thor/shell/html.rb +3 -3
- data/lib/bundler/vendor/thor/lib/thor/util.rb +18 -2
- data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
- data/lib/bundler/vendor/uri/lib/uri.rb +104 -0
- data/lib/bundler/vendor/uri/lib/uri/common.rb +744 -0
- data/lib/bundler/vendor/uri/lib/uri/file.rb +94 -0
- data/lib/bundler/vendor/uri/lib/uri/ftp.rb +267 -0
- data/lib/bundler/vendor/uri/lib/uri/generic.rb +1568 -0
- data/lib/bundler/vendor/uri/lib/uri/http.rb +88 -0
- data/lib/bundler/vendor/uri/lib/uri/https.rb +23 -0
- data/lib/bundler/vendor/uri/lib/uri/ldap.rb +261 -0
- data/lib/bundler/vendor/uri/lib/uri/ldaps.rb +21 -0
- data/lib/bundler/vendor/uri/lib/uri/mailto.rb +294 -0
- data/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +546 -0
- data/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +125 -0
- data/lib/bundler/vendor/uri/lib/uri/version.rb +6 -0
- data/lib/bundler/vendored_fileutils.rb +1 -6
- data/lib/bundler/vendored_molinillo.rb +1 -1
- data/lib/bundler/vendored_persistent.rb +7 -5
- data/lib/bundler/vendored_thor.rb +2 -2
- data/lib/bundler/vendored_uri.rb +4 -0
- data/lib/bundler/version.rb +1 -20
- data/lib/bundler/version_ranges.rb +51 -5
- data/lib/bundler/vlad.rb +2 -2
- data/lib/bundler/worker.rb +1 -3
- data/lib/bundler/yaml_serializer.rb +2 -3
- data/man/bundle-add.1 +10 -2
- data/man/bundle-add.1.txt +11 -5
- data/man/bundle-add.ronn +7 -1
- data/man/bundle-binstubs.1 +2 -2
- data/man/bundle-binstubs.1.txt +2 -2
- data/man/bundle-binstubs.ronn +1 -1
- data/man/bundle-cache.1 +55 -0
- data/man/bundle-cache.1.txt +78 -0
- data/man/{bundle-package.ronn → bundle-cache.ronn} +15 -15
- data/man/bundle-check.1 +1 -1
- data/man/bundle-check.1.txt +6 -6
- data/man/bundle-clean.1 +1 -1
- data/man/bundle-clean.1.txt +1 -1
- data/man/bundle-config.1 +36 -36
- data/man/bundle-config.1.txt +66 -67
- data/man/bundle-config.ronn +42 -40
- data/man/bundle-doctor.1 +1 -1
- data/man/bundle-doctor.1.txt +1 -1
- data/man/bundle-exec.1 +2 -2
- data/man/bundle-exec.1.txt +2 -2
- data/man/bundle-exec.ronn +1 -1
- data/man/bundle-gem.1 +1 -1
- data/man/bundle-gem.1.txt +3 -3
- data/man/bundle-info.1 +1 -1
- data/man/bundle-info.1.txt +1 -1
- data/man/bundle-init.1 +2 -2
- data/man/bundle-init.1.txt +2 -2
- data/man/bundle-init.ronn +1 -1
- data/man/bundle-inject.1 +1 -1
- data/man/bundle-inject.1.txt +1 -1
- data/man/bundle-install.1 +8 -5
- data/man/bundle-install.1.txt +56 -51
- data/man/bundle-install.ronn +9 -4
- data/man/bundle-list.1 +1 -1
- data/man/bundle-list.1.txt +1 -1
- data/man/bundle-lock.1 +1 -1
- data/man/bundle-lock.1.txt +16 -16
- data/man/bundle-open.1 +1 -1
- data/man/bundle-open.1.txt +1 -1
- data/man/bundle-outdated.1 +1 -1
- data/man/bundle-outdated.1.txt +1 -1
- data/man/bundle-platform.1 +1 -1
- data/man/bundle-platform.1.txt +1 -1
- data/man/bundle-pristine.1 +1 -1
- data/man/bundle-pristine.1.txt +1 -1
- data/man/bundle-remove.1 +1 -1
- data/man/bundle-remove.1.txt +1 -1
- data/man/bundle-show.1 +1 -1
- data/man/bundle-show.1.txt +1 -1
- data/man/bundle-update.1 +4 -4
- data/man/bundle-update.1.txt +64 -65
- data/man/bundle-update.ronn +3 -3
- data/man/bundle-viz.1 +1 -1
- data/man/bundle-viz.1.txt +1 -1
- data/man/bundle.1 +7 -3
- data/man/bundle.1.txt +11 -8
- data/man/bundle.ronn +5 -2
- data/man/gemfile.5 +17 -20
- data/man/gemfile.5.ronn +14 -18
- data/man/gemfile.5.txt +108 -112
- data/man/index.txt +1 -1
- metadata +34 -110
- data/exe/bundle_ruby +0 -60
- data/lib/bundler/cli/package.rb +0 -49
- data/lib/bundler/compatibility_guard.rb +0 -14
- data/lib/bundler/gem_remote_fetcher.rb +0 -43
- data/lib/bundler/ssl_certs/.document +0 -1
- data/lib/bundler/ssl_certs/certificate_manager.rb +0 -66
- data/lib/bundler/ssl_certs/index.rubygems.org/GlobalSignRootCA.pem +0 -21
- data/lib/bundler/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem +0 -23
- data/lib/bundler/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem +0 -25
- data/lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb +0 -27
- data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/ssl_reuse.rb +0 -129
- data/lib/bundler/vendor/thor/lib/thor/core_ext/io_binary_read.rb +0 -12
- data/lib/bundler/vendor/thor/lib/thor/core_ext/ordered_hash.rb +0 -129
- data/man/bundle-package.1 +0 -55
- data/man/bundle-package.1.txt +0 -79
@@ -0,0 +1,125 @@
|
|
1
|
+
# frozen_string_literal: false
|
2
|
+
module Bundler::URI
|
3
|
+
class RFC3986_Parser # :nodoc:
|
4
|
+
# Bundler::URI defined in RFC3986
|
5
|
+
# this regexp is modified not to host is not empty string
|
6
|
+
RFC3986_URI = /\A(?<Bundler::URI>(?<scheme>[A-Za-z][+\-.0-9A-Za-z]*):(?<hier-part>\/\/(?<authority>(?:(?<userinfo>(?:%\h\h|[!$&-.0-;=A-Z_a-z~])*)@)?(?<host>(?<IP-literal>\[(?:(?<IPv6address>(?:\h{1,4}:){6}(?<ls32>\h{1,4}:\h{1,4}|(?<IPv4address>(?<dec-octet>[1-9]\d|1\d{2}|2[0-4]\d|25[0-5]|\d)\.\g<dec-octet>\.\g<dec-octet>\.\g<dec-octet>))|::(?:\h{1,4}:){5}\g<ls32>|\h{1,4}?::(?:\h{1,4}:){4}\g<ls32>|(?:(?:\h{1,4}:)?\h{1,4})?::(?:\h{1,4}:){3}\g<ls32>|(?:(?:\h{1,4}:){,2}\h{1,4})?::(?:\h{1,4}:){2}\g<ls32>|(?:(?:\h{1,4}:){,3}\h{1,4})?::\h{1,4}:\g<ls32>|(?:(?:\h{1,4}:){,4}\h{1,4})?::\g<ls32>|(?:(?:\h{1,4}:){,5}\h{1,4})?::\h{1,4}|(?:(?:\h{1,4}:){,6}\h{1,4})?::)|(?<IPvFuture>v\h+\.[!$&-.0-;=A-Z_a-z~]+))\])|\g<IPv4address>|(?<reg-name>(?:%\h\h|[!$&-.0-9;=A-Z_a-z~])+))?(?::(?<port>\d*))?)(?<path-abempty>(?:\/(?<segment>(?:%\h\h|[!$&-.0-;=@-Z_a-z~])*))*)|(?<path-absolute>\/(?:(?<segment-nz>(?:%\h\h|[!$&-.0-;=@-Z_a-z~])+)(?:\/\g<segment>)*)?)|(?<path-rootless>\g<segment-nz>(?:\/\g<segment>)*)|(?<path-empty>))(?:\?(?<query>[^#]*))?(?:\#(?<fragment>(?:%\h\h|[!$&-.0-;=@-Z_a-z~\/?])*))?)\z/
|
7
|
+
RFC3986_relative_ref = /\A(?<relative-ref>(?<relative-part>\/\/(?<authority>(?:(?<userinfo>(?:%\h\h|[!$&-.0-;=A-Z_a-z~])*)@)?(?<host>(?<IP-literal>\[(?<IPv6address>(?:\h{1,4}:){6}(?<ls32>\h{1,4}:\h{1,4}|(?<IPv4address>(?<dec-octet>[1-9]\d|1\d{2}|2[0-4]\d|25[0-5]|\d)\.\g<dec-octet>\.\g<dec-octet>\.\g<dec-octet>))|::(?:\h{1,4}:){5}\g<ls32>|\h{1,4}?::(?:\h{1,4}:){4}\g<ls32>|(?:(?:\h{1,4}:){,1}\h{1,4})?::(?:\h{1,4}:){3}\g<ls32>|(?:(?:\h{1,4}:){,2}\h{1,4})?::(?:\h{1,4}:){2}\g<ls32>|(?:(?:\h{1,4}:){,3}\h{1,4})?::\h{1,4}:\g<ls32>|(?:(?:\h{1,4}:){,4}\h{1,4})?::\g<ls32>|(?:(?:\h{1,4}:){,5}\h{1,4})?::\h{1,4}|(?:(?:\h{1,4}:){,6}\h{1,4})?::)|(?<IPvFuture>v\h+\.[!$&-.0-;=A-Z_a-z~]+)\])|\g<IPv4address>|(?<reg-name>(?:%\h\h|[!$&-.0-9;=A-Z_a-z~])+))?(?::(?<port>\d*))?)(?<path-abempty>(?:\/(?<segment>(?:%\h\h|[!$&-.0-;=@-Z_a-z~])*))*)|(?<path-absolute>\/(?:(?<segment-nz>(?:%\h\h|[!$&-.0-;=@-Z_a-z~])+)(?:\/\g<segment>)*)?)|(?<path-noscheme>(?<segment-nz-nc>(?:%\h\h|[!$&-.0-9;=@-Z_a-z~])+)(?:\/\g<segment>)*)|(?<path-empty>))(?:\?(?<query>[^#]*))?(?:\#(?<fragment>(?:%\h\h|[!$&-.0-;=@-Z_a-z~\/?])*))?)\z/
|
8
|
+
attr_reader :regexp
|
9
|
+
|
10
|
+
def initialize
|
11
|
+
@regexp = default_regexp.each_value(&:freeze).freeze
|
12
|
+
end
|
13
|
+
|
14
|
+
def split(uri) #:nodoc:
|
15
|
+
begin
|
16
|
+
uri = uri.to_str
|
17
|
+
rescue NoMethodError
|
18
|
+
raise InvalidURIError, "bad Bundler::URI(is not Bundler::URI?): #{uri.inspect}"
|
19
|
+
end
|
20
|
+
uri.ascii_only? or
|
21
|
+
raise InvalidURIError, "Bundler::URI must be ascii only #{uri.dump}"
|
22
|
+
if m = RFC3986_URI.match(uri)
|
23
|
+
query = m["query".freeze]
|
24
|
+
scheme = m["scheme".freeze]
|
25
|
+
opaque = m["path-rootless".freeze]
|
26
|
+
if opaque
|
27
|
+
opaque << "?#{query}" if query
|
28
|
+
[ scheme,
|
29
|
+
nil, # userinfo
|
30
|
+
nil, # host
|
31
|
+
nil, # port
|
32
|
+
nil, # registry
|
33
|
+
nil, # path
|
34
|
+
opaque,
|
35
|
+
nil, # query
|
36
|
+
m["fragment".freeze]
|
37
|
+
]
|
38
|
+
else # normal
|
39
|
+
[ scheme,
|
40
|
+
m["userinfo".freeze],
|
41
|
+
m["host".freeze],
|
42
|
+
m["port".freeze],
|
43
|
+
nil, # registry
|
44
|
+
(m["path-abempty".freeze] ||
|
45
|
+
m["path-absolute".freeze] ||
|
46
|
+
m["path-empty".freeze]),
|
47
|
+
nil, # opaque
|
48
|
+
query,
|
49
|
+
m["fragment".freeze]
|
50
|
+
]
|
51
|
+
end
|
52
|
+
elsif m = RFC3986_relative_ref.match(uri)
|
53
|
+
[ nil, # scheme
|
54
|
+
m["userinfo".freeze],
|
55
|
+
m["host".freeze],
|
56
|
+
m["port".freeze],
|
57
|
+
nil, # registry,
|
58
|
+
(m["path-abempty".freeze] ||
|
59
|
+
m["path-absolute".freeze] ||
|
60
|
+
m["path-noscheme".freeze] ||
|
61
|
+
m["path-empty".freeze]),
|
62
|
+
nil, # opaque
|
63
|
+
m["query".freeze],
|
64
|
+
m["fragment".freeze]
|
65
|
+
]
|
66
|
+
else
|
67
|
+
raise InvalidURIError, "bad Bundler::URI(is not Bundler::URI?): #{uri.inspect}"
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
def parse(uri) # :nodoc:
|
72
|
+
scheme, userinfo, host, port,
|
73
|
+
registry, path, opaque, query, fragment = self.split(uri)
|
74
|
+
scheme_list = Bundler::URI.scheme_list
|
75
|
+
if scheme && scheme_list.include?(uc = scheme.upcase)
|
76
|
+
scheme_list[uc].new(scheme, userinfo, host, port,
|
77
|
+
registry, path, opaque, query,
|
78
|
+
fragment, self)
|
79
|
+
else
|
80
|
+
Generic.new(scheme, userinfo, host, port,
|
81
|
+
registry, path, opaque, query,
|
82
|
+
fragment, self)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
|
87
|
+
def join(*uris) # :nodoc:
|
88
|
+
uris[0] = convert_to_uri(uris[0])
|
89
|
+
uris.inject :merge
|
90
|
+
end
|
91
|
+
|
92
|
+
@@to_s = Kernel.instance_method(:to_s)
|
93
|
+
def inspect
|
94
|
+
@@to_s.bind_call(self)
|
95
|
+
end
|
96
|
+
|
97
|
+
private
|
98
|
+
|
99
|
+
def default_regexp # :nodoc:
|
100
|
+
{
|
101
|
+
SCHEME: /\A[A-Za-z][A-Za-z0-9+\-.]*\z/,
|
102
|
+
USERINFO: /\A(?:%\h\h|[!$&-.0-;=A-Z_a-z~])*\z/,
|
103
|
+
HOST: /\A(?:(?<IP-literal>\[(?:(?<IPv6address>(?:\h{1,4}:){6}(?<ls32>\h{1,4}:\h{1,4}|(?<IPv4address>(?<dec-octet>[1-9]\d|1\d{2}|2[0-4]\d|25[0-5]|\d)\.\g<dec-octet>\.\g<dec-octet>\.\g<dec-octet>))|::(?:\h{1,4}:){5}\g<ls32>|\h{,4}::(?:\h{1,4}:){4}\g<ls32>|(?:(?:\h{1,4}:)?\h{1,4})?::(?:\h{1,4}:){3}\g<ls32>|(?:(?:\h{1,4}:){,2}\h{1,4})?::(?:\h{1,4}:){2}\g<ls32>|(?:(?:\h{1,4}:){,3}\h{1,4})?::\h{1,4}:\g<ls32>|(?:(?:\h{1,4}:){,4}\h{1,4})?::\g<ls32>|(?:(?:\h{1,4}:){,5}\h{1,4})?::\h{1,4}|(?:(?:\h{1,4}:){,6}\h{1,4})?::)|(?<IPvFuture>v\h+\.[!$&-.0-;=A-Z_a-z~]+))\])|\g<IPv4address>|(?<reg-name>(?:%\h\h|[!$&-.0-9;=A-Z_a-z~])*))\z/,
|
104
|
+
ABS_PATH: /\A\/(?:%\h\h|[!$&-.0-;=@-Z_a-z~])*(?:\/(?:%\h\h|[!$&-.0-;=@-Z_a-z~])*)*\z/,
|
105
|
+
REL_PATH: /\A(?:%\h\h|[!$&-.0-;=@-Z_a-z~])+(?:\/(?:%\h\h|[!$&-.0-;=@-Z_a-z~])*)*\z/,
|
106
|
+
QUERY: /\A(?:%\h\h|[!$&-.0-;=@-Z_a-z~\/?])*\z/,
|
107
|
+
FRAGMENT: /\A(?:%\h\h|[!$&-.0-;=@-Z_a-z~\/?])*\z/,
|
108
|
+
OPAQUE: /\A(?:[^\/].*)?\z/,
|
109
|
+
PORT: /\A[\x09\x0a\x0c\x0d ]*\d*[\x09\x0a\x0c\x0d ]*\z/,
|
110
|
+
}
|
111
|
+
end
|
112
|
+
|
113
|
+
def convert_to_uri(uri)
|
114
|
+
if uri.is_a?(Bundler::URI::Generic)
|
115
|
+
uri
|
116
|
+
elsif uri = String.try_convert(uri)
|
117
|
+
parse(uri)
|
118
|
+
else
|
119
|
+
raise ArgumentError,
|
120
|
+
"bad argument (expected Bundler::URI object or Bundler::URI string)"
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
end # class Parser
|
125
|
+
end # module Bundler::URI
|
@@ -15,18 +15,20 @@ module Bundler
|
|
15
15
|
end
|
16
16
|
end
|
17
17
|
end
|
18
|
-
|
18
|
+
require_relative "vendor/net-http-persistent/lib/net/http/persistent"
|
19
19
|
|
20
20
|
module Bundler
|
21
21
|
class PersistentHTTP < Persistent::Net::HTTP::Persistent
|
22
22
|
def connection_for(uri)
|
23
|
-
|
24
|
-
|
25
|
-
|
23
|
+
super(uri) do |connection|
|
24
|
+
result = yield connection
|
25
|
+
warn_old_tls_version_rubygems_connection(uri, connection)
|
26
|
+
result
|
27
|
+
end
|
26
28
|
end
|
27
29
|
|
28
30
|
def warn_old_tls_version_rubygems_connection(uri, connection)
|
29
|
-
return unless connection.use_ssl?
|
31
|
+
return unless connection.http.use_ssl?
|
30
32
|
return unless (uri.host || "").end_with?("rubygems.org")
|
31
33
|
|
32
34
|
socket = connection.instance_variable_get(:@socket)
|
data/lib/bundler/version.rb
CHANGED
@@ -1,26 +1,7 @@
|
|
1
1
|
# frozen_string_literal: false
|
2
2
|
|
3
|
-
# Ruby 1.9.3 and old RubyGems don't play nice with frozen version strings
|
4
|
-
# rubocop:disable MutableConstant
|
5
|
-
|
6
3
|
module Bundler
|
7
|
-
|
8
|
-
# with other versions of bundler and we are unsure how to
|
9
|
-
# handle this better.
|
10
|
-
VERSION = "1.17.2" unless defined?(::Bundler::VERSION)
|
11
|
-
|
12
|
-
def self.overwrite_loaded_gem_version
|
13
|
-
begin
|
14
|
-
require "rubygems"
|
15
|
-
rescue LoadError
|
16
|
-
return
|
17
|
-
end
|
18
|
-
return unless bundler_spec = Gem.loaded_specs["bundler"]
|
19
|
-
return if bundler_spec.version == VERSION
|
20
|
-
bundler_spec.version = Bundler::VERSION
|
21
|
-
end
|
22
|
-
private_class_method :overwrite_loaded_gem_version
|
23
|
-
overwrite_loaded_gem_version
|
4
|
+
VERSION = "2.1.0".freeze
|
24
5
|
|
25
6
|
def self.bundler_major_version
|
26
7
|
@bundler_major_version ||= VERSION.split(".").first.to_i
|
@@ -5,11 +5,42 @@ module Bundler
|
|
5
5
|
NEq = Struct.new(:version)
|
6
6
|
ReqR = Struct.new(:left, :right)
|
7
7
|
class ReqR
|
8
|
-
Endpoint = Struct.new(:version, :inclusive)
|
8
|
+
Endpoint = Struct.new(:version, :inclusive) do
|
9
|
+
def <=>(other)
|
10
|
+
if version.equal?(INFINITY)
|
11
|
+
return 0 if other.version.equal?(INFINITY)
|
12
|
+
return 1
|
13
|
+
elsif other.version.equal?(INFINITY)
|
14
|
+
return -1
|
15
|
+
end
|
16
|
+
|
17
|
+
comp = version <=> other.version
|
18
|
+
return comp unless comp.zero?
|
19
|
+
|
20
|
+
if inclusive && !other.inclusive
|
21
|
+
1
|
22
|
+
elsif !inclusive && other.inclusive
|
23
|
+
-1
|
24
|
+
else
|
25
|
+
0
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
9
30
|
def to_s
|
10
31
|
"#{left.inclusive ? "[" : "("}#{left.version}, #{right.version}#{right.inclusive ? "]" : ")"}"
|
11
32
|
end
|
12
|
-
INFINITY =
|
33
|
+
INFINITY = begin
|
34
|
+
inf = Object.new
|
35
|
+
def inf.to_s
|
36
|
+
"∞"
|
37
|
+
end
|
38
|
+
def inf.<=>(other)
|
39
|
+
return 0 if other.equal?(self)
|
40
|
+
1
|
41
|
+
end
|
42
|
+
inf.freeze
|
43
|
+
end
|
13
44
|
ZERO = Gem::Version.new("0.a")
|
14
45
|
|
15
46
|
def cover?(v)
|
@@ -32,6 +63,15 @@ module Bundler
|
|
32
63
|
left.version == right.version
|
33
64
|
end
|
34
65
|
|
66
|
+
def <=>(other)
|
67
|
+
return -1 if other.equal?(INFINITY)
|
68
|
+
|
69
|
+
comp = left <=> other.left
|
70
|
+
return comp unless comp.zero?
|
71
|
+
|
72
|
+
right <=> other.right
|
73
|
+
end
|
74
|
+
|
35
75
|
UNIVERSAL = ReqR.new(ReqR::Endpoint.new(Gem::Version.new("0.a"), true), ReqR::Endpoint.new(ReqR::INFINITY, false)).freeze
|
36
76
|
end
|
37
77
|
|
@@ -57,7 +97,7 @@ module Bundler
|
|
57
97
|
end.uniq
|
58
98
|
ranges, neqs = ranges.partition {|r| !r.is_a?(NEq) }
|
59
99
|
|
60
|
-
[ranges.
|
100
|
+
[ranges.sort, neqs.map(&:version)]
|
61
101
|
end
|
62
102
|
|
63
103
|
def self.empty?(ranges, neqs)
|
@@ -66,8 +106,14 @@ module Bundler
|
|
66
106
|
next false if curr_range.single? && neqs.include?(curr_range.left.version)
|
67
107
|
next curr_range if last_range.right.version == ReqR::INFINITY
|
68
108
|
case last_range.right.version <=> curr_range.left.version
|
69
|
-
|
70
|
-
when
|
109
|
+
# higher
|
110
|
+
when 1 then next ReqR.new(curr_range.left, last_range.right)
|
111
|
+
# equal
|
112
|
+
when 0
|
113
|
+
if last_range.right.inclusive && curr_range.left.inclusive && !neqs.include?(curr_range.left.version)
|
114
|
+
ReqR.new(curr_range.left, [curr_range.right, last_range.right].max)
|
115
|
+
end
|
116
|
+
# lower
|
71
117
|
when -1 then next false
|
72
118
|
end
|
73
119
|
end
|
data/lib/bundler/vlad.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
require_relative "shared_helpers"
|
4
4
|
Bundler::SharedHelpers.major_deprecation 2,
|
5
5
|
"The Bundler task for Vlad"
|
6
6
|
|
@@ -8,7 +8,7 @@ Bundler::SharedHelpers.major_deprecation 2,
|
|
8
8
|
#
|
9
9
|
# Add "require 'bundler/vlad'" in your Vlad deploy.rb, and
|
10
10
|
# include the vlad:bundle:install task in your vlad:deploy task.
|
11
|
-
|
11
|
+
require_relative "deployment"
|
12
12
|
|
13
13
|
include Rake::DSL if defined? Rake::DSL
|
14
14
|
|
data/lib/bundler/worker.rb
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "thread"
|
4
|
-
|
5
3
|
module Bundler
|
6
4
|
class Worker
|
7
5
|
POISON = Object.new
|
@@ -62,7 +60,7 @@ module Bundler
|
|
62
60
|
|
63
61
|
def apply_func(obj, i)
|
64
62
|
@func.call(obj, i)
|
65
|
-
rescue Exception => e
|
63
|
+
rescue Exception => e # rubocop:disable Lint/RescueException
|
66
64
|
WrappedException.new(e)
|
67
65
|
end
|
68
66
|
|
@@ -32,7 +32,7 @@ module Bundler
|
|
32
32
|
(.*) # value
|
33
33
|
\1 # matching closing quote
|
34
34
|
$
|
35
|
-
/xo
|
35
|
+
/xo.freeze
|
36
36
|
|
37
37
|
HASH_REGEX = /
|
38
38
|
^
|
@@ -40,12 +40,11 @@ module Bundler
|
|
40
40
|
(.+) # key
|
41
41
|
(?::(?=(?:\s|$))) # : (without the lookahead the #key includes this when : is present in value)
|
42
42
|
[ ]?
|
43
|
-
(?: !\s)? # optional exclamation mark found with ruby 1.9.3
|
44
43
|
(['"]?) # optional opening quote
|
45
44
|
(.*) # value
|
46
45
|
\3 # matching closing quote
|
47
46
|
$
|
48
|
-
/xo
|
47
|
+
/xo.freeze
|
49
48
|
|
50
49
|
def load(str)
|
51
50
|
res = {}
|
data/man/bundle-add.1
CHANGED
@@ -1,13 +1,13 @@
|
|
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" "
|
4
|
+
.TH "BUNDLE\-ADD" "1" "December 2019" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-add\fR \- Add gem to the Gemfile and run bundle install
|
8
8
|
.
|
9
9
|
.SH "SYNOPSIS"
|
10
|
-
\fBbundle add\fR \fIGEM_NAME\fR [\-\-group=GROUP] [\-\-version=VERSION] [\-\-source=SOURCE] [\-\-skip\-install] [\-\-strict] [\-\-optimistic]
|
10
|
+
\fBbundle add\fR \fIGEM_NAME\fR [\-\-group=GROUP] [\-\-version=VERSION] [\-\-source=SOURCE] [\-\-git=GIT] [\-\-branch=BRANCH] [\-\-skip\-install] [\-\-strict] [\-\-optimistic]
|
11
11
|
.
|
12
12
|
.SH "DESCRIPTION"
|
13
13
|
Adds the named gem to the Gemfile and run \fBbundle install\fR\. \fBbundle install\fR can be avoided by using the flag \fB\-\-skip\-install\fR\.
|
@@ -45,6 +45,14 @@ Specify the group(s) for the added gem\. Multiple groups should be separated by
|
|
45
45
|
Specify the source for the added gem\.
|
46
46
|
.
|
47
47
|
.TP
|
48
|
+
\fB\-\-git\fR
|
49
|
+
Specify the git source for the added gem\.
|
50
|
+
.
|
51
|
+
.TP
|
52
|
+
\fB\-\-branch\fR
|
53
|
+
Specify the git branch for the added gem\.
|
54
|
+
.
|
55
|
+
.TP
|
48
56
|
\fB\-\-skip\-install\fR
|
49
57
|
Adds the gem to the Gemfile but does not install it\.
|
50
58
|
.
|
data/man/bundle-add.1.txt
CHANGED
@@ -7,10 +7,11 @@ NAME
|
|
7
7
|
|
8
8
|
SYNOPSIS
|
9
9
|
bundle add GEM_NAME [--group=GROUP] [--version=VERSION]
|
10
|
-
[--source=SOURCE]
|
10
|
+
[--source=SOURCE] [--git=GIT] [--branch=BRANCH] [--skip-install]
|
11
|
+
[--strict] [--optimistic]
|
11
12
|
|
12
13
|
DESCRIPTION
|
13
|
-
Adds
|
14
|
+
Adds the named gem to the Gemfile and run bundle install. bundle
|
14
15
|
install can be avoided by using the flag --skip-install.
|
15
16
|
|
16
17
|
Example:
|
@@ -19,7 +20,7 @@ DESCRIPTION
|
|
19
20
|
|
20
21
|
bundle add rails --version "< 3.0, > 1.1"
|
21
22
|
|
22
|
-
bundle
|
23
|
+
bundle add rails --version "~> 5.0.0" --source "https://gems.exam-
|
23
24
|
ple.com" --group "development"
|
24
25
|
|
25
26
|
bundle add rails --skip-install
|
@@ -31,12 +32,17 @@ OPTIONS
|
|
31
32
|
Specify version requirements(s) for the added gem.
|
32
33
|
|
33
34
|
--group, -g
|
34
|
-
Specify
|
35
|
+
Specify the group(s) for the added gem. Multiple groups should
|
35
36
|
be separated by commas.
|
36
37
|
|
37
38
|
--source, , -s
|
38
39
|
Specify the source for the added gem.
|
39
40
|
|
41
|
+
--git Specify the git source for the added gem.
|
42
|
+
|
43
|
+
--branch
|
44
|
+
Specify the git branch for the added gem.
|
45
|
+
|
40
46
|
--skip-install
|
41
47
|
Adds the gem to the Gemfile but does not install it.
|
42
48
|
|
@@ -49,4 +55,4 @@ OPTIONS
|
|
49
55
|
|
50
56
|
|
51
57
|
|
52
|
-
|
58
|
+
December 2019 BUNDLE-ADD(1)
|
data/man/bundle-add.ronn
CHANGED
@@ -3,7 +3,7 @@ bundle-add(1) -- Add gem to the Gemfile and run bundle install
|
|
3
3
|
|
4
4
|
## SYNOPSIS
|
5
5
|
|
6
|
-
`bundle add` <GEM_NAME> [--group=GROUP] [--version=VERSION] [--source=SOURCE] [--skip-install] [--strict] [--optimistic]
|
6
|
+
`bundle add` <GEM_NAME> [--group=GROUP] [--version=VERSION] [--source=SOURCE] [--git=GIT] [--branch=BRANCH] [--skip-install] [--strict] [--optimistic]
|
7
7
|
|
8
8
|
## DESCRIPTION
|
9
9
|
Adds the named gem to the Gemfile and run `bundle install`. `bundle install` can be avoided by using the flag `--skip-install`.
|
@@ -30,6 +30,12 @@ bundle add rails --group "development, test"
|
|
30
30
|
* `--source`, , `-s`:
|
31
31
|
Specify the source for the added gem.
|
32
32
|
|
33
|
+
* `--git`:
|
34
|
+
Specify the git source for the added gem.
|
35
|
+
|
36
|
+
* `--branch`:
|
37
|
+
Specify the git branch for the added gem.
|
38
|
+
|
33
39
|
* `--skip-install`:
|
34
40
|
Adds the gem to the Gemfile but does not install it.
|
35
41
|
|