bundler 1.15.1 → 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 +320 -0
- data/README.md +17 -8
- data/bundler.gemspec +25 -9
- data/exe/bundle +1 -6
- data/exe/bundle_ruby +4 -3
- data/lib/bundler/build_metadata.rb +53 -0
- data/lib/bundler/capistrano.rb +5 -0
- data/lib/bundler/cli/add.rb +15 -6
- data/lib/bundler/cli/binstubs.rb +17 -9
- 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 +48 -1
- data/lib/bundler/cli/exec.rb +6 -5
- data/lib/bundler/cli/gem.rb +13 -8
- data/lib/bundler/cli/info.rb +0 -1
- data/lib/bundler/cli/init.rb +18 -6
- data/lib/bundler/cli/inject.rb +1 -0
- data/lib/bundler/cli/install.rb +64 -77
- data/lib/bundler/cli/issue.rb +1 -1
- data/lib/bundler/cli/list.rb +58 -0
- data/lib/bundler/cli/lock.rb +0 -1
- data/lib/bundler/cli/open.rb +2 -2
- data/lib/bundler/cli/outdated.rb +20 -9
- 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 +20 -6
- data/lib/bundler/cli/remove.rb +18 -0
- data/lib/bundler/cli/show.rb +0 -1
- data/lib/bundler/cli/update.rb +35 -7
- data/lib/bundler/cli/viz.rb +4 -0
- data/lib/bundler/cli.rb +234 -90
- data/lib/bundler/compact_index_client/cache.rb +1 -2
- data/lib/bundler/compact_index_client/updater.rb +35 -7
- data/lib/bundler/compact_index_client.rb +1 -0
- data/lib/bundler/compatibility_guard.rb +14 -0
- data/lib/bundler/constants.rb +1 -0
- data/lib/bundler/current_ruby.rb +13 -5
- data/lib/bundler/definition.rb +192 -139
- data/lib/bundler/dep_proxy.rb +3 -1
- data/lib/bundler/dependency.rb +9 -9
- data/lib/bundler/deployment.rb +1 -1
- data/lib/bundler/deprecate.rb +15 -3
- data/lib/bundler/dsl.rb +115 -64
- data/lib/bundler/endpoint_specification.rb +10 -1
- data/lib/bundler/env.rb +90 -29
- data/lib/bundler/environment_preserver.rb +27 -6
- data/lib/bundler/errors.rb +1 -0
- data/lib/bundler/feature_flag.rb +46 -4
- data/lib/bundler/fetcher/base.rb +1 -0
- data/lib/bundler/fetcher/compact_index.rb +2 -11
- data/lib/bundler/fetcher/dependency.rb +2 -1
- data/lib/bundler/fetcher/downloader.rb +11 -5
- data/lib/bundler/fetcher/index.rb +3 -2
- data/lib/bundler/fetcher.rb +18 -11
- data/lib/bundler/friendly_errors.rb +6 -1
- data/lib/bundler/gem_helper.rb +19 -10
- 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 +17 -2
- data/lib/bundler/gemdeps.rb +1 -0
- data/lib/bundler/graph.rb +1 -0
- data/lib/bundler/index.rb +8 -8
- data/lib/bundler/injector.rb +192 -30
- data/lib/bundler/inline.rb +10 -10
- data/lib/bundler/installer/gem_installer.rb +12 -2
- data/lib/bundler/installer/parallel_installer.rb +78 -42
- data/lib/bundler/installer/standalone.rb +1 -0
- data/lib/bundler/installer.rb +138 -53
- data/lib/bundler/lazy_specification.rb +3 -2
- 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 +8 -5
- data/lib/bundler/plugin/api/source.rb +9 -2
- data/lib/bundler/plugin/events.rb +61 -0
- data/lib/bundler/plugin/index.rb +7 -2
- data/lib/bundler/plugin/installer.rb +7 -6
- data/lib/bundler/plugin/source_list.rb +7 -8
- data/lib/bundler/plugin.rb +13 -5
- data/lib/bundler/process_lock.rb +24 -0
- data/lib/bundler/psyched_yaml.rb +10 -0
- data/lib/bundler/remote_specification.rb +10 -1
- data/lib/bundler/resolver/spec_group.rb +106 -0
- data/lib/bundler/resolver.rb +158 -195
- data/lib/bundler/retry.rb +1 -0
- data/lib/bundler/ruby_dsl.rb +1 -0
- data/lib/bundler/ruby_version.rb +2 -1
- data/lib/bundler/rubygems_ext.rb +5 -4
- data/lib/bundler/rubygems_gem_installer.rb +31 -1
- data/lib/bundler/rubygems_integration.rb +71 -32
- data/lib/bundler/runtime.rb +11 -9
- data/lib/bundler/settings/validator.rb +102 -0
- data/lib/bundler/settings.rb +213 -86
- data/lib/bundler/setup.rb +4 -7
- data/lib/bundler/shared_helpers.rb +131 -26
- data/lib/bundler/similarity_detector.rb +1 -0
- data/lib/bundler/source/gemspec.rb +1 -0
- data/lib/bundler/source/git/git_proxy.rb +21 -11
- data/lib/bundler/source/git.rb +24 -19
- data/lib/bundler/source/metadata.rb +62 -0
- data/lib/bundler/source/path/installer.rb +2 -0
- data/lib/bundler/source/path.rb +11 -7
- data/lib/bundler/source/rubygems/remote.rb +8 -2
- data/lib/bundler/source/rubygems.rb +161 -84
- data/lib/bundler/source.rb +36 -0
- data/lib/bundler/source_list.rb +75 -15
- data/lib/bundler/spec_set.rb +12 -6
- data/lib/bundler/ssl_certs/certificate_manager.rb +2 -1
- data/lib/bundler/stub_specification.rb +1 -0
- data/lib/bundler/templates/.document +1 -0
- data/lib/bundler/templates/Executable +12 -0
- data/lib/bundler/templates/Executable.bundler +105 -0
- data/lib/bundler/templates/Gemfile +3 -0
- data/lib/bundler/templates/gems.rb +8 -0
- data/lib/bundler/templates/newgem/Gemfile.tt +2 -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/lib/newgem.rb.tt +1 -0
- data/lib/bundler/templates/newgem/newgem.gemspec.tt +12 -3
- data/lib/bundler/templates/newgem/rspec.tt +1 -0
- data/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +0 -2
- data/lib/bundler/templates/newgem/{.travis.yml.tt → travis.yml.tt} +2 -0
- data/lib/bundler/ui/rg_proxy.rb +1 -0
- data/lib/bundler/ui/shell.rb +17 -4
- data/lib/bundler/ui/silent.rb +1 -0
- data/lib/bundler/ui.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/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/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 +15 -4
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +3 -2
- 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 +491 -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/molinillo/lib/molinillo.rb +2 -0
- data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +3 -1
- data/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +1 -0
- data/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +1 -0
- data/lib/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +9 -1
- data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +45 -8
- data/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +9 -3
- data/lib/bundler/vendor/thor/lib/thor/actions.rb +6 -3
- data/lib/bundler/vendor/thor/lib/thor/base.rb +27 -4
- data/lib/bundler/vendor/thor/lib/thor/command.rb +9 -7
- data/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +12 -0
- data/lib/bundler/vendor/thor/lib/thor/group.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/line_editor/basic.rb +2 -0
- data/lib/bundler/vendor/thor/lib/thor/parser/option.rb +5 -5
- data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +6 -5
- data/lib/bundler/vendor/thor/lib/thor/runner.rb +6 -4
- data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +10 -9
- data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor.rb +25 -8
- data/lib/bundler/vendored_fileutils.rb +9 -0
- data/lib/bundler/vendored_molinillo.rb +1 -0
- data/lib/bundler/vendored_persistent.rb +35 -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/lib/bundler.rb +86 -52
- data/man/bundle-add.1 +18 -3
- data/man/bundle-add.1.txt +26 -14
- data/man/bundle-add.ronn +13 -2
- data/man/bundle-binstubs.1 +11 -1
- data/man/bundle-binstubs.1.txt +33 -18
- data/man/bundle-binstubs.ronn +15 -1
- data/man/bundle-check.1 +4 -4
- data/man/bundle-check.1.txt +15 -14
- data/man/bundle-check.ronn +3 -3
- data/man/bundle-clean.1 +1 -1
- data/man/bundle-clean.1.txt +10 -10
- data/man/bundle-config.1 +129 -29
- data/man/bundle-config.1.txt +285 -174
- data/man/bundle-config.ronn +167 -88
- data/man/bundle-doctor.1 +44 -0
- data/man/bundle-doctor.1.txt +44 -0
- data/man/bundle-doctor.ronn +33 -0
- data/man/bundle-exec.1 +6 -3
- data/man/bundle-exec.1.txt +78 -71
- data/man/bundle-exec.ronn +10 -3
- data/man/bundle-gem.1 +4 -4
- data/man/bundle-gem.1.txt +41 -40
- data/man/bundle-gem.ronn +3 -2
- data/man/bundle-info.1 +1 -1
- data/man/bundle-info.1.txt +8 -8
- data/man/bundle-init.1 +9 -4
- data/man/bundle-init.1.txt +23 -13
- data/man/bundle-init.ronn +15 -4
- data/man/bundle-inject.1 +4 -4
- data/man/bundle-inject.1.txt +10 -10
- data/man/bundle-inject.ronn +3 -3
- data/man/bundle-install.1 +31 -28
- data/man/bundle-install.1.txt +205 -194
- data/man/bundle-install.ronn +44 -35
- data/man/bundle-list.1 +50 -0
- data/man/bundle-list.1.txt +43 -0
- data/man/bundle-list.ronn +33 -0
- data/man/bundle-lock.1 +1 -1
- data/man/bundle-lock.1.txt +47 -47
- data/man/bundle-lock.ronn +1 -1
- data/man/bundle-open.1 +1 -1
- data/man/bundle-open.1.txt +7 -7
- data/man/bundle-outdated.1 +7 -3
- data/man/bundle-outdated.1.txt +40 -36
- data/man/bundle-outdated.ronn +6 -2
- data/man/bundle-package.1 +6 -3
- data/man/bundle-package.1.txt +44 -39
- data/man/bundle-package.ronn +7 -2
- data/man/bundle-platform.1 +1 -1
- data/man/bundle-platform.1.txt +13 -13
- data/man/bundle-pristine.1 +21 -3
- data/man/bundle-pristine.1.txt +33 -10
- data/man/bundle-pristine.ronn +24 -3
- 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 +3 -3
- data/man/bundle-show.1.txt +14 -12
- data/man/bundle-show.ronn +3 -2
- data/man/bundle-update.1 +13 -9
- data/man/bundle-update.1.txt +133 -130
- data/man/bundle-update.ronn +21 -17
- data/man/bundle-viz.1 +7 -7
- data/man/bundle-viz.1.txt +17 -15
- data/man/bundle-viz.ronn +6 -6
- data/man/bundle.1 +31 -32
- data/man/bundle.1.txt +63 -75
- data/man/bundle.ronn +35 -47
- data/man/gemfile.5 +44 -8
- data/man/gemfile.5.ronn +54 -8
- data/man/gemfile.5.txt +218 -165
- data/man/index.txt +25 -15
- metadata +36 -44
- 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 -346
- data/bin/rake +0 -19
- data/bin/rspec +0 -15
- data/bin/rubocop +0 -17
- data/bin/with_rubygems +0 -39
- 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 -29
- data/doc/documentation/README.md +0 -29
- data/doc/documentation/VISION.md +0 -26
- data/doc/documentation/WRITING.md +0 -54
- data/lib/bundler/postit_trampoline.rb +0 -73
- 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/vendor/postit/lib/postit.rb +0 -15
- data/task/release.rake +0 -116
data/Rakefile
DELETED
@@ -1,346 +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("postit") do |lib|
|
303
|
-
lib.download = { :github => "https://github.com/bundler/postit" }
|
304
|
-
lib.namespace = "PostIt"
|
305
|
-
lib.prefix = "BundlerVendoredPostIt"
|
306
|
-
lib.vendor_lib = "lib/bundler/vendor/postit"
|
307
|
-
end
|
308
|
-
|
309
|
-
Automatiek::RakeTask.new("net-http-persistent") do |lib|
|
310
|
-
lib.download = { :github => "https://github.com/drbrain/net-http-persistent" }
|
311
|
-
lib.namespace = "Net::HTTP::Persistent"
|
312
|
-
lib.prefix = "Bundler::Persistent"
|
313
|
-
lib.vendor_lib = "lib/bundler/vendor/net-http-persistent"
|
314
|
-
|
315
|
-
mixin = Module.new do
|
316
|
-
def namespace_files
|
317
|
-
super
|
318
|
-
require_target = vendor_lib.sub(%r{^(.+?/)?lib/}, "") << "/lib"
|
319
|
-
relative_files = files.map {|f| Pathname.new(f).relative_path_from(Pathname.new(vendor_lib) / "lib").sub_ext("").to_s }
|
320
|
-
process_files(/require (['"])(#{Regexp.union(relative_files)})/, "require \\1#{require_target}/\\2")
|
321
|
-
end
|
322
|
-
end
|
323
|
-
lib.send(:extend, mixin)
|
324
|
-
end
|
325
|
-
rescue LoadError
|
326
|
-
namespace :vendor do
|
327
|
-
task(:molinillo) { abort "Install the automatiek gem to be able to vendor gems." }
|
328
|
-
task(:thor) { abort "Install the automatiek gem to be able to vendor gems." }
|
329
|
-
task(:postit) { abort "Install the automatiek gem to be able to vendor gems." }
|
330
|
-
task("net-http-persistent") { abort "Install the automatiek gem to be able to vendor gems." }
|
331
|
-
end
|
332
|
-
end
|
333
|
-
|
334
|
-
desc "Update vendored SSL certs to match the certs vendored by Rubygems"
|
335
|
-
task :update_certs => "spec:rubygems:clone_rubygems_master" do
|
336
|
-
require "bundler/ssl_certs/certificate_manager"
|
337
|
-
Bundler::SSLCerts::CertificateManager.update_from!(RUBYGEMS_REPO)
|
338
|
-
end
|
339
|
-
|
340
|
-
require "bundler/gem_tasks"
|
341
|
-
task :build => ["man:build"]
|
342
|
-
task :release => ["man:require", "man:build"]
|
343
|
-
|
344
|
-
task :default => :spec
|
345
|
-
|
346
|
-
Dir["task/*.{rb,rake}"].each(&method(:load))
|
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")
|
data/bin/rspec
DELETED
@@ -1,15 +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
|
-
gem dep.name, dep.requirement
|
11
|
-
end
|
12
|
-
|
13
|
-
Gem.finish_resolve if Gem.respond_to?(:finish_resolve)
|
14
|
-
|
15
|
-
load Gem.bin_path("rspec-core", "rspec")
|
data/bin/rubocop
DELETED
@@ -1,17 +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
|
-
gem dep.name, dep.requirement
|
11
|
-
end
|
12
|
-
|
13
|
-
gem "rubocop", "= 0.48.0"
|
14
|
-
|
15
|
-
Gem.finish_resolve if Gem.respond_to?(:finish_resolve)
|
16
|
-
|
17
|
-
load Gem.bin_path("rubocop", "rubocop")
|
data/bin/with_rubygems
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
require "pathname"
|
5
|
-
|
6
|
-
def run(*cmd)
|
7
|
-
return if system(*cmd)
|
8
|
-
raise "Running `#{cmd.join(" ")}` failed"
|
9
|
-
end
|
10
|
-
|
11
|
-
version = ENV.delete("RGV")
|
12
|
-
rubygems_path = Pathname.new(__FILE__).join("../../tmp/rubygems").expand_path
|
13
|
-
unless rubygems_path.directory?
|
14
|
-
rubygems_path.parent.mkpath unless rubygems_path.directory?
|
15
|
-
run("git", "clone", "https://github.com/rubygems/rubygems.git", rubygems_path.to_s)
|
16
|
-
end
|
17
|
-
Dir.chdir(rubygems_path) do
|
18
|
-
version = "v#{version}" if version =~ /\A\d/
|
19
|
-
run("git", "checkout", version, "--quiet")
|
20
|
-
end if version
|
21
|
-
|
22
|
-
rubygems_lib = rubygems_path + "lib"
|
23
|
-
ENV["RUBYOPT"] = %(-I#{rubygems_lib} #{ENV["RUBYOPT"]})
|
24
|
-
|
25
|
-
if $0 != __FILE__
|
26
|
-
ARGV.unshift($0)
|
27
|
-
elsif cmd = ARGV.first
|
28
|
-
possible_dirs = [
|
29
|
-
Pathname.new(__FILE__) + "..",
|
30
|
-
Pathname.new(__FILE__) + "../../exe",
|
31
|
-
rubygems_path + "bin",
|
32
|
-
]
|
33
|
-
cmd = possible_dirs.map do |dir|
|
34
|
-
dir.join(cmd).expand_path
|
35
|
-
end.find(&:file?)
|
36
|
-
ARGV[0] = cmd.to_s if cmd
|
37
|
-
end
|
38
|
-
|
39
|
-
exec(*ARGV)
|
data/doc/README.md
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
# Docs: Contributing and developing Bundler
|
2
|
-
|
3
|
-
_If you're looking for documentation on how to use Bundler: visit [bundler.io](http://bundler.io/), or run `bundle help` from the command line. You may also be interested in [troubleshooting common issues](TROUBLESHOOTING.md) found when using Bundler._
|
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
|
-
If you'd like to help make Bundler better, you totally rock! Thanks for helping us make Bundler better.
|
8
|
-
|
9
|
-
## Contributing
|
10
|
-
|
11
|
-
* [Overview & getting started](contributing/README.md)
|
12
|
-
* [How you can help: your first contributions!](contributing/HOW_YOU_CAN_HELP.md)
|
13
|
-
* [Bug triage](contributing/BUG_TRIAGE.md)
|
14
|
-
* [Getting help](contributing/GETTING_HELP.md)
|
15
|
-
* [Filing issues](contributing/ISSUES.md)
|
16
|
-
* [Community](contributing/COMMUNITY.md)
|
17
|
-
|
18
|
-
## Development
|
19
|
-
|
20
|
-
* [Overview](development/README.md)
|
21
|
-
* [Development setup](development/SETUP.md)
|
22
|
-
* [Submitting pull requests](development/PULL_REQUESTS.md)
|
23
|
-
* [Adding new features](development/NEW_FEATURES.md)
|
24
|
-
* [Releasing Bundler](development/RELEASING.md)
|
25
|
-
|
26
|
-
## Documentation
|
27
|
-
|
28
|
-
* [Overview](documentation/README.md)
|
29
|
-
* [Writing docs for man pages](documentation/WRITING.md)
|
30
|
-
* [Documentation vision](documentation/VISION.md)
|
data/doc/TROUBLESHOOTING.md
DELETED
@@ -1,64 +0,0 @@
|
|
1
|
-
# Troubleshooting common issues
|
2
|
-
|
3
|
-
Stuck using Bundler? Browse these common issues before [filing a new issue](contributing/ISSUES.md).
|
4
|
-
|
5
|
-
## Permission denied when installing bundler
|
6
|
-
|
7
|
-
Certain operating systems such as MacOS and Ubuntu have versions of Ruby that require elevated privileges to install gems.
|
8
|
-
|
9
|
-
ERROR: While executing gem ... (Gem::FilePermissionError)
|
10
|
-
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
|
11
|
-
|
12
|
-
There are multiple ways to solve this issue. You can install bundler with elevated privilges using `sudo` or `su`.
|
13
|
-
|
14
|
-
sudo gem install bundler
|
15
|
-
|
16
|
-
If you cannot elevated your privileges or do not want to globally install Bundler, you can use the `--user-install` option.
|
17
|
-
|
18
|
-
gem install bundler --user-install
|
19
|
-
|
20
|
-
This will install Bundler into your home directory. Note that you will need to append `~/.gem/ruby/<ruby version>/bin` to your `$PATH` variable to use `bundle`.
|
21
|
-
|
22
|
-
## Heroku errors
|
23
|
-
|
24
|
-
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.
|
25
|
-
|
26
|
-
## Other problems
|
27
|
-
|
28
|
-
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.
|
29
|
-
|
30
|
-
Second, check [the compatibility
|
31
|
-
list](http://bundler.io/compatibility.html), and make sure that the version of Bundler that you are using works with the versions of Ruby and Rubygems that you are using. To see your versions:
|
32
|
-
|
33
|
-
# Bundler version
|
34
|
-
bundle -v
|
35
|
-
|
36
|
-
# Ruby version
|
37
|
-
ruby -v
|
38
|
-
|
39
|
-
# Rubygems version
|
40
|
-
gem -v
|
41
|
-
|
42
|
-
If these instructions don't work, or you can't find any appropriate instructions, you can try these troubleshooting steps:
|
43
|
-
|
44
|
-
# Remove user-specific gems and git repos
|
45
|
-
rm -rf ~/.bundle/ ~/.gem/bundler/ ~/.gems/cache/bundler/
|
46
|
-
|
47
|
-
# Remove system-wide git repos and git checkouts
|
48
|
-
rm -rf $GEM_HOME/bundler/ $GEM_HOME/cache/bundler/
|
49
|
-
|
50
|
-
# Remove project-specific settings
|
51
|
-
rm -rf .bundle/
|
52
|
-
|
53
|
-
# Remove project-specific cached gems and repos
|
54
|
-
rm -rf vendor/cache/
|
55
|
-
|
56
|
-
# Remove the saved resolve of the Gemfile
|
57
|
-
rm -rf Gemfile.lock
|
58
|
-
|
59
|
-
# Uninstall the rubygems-bundler and open_gem gems
|
60
|
-
rvm gemset use global # if using rvm
|
61
|
-
gem uninstall rubygems-bundler open_gem
|
62
|
-
|
63
|
-
# Try to install one more time
|
64
|
-
bundle install
|
@@ -1,36 +0,0 @@
|
|
1
|
-
# Bug triage
|
2
|
-
|
3
|
-
Triaging is the work of processing tickets that have been opened by users. Common tasks include verifying bugs, categorizing tickets, and ensuring there's enough information to reproduce the bug for anyone who wants to try to fix it.
|
4
|
-
|
5
|
-
We've created an [issues guide](ISSUES.md) to walk users through the process of how to report an issue with the Bundler project. We also have a [troubleshooting guide](../TROUBLESHOOTING.md) to diagnose common problems.
|
6
|
-
|
7
|
-
Not every ticket will be a bug in Bundler's code, but open tickets usually mean that the there is something we could improve to help that user. Sometimes that means writing additional documentation or making error messages clearer.
|
8
|
-
|
9
|
-
## Triaging existing issues
|
10
|
-
|
11
|
-
When you're looking at a ticket, here are the main questions to ask:
|
12
|
-
|
13
|
-
* Can I reproduce this bug myself?
|
14
|
-
* Are the steps to reproduce the bug clearly documented in the ticket?
|
15
|
-
* Which versions of Bundler (1.1.x, 1.2.x, git, etc.) manifest this bug?
|
16
|
-
* Which operating systems (OS X, Windows, Ubuntu, CentOS, etc.) manifest this bug?
|
17
|
-
* Which rubies (MRI, JRuby, Rubinius, etc.) and which versions (1.8.7, 1.9.3, etc.) have this bug?
|
18
|
-
|
19
|
-
If you can't reproduce the issue, chances are good that the bug has been fixed already (hurrah!). That's a good time to post to the ticket explaining what you did and how it worked.
|
20
|
-
|
21
|
-
If you can reproduce an issue, you're well on your way to fixing it. :)
|
22
|
-
|
23
|
-
## Fixing your triaged bug
|
24
|
-
|
25
|
-
Everyone is welcome and encouraged to fix any open bug, improve an error message or add documentation. If you have a fix or an improvement to a ticket that you would like to contribute, we have a small guide to help:
|
26
|
-
|
27
|
-
1. Discuss the fix on the existing issue. Coordinating with everyone else saves duplicate work and serves as a great way to get suggestions and ideas if you need any.
|
28
|
-
2. Base your commits on the correct branch. Bugfixes for 1.x versions of Bundler should be based on the matching 1-x-stable branch.
|
29
|
-
3. Review the [pull request guide](../development/PULL_REQUESTS.md).
|
30
|
-
4. Commit the code with at least one test covering your changes to a named branch in your fork.
|
31
|
-
5. Put a line in the [CHANGELOG](../../CHANGELOG.md) summarizing your changes under the next release under the “Bugfixes” heading.
|
32
|
-
6. Send us a [pull request](https://help.github.com/articles/using-pull-requests) from your bugfix branch.
|
33
|
-
|
34
|
-
## Duplicates!
|
35
|
-
|
36
|
-
Finally, the ticket may be a duplicate of another older ticket. If you notice a ticket is a duplicate, simply comment on the ticket noting the original ticket’s number. For example, you could say “This is a duplicate of issue #42, and can be closed”.
|
@@ -1,13 +0,0 @@
|
|
1
|
-
# Community
|
2
|
-
|
3
|
-
Community is an important part of all we do. If you’d like to be part of the Bundler community, you can jump right in and start helping make Bundler better for everyone who uses it.
|
4
|
-
|
5
|
-
It would be tremendously helpful to have more people answering questions about Bundler (and often simply about [Rubygems](https://github.com/rubygems/rubygems) or Ruby itself) in our [issue tracker](https://github.com/bundler/bundler/issues) or on [Stack Overflow](http://stackoverflow.com/questions/tagged/bundler).
|
6
|
-
|
7
|
-
Additional documentation and explanation is always helpful, too. If you have any suggestions for the Bundler website [bundler.io](http://bundler.io), we would absolutely love it if you opened an issue or pull request on the [bundler-site](https://github.com/bundler/bundler-site) repository.
|
8
|
-
|
9
|
-
Sharing your experiences and discoveries by writing them up is a valuable way to help others who have similar problems or experiences in the future. You can write a blog post, create an example and commit it to GitHub, take screenshots, or make videos.
|
10
|
-
|
11
|
-
Publishing examples of how Bundler is used helps everyone, and we’ve discovered that people already use it in ways that we never imagined when we were writing it. If you’re still not sure what to write about, there are also several projects doing interesting things based on Bundler. They could probably use publicity too.
|
12
|
-
|
13
|
-
Finally, all contributors to the Bundler project must agree to the contributor [code of conduct](http://bundler.io/conduct.html). By participating in this project you agree to abide by its terms.
|
@@ -1,11 +0,0 @@
|
|
1
|
-
# Getting help
|
2
|
-
|
3
|
-
If you have any questions after reading the documentation for contributing, please feel free to contact either [@indirect](https://github.com/indirect), [@segiddins](https://github.com/segiddins), or [@RochesterinNYC](https://github.com/RochesterinNYC). They are all happy to provide help working through your first bug fix or thinking through the problem you’re trying to resolve.
|
4
|
-
|
5
|
-
The best ways to get in touch are:
|
6
|
-
|
7
|
-
* [Bundler Slack](https://bundler.slack.com).
|
8
|
-
* Not a member of the Slack? Join the Bundler team slack [here](http://slack.bundler.io/)!
|
9
|
-
* [Bundler mailing list](http://groups.google.com/group/ruby-bundler)
|
10
|
-
|
11
|
-
You may also find our guide on [filing issues](ISSUES.md) to be helpful as well!
|
@@ -1,27 +0,0 @@
|
|
1
|
-
# How you can help: your first commits!
|
2
|
-
|
3
|
-
If you’re interested in contributing to Bundler, that’s awesome! We’d love your help.
|
4
|
-
|
5
|
-
If at any point you get stuck, here's how to [get in touch with the Bundler team for help](GETTING_HELP.md).
|
6
|
-
|
7
|
-
## First contribution suggestions
|
8
|
-
|
9
|
-
We track [small bugs and features](https://github.com/bundler/bundler/labels/contribution%3A%20small) so that anyone who wants to help can start with something that's not too overwhelming.
|
10
|
-
|
11
|
-
Generally, great ways to get started helping out with Bundler are:
|
12
|
-
|
13
|
-
- using prerelease versions (run `gem install bundler --pre`)
|
14
|
-
- [reporting bugs you encounter or suggesting new features](https://github.com/bundler/bundler/issues/new)
|
15
|
-
- see our [issues guide](ISSUES.md) for help on filing issues
|
16
|
-
- see the [new features documentation](../development/NEW_FEATURES.md) for more
|
17
|
-
- adding to or editing [the Bundler documentation website](http://bundler.io) and [Bundler man pages](http://bundler.io/man/bundle.1.html)
|
18
|
-
- [checking issues for completeness](BUG_TRIAGE.md)
|
19
|
-
- closing issues that are not complete
|
20
|
-
- adding a failing test for reproducible [reported bugs](https://github.com/bundler/bundler/issues)
|
21
|
-
- reviewing [pull requests](https://github.com/bundler/bundler/pulls) and suggesting improvements
|
22
|
-
- improving existing code, including suggestions from [PullReview](https://www.pullreview.com/github/bundler/bundler/reviews/master) or [CodeClimate](https://codeclimate.com/github/bundler/bundler)
|
23
|
-
- writing code (no patch is too small! fix typos or bad whitespace)
|
24
|
-
- get started setting up your dev environment with [these instructions](../development/DEVELOPMENT_SETUP.md)
|
25
|
-
- backfilling [unit tests](https://github.com/bundler/bundler/tree/master/spec/bundler) for modules that lack [coverage](https://codeclimate.com/github/bundler/bundler/coverage)
|
26
|
-
|
27
|
-
If nothing on those lists looks good, [talk to us](http://slack.bundler.io/), and we'll figure out what you can help with. We can absolutely use your help, no matter what level of programming skill you have at the moment.
|