bundler 1.14.6 → 1.15.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.

Files changed (131) hide show
  1. checksums.yaml +5 -5
  2. data/.rubocop.yml +1 -1
  3. data/.rubocop_todo.yml +131 -43
  4. data/.travis.yml +5 -5
  5. data/CHANGELOG.md +52 -8
  6. data/CONTRIBUTING.md +10 -29
  7. data/README.md +13 -6
  8. data/Rakefile +4 -2
  9. data/bin/rubocop +1 -1
  10. data/doc/README.md +30 -0
  11. data/doc/TROUBLESHOOTING.md +64 -0
  12. data/doc/contributing/BUG_TRIAGE.md +36 -0
  13. data/doc/contributing/COMMUNITY.md +13 -0
  14. data/doc/contributing/GETTING_HELP.md +11 -0
  15. data/doc/contributing/HOW_YOU_CAN_HELP.md +27 -0
  16. data/doc/contributing/ISSUES.md +51 -0
  17. data/doc/contributing/README.md +38 -0
  18. data/doc/development/NEW_FEATURES.md +10 -0
  19. data/doc/development/PULL_REQUESTS.md +40 -0
  20. data/doc/development/README.md +19 -0
  21. data/doc/development/RELEASING.md +9 -0
  22. data/doc/development/SETUP.md +29 -0
  23. data/doc/documentation/README.md +29 -0
  24. data/doc/documentation/VISION.md +26 -0
  25. data/doc/documentation/WRITING.md +54 -0
  26. data/exe/bundle +4 -1
  27. data/lib/bundler.rb +20 -13
  28. data/lib/bundler/cli.rb +67 -3
  29. data/lib/bundler/cli/add.rb +26 -0
  30. data/lib/bundler/cli/config.rb +24 -6
  31. data/lib/bundler/cli/gem.rb +13 -8
  32. data/lib/bundler/cli/info.rb +51 -0
  33. data/lib/bundler/cli/inject.rb +8 -2
  34. data/lib/bundler/cli/install.rb +1 -1
  35. data/lib/bundler/cli/issue.rb +40 -0
  36. data/lib/bundler/cli/outdated.rb +16 -18
  37. data/lib/bundler/cli/pristine.rb +33 -0
  38. data/lib/bundler/cli/viz.rb +1 -1
  39. data/lib/bundler/definition.rb +64 -48
  40. data/lib/bundler/dsl.rb +6 -0
  41. data/lib/bundler/endpoint_specification.rb +3 -9
  42. data/lib/bundler/env.rb +3 -3
  43. data/lib/bundler/errors.rb +1 -1
  44. data/lib/bundler/fetcher/downloader.rb +3 -2
  45. data/lib/bundler/gem_helper.rb +5 -0
  46. data/lib/bundler/index.rb +9 -3
  47. data/lib/bundler/injector.rb +32 -11
  48. data/lib/bundler/installer.rb +1 -1
  49. data/lib/bundler/installer/parallel_installer.rb +15 -1
  50. data/lib/bundler/lazy_specification.rb +6 -0
  51. data/lib/bundler/lockfile_parser.rb +42 -34
  52. data/lib/bundler/mirror.rb +2 -0
  53. data/lib/bundler/plugin.rb +5 -1
  54. data/lib/bundler/plugin/api/source.rb +1 -1
  55. data/lib/bundler/plugin/index.rb +2 -0
  56. data/lib/bundler/remote_specification.rb +16 -7
  57. data/lib/bundler/resolver.rb +13 -3
  58. data/lib/bundler/rubygems_ext.rb +8 -3
  59. data/lib/bundler/rubygems_integration.rb +85 -36
  60. data/lib/bundler/runtime.rb +4 -1
  61. data/lib/bundler/settings.rb +2 -1
  62. data/lib/bundler/setup.rb +1 -1
  63. data/lib/bundler/shared_helpers.rb +26 -1
  64. data/lib/bundler/source.rb +17 -1
  65. data/lib/bundler/source/git.rb +16 -0
  66. data/lib/bundler/source/path.rb +13 -3
  67. data/lib/bundler/source/path/installer.rb +2 -2
  68. data/lib/bundler/source/rubygems.rb +5 -2
  69. data/lib/bundler/spec_set.rb +22 -13
  70. data/lib/bundler/stub_specification.rb +64 -2
  71. data/lib/bundler/templates/Executable +1 -1
  72. data/lib/bundler/templates/Executable.standalone +5 -5
  73. data/lib/bundler/templates/newgem/Gemfile.tt +2 -2
  74. data/lib/bundler/templates/newgem/LICENSE.txt.tt +1 -1
  75. data/lib/bundler/templates/newgem/README.md.tt +12 -6
  76. data/lib/bundler/templates/newgem/Rakefile.tt +5 -5
  77. data/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt +4 -4
  78. data/lib/bundler/templates/newgem/ext/newgem/newgem.h.tt +3 -3
  79. data/lib/bundler/templates/newgem/lib/newgem.rb.tt +6 -6
  80. data/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +4 -4
  81. data/lib/bundler/templates/newgem/newgem.gemspec.tt +9 -9
  82. data/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +3 -0
  83. data/lib/bundler/templates/newgem/test/newgem_test.rb.tt +1 -1
  84. data/lib/bundler/templates/newgem/test/test_helper.rb.tt +3 -3
  85. data/lib/bundler/ui/shell.rb +9 -6
  86. data/lib/bundler/vendor/thor/lib/thor.rb +31 -23
  87. data/lib/bundler/vendor/thor/lib/thor/actions.rb +21 -22
  88. data/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +1 -1
  89. data/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +1 -1
  90. data/lib/bundler/vendor/thor/lib/thor/actions/directory.rb +2 -2
  91. data/lib/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +8 -8
  92. data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +23 -12
  93. data/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +10 -14
  94. data/lib/bundler/vendor/thor/lib/thor/base.rb +30 -30
  95. data/lib/bundler/vendor/thor/lib/thor/command.rb +9 -9
  96. data/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +9 -1
  97. data/lib/bundler/vendor/thor/lib/thor/core_ext/io_binary_read.rb +7 -5
  98. data/lib/bundler/vendor/thor/lib/thor/core_ext/ordered_hash.rb +94 -63
  99. data/lib/bundler/vendor/thor/lib/thor/error.rb +3 -3
  100. data/lib/bundler/vendor/thor/lib/thor/group.rb +12 -12
  101. data/lib/bundler/vendor/thor/lib/thor/invocation.rb +4 -5
  102. data/lib/bundler/vendor/thor/lib/thor/parser/argument.rb +4 -7
  103. data/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +16 -16
  104. data/lib/bundler/vendor/thor/lib/thor/parser/option.rb +40 -19
  105. data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +7 -5
  106. data/lib/bundler/vendor/thor/lib/thor/runner.rb +25 -25
  107. data/lib/bundler/vendor/thor/lib/thor/shell.rb +1 -1
  108. data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +41 -26
  109. data/lib/bundler/vendor/thor/lib/thor/shell/color.rb +1 -1
  110. data/lib/bundler/vendor/thor/lib/thor/shell/html.rb +4 -4
  111. data/lib/bundler/vendor/thor/lib/thor/util.rb +8 -7
  112. data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  113. data/lib/bundler/version.rb +14 -1
  114. data/lib/bundler/version_ranges.rb +75 -0
  115. data/lib/bundler/worker.rb +2 -1
  116. data/man/bundle-check.ronn +26 -0
  117. data/man/bundle-clean.ronn +18 -0
  118. data/man/bundle-config.ronn +4 -1
  119. data/man/bundle-info.ronn +17 -0
  120. data/man/bundle-init.ronn +18 -0
  121. data/man/bundle-inject.ronn +22 -0
  122. data/man/bundle-open.ronn +19 -0
  123. data/man/bundle-show.ronn +20 -0
  124. data/man/bundle-update.ronn +5 -2
  125. data/man/bundle-viz.ronn +30 -0
  126. data/man/bundle.ronn +3 -0
  127. data/man/gemfile.5.ronn +24 -64
  128. data/task/release.rake +115 -0
  129. metadata +49 -5
  130. data/DEVELOPMENT.md +0 -150
  131. data/ISSUES.md +0 -117
@@ -1,36 +1,17 @@
1
- # Contributing
1
+ # Contributing to Bundler
2
2
 
3
- 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.
4
-
5
- If you'd like to help make Bundler better, you totally rock! Here are some ways you can contribute:
6
-
7
- - by using prerelease versions (run `gem install bundler --pre`)
8
- - by [reporting bugs you encounter or suggesting new features](https://github.com/bundler/bundler/issues/new)
9
- - by adding to or editing [the Bundler documentation website](http://bundler.io) and [Bundler man pages](http://bundler.io/man/bundle.1.html)
10
- - by [checking issues for completeness](https://github.com/bundler/bundler/blob/master/DEVELOPMENT.md#bug-triage)
11
- - by closing issues that are not complete
12
- - by adding a failing test for reproducible [reported bugs](https://github.com/bundler/bundler/issues)
13
- - by reviewing [pull requests](https://github.com/bundler/bundler/pulls) and suggesting improvements
14
- - by improving existing code, including suggestions from [PullReview](https://www.pullreview.com/github/bundler/bundler/reviews/master) or [CodeClimate](https://codeclimate.com/github/bundler/bundler)
15
- - by [writing code](https://github.com/bundler/bundler/blob/master/DEVELOPMENT.md) (no patch is too small! fix typos or bad whitespace)
16
- - by backfilling [unit tests](https://github.com/bundler/bundler/tree/master/spec/bundler) for modules that lack [coverage](https://codeclimate.com/github/bundler/bundler/coverage)
17
-
18
- If you need help getting started, check out the [DEVELOPMENT.md](https://github.com/bundler/bundler/blob/master/DEVELOPMENT.md) file for steps that will get you up and running.
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.
19
4
 
20
- Thanks for helping us make Bundler better.
21
-
22
- # Roadmap
23
-
24
- If you're interested in reading some of the potential ideas or plans for Bundler, see the official Bundler [Trello Board](https://trello.com/b/DioUaKgx/bundler).
25
-
26
- # Troubleshooting
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.
27
6
 
28
- If you're having a problem, please see [ISSUES](https://github.com/bundler/bundler/blob/master/ISSUES.md) for troubleshooting steps and a guide for how to submit a ticket that will help us solve the problem you are having as quickly as possible.
7
+ ## Quick start
29
8
 
30
- # Requesting Features
9
+ Some guides you might find useful:
31
10
 
32
- Feel free to discuss your ideas or feature requests on any of the lists or channels listed below or [create an issue](https://github.com/bundler/bundler/issues/new) with the `feature-request` label. Feature-wise, we consider Bundler stable, so the core team does not tend to work on feature suggestions. Pull requests are welcome though!
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)
33
14
 
34
- # Discussing Bundler
15
+ ## Comprehensive guides
35
16
 
36
- If you'd like to discuss features, ask questions, or just engage in general Bundler-focused discussion, please see the [#bundler](irc://irc.freenode.net/#bundler) IRC channel on Freenode, and the [Bundler mailing list](http://groups.google.com/group/ruby-bundler) on Google Groups.
17
+ Not finding what you're looking for? More comprehensive guides are [available here](doc/README.md).
data/README.md CHANGED
@@ -11,21 +11,28 @@ It does this by managing the gems that the application depends on. Given a list
11
11
 
12
12
  ### Installation and usage
13
13
 
14
+ To install:
15
+
14
16
  ```
15
17
  gem install bundler
18
+ ```
19
+
20
+ Bundler is most commonly used to manage your application's dependencies. To use it for this:
21
+
22
+ ```
16
23
  bundle init
17
24
  echo 'gem "rspec"' >> Gemfile
18
25
  bundle install
19
26
  bundle exec rspec
20
27
  ```
21
28
 
22
- For help with installation issues, see [ISSUES](https://github.com/bundler/bundler/blob/master/ISSUES.md)
23
-
24
29
  See [bundler.io](http://bundler.io) for the full documentation.
25
30
 
26
31
  ### Troubleshooting
27
32
 
28
- For help with common problems, see [ISSUES](https://github.com/bundler/bundler/blob/master/ISSUES.md).
33
+ For help with common problems, see [TROUBLESHOOTING](doc/TROUBLESHOOTING.md).
34
+
35
+ Still stuck? Try [filing an issue](doc/contributing/ISSUES.md).
29
36
 
30
37
  ### Supporting
31
38
 
@@ -34,13 +41,13 @@ Bundler is maintained by <a href="https://rubytogether.org/">Ruby Together</a>,
34
41
 
35
42
  ### Other questions
36
43
 
37
- To see what has changed in recent versions of Bundler, see the [CHANGELOG](https://github.com/bundler/bundler/blob/master/CHANGELOG.md).
44
+ To see what has changed in recent versions of Bundler, see the [CHANGELOG](CHANGELOG.md).
38
45
 
39
- Feel free to chat with the Bundler core team (and many other users) on IRC in the [#bundler](irc://irc.freenode.net/bundler) channel on Freenode, or via email on the [Bundler mailing list](http://groups.google.com/group/ruby-bundler).
46
+ To get in touch with the Bundler core team and other Bundler users, please see [getting help](doc/contributing/GETTING_HELP.md).
40
47
 
41
48
  ### Contributing
42
49
 
43
- If you'd like to contribute to Bundler, that's awesome, and we <3 you. There's a guide to contributing to Bundler (both code and general help) over in [DEVELOPMENT](https://github.com/bundler/bundler/blob/master/DEVELOPMENT.md).
50
+ If you'd like to contribute to Bundler, that's awesome, and we <3 you. There's a guide to contributing to Bundler (both code and general help) over in [our documentation section](doc/README.md).
44
51
 
45
52
  ### Code of Conduct
46
53
 
data/Rakefile CHANGED
@@ -39,7 +39,7 @@ namespace :spec do
39
39
  deps = Hash[BUNDLER_SPEC.development_dependencies.map do |d|
40
40
  [d.name, d.requirement.to_s]
41
41
  end]
42
- deps["rubocop"] ||= "= 0.45.0" if RUBY_VERSION >= "2.0.0" # can't go in the gemspec because of the ruby version requirement
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
43
 
44
44
  # JRuby can't build ronn or rdiscount, so we skip that
45
45
  if defined?(RUBY_ENGINE) && RUBY_ENGINE == "jruby"
@@ -93,7 +93,7 @@ begin
93
93
 
94
94
  if RUBY_VERSION >= "2.0.0"
95
95
  # can't go in the gemspec because of the ruby version requirement
96
- gem "rubocop", "= 0.45.0"
96
+ gem "rubocop", "= 0.48.0"
97
97
  require "rubocop/rake_task"
98
98
  RuboCop::RakeTask.new
99
99
  end
@@ -342,3 +342,5 @@ task :build => ["man:build"]
342
342
  task :release => ["man:require", "man:build"]
343
343
 
344
344
  task :default => :spec
345
+
346
+ Dir["task/*.{rb,rake}"].each(&method(:load))
@@ -10,7 +10,7 @@ bundler_spec.dependencies.each do |dep|
10
10
  gem dep.name, dep.requirement
11
11
  end
12
12
 
13
- gem "rubocop", "= 0.45.0"
13
+ gem "rubocop", "= 0.48.0"
14
14
 
15
15
  Gem.finish_resolve if Gem.respond_to?(:finish_resolve)
16
16
 
@@ -0,0 +1,30 @@
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)
@@ -0,0 +1,64 @@
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
@@ -0,0 +1,36 @@
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”.
@@ -0,0 +1,13 @@
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.
@@ -0,0 +1,11 @@
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!
@@ -0,0 +1,27 @@
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.
@@ -0,0 +1,51 @@
1
+ # Filing Issues: a guide
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
+ Before filing an issue, check our [troubleshooting guide](../TROUBLESHOOTING.md) for quick fixes to common issues.
6
+
7
+ ## Documentation
8
+
9
+ Instructions for common Bundler uses can be found on the [Bundler documentation site](http://bundler.io/).
10
+
11
+ 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).
12
+
13
+ ## Reporting unresolved problems
14
+
15
+ Check our [troubleshooting common issues guide](../TROUBLESHOOTING.md) and see if your issues is resolved using the steps provided.
16
+
17
+ 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.
18
+
19
+ **The best way to report a bug is by providing a reproduction script.** See these examples:
20
+
21
+ * [Git environment variables causing install to fail.](https://gist.github.com/xaviershay/6207550)
22
+ * [Multiple gems in a repository cannot be updated independently.](https://gist.github.com/xaviershay/6295889)
23
+
24
+ A half working script with comments for the parts you were unable to automate is still appreciated.
25
+
26
+ If you are unable to do that, please include the following information in your report:
27
+
28
+ - What you're trying to accomplish
29
+ - The command you ran
30
+ - What you expected to happen
31
+ - What actually happened
32
+ - The exception backtrace(s), if any
33
+ - Everything output by running `bundle env`
34
+
35
+ If your version of Bundler does not have the `bundle env` command, then please include:
36
+
37
+ - Your `Gemfile`
38
+ - Your `Gemfile.lock`
39
+ - Your Bundler configuration settings (run `bundle config`)
40
+ - What version of bundler you are using (run `bundle -v`)
41
+ - What version of Ruby you are using (run `ruby -v`)
42
+ - What version of Rubygems you are using (run `gem -v`)
43
+ - Whether you are using RVM, and if so what version (run `rvm -v`)
44
+ - Whether you have the `rubygems-bundler` gem, which can break gem executables (run `gem list rubygems-bundler`)
45
+ - Whether you have the `open_gem` gem, which can cause rake activation conflicts (run `gem list open_gem`)
46
+
47
+ 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.
48
+
49
+ [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.
50
+
51
+ Thanks for reporting issues and helping make Bundler better!
@@ -0,0 +1,38 @@
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
+ *Something missing?* Send us a [pull request](../development/PULL_REQUESTS.md)!
6
+
7
+ **Recommended first steps**
8
+
9
+ - Join us in the Bundler slack! Generate an invite [here](http://slack.bundler.io/)
10
+ - *If you're interested in helping with code:*
11
+ - Get a quick overview of our [development process](../development/README.md)
12
+ - [Setup your machine for development](../development/SETUP.md)
13
+ - Checkout [How you can help: your first contributions!](HOW_YOU_CAN_HELP.md) for a list of suggestions to get started
14
+ - *If you're interested in helping with documentation:*
15
+ - Read up on [how documentation works for Bundler](../documentation/README.md)
16
+ - Learn about our [documentation vision](../documentation/VISION.md)
17
+
18
+ You can start learning about Bundler by reading [the documentation](http://bundler.io). If you want, you can also read a (lengthy) explanation of [why Bundler exists and what it does](http://bundler.io/rationale.html).
19
+
20
+ ##[How you can help: your first contributions!](HOW_YOU_CAN_HELP.md)
21
+
22
+ A detailed overview of how to get started contributing to Bundler, including a long list of suggestions for your first project.
23
+
24
+ ##[Bug triage](BUG_TRIAGE.md)
25
+
26
+ Want to take a stab at processing issues? Start here.
27
+
28
+ ##[Getting help](GETTING_HELP.md)
29
+
30
+ How to get in touch with folks who can help when you're stuck. Don't worry! This happens to all of us. We're really nice, we promise.
31
+
32
+ ##[Filing issues](ISSUES.md)
33
+
34
+ We see a lot of issues in the Bundler repo! Use this guide to file informative, actionable issues.
35
+
36
+ ##[Community](COMMUNITY.md)
37
+
38
+ Learn more about our goals for the Bundler community and the ways you can help us build better together.
@@ -0,0 +1,10 @@
1
+ # Adding New Features
2
+
3
+ If you would like to add a new feature to Bundler, please follow these steps:
4
+
5
+ 1. [Create an issue](https://github.com/bundler/bundler/issues/new) with the [`feature-request` label](https://github.com/bundler/bundler/labels/type:%20feature-request) to discuss your feature.
6
+ 2. Base your commits on the master branch, since we follow [SemVer](http://semver.org) and don't add new features to old releases.
7
+ 3. Commit the code and at least one test covering your changes to a feature branch in your fork.
8
+ 4. Send us a [pull request](PULL_REQUESTS.md) from your feature branch.
9
+
10
+ If you don't hear back immediately, don’t get discouraged! We all have day jobs, but we respond to most tickets within a day or two.
@@ -0,0 +1,40 @@
1
+ # Submitting Pull Requests
2
+
3
+ Before you submit a pull request, please remember to do the following:
4
+
5
+ 1. Check your code format and style
6
+ 2. Run the test suite
7
+ 3. Use a meaningful commit message without tags
8
+
9
+ ## Code formatting
10
+
11
+ Make sure the code formatting and styling adheres to the guidelines. We use Rubocop for this. Lack of formatting adherence will result in automatic Travis build failures.
12
+
13
+ $ bin/rubocop -a
14
+
15
+ ## Tests
16
+
17
+ Prior to submitting your PR, please run the test suite:
18
+
19
+ $ bin/rspec
20
+
21
+ If you are unable to run the entire test suite, please run the unit test suite and at least the integration specs related to the command or domain of Bundler that your code changes relate to.
22
+
23
+ Ex. For a pull request that changes something with `bundle update`, you might run:
24
+
25
+ $ bin/rspec spec/bundler
26
+ $ bin/rspec spec/commands/update_spec.rb
27
+
28
+ ## Commit messages
29
+
30
+ Please ensure that the commit messages included in the pull request __do not__ have the following:
31
+ - `@tag` Github user or team references (ex. `@indirect` or `@bundler/core`)
32
+ - `#id` references to issues or pull requests (ex. `#43` or `bundler/bundler-site#12`)
33
+
34
+ If you want to use these mechanisms, please instead include them in the pull request description. This prevents multiple notifications or references being created on commit rebases or pull request/branch force pushes.
35
+
36
+ Additionally, do not use `[ci skip]` or `[skip ci]` mechanisms in your pull request titles/descriptions or commit messages. Every potential commit and pull request should run through Bundler's CI system. This applies to all changes/commits (ex. even a change to just documentation or the removal of a comment).
37
+
38
+ ## CHANGELOG.md
39
+
40
+ Don't forget to add your changes into the CHANGELOG! If you're submitting documentation, note the changes under the "Documentation" heading.