bundler 1.13.6 → 1.17.3
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 +5 -5
- data/CHANGELOG.md +554 -9
- data/README.md +28 -5
- data/bundler.gemspec +40 -11
- data/exe/bundle +4 -8
- data/exe/bundle_ruby +4 -3
- data/lib/bundler.rb +162 -68
- data/lib/bundler/build_metadata.rb +53 -0
- data/lib/bundler/capistrano.rb +5 -0
- data/lib/bundler/cli.rb +360 -118
- data/lib/bundler/cli/add.rb +35 -0
- data/lib/bundler/cli/binstubs.rb +18 -10
- data/lib/bundler/cli/cache.rb +6 -5
- data/lib/bundler/cli/check.rb +4 -6
- data/lib/bundler/cli/clean.rb +6 -7
- data/lib/bundler/cli/common.rb +47 -1
- data/lib/bundler/cli/config.rb +26 -7
- data/lib/bundler/cli/console.rb +2 -1
- data/lib/bundler/cli/doctor.rb +63 -18
- data/lib/bundler/cli/exec.rb +12 -5
- data/lib/bundler/cli/gem.rb +59 -21
- data/lib/bundler/cli/info.rb +50 -0
- data/lib/bundler/cli/init.rb +21 -7
- data/lib/bundler/cli/inject.rb +13 -4
- data/lib/bundler/cli/install.rb +72 -101
- data/lib/bundler/cli/issue.rb +40 -0
- data/lib/bundler/cli/list.rb +58 -0
- data/lib/bundler/cli/lock.rb +9 -6
- data/lib/bundler/cli/open.rb +4 -3
- data/lib/bundler/cli/outdated.rb +175 -60
- data/lib/bundler/cli/package.rb +9 -6
- data/lib/bundler/cli/platform.rb +2 -1
- data/lib/bundler/cli/plugin.rb +1 -0
- data/lib/bundler/cli/pristine.rb +47 -0
- data/lib/bundler/cli/remove.rb +18 -0
- data/lib/bundler/cli/show.rb +2 -2
- data/lib/bundler/cli/update.rb +44 -34
- data/lib/bundler/cli/viz.rb +5 -1
- data/lib/bundler/compact_index_client.rb +109 -0
- data/lib/bundler/compact_index_client/cache.rb +118 -0
- data/lib/bundler/compact_index_client/updater.rb +116 -0
- data/lib/bundler/compatibility_guard.rb +14 -0
- data/lib/bundler/constants.rb +1 -0
- data/lib/bundler/current_ruby.rb +17 -8
- data/lib/bundler/definition.rb +353 -182
- data/lib/bundler/dep_proxy.rb +3 -1
- data/lib/bundler/dependency.rb +22 -10
- data/lib/bundler/deployment.rb +1 -1
- data/lib/bundler/deprecate.rb +15 -3
- data/lib/bundler/dsl.rb +122 -64
- data/lib/bundler/endpoint_specification.rb +13 -3
- data/lib/bundler/env.rb +110 -38
- data/lib/bundler/environment_preserver.rb +27 -6
- data/lib/bundler/errors.rb +24 -0
- data/lib/bundler/feature_flag.rb +74 -0
- data/lib/bundler/fetcher.rb +18 -11
- data/lib/bundler/fetcher/base.rb +1 -0
- data/lib/bundler/fetcher/compact_index.rb +7 -5
- data/lib/bundler/fetcher/dependency.rb +3 -2
- data/lib/bundler/fetcher/downloader.rb +25 -7
- data/lib/bundler/fetcher/index.rb +3 -2
- data/lib/bundler/friendly_errors.rb +33 -7
- data/lib/bundler/gem_helper.rb +25 -11
- data/lib/bundler/gem_helpers.rb +70 -1
- data/lib/bundler/gem_remote_fetcher.rb +1 -0
- data/lib/bundler/gem_tasks.rb +1 -0
- data/lib/bundler/gem_version_promoter.rb +17 -2
- data/lib/bundler/gemdeps.rb +29 -0
- data/lib/bundler/graph.rb +1 -0
- data/lib/bundler/index.rb +28 -15
- data/lib/bundler/injector.rb +216 -33
- data/lib/bundler/inline.rb +12 -12
- data/lib/bundler/installer.rb +139 -53
- data/lib/bundler/installer/gem_installer.rb +15 -5
- data/lib/bundler/installer/parallel_installer.rb +113 -28
- data/lib/bundler/installer/standalone.rb +1 -0
- data/lib/bundler/lazy_specification.rb +31 -3
- data/lib/bundler/lockfile_generator.rb +95 -0
- data/lib/bundler/lockfile_parser.rb +50 -37
- data/lib/bundler/match_platform.rb +13 -3
- data/lib/bundler/mirror.rb +10 -5
- data/lib/bundler/plugin.rb +22 -8
- data/lib/bundler/plugin/api.rb +2 -1
- data/lib/bundler/plugin/api/source.rb +17 -4
- data/lib/bundler/plugin/events.rb +61 -0
- data/lib/bundler/plugin/index.rb +9 -2
- data/lib/bundler/plugin/installer.rb +7 -6
- data/lib/bundler/plugin/source_list.rb +7 -8
- data/lib/bundler/process_lock.rb +24 -0
- data/lib/bundler/psyched_yaml.rb +10 -0
- data/lib/bundler/remote_specification.rb +30 -1
- data/lib/bundler/resolver.rb +187 -194
- data/lib/bundler/resolver/spec_group.rb +106 -0
- data/lib/bundler/retry.rb +5 -1
- data/lib/bundler/ruby_dsl.rb +1 -0
- data/lib/bundler/ruby_version.rb +12 -2
- data/lib/bundler/rubygems_ext.rb +23 -8
- data/lib/bundler/rubygems_gem_installer.rb +90 -0
- data/lib/bundler/rubygems_integration.rb +193 -70
- data/lib/bundler/runtime.rb +39 -22
- data/lib/bundler/settings.rb +245 -85
- data/lib/bundler/settings/validator.rb +102 -0
- data/lib/bundler/setup.rb +4 -7
- data/lib/bundler/shared_helpers.rb +183 -40
- data/lib/bundler/similarity_detector.rb +1 -0
- data/lib/bundler/source.rb +58 -1
- data/lib/bundler/source/gemspec.rb +1 -0
- data/lib/bundler/source/git.rb +52 -23
- data/lib/bundler/source/git/git_proxy.rb +30 -14
- data/lib/bundler/source/metadata.rb +62 -0
- data/lib/bundler/source/path.rb +42 -16
- data/lib/bundler/source/path/installer.rb +4 -2
- data/lib/bundler/source/rubygems.rb +171 -82
- data/lib/bundler/source/rubygems/remote.rb +12 -2
- data/lib/bundler/source_list.rb +75 -15
- data/lib/bundler/spec_set.rb +67 -32
- data/lib/bundler/ssl_certs/certificate_manager.rb +2 -1
- data/lib/bundler/stub_specification.rb +86 -2
- data/lib/bundler/templates/.document +1 -0
- data/lib/bundler/templates/Executable +13 -1
- data/lib/bundler/templates/Executable.bundler +105 -0
- data/lib/bundler/templates/Executable.standalone +5 -5
- data/lib/bundler/templates/Gemfile +3 -0
- data/lib/bundler/templates/gems.rb +8 -0
- data/lib/bundler/templates/newgem/Gemfile.tt +4 -2
- data/lib/bundler/templates/newgem/LICENSE.txt.tt +1 -1
- data/lib/bundler/templates/newgem/README.md.tt +14 -8
- data/lib/bundler/templates/newgem/Rakefile.tt +5 -5
- data/lib/bundler/templates/newgem/bin/console.tt +1 -1
- data/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt +4 -4
- data/lib/bundler/templates/newgem/ext/newgem/newgem.h.tt +3 -3
- data/lib/bundler/templates/newgem/gitignore.tt +5 -1
- data/lib/bundler/templates/newgem/lib/newgem.rb.tt +7 -6
- data/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +4 -4
- data/lib/bundler/templates/newgem/newgem.gemspec.tt +21 -12
- data/lib/bundler/templates/newgem/rspec.tt +1 -0
- data/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +1 -3
- data/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +13 -1
- data/lib/bundler/templates/newgem/test/newgem_test.rb.tt +1 -1
- data/lib/bundler/templates/newgem/test/test_helper.rb.tt +3 -3
- data/lib/bundler/templates/newgem/{.travis.yml.tt → travis.yml.tt} +2 -0
- data/lib/bundler/ui.rb +1 -0
- data/lib/bundler/ui/rg_proxy.rb +1 -0
- data/lib/bundler/ui/shell.rb +30 -10
- data/lib/bundler/ui/silent.rb +21 -1
- data/lib/bundler/uri_credentials_filter.rb +1 -0
- data/lib/bundler/vendor/fileutils/lib/fileutils.rb +1638 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo.rb +2 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +26 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +7 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +1 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +26 -6
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +2 -1
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +12 -4
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +3 -2
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +63 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +11 -3
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +13 -1
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +3 -2
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +3 -2
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +18 -5
- data/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +75 -7
- data/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +2 -1
- data/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +1 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb +3 -1
- data/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +499 -128
- data/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +1 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +8 -4
- data/lib/bundler/vendor/{net → net-http-persistent/lib/net}/http/faster.rb +1 -0
- data/lib/bundler/vendor/{net → net-http-persistent/lib/net}/http/persistent.rb +27 -24
- data/lib/bundler/vendor/{net → net-http-persistent/lib/net}/http/persistent/ssl_reuse.rb +2 -1
- data/lib/bundler/vendor/thor/lib/thor.rb +46 -21
- data/lib/bundler/vendor/thor/lib/thor/actions.rb +24 -22
- data/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +2 -1
- data/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +2 -1
- data/lib/bundler/vendor/thor/lib/thor/actions/directory.rb +2 -2
- data/lib/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +16 -8
- data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +66 -18
- data/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +17 -15
- data/lib/bundler/vendor/thor/lib/thor/base.rb +55 -32
- data/lib/bundler/vendor/thor/lib/thor/command.rb +13 -11
- data/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +21 -1
- data/lib/bundler/vendor/thor/lib/thor/core_ext/io_binary_read.rb +7 -5
- data/lib/bundler/vendor/thor/lib/thor/core_ext/ordered_hash.rb +94 -63
- data/lib/bundler/vendor/thor/lib/thor/error.rb +3 -3
- data/lib/bundler/vendor/thor/lib/thor/group.rb +13 -13
- data/lib/bundler/vendor/thor/lib/thor/invocation.rb +4 -5
- data/lib/bundler/vendor/thor/lib/thor/line_editor/basic.rb +2 -0
- data/lib/bundler/vendor/thor/lib/thor/parser/argument.rb +4 -7
- data/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +16 -16
- data/lib/bundler/vendor/thor/lib/thor/parser/option.rb +42 -21
- data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +13 -10
- data/lib/bundler/vendor/thor/lib/thor/runner.rb +31 -29
- data/lib/bundler/vendor/thor/lib/thor/shell.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +49 -33
- data/lib/bundler/vendor/thor/lib/thor/shell/color.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/shell/html.rb +4 -4
- data/lib/bundler/vendor/thor/lib/thor/util.rb +8 -7
- data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
- data/lib/bundler/vendored_fileutils.rb +9 -0
- data/lib/bundler/vendored_molinillo.rb +1 -0
- data/lib/bundler/vendored_persistent.rb +43 -3
- data/lib/bundler/vendored_thor.rb +6 -2
- data/lib/bundler/version.rb +19 -2
- data/lib/bundler/version_ranges.rb +76 -0
- data/lib/bundler/vlad.rb +5 -0
- data/lib/bundler/worker.rb +30 -6
- data/lib/bundler/yaml_serializer.rb +4 -4
- data/man/bundle-add.1 +58 -0
- data/man/bundle-add.1.txt +52 -0
- data/man/bundle-add.ronn +40 -0
- data/{lib/bundler/man/bundle-binstubs → man/bundle-binstubs.1} +11 -1
- data/man/bundle-binstubs.1.txt +48 -0
- data/man/bundle-binstubs.ronn +15 -1
- data/man/bundle-check.1 +31 -0
- data/man/bundle-check.1.txt +33 -0
- data/man/bundle-check.ronn +26 -0
- data/man/bundle-clean.1 +24 -0
- data/man/bundle-clean.1.txt +26 -0
- data/man/bundle-clean.ronn +18 -0
- data/man/bundle-config.1 +497 -0
- data/man/bundle-config.1.txt +529 -0
- data/man/bundle-config.ronn +233 -61
- data/man/bundle-doctor.1 +44 -0
- data/man/bundle-doctor.1.txt +44 -0
- data/man/bundle-doctor.ronn +33 -0
- data/{lib/bundler/man/bundle-exec → man/bundle-exec.1} +6 -3
- data/man/bundle-exec.1.txt +178 -0
- data/man/bundle-exec.ronn +10 -3
- data/{lib/bundler/man/bundle-gem → man/bundle-gem.1} +4 -4
- data/man/bundle-gem.1.txt +91 -0
- data/man/bundle-gem.ronn +3 -2
- data/man/bundle-info.1 +20 -0
- data/man/bundle-info.1.txt +21 -0
- data/man/bundle-info.ronn +17 -0
- data/man/bundle-init.1 +25 -0
- data/man/bundle-init.1.txt +34 -0
- data/man/bundle-init.ronn +29 -0
- data/man/bundle-inject.1 +33 -0
- data/man/bundle-inject.1.txt +32 -0
- data/man/bundle-inject.ronn +22 -0
- data/{lib/bundler/man/bundle-install → man/bundle-install.1} +32 -29
- data/man/bundle-install.1.txt +396 -0
- data/man/bundle-install.ronn +45 -36
- data/man/bundle-list.1 +50 -0
- data/man/bundle-list.1.txt +43 -0
- data/man/bundle-list.ronn +33 -0
- data/{lib/bundler/man/bundle-lock → man/bundle-lock.1} +43 -2
- data/man/bundle-lock.1.txt +93 -0
- data/man/bundle-lock.ronn +47 -0
- data/man/bundle-open.1 +32 -0
- data/man/bundle-open.1.txt +29 -0
- data/man/bundle-open.ronn +19 -0
- data/man/bundle-outdated.1 +155 -0
- data/man/bundle-outdated.1.txt +131 -0
- data/man/bundle-outdated.ronn +111 -0
- data/{lib/bundler/man/bundle-package → man/bundle-package.1} +6 -3
- data/man/bundle-package.1.txt +79 -0
- data/man/bundle-package.ronn +7 -2
- data/{lib/bundler/man/bundle-platform → man/bundle-platform.1} +1 -1
- data/man/bundle-platform.1.txt +57 -0
- data/man/bundle-pristine.1 +34 -0
- data/man/bundle-pristine.1.txt +44 -0
- data/man/bundle-pristine.ronn +34 -0
- data/man/bundle-remove.1 +31 -0
- data/man/bundle-remove.1.txt +34 -0
- data/man/bundle-remove.ronn +23 -0
- data/man/bundle-show.1 +23 -0
- data/man/bundle-show.1.txt +27 -0
- data/man/bundle-show.ronn +21 -0
- data/man/bundle-update.1 +394 -0
- data/man/bundle-update.1.txt +391 -0
- data/man/bundle-update.ronn +172 -16
- data/man/bundle-viz.1 +39 -0
- data/man/bundle-viz.1.txt +39 -0
- data/man/bundle-viz.ronn +30 -0
- data/{lib/bundler/man/bundle → man/bundle.1} +44 -28
- data/man/bundle.1.txt +116 -0
- data/man/bundle.ronn +39 -27
- data/{lib/bundler/man → man}/gemfile.5 +67 -84
- data/man/gemfile.5.ronn +77 -55
- data/man/gemfile.5.txt +653 -0
- data/man/index.txt +25 -8
- metadata +118 -58
- data/.codeclimate.yml +0 -25
- data/.gitignore +0 -16
- data/.rspec +0 -3
- data/.rubocop.yml +0 -128
- data/.rubocop_todo.yml +0 -248
- data/.travis.yml +0 -108
- data/CODE_OF_CONDUCT.md +0 -42
- data/CONTRIBUTING.md +0 -36
- data/DEVELOPMENT.md +0 -148
- data/ISSUES.md +0 -100
- data/Rakefile +0 -333
- data/bin/rake +0 -19
- data/bin/rspec +0 -15
- data/bin/rubocop +0 -17
- data/bin/with_rubygems +0 -39
- data/lib/bundler/man/bundle-binstubs.txt +0 -33
- data/lib/bundler/man/bundle-config +0 -254
- data/lib/bundler/man/bundle-config.txt +0 -282
- data/lib/bundler/man/bundle-exec.txt +0 -171
- data/lib/bundler/man/bundle-gem.txt +0 -90
- data/lib/bundler/man/bundle-install.txt +0 -385
- data/lib/bundler/man/bundle-lock.txt +0 -52
- data/lib/bundler/man/bundle-package.txt +0 -74
- data/lib/bundler/man/bundle-platform.txt +0 -57
- data/lib/bundler/man/bundle-update +0 -221
- data/lib/bundler/man/bundle-update.txt +0 -227
- data/lib/bundler/man/bundle.txt +0 -104
- data/lib/bundler/man/gemfile.5.txt +0 -636
- data/lib/bundler/postit_trampoline.rb +0 -68
- data/lib/bundler/vendor/compact_index_client/lib/compact_index_client.rb +0 -79
- data/lib/bundler/vendor/compact_index_client/lib/compact_index_client/cache.rb +0 -112
- data/lib/bundler/vendor/compact_index_client/lib/compact_index_client/updater.rb +0 -80
- data/lib/bundler/vendor/compact_index_client/lib/compact_index_client/version.rb +0 -4
- data/lib/bundler/vendor/postit/lib/postit.rb +0 -15
- data/lib/bundler/vendor/postit/lib/postit/environment.rb +0 -44
- data/lib/bundler/vendor/postit/lib/postit/installer.rb +0 -28
- data/lib/bundler/vendor/postit/lib/postit/parser.rb +0 -21
- data/lib/bundler/vendor/postit/lib/postit/setup.rb +0 -12
- data/lib/bundler/vendor/postit/lib/postit/version.rb +0 -3
data/lib/bundler/dep_proxy.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module Bundler
|
3
4
|
class DepProxy
|
4
5
|
attr_reader :__platform, :dep
|
@@ -9,10 +10,11 @@ module Bundler
|
|
9
10
|
end
|
10
11
|
|
11
12
|
def hash
|
12
|
-
@hash ||= dep.hash
|
13
|
+
@hash ||= [dep, __platform].hash
|
13
14
|
end
|
14
15
|
|
15
16
|
def ==(other)
|
17
|
+
return false if other.class != self.class
|
16
18
|
dep == other.dep && __platform == other.__platform
|
17
19
|
end
|
18
20
|
|
data/lib/bundler/dependency.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require "rubygems/dependency"
|
3
4
|
require "bundler/shared_helpers"
|
4
5
|
require "bundler/rubygems_ext"
|
@@ -6,8 +7,7 @@ require "bundler/rubygems_ext"
|
|
6
7
|
module Bundler
|
7
8
|
class Dependency < Gem::Dependency
|
8
9
|
attr_reader :autorequire
|
9
|
-
attr_reader :groups
|
10
|
-
attr_reader :platforms
|
10
|
+
attr_reader :groups, :platforms, :gemfile
|
11
11
|
|
12
12
|
PLATFORM_MAP = {
|
13
13
|
:ruby => Gem::Platform::RUBY,
|
@@ -17,6 +17,8 @@ module Bundler
|
|
17
17
|
:ruby_21 => Gem::Platform::RUBY,
|
18
18
|
:ruby_22 => Gem::Platform::RUBY,
|
19
19
|
:ruby_23 => Gem::Platform::RUBY,
|
20
|
+
:ruby_24 => Gem::Platform::RUBY,
|
21
|
+
:ruby_25 => Gem::Platform::RUBY,
|
20
22
|
:mri => Gem::Platform::RUBY,
|
21
23
|
:mri_18 => Gem::Platform::RUBY,
|
22
24
|
:mri_19 => Gem::Platform::RUBY,
|
@@ -24,7 +26,10 @@ module Bundler
|
|
24
26
|
:mri_21 => Gem::Platform::RUBY,
|
25
27
|
:mri_22 => Gem::Platform::RUBY,
|
26
28
|
:mri_23 => Gem::Platform::RUBY,
|
29
|
+
:mri_24 => Gem::Platform::RUBY,
|
30
|
+
:mri_25 => Gem::Platform::RUBY,
|
27
31
|
:rbx => Gem::Platform::RUBY,
|
32
|
+
:truffleruby => Gem::Platform::RUBY,
|
28
33
|
:jruby => Gem::Platform::JAVA,
|
29
34
|
:jruby_18 => Gem::Platform::JAVA,
|
30
35
|
:jruby_19 => Gem::Platform::JAVA,
|
@@ -35,12 +40,16 @@ module Bundler
|
|
35
40
|
:mswin_21 => Gem::Platform::MSWIN,
|
36
41
|
:mswin_22 => Gem::Platform::MSWIN,
|
37
42
|
:mswin_23 => Gem::Platform::MSWIN,
|
43
|
+
:mswin_24 => Gem::Platform::MSWIN,
|
44
|
+
:mswin_25 => Gem::Platform::MSWIN,
|
38
45
|
:mswin64 => Gem::Platform::MSWIN64,
|
39
46
|
:mswin64_19 => Gem::Platform::MSWIN64,
|
40
47
|
:mswin64_20 => Gem::Platform::MSWIN64,
|
41
48
|
:mswin64_21 => Gem::Platform::MSWIN64,
|
42
49
|
:mswin64_22 => Gem::Platform::MSWIN64,
|
43
50
|
:mswin64_23 => Gem::Platform::MSWIN64,
|
51
|
+
:mswin64_24 => Gem::Platform::MSWIN64,
|
52
|
+
:mswin64_25 => Gem::Platform::MSWIN64,
|
44
53
|
:mingw => Gem::Platform::MINGW,
|
45
54
|
:mingw_18 => Gem::Platform::MINGW,
|
46
55
|
:mingw_19 => Gem::Platform::MINGW,
|
@@ -48,11 +57,15 @@ module Bundler
|
|
48
57
|
:mingw_21 => Gem::Platform::MINGW,
|
49
58
|
:mingw_22 => Gem::Platform::MINGW,
|
50
59
|
:mingw_23 => Gem::Platform::MINGW,
|
60
|
+
:mingw_24 => Gem::Platform::MINGW,
|
61
|
+
:mingw_25 => Gem::Platform::MINGW,
|
51
62
|
:x64_mingw => Gem::Platform::X64_MINGW,
|
52
63
|
:x64_mingw_20 => Gem::Platform::X64_MINGW,
|
53
64
|
:x64_mingw_21 => Gem::Platform::X64_MINGW,
|
54
65
|
:x64_mingw_22 => Gem::Platform::X64_MINGW,
|
55
|
-
:x64_mingw_23 => Gem::Platform::X64_MINGW
|
66
|
+
:x64_mingw_23 => Gem::Platform::X64_MINGW,
|
67
|
+
:x64_mingw_24 => Gem::Platform::X64_MINGW,
|
68
|
+
:x64_mingw_25 => Gem::Platform::X64_MINGW,
|
56
69
|
}.freeze
|
57
70
|
|
58
71
|
REVERSE_PLATFORM_MAP = {}.tap do |reverse_platform_map|
|
@@ -74,20 +87,19 @@ module Bundler
|
|
74
87
|
@platforms = Array(options["platforms"])
|
75
88
|
@env = options["env"]
|
76
89
|
@should_include = options.fetch("should_include", true)
|
90
|
+
@gemfile = options["gemfile"]
|
77
91
|
|
78
92
|
@autorequire = Array(options["require"] || []) if options.key?("require")
|
79
93
|
end
|
80
94
|
|
95
|
+
# Returns the platforms this dependency is valid for, in the same order as
|
96
|
+
# passed in the `valid_platforms` parameter
|
81
97
|
def gem_platforms(valid_platforms)
|
82
98
|
return valid_platforms if @platforms.empty?
|
83
99
|
|
84
|
-
platforms
|
85
|
-
|
86
|
-
|
87
|
-
next unless valid_platforms.include?(platform)
|
88
|
-
platforms |= [platform]
|
89
|
-
end
|
90
|
-
platforms
|
100
|
+
@gem_platforms ||= @platforms.map {|pl| PLATFORM_MAP[pl] }.compact.uniq
|
101
|
+
|
102
|
+
valid_platforms & @gem_platforms
|
91
103
|
end
|
92
104
|
|
93
105
|
def should_include?
|
data/lib/bundler/deployment.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "bundler/shared_helpers"
|
4
|
-
Bundler::SharedHelpers.major_deprecation "Bundler no longer integrates with " \
|
4
|
+
Bundler::SharedHelpers.major_deprecation 2, "Bundler no longer integrates with " \
|
5
5
|
"Capistrano, but Capistrano provides its own integration with " \
|
6
6
|
"Bundler via the capistrano-bundler gem. Use it instead."
|
7
7
|
|
data/lib/bundler/deprecate.rb
CHANGED
@@ -1,11 +1,23 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
3
|
+
begin
|
4
|
+
require "rubygems/deprecate"
|
5
|
+
rescue LoadError
|
6
|
+
# it's fine if it doesn't exist on the current RubyGems...
|
7
|
+
nil
|
8
|
+
end
|
9
|
+
|
2
10
|
module Bundler
|
3
|
-
|
11
|
+
# If Bundler::Deprecate is an autoload constant, we need to define it
|
12
|
+
if defined?(Bundler::Deprecate) && !autoload?(:Deprecate)
|
13
|
+
# nothing to do!
|
14
|
+
elsif defined? ::Deprecate
|
4
15
|
Deprecate = ::Deprecate
|
5
16
|
elsif defined? Gem::Deprecate
|
6
17
|
Deprecate = Gem::Deprecate
|
7
18
|
else
|
8
|
-
class Deprecate
|
19
|
+
class Deprecate
|
20
|
+
end
|
9
21
|
end
|
10
22
|
|
11
23
|
unless Deprecate.respond_to?(:skip_during)
|
@@ -20,7 +32,7 @@ module Bundler
|
|
20
32
|
|
21
33
|
unless Deprecate.respond_to?(:skip)
|
22
34
|
def Deprecate.skip
|
23
|
-
@skip
|
35
|
+
@skip ||= false
|
24
36
|
end
|
25
37
|
end
|
26
38
|
|
data/lib/bundler/dsl.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require "bundler/dependency"
|
3
4
|
require "bundler/ruby_dsl"
|
4
5
|
|
@@ -14,6 +15,9 @@ module Bundler
|
|
14
15
|
|
15
16
|
VALID_PLATFORMS = Bundler::Dependency::PLATFORM_MAP.keys.freeze
|
16
17
|
|
18
|
+
VALID_KEYS = %w[group groups git path glob name branch ref tag require submodules
|
19
|
+
platform platforms type source install_if gemfile].freeze
|
20
|
+
|
17
21
|
attr_reader :gemspecs
|
18
22
|
attr_accessor :dependencies
|
19
23
|
|
@@ -30,14 +34,16 @@ module Bundler
|
|
30
34
|
@ruby_version = nil
|
31
35
|
@gemspecs = []
|
32
36
|
@gemfile = nil
|
37
|
+
@gemfiles = []
|
33
38
|
add_git_sources
|
34
39
|
end
|
35
40
|
|
36
41
|
def eval_gemfile(gemfile, contents = nil)
|
37
|
-
expanded_gemfile_path = Pathname.new(gemfile).expand_path
|
42
|
+
expanded_gemfile_path = Pathname.new(gemfile).expand_path(@gemfile && @gemfile.parent)
|
38
43
|
original_gemfile = @gemfile
|
39
44
|
@gemfile = expanded_gemfile_path
|
40
|
-
|
45
|
+
@gemfiles << expanded_gemfile_path
|
46
|
+
contents ||= Bundler.read_file(@gemfile.to_s)
|
41
47
|
instance_eval(contents.dup.untaint, gemfile.to_s, 1)
|
42
48
|
rescue Exception => e
|
43
49
|
message = "There was an error " \
|
@@ -65,7 +71,7 @@ module Bundler
|
|
65
71
|
case specs_by_name_and_version.size
|
66
72
|
when 1
|
67
73
|
specs = specs_by_name_and_version.values.first
|
68
|
-
spec = specs.find {|s| s.match_platform(
|
74
|
+
spec = specs.find {|s| s.match_platform(Bundler.local_platform) } || specs.first
|
69
75
|
|
70
76
|
@gemspecs << spec
|
71
77
|
|
@@ -87,6 +93,7 @@ module Bundler
|
|
87
93
|
|
88
94
|
def gem(name, *args)
|
89
95
|
options = args.last.is_a?(Hash) ? args.pop.dup : {}
|
96
|
+
options["gemfile"] = @gemfile
|
90
97
|
version = args || [">= 0"]
|
91
98
|
|
92
99
|
normalize_options(name, version, options)
|
@@ -95,25 +102,38 @@ module Bundler
|
|
95
102
|
|
96
103
|
# if there's already a dependency with this name we try to prefer one
|
97
104
|
if current = @dependencies.find {|d| d.name == dep.name }
|
105
|
+
deleted_dep = @dependencies.delete(current) if current.type == :development
|
106
|
+
|
98
107
|
if current.requirement != dep.requirement
|
99
|
-
|
100
|
-
@dependencies.delete current
|
101
|
-
else
|
108
|
+
unless deleted_dep
|
102
109
|
return if dep.type == :development
|
110
|
+
|
111
|
+
update_prompt = ""
|
112
|
+
|
113
|
+
if File.basename(@gemfile) == Injector::INJECTED_GEMS
|
114
|
+
if dep.requirements_list.include?(">= 0") && !current.requirements_list.include?(">= 0")
|
115
|
+
update_prompt = ". Gem already added"
|
116
|
+
else
|
117
|
+
update_prompt = ". If you want to update the gem version, run `bundle update #{current.name}`"
|
118
|
+
|
119
|
+
update_prompt += ". You may also need to change the version requirement specified in the Gemfile if it's too restrictive." unless current.requirements_list.include?(">= 0")
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
103
123
|
raise GemfileError, "You cannot specify the same gem twice with different version requirements.\n" \
|
104
|
-
"You specified: #{current.name} (#{current.requirement}) and #{dep.name} (#{dep.requirement})"
|
124
|
+
"You specified: #{current.name} (#{current.requirement}) and #{dep.name} (#{dep.requirement})" \
|
125
|
+
"#{update_prompt}"
|
105
126
|
end
|
106
127
|
|
107
128
|
else
|
108
129
|
Bundler.ui.warn "Your Gemfile lists the gem #{current.name} (#{current.requirement}) more than once.\n" \
|
109
130
|
"You should probably keep only one of them.\n" \
|
131
|
+
"Remove any duplicate entries and specify the gem only once (per group).\n" \
|
110
132
|
"While it's not a problem now, it could cause errors if you change the version of one of them later."
|
111
133
|
end
|
112
134
|
|
113
135
|
if current.source != dep.source
|
114
|
-
|
115
|
-
@dependencies.delete current
|
116
|
-
else
|
136
|
+
unless deleted_dep
|
117
137
|
return if dep.type == :development
|
118
138
|
raise GemfileError, "You cannot specify the same gem twice coming from different sources.\n" \
|
119
139
|
"You specified that #{dep.name} (#{dep.requirement}) should come from " \
|
@@ -128,10 +148,12 @@ module Bundler
|
|
128
148
|
def source(source, *args, &blk)
|
129
149
|
options = args.last.is_a?(Hash) ? args.pop.dup : {}
|
130
150
|
options = normalize_hash(options)
|
151
|
+
source = normalize_source(source)
|
152
|
+
|
131
153
|
if options.key?("type")
|
132
154
|
options["type"] = options["type"].to_s
|
133
155
|
unless Plugin.source?(options["type"])
|
134
|
-
raise "No sources available for #{options["type"]}"
|
156
|
+
raise InvalidOption, "No plugin sources available for #{options["type"]}"
|
135
157
|
end
|
136
158
|
|
137
159
|
unless block_given?
|
@@ -141,12 +163,10 @@ module Bundler
|
|
141
163
|
source_opts = options.merge("uri" => source)
|
142
164
|
with_source(@sources.add_plugin_source(options["type"], source_opts), &blk)
|
143
165
|
elsif block_given?
|
144
|
-
source = normalize_source(source)
|
145
166
|
with_source(@sources.add_rubygems_source("remotes" => source), &blk)
|
146
167
|
else
|
147
|
-
source = normalize_source(source)
|
148
168
|
check_primary_source_safety(@sources)
|
149
|
-
@sources.
|
169
|
+
@sources.global_rubygems_source = source
|
150
170
|
end
|
151
171
|
end
|
152
172
|
|
@@ -164,6 +184,19 @@ module Bundler
|
|
164
184
|
end
|
165
185
|
|
166
186
|
def path(path, options = {}, &blk)
|
187
|
+
unless block_given?
|
188
|
+
msg = "You can no longer specify a path source by itself. Instead, \n" \
|
189
|
+
"either use the :path option on a gem, or specify the gems that \n" \
|
190
|
+
"bundler should find in the path source by passing a block to \n" \
|
191
|
+
"the path method, like: \n\n" \
|
192
|
+
" path 'dir/containing/rails' do\n" \
|
193
|
+
" gem 'rails'\n" \
|
194
|
+
" end\n\n"
|
195
|
+
|
196
|
+
raise DeprecatedError, msg if Bundler.feature_flag.disable_multisource?
|
197
|
+
SharedHelpers.major_deprecation(2, msg.strip)
|
198
|
+
end
|
199
|
+
|
167
200
|
source_options = normalize_hash(options).merge(
|
168
201
|
"path" => Pathname.new(path),
|
169
202
|
"root_path" => gemfile_root,
|
@@ -189,7 +222,8 @@ module Bundler
|
|
189
222
|
end
|
190
223
|
|
191
224
|
def github(repo, options = {})
|
192
|
-
raise ArgumentError, "
|
225
|
+
raise ArgumentError, "GitHub sources require a block" unless block_given?
|
226
|
+
raise DeprecatedError, "The #github method has been removed" if Bundler.feature_flag.skip_default_git_sources?
|
193
227
|
github_uri = @git_sources["github"].call(repo)
|
194
228
|
git_options = normalize_hash(options).merge("uri" => github_uri)
|
195
229
|
git_source = @sources.add_git_source(git_options)
|
@@ -197,16 +231,16 @@ module Bundler
|
|
197
231
|
end
|
198
232
|
|
199
233
|
def to_definition(lockfile, unlock)
|
200
|
-
Definition.new(lockfile, @dependencies, @sources, unlock, @ruby_version, @optional_groups)
|
234
|
+
Definition.new(lockfile, @dependencies, @sources, unlock, @ruby_version, @optional_groups, @gemfiles)
|
201
235
|
end
|
202
236
|
|
203
237
|
def group(*args, &blk)
|
204
|
-
|
205
|
-
normalize_group_options(
|
238
|
+
options = args.last.is_a?(Hash) ? args.pop.dup : {}
|
239
|
+
normalize_group_options(options, args)
|
206
240
|
|
207
241
|
@groups.concat args
|
208
242
|
|
209
|
-
if
|
243
|
+
if options["optional"]
|
210
244
|
optional_groups = args - @optional_groups
|
211
245
|
@optional_groups.concat optional_groups
|
212
246
|
end
|
@@ -216,9 +250,9 @@ module Bundler
|
|
216
250
|
args.each { @groups.pop }
|
217
251
|
end
|
218
252
|
|
219
|
-
def install_if(*args
|
253
|
+
def install_if(*args)
|
220
254
|
@install_conditionals.concat args
|
221
|
-
|
255
|
+
yield
|
222
256
|
ensure
|
223
257
|
args.each { @install_conditionals.pop }
|
224
258
|
end
|
@@ -250,7 +284,12 @@ module Bundler
|
|
250
284
|
private
|
251
285
|
|
252
286
|
def add_git_sources
|
287
|
+
return if Bundler.feature_flag.skip_default_git_sources?
|
288
|
+
|
253
289
|
git_source(:github) do |repo_name|
|
290
|
+
warn_deprecated_git_source(:github, <<-'RUBY'.strip, 'Change any "reponame" :github sources to "username/reponame".')
|
291
|
+
"https://github.com/#{repo_name}.git"
|
292
|
+
RUBY
|
254
293
|
# It would be better to use https instead of the git protocol, but this
|
255
294
|
# can break deployment of existing locked bundles when switching between
|
256
295
|
# different versions of Bundler. The change will be made in 2.0, which
|
@@ -266,24 +305,30 @@ module Bundler
|
|
266
305
|
# end
|
267
306
|
repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
|
268
307
|
# TODO: 2.0 upgrade this setting to the default
|
269
|
-
if Bundler.
|
308
|
+
if Bundler.feature_flag.github_https?
|
309
|
+
Bundler::SharedHelpers.major_deprecation 2, "The `github.https` setting will be removed"
|
270
310
|
"https://github.com/#{repo_name}.git"
|
271
311
|
else
|
272
|
-
warn_github_source_change(repo_name)
|
273
312
|
"git://github.com/#{repo_name}.git"
|
274
313
|
end
|
275
314
|
end
|
276
315
|
|
277
316
|
# TODO: 2.0 remove this deprecated git source
|
278
317
|
git_source(:gist) do |repo_name|
|
279
|
-
warn_deprecated_git_source(:gist, 'https://gist.github.com/#{repo_name}.git')
|
318
|
+
warn_deprecated_git_source(:gist, '"https://gist.github.com/#{repo_name}.git"')
|
319
|
+
|
280
320
|
"https://gist.github.com/#{repo_name}.git"
|
281
321
|
end
|
282
322
|
|
283
323
|
# TODO: 2.0 remove this deprecated git source
|
284
324
|
git_source(:bitbucket) do |repo_name|
|
285
|
-
|
286
|
-
|
325
|
+
warn_deprecated_git_source(:bitbucket, <<-'RUBY'.strip)
|
326
|
+
user_name, repo_name = repo_name.split("/")
|
327
|
+
repo_name ||= user_name
|
328
|
+
"https://#{user_name}@bitbucket.org/#{user_name}/#{repo_name}.git"
|
329
|
+
RUBY
|
330
|
+
|
331
|
+
user_name, repo_name = repo_name.split("/")
|
287
332
|
repo_name ||= user_name
|
288
333
|
"https://#{user_name}@bitbucket.org/#{user_name}/#{repo_name}.git"
|
289
334
|
end
|
@@ -308,7 +353,7 @@ module Bundler
|
|
308
353
|
end
|
309
354
|
|
310
355
|
def valid_keys
|
311
|
-
@valid_keys ||=
|
356
|
+
@valid_keys ||= VALID_KEYS
|
312
357
|
end
|
313
358
|
|
314
359
|
def normalize_options(name, version, opts)
|
@@ -318,6 +363,9 @@ module Bundler
|
|
318
363
|
if name =~ /\s/
|
319
364
|
raise GemfileError, %('#{name}' is not a valid gem name because it contains whitespace)
|
320
365
|
end
|
366
|
+
if name.empty?
|
367
|
+
raise GemfileError, %(an empty gem name is not valid)
|
368
|
+
end
|
321
369
|
|
322
370
|
normalize_hash(opts)
|
323
371
|
|
@@ -355,7 +403,7 @@ module Bundler
|
|
355
403
|
opts["git"] = @git_sources[git_name].call(opts[git_name])
|
356
404
|
end
|
357
405
|
|
358
|
-
%w
|
406
|
+
%w[git path].each do |type|
|
359
407
|
next unless param = opts[type]
|
360
408
|
if version.first && version.first =~ /^\s*=?\s*(\d[^\s]*)\s*$/
|
361
409
|
options = opts.merge("name" => name, "version" => $1)
|
@@ -366,8 +414,8 @@ module Bundler
|
|
366
414
|
opts["source"] = source
|
367
415
|
end
|
368
416
|
|
369
|
-
opts["source"]
|
370
|
-
opts["env"]
|
417
|
+
opts["source"] ||= @source
|
418
|
+
opts["env"] ||= @env
|
371
419
|
opts["platforms"] = platforms.dup
|
372
420
|
opts["group"] = groups
|
373
421
|
opts["should_include"] = install_if
|
@@ -377,31 +425,38 @@ module Bundler
|
|
377
425
|
normalize_hash(opts)
|
378
426
|
|
379
427
|
groups = groups.map {|group| ":#{group}" }.join(", ")
|
380
|
-
validate_keys("group #{groups}", opts, %w
|
428
|
+
validate_keys("group #{groups}", opts, %w[optional])
|
381
429
|
|
382
430
|
opts["optional"] ||= false
|
383
431
|
end
|
384
432
|
|
385
433
|
def validate_keys(command, opts, valid_keys)
|
386
434
|
invalid_keys = opts.keys - valid_keys
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
"as options for #{command}, but they are invalid."
|
392
|
-
else
|
393
|
-
"as an option for #{command}, but it is invalid."
|
394
|
-
end
|
395
|
-
|
396
|
-
message << " Valid options are: #{valid_keys.join(", ")}"
|
397
|
-
raise InvalidOption, message
|
435
|
+
|
436
|
+
git_source = opts.keys & @git_sources.keys.map(&:to_s)
|
437
|
+
if opts["branch"] && !(opts["git"] || opts["github"] || git_source.any?)
|
438
|
+
raise GemfileError, %(The `branch` option for `#{command}` is not allowed. Only gems with a git source can specify a branch)
|
398
439
|
end
|
440
|
+
|
441
|
+
return true unless invalid_keys.any?
|
442
|
+
|
443
|
+
message = String.new
|
444
|
+
message << "You passed #{invalid_keys.map {|k| ":" + k }.join(", ")} "
|
445
|
+
message << if invalid_keys.size > 1
|
446
|
+
"as options for #{command}, but they are invalid."
|
447
|
+
else
|
448
|
+
"as an option for #{command}, but it is invalid."
|
449
|
+
end
|
450
|
+
|
451
|
+
message << " Valid options are: #{valid_keys.join(", ")}."
|
452
|
+
message << " You may be able to resolve this by upgrading Bundler to the newest version."
|
453
|
+
raise InvalidOption, message
|
399
454
|
end
|
400
455
|
|
401
456
|
def normalize_source(source)
|
402
457
|
case source
|
403
458
|
when :gemcutter, :rubygems, :rubyforge
|
404
|
-
Bundler::SharedHelpers.major_deprecation "The source :#{source} is deprecated because HTTP " \
|
459
|
+
Bundler::SharedHelpers.major_deprecation 2, "The source :#{source} is deprecated because HTTP " \
|
405
460
|
"requests are insecure.\nPlease change your source to 'https://" \
|
406
461
|
"rubygems.org' if possible, or 'http://rubygems.org' if not."
|
407
462
|
"http://rubygems.org"
|
@@ -412,17 +467,20 @@ module Bundler
|
|
412
467
|
end
|
413
468
|
end
|
414
469
|
|
415
|
-
def check_primary_source_safety(
|
416
|
-
return
|
470
|
+
def check_primary_source_safety(source_list)
|
471
|
+
return if source_list.rubygems_primary_remotes.empty? && source_list.global_rubygems_source.nil?
|
417
472
|
|
418
|
-
|
419
|
-
|
420
|
-
raise GemfileError, "Warning: this Gemfile contains multiple primary sources. " \
|
473
|
+
if Bundler.feature_flag.disable_multisource?
|
474
|
+
msg = "This Gemfile contains multiple primary sources. " \
|
421
475
|
"Each source after the first must include a block to indicate which gems " \
|
422
|
-
"should come from that source
|
423
|
-
|
476
|
+
"should come from that source"
|
477
|
+
unless Bundler.feature_flag.bundler_2_mode?
|
478
|
+
msg += ". To downgrade this error to a warning, run " \
|
479
|
+
"`bundle config --delete disable_multisource`"
|
480
|
+
end
|
481
|
+
raise GemfileEvalError, msg
|
424
482
|
else
|
425
|
-
Bundler::SharedHelpers.major_deprecation "Your Gemfile contains multiple primary sources. " \
|
483
|
+
Bundler::SharedHelpers.major_deprecation 2, "Your Gemfile contains multiple primary sources. " \
|
426
484
|
"Using `source` more than once without a block is a security risk, and " \
|
427
485
|
"may result in installing unexpected gems. To resolve this warning, use " \
|
428
486
|
"a block to indicate which gems should come from the secondary source. " \
|
@@ -431,20 +489,20 @@ module Bundler
|
|
431
489
|
end
|
432
490
|
end
|
433
491
|
|
434
|
-
def
|
492
|
+
def warn_deprecated_git_source(name, replacement, additional_message = nil)
|
435
493
|
# TODO: 2.0 remove deprecation
|
436
|
-
|
437
|
-
|
438
|
-
"
|
439
|
-
|
494
|
+
additional_message &&= " #{additional_message}"
|
495
|
+
replacement = if replacement.count("\n").zero?
|
496
|
+
"{|repo_name| #{replacement} }"
|
497
|
+
else
|
498
|
+
"do |repo_name|\n#{replacement.to_s.gsub(/^/, " ")}\n end"
|
499
|
+
end
|
500
|
+
|
501
|
+
Bundler::SharedHelpers.major_deprecation 2, <<-EOS
|
502
|
+
The :#{name} git source is deprecated, and will be removed in Bundler 2.0.#{additional_message} Add this code to the top of your Gemfile to ensure it continues to work:
|
503
|
+
|
504
|
+
git_source(:#{name}) #{replacement}
|
440
505
|
|
441
|
-
def warn_deprecated_git_source(name, repo_string)
|
442
|
-
# TODO: 2.0 remove deprecation
|
443
|
-
Bundler::SharedHelpers.major_deprecation <<-EOS
|
444
|
-
The :#{name} git source is deprecated, and will be removed in Bundler 2.0. Add this code to your Gemfile to ensure it continues to work:
|
445
|
-
git_source(:#{name}) do |repo_name|
|
446
|
-
"#{repo_string}"
|
447
|
-
end
|
448
506
|
EOS
|
449
507
|
end
|
450
508
|
|
@@ -523,7 +581,7 @@ The :#{name} git source is deprecated, and will be removed in Bundler 2.0. Add t
|
|
523
581
|
lines = contents.lines.to_a
|
524
582
|
indent = " # "
|
525
583
|
indicator = indent.tr("#", ">")
|
526
|
-
first_line =
|
584
|
+
first_line = line_numer.zero?
|
527
585
|
last_line = (line_numer == (lines.count - 1))
|
528
586
|
|
529
587
|
m << "\n"
|