bundler 1.15.4 → 1.16.0.pre.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of bundler might be problematic. Click here for more details.
- checksums.yaml +5 -5
- data/CHANGELOG.md +43 -0
- data/README.md +12 -7
- data/exe/bundle +1 -1
- data/exe/bundle_ruby +4 -3
- data/lib/bundler.rb +47 -37
- data/lib/bundler/build_metadata.rb +38 -0
- data/lib/bundler/capistrano.rb +5 -0
- data/lib/bundler/cli.rb +155 -67
- data/lib/bundler/cli/add.rb +0 -1
- data/lib/bundler/cli/binstubs.rb +9 -7
- data/lib/bundler/cli/cache.rb +5 -4
- data/lib/bundler/cli/check.rb +3 -5
- data/lib/bundler/cli/clean.rb +5 -6
- data/lib/bundler/cli/common.rb +11 -2
- data/lib/bundler/cli/config.rb +2 -1
- data/lib/bundler/cli/console.rb +2 -1
- data/lib/bundler/cli/doctor.rb +1 -0
- data/lib/bundler/cli/exec.rb +2 -1
- data/lib/bundler/cli/gem.rb +3 -2
- data/lib/bundler/cli/info.rb +0 -1
- data/lib/bundler/cli/init.rb +17 -6
- data/lib/bundler/cli/inject.rb +1 -0
- data/lib/bundler/cli/install.rb +61 -61
- data/lib/bundler/cli/issue.rb +1 -1
- data/lib/bundler/cli/list.rb +22 -0
- data/lib/bundler/cli/lock.rb +0 -1
- data/lib/bundler/cli/open.rb +2 -2
- data/lib/bundler/cli/outdated.rb +13 -8
- data/lib/bundler/cli/package.rb +9 -6
- data/lib/bundler/cli/platform.rb +1 -0
- data/lib/bundler/cli/plugin.rb +1 -0
- data/lib/bundler/cli/pristine.rb +9 -2
- data/lib/bundler/cli/show.rb +0 -1
- data/lib/bundler/cli/update.rb +31 -5
- data/lib/bundler/cli/viz.rb +1 -0
- data/lib/bundler/compact_index_client.rb +1 -0
- data/lib/bundler/compact_index_client/cache.rb +1 -0
- data/lib/bundler/compact_index_client/updater.rb +3 -2
- data/lib/bundler/compatibility_guard.rb +14 -0
- data/lib/bundler/constants.rb +1 -0
- data/lib/bundler/current_ruby.rb +5 -4
- data/lib/bundler/definition.rb +140 -95
- data/lib/bundler/dep_proxy.rb +2 -0
- data/lib/bundler/dependency.rb +6 -7
- data/lib/bundler/deployment.rb +1 -1
- data/lib/bundler/deprecate.rb +1 -0
- data/lib/bundler/dsl.rb +97 -62
- data/lib/bundler/endpoint_specification.rb +9 -0
- data/lib/bundler/env.rb +63 -27
- data/lib/bundler/environment_preserver.rb +26 -6
- data/lib/bundler/errors.rb +1 -0
- data/lib/bundler/feature_flag.rb +39 -4
- data/lib/bundler/fetcher.rb +15 -8
- data/lib/bundler/fetcher/base.rb +1 -0
- data/lib/bundler/fetcher/compact_index.rb +2 -11
- data/lib/bundler/fetcher/dependency.rb +1 -0
- data/lib/bundler/fetcher/downloader.rb +1 -0
- data/lib/bundler/fetcher/index.rb +1 -0
- data/lib/bundler/friendly_errors.rb +2 -1
- data/lib/bundler/gem_helper.rb +14 -9
- data/lib/bundler/gem_helpers.rb +1 -0
- data/lib/bundler/gem_remote_fetcher.rb +1 -0
- data/lib/bundler/gem_tasks.rb +1 -0
- data/lib/bundler/gem_version_promoter.rb +1 -0
- data/lib/bundler/gemdeps.rb +1 -0
- data/lib/bundler/graph.rb +1 -0
- data/lib/bundler/index.rb +15 -8
- data/lib/bundler/injector.rb +25 -22
- data/lib/bundler/inline.rb +5 -7
- data/lib/bundler/installer.rb +93 -45
- data/lib/bundler/installer/gem_installer.rb +2 -0
- data/lib/bundler/installer/parallel_installer.rb +73 -42
- data/lib/bundler/installer/standalone.rb +1 -0
- data/lib/bundler/lazy_specification.rb +2 -1
- data/lib/bundler/lockfile_generator.rb +95 -0
- data/lib/bundler/lockfile_parser.rb +10 -4
- data/lib/bundler/match_platform.rb +1 -0
- data/lib/bundler/mirror.rb +6 -3
- data/lib/bundler/plugin.rb +1 -0
- data/lib/bundler/plugin/api/source.rb +8 -0
- 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 +1 -0
- data/lib/bundler/remote_specification.rb +1 -0
- data/lib/bundler/resolver.rb +138 -191
- data/lib/bundler/resolver/spec_group.rb +111 -0
- data/lib/bundler/retry.rb +1 -0
- data/lib/bundler/ruby_dsl.rb +1 -0
- data/lib/bundler/ruby_version.rb +1 -0
- data/lib/bundler/rubygems_ext.rb +5 -4
- data/lib/bundler/rubygems_gem_installer.rb +23 -0
- data/lib/bundler/rubygems_integration.rb +56 -27
- data/lib/bundler/runtime.rb +3 -5
- data/lib/bundler/settings.rb +177 -76
- data/lib/bundler/settings/validator.rb +79 -0
- data/lib/bundler/setup.rb +1 -0
- data/lib/bundler/shared_helpers.rb +86 -26
- data/lib/bundler/similarity_detector.rb +1 -0
- data/lib/bundler/source.rb +32 -0
- data/lib/bundler/source/gemspec.rb +1 -0
- data/lib/bundler/source/git.rb +21 -16
- data/lib/bundler/source/git/git_proxy.rb +14 -10
- data/lib/bundler/source/metadata.rb +63 -0
- data/lib/bundler/source/path.rb +8 -8
- data/lib/bundler/source/path/installer.rb +2 -0
- data/lib/bundler/source/rubygems.rb +131 -84
- data/lib/bundler/source/rubygems/remote.rb +3 -0
- data/lib/bundler/source_list.rb +75 -15
- data/lib/bundler/spec_set.rb +2 -1
- data/lib/bundler/ssl_certs/certificate_manager.rb +2 -1
- data/lib/bundler/stub_specification.rb +1 -0
- data/lib/bundler/templates/Executable +4 -0
- data/lib/bundler/templates/Executable.bundler +105 -0
- data/lib/bundler/templates/Gemfile +1 -0
- data/lib/bundler/templates/gems.rb +8 -0
- data/lib/bundler/templates/newgem/README.md.tt +1 -1
- data/lib/bundler/templates/newgem/gitignore.tt +0 -1
- data/lib/bundler/templates/newgem/newgem.gemspec.tt +4 -1
- data/lib/bundler/templates/newgem/rspec.tt +1 -0
- data/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +0 -2
- data/lib/bundler/ui.rb +1 -0
- data/lib/bundler/ui/rg_proxy.rb +1 -0
- data/lib/bundler/ui/shell.rb +15 -4
- data/lib/bundler/ui/silent.rb +1 -0
- 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 +3 -2
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +1 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +1 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +1 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +1 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +1 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +1 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +1 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +1 -0
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +3 -2
- data/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +69 -6
- 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 +487 -148
- 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-http-persistent/lib/net/http/persistent.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 +34 -0
- data/lib/bundler/vendored_thor.rb +1 -0
- data/lib/bundler/version.rb +6 -2
- data/lib/bundler/version_ranges.rb +1 -0
- data/lib/bundler/vlad.rb +5 -0
- data/lib/bundler/worker.rb +1 -0
- data/lib/bundler/yaml_serializer.rb +3 -3
- data/man/bundle-add.1 +43 -0
- data/man/bundle-add.1.txt +40 -0
- data/man/bundle-binstubs.1 +40 -0
- data/man/bundle-binstubs.1.txt +48 -0
- data/man/bundle-binstubs.ronn +14 -0
- data/man/bundle-check.1 +31 -0
- data/man/bundle-check.1.txt +32 -0
- data/man/bundle-clean.1 +24 -0
- data/man/bundle-clean.1.txt +26 -0
- data/man/bundle-config.1 +455 -0
- data/man/bundle-config.1.txt +491 -0
- data/man/bundle-config.ronn +133 -79
- data/man/bundle-exec.1 +165 -0
- data/man/bundle-exec.1.txt +178 -0
- data/man/bundle-exec.ronn +7 -0
- data/man/bundle-gem.1 +80 -0
- data/man/bundle-gem.1.txt +91 -0
- data/man/bundle-gem.ronn +2 -1
- data/man/bundle-info.1 +20 -0
- data/man/bundle-info.1.txt +21 -0
- data/man/bundle-init.1 +20 -0
- data/man/bundle-init.1.txt +24 -0
- data/man/bundle-inject.1 +33 -0
- data/man/bundle-inject.1.txt +32 -0
- data/man/bundle-install.1 +305 -0
- data/man/bundle-install.1.txt +385 -0
- data/man/bundle-install.ronn +32 -32
- data/man/bundle-list.1 +20 -0
- data/man/bundle-list.1.txt +21 -0
- data/man/bundle-list.ronn +15 -0
- data/man/bundle-lock.1 +84 -0
- data/man/bundle-lock.1.txt +93 -0
- data/man/bundle-open.1 +32 -0
- data/man/bundle-open.1.txt +29 -0
- data/man/bundle-outdated.1 +151 -0
- data/man/bundle-outdated.1.txt +127 -0
- data/man/bundle-outdated.ronn +1 -1
- data/man/bundle-package.1 +55 -0
- data/man/bundle-package.1.txt +79 -0
- data/man/bundle-package.ronn +5 -0
- data/man/bundle-platform.1 +61 -0
- 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 +24 -3
- data/man/bundle-show.1 +23 -0
- data/man/bundle-show.1.txt +25 -0
- data/man/bundle-update.1 +390 -0
- data/man/bundle-update.1.txt +386 -0
- data/man/bundle-update.ronn +2 -2
- data/man/bundle-viz.1 +39 -0
- data/man/bundle-viz.1.txt +38 -0
- data/man/bundle-viz.ronn +5 -5
- data/man/bundle.1 +132 -0
- data/man/bundle.1.txt +113 -0
- data/man/bundle.ronn +5 -2
- data/man/gemfile.5 +679 -0
- data/man/gemfile.5.ronn +31 -0
- data/man/gemfile.5.txt +636 -0
- data/man/index.txt +23 -0
- metadata +21 -36
- data/.codeclimate.yml +0 -25
- data/.gitignore +0 -18
- data/.rspec +0 -3
- data/.rubocop.yml +0 -131
- data/.rubocop_todo.yml +0 -418
- data/.travis.yml +0 -122
- data/CODE_OF_CONDUCT.md +0 -42
- data/CONTRIBUTING.md +0 -17
- data/Rakefile +0 -338
- data/bin/rake +0 -19
- data/bin/rspec +0 -15
- data/bin/rubocop +0 -17
- data/bin/with_rubygems +0 -39
- data/bundler.gemspec +0 -48
- data/doc/README.md +0 -30
- data/doc/TROUBLESHOOTING.md +0 -64
- data/doc/contributing/BUG_TRIAGE.md +0 -36
- data/doc/contributing/COMMUNITY.md +0 -13
- data/doc/contributing/GETTING_HELP.md +0 -11
- data/doc/contributing/HOW_YOU_CAN_HELP.md +0 -27
- data/doc/contributing/ISSUES.md +0 -51
- data/doc/contributing/README.md +0 -38
- data/doc/development/NEW_FEATURES.md +0 -10
- data/doc/development/PULL_REQUESTS.md +0 -40
- data/doc/development/README.md +0 -19
- data/doc/development/RELEASING.md +0 -9
- data/doc/development/SETUP.md +0 -27
- data/doc/documentation/README.md +0 -29
- data/doc/documentation/VISION.md +0 -26
- data/doc/documentation/WRITING.md +0 -54
- data/task/release.rake +0 -116
data/.travis.yml
DELETED
@@ -1,122 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
script: rake spec:travis
|
3
|
-
before_script:
|
4
|
-
- travis_retry rake spec:travis:deps
|
5
|
-
- travis_retry rake man:build
|
6
|
-
- travis_retry rake spec:rubygems:clone_rubygems_$RGV
|
7
|
-
|
8
|
-
branches:
|
9
|
-
only:
|
10
|
-
- master
|
11
|
-
- auto
|
12
|
-
- /.+-dev$/
|
13
|
-
- /.+-stable$/
|
14
|
-
|
15
|
-
notifications:
|
16
|
-
slack:
|
17
|
-
on_success: change
|
18
|
-
on_failure: always
|
19
|
-
rooms:
|
20
|
-
- secure: JxBi7DDJGkIF/7f/FSN/HUHpvV4EKfQccZHTPd1b2pNJn3GXo6u+tNVbAw2WjxYzPyPQI3ZcYBCU9SEXp/i7VmG8uMzh8Kyildw+miSKYKVb90uYqcsXWzbxwyNBgJLvyDkzST45H5lgnyAicee3WkFes/WDZikIajbH7ztdb04=
|
21
|
-
|
22
|
-
addons:
|
23
|
-
code_climate:
|
24
|
-
repo_token:
|
25
|
-
secure: "TrzIv116JLGUxm6PAUskCYrv8KTDguncKROVwbnjVPKTGDAgoDderd8JUdDEXrKoZ9qGLD2TPYKExt9/QDl71E+qHdWnVqWv4HKCUk2P9z/VLKzHuggOUBkCXiJUhjywUieCJhI3N92bfq2EjSBbu2/OFHqWOjLQ+QCooTEBjv8="
|
26
|
-
|
27
|
-
rvm:
|
28
|
-
- 2.4.1
|
29
|
-
- 2.3.4
|
30
|
-
- 2.2.7
|
31
|
-
- 2.1.10
|
32
|
-
- 2.0.0
|
33
|
-
- 1.9.3
|
34
|
-
- 1.8.7
|
35
|
-
|
36
|
-
# Rubygems versions MUST be available as rake tasks
|
37
|
-
# see Rakefile:125 for the list of possible RGV values
|
38
|
-
env:
|
39
|
-
# We need to know if changes to rubygems will break bundler on release
|
40
|
-
- RGV=master
|
41
|
-
# Test the latest rubygems release with all of our supported rubies
|
42
|
-
- RGV=v2.6.8
|
43
|
-
|
44
|
-
matrix:
|
45
|
-
include:
|
46
|
-
# Ruby 2.4, Rubygems 2.6.8 and up
|
47
|
-
# Ruby 2.3, Rubygems 2.5.1 and up
|
48
|
-
- rvm: 2.2.6
|
49
|
-
env: RGV=v2.5.2
|
50
|
-
# Ruby 2.2, Rubygems 2.4.5 and up
|
51
|
-
- rvm: 2.2.6
|
52
|
-
env: RGV=v2.4.8
|
53
|
-
# Ruby 2.1, Rubygems 2.2.2 and up
|
54
|
-
- rvm: 2.1.10
|
55
|
-
env: RGV=v2.2.5
|
56
|
-
# Ruby 2.0.0, Rubygems 2.0.0 and up
|
57
|
-
- rvm: 2.0.0
|
58
|
-
env: RGV=v2.2.5
|
59
|
-
- rvm: 2.0.0
|
60
|
-
env: RGV=v2.1.11
|
61
|
-
- rvm: 2.0.0
|
62
|
-
env: RGV=v2.0.14
|
63
|
-
# Ruby 1.9.3, Rubygems 1.5.3 and up
|
64
|
-
- rvm: 1.9.3
|
65
|
-
env: RGV=v2.2.5
|
66
|
-
- rvm: 1.9.3
|
67
|
-
env: RGV=v2.1.11
|
68
|
-
- rvm: 1.9.3
|
69
|
-
env: RGV=v2.0.14
|
70
|
-
- rvm: 1.9.3
|
71
|
-
env: RGV=v1.8.29
|
72
|
-
- rvm: 1.9.3
|
73
|
-
env: RGV=v1.7.2
|
74
|
-
- rvm: 1.9.3
|
75
|
-
env: RGV=v1.6.2
|
76
|
-
- rvm: 1.9.3
|
77
|
-
env: RGV=v1.5.3
|
78
|
-
|
79
|
-
# Ruby 1.8.7, Rubygems 1.3.6 and up
|
80
|
-
- rvm: 1.8.7
|
81
|
-
env: RGV=v2.2.5
|
82
|
-
# ALLOWED FAILURES
|
83
|
-
# since the great Travis image outage, frequent random segfaults :'(
|
84
|
-
- rvm: 1.8.7
|
85
|
-
env: RGV=v2.0.14
|
86
|
-
- rvm: 1.8.7
|
87
|
-
env: RGV=v1.8.29
|
88
|
-
- rvm: 1.8.7
|
89
|
-
env: RGV=v1.7.2
|
90
|
-
- rvm: 1.8.7
|
91
|
-
env: RGV=v1.6.2
|
92
|
-
- rvm: 1.8.7
|
93
|
-
env: RGV=v1.5.3
|
94
|
-
- rvm: 1.8.7
|
95
|
-
env: RGV=v1.4.2
|
96
|
-
- rvm: 1.8.7
|
97
|
-
env: RGV=v1.3.7
|
98
|
-
- rvm: 1.8.7
|
99
|
-
env: RGV=v1.3.6
|
100
|
-
# Ruby-head (we want to know how we're doing, but not fail the build)
|
101
|
-
- rvm: ruby-head
|
102
|
-
env: RGV=master
|
103
|
-
|
104
|
-
allow_failures:
|
105
|
-
- rvm: 1.8.7
|
106
|
-
env: RGV=v2.0.14
|
107
|
-
- rvm: 1.8.7
|
108
|
-
env: RGV=v1.8.29
|
109
|
-
- rvm: 1.8.7
|
110
|
-
env: RGV=v1.7.2
|
111
|
-
- rvm: 1.8.7
|
112
|
-
env: RGV=v1.6.2
|
113
|
-
- rvm: 1.8.7
|
114
|
-
env: RGV=v1.5.3
|
115
|
-
- rvm: 1.8.7
|
116
|
-
env: RGV=v1.4.2
|
117
|
-
- rvm: 1.8.7
|
118
|
-
env: RGV=v1.3.7
|
119
|
-
- rvm: 1.8.7
|
120
|
-
env: RGV=v1.3.6
|
121
|
-
- rvm: ruby-head
|
122
|
-
env: RGV=master
|
data/CODE_OF_CONDUCT.md
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
# Bundler Code of Conduct
|
2
|
-
|
3
|
-
The Bundler project strongly values contributors from anywhere, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, ethnicity, age, religion, or nationality. As a result, the Bundler team has agreed to and enforces this code of conduct in order to provide a harassment-free experience for everyone who participates in the development of Bundler.
|
4
|
-
|
5
|
-
### Summary
|
6
|
-
|
7
|
-
Harassment in code and discussion or violation of physical boundaries is completely unacceptable anywhere in the Bundler project’s codebases, issue trackers, chat rooms, mailing lists, meetups, and any other events. Violators will be warned and then blocked or banned by the core team at or before the 3rd violation.
|
8
|
-
|
9
|
-
### In detail
|
10
|
-
|
11
|
-
Harassment includes offensive verbal comments related to level of experience, gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, ethnicity, age, religion, nationality, the use of sexualized language or imagery, deliberate intimidation, stalking, sustained disruption, and unwelcome sexual attention.
|
12
|
-
|
13
|
-
Individuals asked to stop any harassing behavior are expected to comply immediately.
|
14
|
-
|
15
|
-
Maintainers, including the core team, are also subject to the anti-harassment policy.
|
16
|
-
|
17
|
-
If anyone engages in abusive, harassing, or otherwise unacceptable behavior, including maintainers, we may take appropriate action, up to and including warning the offender, deletion of comments, removal from the project’s codebase and communication systems, and escalation to GitHub support.
|
18
|
-
|
19
|
-
If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a member of [the core team](http://bundler.io/contributors.html) or [email the core team](mailto:team@bundler.io) immediately.
|
20
|
-
|
21
|
-
We expect everyone to follow these rules anywhere in the Bundler project’s codebases, issue trackers, IRC channel, group chat, and mailing lists.
|
22
|
-
|
23
|
-
This code of conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.
|
24
|
-
|
25
|
-
Finally, don't forget that it is human to make mistakes! We all do. Let’s work together to help each other, resolve issues, and learn from the mistakes that we will all inevitably make from time to time.
|
26
|
-
|
27
|
-
|
28
|
-
### Thanks
|
29
|
-
|
30
|
-
Thanks to the [JSConf Code of Conduct](http://jsconf.com/codeofconduct.html) and [Fedora Code of Conduct](http://fedoraproject.org/code-of-conduct) for inspiration and ideas. Additional thanks to [Contributor Covenant](http://contributor-covenant.org) for the [default code of conduct](https://github.com/bundler/bundler/blob/master/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt) included in generated gems.
|
31
|
-
|
32
|
-
|
33
|
-
### License
|
34
|
-
|
35
|
-
<p class="license" xmlns:dct="http://purl.org/dc/terms/" xmlns:vcard="http://www.w3.org/2001/vcard-rdf/3.0#">
|
36
|
-
To the extent possible under law, <a rel="dct:publisher" href="http://bundler.io">The Bundler Team</a> has waived all copyright and related or neighboring rights to the <span property="dct:title">Bundler Code of Conduct</span>. This work is published from the <span property="vcard:Country" datatype="dct:ISO3166" content="US" about="http://bundler.io">United States.</span>
|
37
|
-
<br>
|
38
|
-
<br>
|
39
|
-
<a rel="license" href="http://creativecommons.org/publicdomain/zero/1.0/">
|
40
|
-
<img src="http://i.creativecommons.org/p/zero/1.0/88x31.png" style="border-style: none;" alt="CC0">
|
41
|
-
</a>
|
42
|
-
</p>
|
data/CONTRIBUTING.md
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
# Contributing to Bundler
|
2
|
-
|
3
|
-
Welcome to Bundler! We are so happy that you're here. We know it can be daunting to joining a new open source project, so here's a quick overview of what you can expect from this documentation.
|
4
|
-
|
5
|
-
Bundler welcomes contributions from *everyone*. While contributing, please follow the project [code of conduct](http://bundler.io/conduct.html), so that everyone can be included.
|
6
|
-
|
7
|
-
## Quick start
|
8
|
-
|
9
|
-
Some guides you might find useful:
|
10
|
-
|
11
|
-
* [Submitting pull requests](doc/development/PULL_REQUESTS.md)
|
12
|
-
* [Filing an issue](doc/contributing/ISSUES.md)
|
13
|
-
* [Bug triage](doc/contributing/BUG_TRIAGE.md)
|
14
|
-
|
15
|
-
## Comprehensive guides
|
16
|
-
|
17
|
-
Not finding what you're looking for? More comprehensive guides are [available here](doc/README.md).
|
data/Rakefile
DELETED
@@ -1,338 +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.48.0" if RUBY_VERSION >= "2.0.0" # 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
|
-
gem_install_command = "install --no-ri --no-rdoc --conservative " + deps.sort_by {|name, _| name }.map do |name, version|
|
51
|
-
"'#{name}:#{version}'"
|
52
|
-
end.join(" ")
|
53
|
-
sh %(#{Gem.ruby} -S gem #{gem_install_command})
|
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.11"
|
74
|
-
|
75
|
-
$LOAD_PATH.unshift("./spec")
|
76
|
-
require "support/rubygems_ext"
|
77
|
-
Spec::Rubygems::DEPS["codeclimate-test-reporter"] = "~> 0.6.0" 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 >= "2.0.0"
|
95
|
-
# can't go in the gemspec because of the ruby version requirement
|
96
|
-
gem "rubocop", "= 0.48.0"
|
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.5.2 v2.6.8)
|
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 >= "2.0.0"
|
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 "man"
|
242
|
-
|
243
|
-
sources = Dir["man/*.ronn"].map {|f| File.basename(f, ".ronn") }
|
244
|
-
sources.map do |basename|
|
245
|
-
ronn = "man/#{basename}.ronn"
|
246
|
-
manual_section = ".1" unless basename =~ /.*(\d+)\Z/
|
247
|
-
roff = "man/#{basename}#{manual_section}"
|
248
|
-
|
249
|
-
file roff => ["man", ronn] do
|
250
|
-
sh "#{Gem.ruby} -S ronn --roff --pipe #{ronn} > #{roff}"
|
251
|
-
end
|
252
|
-
|
253
|
-
file "#{roff}.txt" => roff do
|
254
|
-
sh "groff -Wall -mtty-char -mandoc -Tascii #{roff} | col -b > #{roff}.txt"
|
255
|
-
end
|
256
|
-
|
257
|
-
task :build_all_pages => "#{roff}.txt"
|
258
|
-
end
|
259
|
-
|
260
|
-
task :clean do
|
261
|
-
leftovers = Dir["man/*"].reject do |f|
|
262
|
-
File.extname(f) == ".ronn" || f == "man/index.txt"
|
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("molinillo") do |lib|
|
289
|
-
lib.download = { :github => "https://github.com/CocoaPods/Molinillo" }
|
290
|
-
lib.namespace = "Molinillo"
|
291
|
-
lib.prefix = "Bundler"
|
292
|
-
lib.vendor_lib = "lib/bundler/vendor/molinillo"
|
293
|
-
end
|
294
|
-
|
295
|
-
Automatiek::RakeTask.new("thor") do |lib|
|
296
|
-
lib.download = { :github => "https://github.com/erikhuda/thor" }
|
297
|
-
lib.namespace = "Thor"
|
298
|
-
lib.prefix = "Bundler"
|
299
|
-
lib.vendor_lib = "lib/bundler/vendor/thor"
|
300
|
-
end
|
301
|
-
|
302
|
-
Automatiek::RakeTask.new("net-http-persistent") do |lib|
|
303
|
-
lib.download = { :github => "https://github.com/drbrain/net-http-persistent" }
|
304
|
-
lib.namespace = "Net::HTTP::Persistent"
|
305
|
-
lib.prefix = "Bundler::Persistent"
|
306
|
-
lib.vendor_lib = "lib/bundler/vendor/net-http-persistent"
|
307
|
-
|
308
|
-
mixin = Module.new do
|
309
|
-
def namespace_files
|
310
|
-
super
|
311
|
-
require_target = vendor_lib.sub(%r{^(.+?/)?lib/}, "") << "/lib"
|
312
|
-
relative_files = files.map {|f| Pathname.new(f).relative_path_from(Pathname.new(vendor_lib) / "lib").sub_ext("").to_s }
|
313
|
-
process_files(/require (['"])(#{Regexp.union(relative_files)})/, "require \\1#{require_target}/\\2")
|
314
|
-
end
|
315
|
-
end
|
316
|
-
lib.send(:extend, mixin)
|
317
|
-
end
|
318
|
-
rescue LoadError
|
319
|
-
namespace :vendor do
|
320
|
-
task(:molinillo) { abort "Install the automatiek gem to be able to vendor gems." }
|
321
|
-
task(:thor) { abort "Install the automatiek gem to be able to vendor gems." }
|
322
|
-
task("net-http-persistent") { abort "Install the automatiek gem to be able to vendor gems." }
|
323
|
-
end
|
324
|
-
end
|
325
|
-
|
326
|
-
desc "Update vendored SSL certs to match the certs vendored by Rubygems"
|
327
|
-
task :update_certs => "spec:rubygems:clone_rubygems_master" do
|
328
|
-
require "bundler/ssl_certs/certificate_manager"
|
329
|
-
Bundler::SSLCerts::CertificateManager.update_from!(RUBYGEMS_REPO)
|
330
|
-
end
|
331
|
-
|
332
|
-
require "bundler/gem_tasks"
|
333
|
-
task :build => ["man:build"]
|
334
|
-
task :release => ["man:require", "man:build"]
|
335
|
-
|
336
|
-
task :default => :spec
|
337
|
-
|
338
|
-
Dir["task/*.{rb,rake}"].each(&method(:load))
|