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.
- checksums.yaml +5 -5
- data/.rubocop.yml +1 -1
- data/.rubocop_todo.yml +131 -43
- data/.travis.yml +5 -5
- data/CHANGELOG.md +52 -8
- data/CONTRIBUTING.md +10 -29
- data/README.md +13 -6
- data/Rakefile +4 -2
- data/bin/rubocop +1 -1
- data/doc/README.md +30 -0
- data/doc/TROUBLESHOOTING.md +64 -0
- data/doc/contributing/BUG_TRIAGE.md +36 -0
- data/doc/contributing/COMMUNITY.md +13 -0
- data/doc/contributing/GETTING_HELP.md +11 -0
- data/doc/contributing/HOW_YOU_CAN_HELP.md +27 -0
- data/doc/contributing/ISSUES.md +51 -0
- data/doc/contributing/README.md +38 -0
- data/doc/development/NEW_FEATURES.md +10 -0
- data/doc/development/PULL_REQUESTS.md +40 -0
- data/doc/development/README.md +19 -0
- data/doc/development/RELEASING.md +9 -0
- data/doc/development/SETUP.md +29 -0
- data/doc/documentation/README.md +29 -0
- data/doc/documentation/VISION.md +26 -0
- data/doc/documentation/WRITING.md +54 -0
- data/exe/bundle +4 -1
- data/lib/bundler.rb +20 -13
- data/lib/bundler/cli.rb +67 -3
- data/lib/bundler/cli/add.rb +26 -0
- data/lib/bundler/cli/config.rb +24 -6
- data/lib/bundler/cli/gem.rb +13 -8
- data/lib/bundler/cli/info.rb +51 -0
- data/lib/bundler/cli/inject.rb +8 -2
- data/lib/bundler/cli/install.rb +1 -1
- data/lib/bundler/cli/issue.rb +40 -0
- data/lib/bundler/cli/outdated.rb +16 -18
- data/lib/bundler/cli/pristine.rb +33 -0
- data/lib/bundler/cli/viz.rb +1 -1
- data/lib/bundler/definition.rb +64 -48
- data/lib/bundler/dsl.rb +6 -0
- data/lib/bundler/endpoint_specification.rb +3 -9
- data/lib/bundler/env.rb +3 -3
- data/lib/bundler/errors.rb +1 -1
- data/lib/bundler/fetcher/downloader.rb +3 -2
- data/lib/bundler/gem_helper.rb +5 -0
- data/lib/bundler/index.rb +9 -3
- data/lib/bundler/injector.rb +32 -11
- data/lib/bundler/installer.rb +1 -1
- data/lib/bundler/installer/parallel_installer.rb +15 -1
- data/lib/bundler/lazy_specification.rb +6 -0
- data/lib/bundler/lockfile_parser.rb +42 -34
- data/lib/bundler/mirror.rb +2 -0
- data/lib/bundler/plugin.rb +5 -1
- data/lib/bundler/plugin/api/source.rb +1 -1
- data/lib/bundler/plugin/index.rb +2 -0
- data/lib/bundler/remote_specification.rb +16 -7
- data/lib/bundler/resolver.rb +13 -3
- data/lib/bundler/rubygems_ext.rb +8 -3
- data/lib/bundler/rubygems_integration.rb +85 -36
- data/lib/bundler/runtime.rb +4 -1
- data/lib/bundler/settings.rb +2 -1
- data/lib/bundler/setup.rb +1 -1
- data/lib/bundler/shared_helpers.rb +26 -1
- data/lib/bundler/source.rb +17 -1
- data/lib/bundler/source/git.rb +16 -0
- data/lib/bundler/source/path.rb +13 -3
- data/lib/bundler/source/path/installer.rb +2 -2
- data/lib/bundler/source/rubygems.rb +5 -2
- data/lib/bundler/spec_set.rb +22 -13
- data/lib/bundler/stub_specification.rb +64 -2
- data/lib/bundler/templates/Executable +1 -1
- data/lib/bundler/templates/Executable.standalone +5 -5
- data/lib/bundler/templates/newgem/Gemfile.tt +2 -2
- data/lib/bundler/templates/newgem/LICENSE.txt.tt +1 -1
- data/lib/bundler/templates/newgem/README.md.tt +12 -6
- data/lib/bundler/templates/newgem/Rakefile.tt +5 -5
- data/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt +4 -4
- data/lib/bundler/templates/newgem/ext/newgem/newgem.h.tt +3 -3
- data/lib/bundler/templates/newgem/lib/newgem.rb.tt +6 -6
- data/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +4 -4
- data/lib/bundler/templates/newgem/newgem.gemspec.tt +9 -9
- data/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +3 -0
- data/lib/bundler/templates/newgem/test/newgem_test.rb.tt +1 -1
- data/lib/bundler/templates/newgem/test/test_helper.rb.tt +3 -3
- data/lib/bundler/ui/shell.rb +9 -6
- data/lib/bundler/vendor/thor/lib/thor.rb +31 -23
- data/lib/bundler/vendor/thor/lib/thor/actions.rb +21 -22
- data/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/actions/directory.rb +2 -2
- data/lib/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +8 -8
- data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +23 -12
- data/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +10 -14
- data/lib/bundler/vendor/thor/lib/thor/base.rb +30 -30
- data/lib/bundler/vendor/thor/lib/thor/command.rb +9 -9
- data/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +9 -1
- data/lib/bundler/vendor/thor/lib/thor/core_ext/io_binary_read.rb +7 -5
- data/lib/bundler/vendor/thor/lib/thor/core_ext/ordered_hash.rb +94 -63
- data/lib/bundler/vendor/thor/lib/thor/error.rb +3 -3
- data/lib/bundler/vendor/thor/lib/thor/group.rb +12 -12
- data/lib/bundler/vendor/thor/lib/thor/invocation.rb +4 -5
- data/lib/bundler/vendor/thor/lib/thor/parser/argument.rb +4 -7
- data/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +16 -16
- data/lib/bundler/vendor/thor/lib/thor/parser/option.rb +40 -19
- data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +7 -5
- data/lib/bundler/vendor/thor/lib/thor/runner.rb +25 -25
- data/lib/bundler/vendor/thor/lib/thor/shell.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +41 -26
- data/lib/bundler/vendor/thor/lib/thor/shell/color.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/shell/html.rb +4 -4
- data/lib/bundler/vendor/thor/lib/thor/util.rb +8 -7
- data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
- data/lib/bundler/version.rb +14 -1
- data/lib/bundler/version_ranges.rb +75 -0
- data/lib/bundler/worker.rb +2 -1
- data/man/bundle-check.ronn +26 -0
- data/man/bundle-clean.ronn +18 -0
- data/man/bundle-config.ronn +4 -1
- data/man/bundle-info.ronn +17 -0
- data/man/bundle-init.ronn +18 -0
- data/man/bundle-inject.ronn +22 -0
- data/man/bundle-open.ronn +19 -0
- data/man/bundle-show.ronn +20 -0
- data/man/bundle-update.ronn +5 -2
- data/man/bundle-viz.ronn +30 -0
- data/man/bundle.ronn +3 -0
- data/man/gemfile.5.ronn +24 -64
- data/task/release.rake +115 -0
- metadata +49 -5
- data/DEVELOPMENT.md +0 -150
- data/ISSUES.md +0 -117
data/CONTRIBUTING.md
CHANGED
@@ -1,36 +1,17 @@
|
|
1
|
-
# Contributing
|
1
|
+
# Contributing to Bundler
|
2
2
|
|
3
|
-
Bundler
|
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
|
-
|
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
|
-
|
7
|
+
## Quick start
|
29
8
|
|
30
|
-
|
9
|
+
Some guides you might find useful:
|
31
10
|
|
32
|
-
|
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
|
-
|
15
|
+
## Comprehensive guides
|
35
16
|
|
36
|
-
|
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 [
|
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](
|
44
|
+
To see what has changed in recent versions of Bundler, see the [CHANGELOG](CHANGELOG.md).
|
38
45
|
|
39
|
-
|
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 [
|
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.
|
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.
|
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))
|
data/bin/rubocop
CHANGED
data/doc/README.md
ADDED
@@ -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.
|