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/ISSUES.md
DELETED
@@ -1,100 +0,0 @@
|
|
1
|
-
# Bundler Issues
|
2
|
-
|
3
|
-
So! You're having problems with Bundler. This file is here to help. If you're running into an error, try reading the rest of this file for help. If you can't figure out how to solve your problem, there are also instructions on how to report a bug.
|
4
|
-
|
5
|
-
## Documentation
|
6
|
-
|
7
|
-
Instructions for common Bundler uses can be found on the [Bundler documentation site](http://bundler.io/).
|
8
|
-
|
9
|
-
Detailed information about each Bundler command, including help with common problems, can be found in the [Bundler man pages](http://bundler.io/man/bundle.1.html) or [Bundler Command Line Reference](http://bundler.io/v1.11/commands.html).
|
10
|
-
|
11
|
-
## Troubleshooting
|
12
|
-
|
13
|
-
### Heroku errors
|
14
|
-
|
15
|
-
Please open a ticket with [Heroku](https://www.heroku.com) if you're having trouble deploying. They have a professional support team who can help you resolve Heroku issues far better than the Bundler team can. If the problem that you are having turns out to be a bug in Bundler itself, [Heroku support](https://www.heroku.com/support) can get the exact details to us.
|
16
|
-
|
17
|
-
### Other problems
|
18
|
-
|
19
|
-
First, figure out exactly what it is that you're trying to do (see [XY Problem](http://xyproblem.info/)). Then, go to the [Bundler documentation website](http://bundler.io) and see if we have instructions on how to do that.
|
20
|
-
|
21
|
-
Second, check [the compatibility
|
22
|
-
list](http://bundler.io/compatibility.html), and make sure that the version of Bundler that you are
|
23
|
-
using works with the versions of Ruby and Rubygems that you are using. To see your versions:
|
24
|
-
|
25
|
-
# Bundler version
|
26
|
-
bundle -v
|
27
|
-
|
28
|
-
# Ruby version
|
29
|
-
ruby -v
|
30
|
-
|
31
|
-
# Rubygems version
|
32
|
-
gem -v
|
33
|
-
|
34
|
-
If these instructions don't work, or you can't find any appropriate instructions, you can try these troubleshooting steps:
|
35
|
-
|
36
|
-
# Remove user-specific gems and git repos
|
37
|
-
rm -rf ~/.bundle/ ~/.gem/bundler/ ~/.gems/cache/bundler/
|
38
|
-
|
39
|
-
# Remove system-wide git repos and git checkouts
|
40
|
-
rm -rf $GEM_HOME/bundler/ $GEM_HOME/cache/bundler/
|
41
|
-
|
42
|
-
# Remove project-specific settings
|
43
|
-
rm -rf .bundle/
|
44
|
-
|
45
|
-
# Remove project-specific cached gems and repos
|
46
|
-
rm -rf vendor/cache/
|
47
|
-
|
48
|
-
# Remove the saved resolve of the Gemfile
|
49
|
-
rm -rf Gemfile.lock
|
50
|
-
|
51
|
-
# Uninstall the rubygems-bundler and open_gem gems
|
52
|
-
rvm gemset use global # if using rvm
|
53
|
-
gem uninstall rubygems-bundler open_gem
|
54
|
-
|
55
|
-
# Try to install one more time
|
56
|
-
bundle install
|
57
|
-
|
58
|
-
## Reporting unresolved problems
|
59
|
-
|
60
|
-
Hopefully the troubleshooting steps above resolved your problem. If things still aren't working the way you expect them to, please let us know so that we can diagnose and hopefully fix the problem you're having.
|
61
|
-
|
62
|
-
**The best way to report a bug is by providing a reproduction script.** See these examples:
|
63
|
-
|
64
|
-
* [Git environment variables causing install to fail.](https://gist.github.com/xaviershay/6207550)
|
65
|
-
* [Multiple gems in a repository cannot be updated independently.](https://gist.github.com/xaviershay/6295889)
|
66
|
-
|
67
|
-
A half working script with comments for the parts you were unable to automate is still appreciated.
|
68
|
-
|
69
|
-
If you are unable to do that, please include the following information in your report:
|
70
|
-
|
71
|
-
- What you're trying to accomplish
|
72
|
-
- The command you ran
|
73
|
-
- What you expected to happen
|
74
|
-
- What actually happened
|
75
|
-
- The exception backtrace(s), if any
|
76
|
-
- Everything output by running `bundle env`
|
77
|
-
|
78
|
-
If your version of Bundler does not have the `bundle env` command, then please include:
|
79
|
-
|
80
|
-
- Your `Gemfile`
|
81
|
-
- Your `Gemfile.lock`
|
82
|
-
- Your Bundler configuration settings (run `bundle config`)
|
83
|
-
- What version of bundler you are using (run `bundle -v`)
|
84
|
-
- What version of Ruby you are using (run `ruby -v`)
|
85
|
-
- What version of Rubygems you are using (run `gem -v`)
|
86
|
-
- Whether you are using RVM, and if so what version (run `rvm -v`)
|
87
|
-
- Whether you have the `rubygems-bundler` gem, which can break gem executables (run `gem list rubygems-bundler`)
|
88
|
-
- Whether you have the `open_gem` gem, which can cause rake activation conflicts (run `gem list open_gem`)
|
89
|
-
|
90
|
-
If you are using Rails 2.3, please also include:
|
91
|
-
|
92
|
-
- Your `boot.rb` file
|
93
|
-
- Your `preinitializer.rb` file
|
94
|
-
- Your `environment.rb` file
|
95
|
-
|
96
|
-
If you have either `rubygems-bundler` or `open_gem` installed, please try removing them and then following the troubleshooting steps above before opening a new ticket.
|
97
|
-
|
98
|
-
[Create a gist](https://gist.github.com) containing all of that information, then visit the [Bundler issue tracker](https://github.com/bundler/bundler/issues) and [create a ticket](https://github.com/bundler/bundler/issues/new) describing your problem and linking to your gist.
|
99
|
-
|
100
|
-
Thanks for reporting issues and helping make Bundler better!
|
data/Rakefile
DELETED
@@ -1,333 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
# frozen_string_literal: true
|
3
|
-
$:.unshift File.expand_path("../lib", __FILE__)
|
4
|
-
require "shellwords"
|
5
|
-
require "benchmark"
|
6
|
-
|
7
|
-
RUBYGEMS_REPO = if `cd .. && git remote --verbose 2>/dev/null` =~ /rubygems/i
|
8
|
-
File.expand_path("..")
|
9
|
-
else
|
10
|
-
File.expand_path("tmp/rubygems")
|
11
|
-
end
|
12
|
-
|
13
|
-
BUNDLER_SPEC = Gem::Specification.load("bundler.gemspec")
|
14
|
-
|
15
|
-
def safe_task(&block)
|
16
|
-
yield
|
17
|
-
true
|
18
|
-
rescue
|
19
|
-
false
|
20
|
-
end
|
21
|
-
|
22
|
-
# Benchmark task execution
|
23
|
-
module Rake
|
24
|
-
class Task
|
25
|
-
alias_method :real_invoke, :invoke
|
26
|
-
|
27
|
-
def invoke(*args)
|
28
|
-
time = Benchmark.measure(@name) do
|
29
|
-
real_invoke(*args)
|
30
|
-
end
|
31
|
-
puts "#{@name} ran for #{time}"
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
namespace :spec do
|
37
|
-
desc "Ensure spec dependencies are installed"
|
38
|
-
task :deps do
|
39
|
-
deps = Hash[BUNDLER_SPEC.development_dependencies.map do |d|
|
40
|
-
[d.name, d.requirement.to_s]
|
41
|
-
end]
|
42
|
-
deps["rubocop"] ||= "= 0.41.2" if RUBY_VERSION >= "1.9.3" # can't go in the gemspec because of the ruby version requirement
|
43
|
-
|
44
|
-
# JRuby can't build ronn or rdiscount, so we skip that
|
45
|
-
if defined?(RUBY_ENGINE) && RUBY_ENGINE == "jruby"
|
46
|
-
deps.delete("ronn")
|
47
|
-
deps.delete("rdiscount")
|
48
|
-
end
|
49
|
-
|
50
|
-
deps.sort_by {|name, _| name }.each do |name, version|
|
51
|
-
sh %(#{Gem.ruby} -S gem list -i "^#{name}$" -v "#{version}" || ) +
|
52
|
-
%(#{Gem.ruby} -S gem install #{name} -v "#{version}" --no-ri --no-rdoc)
|
53
|
-
end
|
54
|
-
|
55
|
-
# Download and install gems used inside tests
|
56
|
-
$LOAD_PATH.unshift("./spec")
|
57
|
-
require "support/rubygems_ext"
|
58
|
-
Spec::Rubygems.setup
|
59
|
-
end
|
60
|
-
|
61
|
-
namespace :travis do
|
62
|
-
task :deps do
|
63
|
-
# Give the travis user a name so that git won't fatally error
|
64
|
-
system "sudo sed -i 's/1000::/1000:Travis:/g' /etc/passwd"
|
65
|
-
# Strip secure_path so that RVM paths transmit through sudo -E
|
66
|
-
system "sudo sed -i '/secure_path/d' /etc/sudoers"
|
67
|
-
# Install groff so ronn can generate man/help pages
|
68
|
-
sh "sudo apt-get install groff-base -y"
|
69
|
-
# Install graphviz so that the viz specs can run
|
70
|
-
sh "sudo apt-get install graphviz -y 2>&1 | tail -n 2"
|
71
|
-
|
72
|
-
# Install the gems with a consistent version of RubyGems
|
73
|
-
sh "gem update --system 2.6.4"
|
74
|
-
|
75
|
-
$LOAD_PATH.unshift("./spec")
|
76
|
-
require "support/rubygems_ext"
|
77
|
-
Spec::Rubygems::DEPS["codeclimate-test-reporter"] = nil if RUBY_VERSION >= "2.2.0"
|
78
|
-
|
79
|
-
# Install the other gem deps, etc
|
80
|
-
Rake::Task["spec:deps"].invoke
|
81
|
-
end
|
82
|
-
end
|
83
|
-
end
|
84
|
-
|
85
|
-
begin
|
86
|
-
rspec = BUNDLER_SPEC.development_dependencies.find {|d| d.name == "rspec" }
|
87
|
-
gem "rspec", rspec.requirement.to_s
|
88
|
-
require "rspec/core/rake_task"
|
89
|
-
|
90
|
-
desc "Run specs"
|
91
|
-
RSpec::Core::RakeTask.new
|
92
|
-
task :spec => "man:build"
|
93
|
-
|
94
|
-
if RUBY_VERSION >= "1.9.3"
|
95
|
-
# can't go in the gemspec because of the ruby version requirement
|
96
|
-
gem "rubocop", "= 0.41.2"
|
97
|
-
require "rubocop/rake_task"
|
98
|
-
RuboCop::RakeTask.new
|
99
|
-
end
|
100
|
-
|
101
|
-
namespace :spec do
|
102
|
-
task :clean do
|
103
|
-
rm_rf "tmp"
|
104
|
-
end
|
105
|
-
|
106
|
-
desc "Run the real-world spec suite (requires internet)"
|
107
|
-
task :realworld => %w(set_realworld spec)
|
108
|
-
|
109
|
-
task :set_realworld do
|
110
|
-
ENV["BUNDLER_REALWORLD_TESTS"] = "1"
|
111
|
-
end
|
112
|
-
|
113
|
-
desc "Run the spec suite with the sudo tests"
|
114
|
-
task :sudo => %w(set_sudo spec clean_sudo)
|
115
|
-
|
116
|
-
task :set_sudo do
|
117
|
-
ENV["BUNDLER_SUDO_TESTS"] = "1"
|
118
|
-
end
|
119
|
-
|
120
|
-
task :clean_sudo do
|
121
|
-
puts "Cleaning up sudo test files..."
|
122
|
-
system "sudo rm -rf #{File.expand_path("../tmp/sudo_gem_home", __FILE__)}"
|
123
|
-
end
|
124
|
-
|
125
|
-
# Rubygems specs by version
|
126
|
-
namespace :rubygems do
|
127
|
-
rubyopt = ENV["RUBYOPT"]
|
128
|
-
# When editing this list, also edit .travis.yml!
|
129
|
-
branches = %w(master)
|
130
|
-
releases = %w(v1.3.6 v1.3.7 v1.4.2 v1.5.3 v1.6.2 v1.7.2 v1.8.29 v2.0.14 v2.1.11 v2.2.5 v2.4.8 v2.6.4)
|
131
|
-
(branches + releases).each do |rg|
|
132
|
-
desc "Run specs with Rubygems #{rg}"
|
133
|
-
RSpec::Core::RakeTask.new(rg) do |t|
|
134
|
-
t.rspec_opts = %w(--format progress --color)
|
135
|
-
t.ruby_opts = %w(-w)
|
136
|
-
end
|
137
|
-
|
138
|
-
# Create tasks like spec:rubygems:v1.8.3:sudo to run the sudo specs
|
139
|
-
namespace rg do
|
140
|
-
task :sudo => ["set_sudo", rg, "clean_sudo"]
|
141
|
-
task :realworld => ["set_realworld", rg]
|
142
|
-
end
|
143
|
-
|
144
|
-
task "clone_rubygems_#{rg}" do
|
145
|
-
unless File.directory?(RUBYGEMS_REPO)
|
146
|
-
system("git clone https://github.com/rubygems/rubygems.git tmp/rubygems")
|
147
|
-
end
|
148
|
-
hash = nil
|
149
|
-
|
150
|
-
if RUBYGEMS_REPO.start_with?(Dir.pwd)
|
151
|
-
Dir.chdir(RUBYGEMS_REPO) do
|
152
|
-
system("git remote update")
|
153
|
-
if rg == "master"
|
154
|
-
system("git checkout origin/master")
|
155
|
-
else
|
156
|
-
system("git checkout #{rg}") || raise("Unknown Rubygems ref #{rg}")
|
157
|
-
end
|
158
|
-
hash = `git rev-parse HEAD`.chomp
|
159
|
-
end
|
160
|
-
elsif rg != "master"
|
161
|
-
raise "need to be running against master with bundler as a submodule"
|
162
|
-
end
|
163
|
-
|
164
|
-
puts "Checked out rubygems '#{rg}' at #{hash}"
|
165
|
-
ENV["RUBYOPT"] = "-I#{File.join(RUBYGEMS_REPO, "lib")} #{rubyopt}"
|
166
|
-
puts "RUBYOPT=#{ENV["RUBYOPT"]}"
|
167
|
-
end
|
168
|
-
|
169
|
-
task rg => ["man:build", "clone_rubygems_#{rg}"]
|
170
|
-
task "rubygems:all" => rg
|
171
|
-
end
|
172
|
-
|
173
|
-
desc "Run specs under a Rubygems checkout (set RG=path)"
|
174
|
-
RSpec::Core::RakeTask.new("co") do |t|
|
175
|
-
t.rspec_opts = %w(--format documentation --color)
|
176
|
-
t.ruby_opts = %w(-w)
|
177
|
-
end
|
178
|
-
|
179
|
-
task "setup_co" do
|
180
|
-
rg = File.expand_path ENV["RG"]
|
181
|
-
puts "Running specs against Rubygems in #{rg}..."
|
182
|
-
ENV["RUBYOPT"] = "-I#{rg} #{rubyopt}"
|
183
|
-
end
|
184
|
-
|
185
|
-
task "co" => "setup_co"
|
186
|
-
task "rubygems:all" => "co"
|
187
|
-
end
|
188
|
-
|
189
|
-
desc "Run the tests on Travis CI against a rubygem version (using ENV['RGV'])"
|
190
|
-
task :travis do
|
191
|
-
rg = ENV["RGV"] || raise("Rubygems version is required on Travis!")
|
192
|
-
|
193
|
-
if RUBY_VERSION > "1.9.3"
|
194
|
-
puts "\n\e[1;33m[Travis CI] Running bundler linter\e[m\n\n"
|
195
|
-
Rake::Task["rubocop"].invoke
|
196
|
-
end
|
197
|
-
|
198
|
-
puts "\n\e[1;33m[Travis CI] Running bundler specs against rubygems #{rg}\e[m\n\n"
|
199
|
-
specs = safe_task { Rake::Task["spec:rubygems:#{rg}"].invoke }
|
200
|
-
|
201
|
-
Rake::Task["spec:rubygems:#{rg}"].reenable
|
202
|
-
|
203
|
-
puts "\n\e[1;33m[Travis CI] Running bundler sudo specs against rubygems #{rg}\e[m\n\n"
|
204
|
-
sudos = system("sudo -E rake spec:rubygems:#{rg}:sudo")
|
205
|
-
# clean up by chowning the newly root-owned tmp directory back to the travis user
|
206
|
-
system("sudo chown -R #{ENV["USER"]} #{File.join(File.dirname(__FILE__), "tmp")}")
|
207
|
-
|
208
|
-
Rake::Task["spec:rubygems:#{rg}"].reenable
|
209
|
-
|
210
|
-
puts "\n\e[1;33m[Travis CI] Running bundler real world specs against rubygems #{rg}\e[m\n\n"
|
211
|
-
realworld = safe_task { Rake::Task["spec:rubygems:#{rg}:realworld"].invoke }
|
212
|
-
|
213
|
-
{ "specs" => specs, "sudo" => sudos, "realworld" => realworld }.each do |name, passed|
|
214
|
-
if passed
|
215
|
-
puts "\e[0;32m[Travis CI] #{name} passed\e[m"
|
216
|
-
else
|
217
|
-
puts "\e[0;31m[Travis CI] #{name} failed\e[m"
|
218
|
-
end
|
219
|
-
end
|
220
|
-
|
221
|
-
unless specs && sudos && realworld
|
222
|
-
raise "Spec run failed, please review the log for more information"
|
223
|
-
end
|
224
|
-
end
|
225
|
-
end
|
226
|
-
|
227
|
-
rescue LoadError
|
228
|
-
task :spec do
|
229
|
-
abort "Run `rake spec:deps` to be able to run the specs"
|
230
|
-
end
|
231
|
-
|
232
|
-
task :rubocop do
|
233
|
-
abort "Run `rake spec:deps` to be able to run rubocop"
|
234
|
-
end
|
235
|
-
end
|
236
|
-
|
237
|
-
begin
|
238
|
-
require "ronn"
|
239
|
-
|
240
|
-
namespace :man do
|
241
|
-
directory "lib/bundler/man"
|
242
|
-
|
243
|
-
sources = Dir["man/*.ronn"].map {|f| File.basename(f, ".ronn") }
|
244
|
-
sources.map do |basename|
|
245
|
-
ronn = "man/#{basename}.ronn"
|
246
|
-
roff = "lib/bundler/man/#{basename}"
|
247
|
-
|
248
|
-
file roff => ["lib/bundler/man", ronn] do
|
249
|
-
sh "#{Gem.ruby} -S ronn --roff --pipe #{ronn} > #{roff}"
|
250
|
-
end
|
251
|
-
|
252
|
-
file "#{roff}.txt" => roff do
|
253
|
-
sh "groff -Wall -mtty-char -mandoc -Tascii #{roff} | col -b > #{roff}.txt"
|
254
|
-
end
|
255
|
-
|
256
|
-
task :build_all_pages => "#{roff}.txt"
|
257
|
-
end
|
258
|
-
|
259
|
-
task :clean do
|
260
|
-
leftovers = Dir["lib/bundler/man/*"].reject do |f|
|
261
|
-
basename = File.basename(f).sub(/\.(txt|ronn)/, "")
|
262
|
-
sources.include?(basename)
|
263
|
-
end
|
264
|
-
rm leftovers if leftovers.any?
|
265
|
-
end
|
266
|
-
|
267
|
-
desc "Build the man pages"
|
268
|
-
task :build => ["man:clean", "man:build_all_pages"]
|
269
|
-
|
270
|
-
desc "Remove all built man pages"
|
271
|
-
task :clobber do
|
272
|
-
rm_rf "lib/bundler/man"
|
273
|
-
end
|
274
|
-
|
275
|
-
task(:require) {}
|
276
|
-
end
|
277
|
-
|
278
|
-
rescue LoadError
|
279
|
-
namespace :man do
|
280
|
-
task(:require) { abort "Install the ronn gem to be able to release!" }
|
281
|
-
task(:build) { warn "Install the ronn gem to build the help pages" }
|
282
|
-
end
|
283
|
-
end
|
284
|
-
|
285
|
-
begin
|
286
|
-
require "automatiek"
|
287
|
-
|
288
|
-
Automatiek::RakeTask.new("compact_index_client") do |lib|
|
289
|
-
lib.download = { :github => "https://github.com/bundler/compact_index_client" }
|
290
|
-
lib.namespace = "CompactIndexClient"
|
291
|
-
lib.prefix = "Bundler"
|
292
|
-
lib.vendor_lib = "lib/bundler/vendor/compact_index_client"
|
293
|
-
end
|
294
|
-
|
295
|
-
Automatiek::RakeTask.new("molinillo") do |lib|
|
296
|
-
lib.download = { :github => "https://github.com/CocoaPods/Molinillo" }
|
297
|
-
lib.namespace = "Molinillo"
|
298
|
-
lib.prefix = "Bundler"
|
299
|
-
lib.vendor_lib = "lib/bundler/vendor/molinillo"
|
300
|
-
end
|
301
|
-
|
302
|
-
Automatiek::RakeTask.new("thor") do |lib|
|
303
|
-
lib.download = { :github => "https://github.com/erikhuda/thor" }
|
304
|
-
lib.namespace = "Thor"
|
305
|
-
lib.prefix = "Bundler"
|
306
|
-
lib.vendor_lib = "lib/bundler/vendor/thor"
|
307
|
-
end
|
308
|
-
|
309
|
-
Automatiek::RakeTask.new("postit") do |lib|
|
310
|
-
lib.download = { :github => "https://github.com/bundler/postit" }
|
311
|
-
lib.namespace = "PostIt"
|
312
|
-
lib.prefix = "BundlerVendoredPostIt"
|
313
|
-
lib.vendor_lib = "lib/bundler/vendor/postit"
|
314
|
-
end
|
315
|
-
rescue LoadError
|
316
|
-
namespace :vendor do
|
317
|
-
task(:molinillo) { abort "Install the automatiek gem to be able to vendor gems." }
|
318
|
-
task(:thor) { abort "Install the automatiek gem to be able to vendor gems." }
|
319
|
-
task(:postit) { abort "Install the automatiek gem to be able to vendor gems." }
|
320
|
-
end
|
321
|
-
end
|
322
|
-
|
323
|
-
desc "Update vendored SSL certs to match the certs vendored by Rubygems"
|
324
|
-
task :update_certs => "spec:rubygems:clone_rubygems_master" do
|
325
|
-
require "bundler/ssl_certs/certificate_manager"
|
326
|
-
Bundler::SSLCerts::CertificateManager.update_from!(RUBYGEMS_REPO)
|
327
|
-
end
|
328
|
-
|
329
|
-
require "bundler/gem_tasks"
|
330
|
-
task :build => ["man:build"]
|
331
|
-
task :release => ["man:require", "man:build"]
|
332
|
-
|
333
|
-
task :default => :spec
|
data/bin/rake
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
load File.expand_path("../with_rubygems", __FILE__) if ENV["RGV"]
|
5
|
-
|
6
|
-
require "rubygems"
|
7
|
-
|
8
|
-
bundler_spec = Gem::Specification.load(File.expand_path("../../bundler.gemspec", __FILE__))
|
9
|
-
bundler_spec.dependencies.each do |dep|
|
10
|
-
begin
|
11
|
-
gem dep.name, dep.requirement
|
12
|
-
rescue Gem::LoadError => e
|
13
|
-
$stderr.puts "#{e.message} (#{e.class})"
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
Gem.finish_resolve if Gem.respond_to?(:finish_resolve)
|
18
|
-
|
19
|
-
load Gem.bin_path("rake", "rake")
|