| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|\
| |
| |
| | |
Version 1.16.0.pre.2
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Update vendored Molinillo to 0.6.3
See https://github.com/CocoaPods/Molinillo/releases/0.6.3.
(cherry picked from commit 5548a238d4cf38ff2fbec9388e8ab64049c421ed)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Respect RUBYGEMS_HOST env var in release messaging
### What was the end-user problem that led to this PR?
When running the `release` task, bundler didn't know anything
about the RUBYGEMS_HOST environment variable that rubygems respects when
doing a gem push. This resulted in incorrect messaging, as environments
where this was set without an `allowed_push_host` configured would
message that the gem had been pushed to rubygems.org, when in fact it
was pushed elsewhere.
### What was your diagnosis of the problem?
Bundler was hardcoding `rubygems.org` in the event that an `allowed_push_host` setting was not specified, and didn't know anything about the `RUBYGEMS_HOST` env var.
### What is your fix for the problem, implemented in this PR?
Added a check for that variable and used it before the hardcoded `rubygems.org` if it exists.
### Why did you choose this fix out of the possible options?
I chose this fix because it seemed the most straightforward way to solve the problem.
(cherry picked from commit 19c239ea54f4448f95fefdead6d8a15bbd1af0ad)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Handle missing socket when warning about OpenSSL version
### What was the end-user problem that led to this PR?
Stubbing Rubygems requests with WebMock was causing `undefined method 'io' for nil:NilClass` errors when using Bundler 1.16.0.pre.1
### What was your diagnosis of the problem?
My diagnosis was that the new warning text about old OpenSSL versions didn't consider the case that a connection might not have an `@socket` variable set.
### What is your fix for the problem, implemented in this PR?
Guard against this by returning early in that case.
### Why did you choose this fix out of the possible options?
I chose this fix because it works, and because `Net::HTTP` itself has some guards in it around `nil` values for `@socket` ([example](https://github.com/ruby/ruby/blob/trunk/lib/net/http.rb#L858-L860)). This isn't my area, though, so it could be that a fix is needed in WebMock, not here...
(cherry picked from commit f81b8ddaefa0528105c9e2dcb33e045b20588f42)
|
|\ \
| | |
| | |
| | |
| | |
| | | |
Update vendored Molinillo to 0.6.3
See https://github.com/CocoaPods/Molinillo/releases/0.6.3.
|
| | | |
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[2.0] Auto-configure job count
Closes https://github.com/bundler/bundler/pull/5808.
The description of that issue, copied verbatim:
This argument comes in two parts, but luckily, the first one is both easier to understand and hopefully to agree with.
Background: Bundler 1.4.0 added support for parallel installation via the `--jobs` param. Soon after, [this blog post](http://archlever.blogspot.com/2013/09/lies-damned-lies-and-truths-backed-by.html) (probably greatly amplified by [this Thoughtbot blog post](https://robots.thoughtbot.com/parallel-gem-installing-using-bundler)) popularized the recommendation "set `--jobs` to `nproc - 1`".
Not long after, probably also inspired by the popularity of this tip, this "n - 1 jobs" advice got codified into Bundler itself: https://github.com/bundler/bundler/commit/66acd02de593a6c7ee271bcbce3917eb3a01825a
However, my assertion here is _Bundler should not do that_.
The first argument (the easy one) is just that it's not doing what the user asks for. For all the people following the (seemingly popular) tip to set their jobs to `nproc - 1`, they're actually ending up with the probably-worse `- 2`. Even worse than that, if a user does a conservative `--jobs 2`, they're getting _no benefit_ — Bundler is quietly taking their parallelization back down to "no parallelization".
Hopefully that's a sufficient argument on its own, but the part II is that this blanket advice is probably out-of-date anyway.
Using [this script](https://gist.github.com/tjschuck/ca1d37a8869d1cc01313171b4b318094), I repeatedly installed 29 gems (installing them to a `vendor/` dir and deleting it in between runs). I averaged the time over 10 runs per --jobs value, but the trend holds regardless of how many runs you do.
Note that these numbers are for a machine with 2 physical cores and 4 virtual ones (a Mac, reporting 2 and 4 respectively from `sysctl -n hw.physicalcpu` and `sysctl -n hw.ncpu`, the latter corresponding to Linux's `nproc`).
```
~/Code/tmp/bundler_jobs_bench ☠ ./bundler_jobs_bench.sh
Installing 29 gems repeatedly...
===============================================
Using Bundler version 1.15.1 (current release version)
===============================================
--jobs 1 5.58435780 seconds on average (across 10 runs)
--jobs 2 5.35010690 seconds on average (across 10 runs)
--jobs 3 3.93493610 seconds on average (across 10 runs)
--jobs 4 3.86082760 seconds on average (across 10 runs)
--jobs 5 3.24673650 seconds on average (across 10 runs)
--jobs 6 3.49340190 seconds on average (across 10 runs)
--jobs 7 3.26473430 seconds on average (across 10 runs)
--jobs 8 3.34560500 seconds on average (across 10 runs)
===============================================
Using development version (no more n - 1 jobs)
===============================================
--jobs 1 4.32629540 seconds on average (across 10 runs)
--jobs 2 3.48100690 seconds on average (across 10 runs)
--jobs 3 3.30937880 seconds on average (across 10 runs)
--jobs 4 3.30868200 seconds on average (across 10 runs)
--jobs 5 3.54932920 seconds on average (across 10 runs)
--jobs 6 3.36123440 seconds on average (across 10 runs)
--jobs 7 3.96490630 seconds on average (across 10 runs)
--jobs 8 3.39955640 seconds on average (across 10 runs)
```
From the above, you can see:
1. In the first block, no notable change between `--jobs 1` and `--jobs 2` — that's because they're currently the same.
2. In both, a best time corresponding to the value that (effectively) matches nproc, _not_ nproc - 1.
3. Regardless of nproc coming out best in this run, there is close enough performance among the range of `nproc - 1` through to `nproc * 2` that it doesn't seem like anything in particular (like the `- 1` removed in this commit) should be codified — people seeking to particularly optimize their bundler runtimes should do their own tweaking of the value, and it should be respected as given.
|
| | | |
|
| | | |
|
| | | |
|
|/ /
| |
| |
| | |
Also, stop subtracting 1 from the configured job count in 2.0
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
deprecate the bundle viz command
### What was the end-user problem that led to this PR?
The `bundle viz` command is to been removed from bundler 2 and extracted into a plugin
Closes #5180
### What is your fix for the problem, implemented in this PR?
Deprecate the `bundle viz` command with an error explaining that a new gem will replace it's functionality.
|
| | | |
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Respect RUBYGEMS_HOST env var in release messaging
### What was the end-user problem that led to this PR?
When running the `release` task, bundler didn't know anything
about the RUBYGEMS_HOST environment variable that rubygems respects when
doing a gem push. This resulted in incorrect messaging, as environments
where this was set without an `allowed_push_host` configured would
message that the gem had been pushed to rubygems.org, when in fact it
was pushed elsewhere.
### What was your diagnosis of the problem?
Bundler was hardcoding `rubygems.org` in the event that an `allowed_push_host` setting was not specified, and didn't know anything about the `RUBYGEMS_HOST` env var.
### What is your fix for the problem, implemented in this PR?
Added a check for that variable and used it before the hardcoded `rubygems.org` if it exists.
### Why did you choose this fix out of the possible options?
I chose this fix because it seemed the most straightforward way to solve the problem.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously when running the `release` task, bundler didn't know anything
about the RUBYGEMS_HOST environment variable that rubygems respects when
doing a gem push. This resulted in incorrect messaging, as environments
where this was set without an `allowed_push_host` configured would
message that the gem had been pushed to rubygems.org, when in fact it
was pushed elsewhere.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
[2.0] Implement config subcommands
### What was the end-user problem that led to this PR?
The problem was the current `bundle config` mega-command is hacky and confusing.
### What was your diagnosis of the problem?
My diagnosis was we should add subcommands for `list`, `get`, `set`, and `unset` to make the CLI clearer.
Closes #4600.
### What is your fix for the problem, implemented in this PR?
My fix implements those subcommands while preserving the current bare `bundle config` command.
### Why did you choose this fix out of the possible options?
I chose this fix because, as opposed to https://github.com/bundler/bundler/pull/5507, we can keep the existing command in for a little while to help ease the transition.
@denniss how do you feel about this compared to your PR?
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
[2.0] [Resolver] Use the GVP for major updates in 2.0
Thanks so much for the contribution!
To make reviewing this PR a bit easier, please fill out answers to the following questions.
### What was the end-user problem that led to this PR?
The problem was @chrismo wants to start delegating all sorting to the GVP.
### What was your diagnosis of the problem?
My diagnosis was to start doing that in 2.0.
Closes https://github.com/bundler/bundler/issues/5993
### What is your fix for the problem, implemented in this PR?
My fix adds a feature flag.
|
| | | | |
| | | | |
| | | | |
| | | | | |
This way, it can be reset in #missing_specs?
|
| | | | | |
|
|/ / / / |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Handle missing socket when warning about OpenSSL version
### What was the end-user problem that led to this PR?
Stubbing Rubygems requests with WebMock was causing `undefined method 'io' for nil:NilClass` errors when using Bundler 1.16.0.pre.1
### What was your diagnosis of the problem?
My diagnosis was that the new warning text about old OpenSSL versions didn't consider the case that a connection might not have an `@socket` variable set.
### What is your fix for the problem, implemented in this PR?
Guard against this by returning early in that case.
### Why did you choose this fix out of the possible options?
I chose this fix because it works, and because `Net::HTTP` itself has some guards in it around `nil` values for `@socket` ([example](https://github.com/ruby/ruby/blob/trunk/lib/net/http.rb#L858-L860)). This isn't my area, though, so it could be that a fix is needed in WebMock, not here...
|
|/ / / / |
|
|\ \ \ \
| | |_|/
| |/| | |
|
|/ / / |
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add documentation for packaging with --no-install
### What was the end-user problem that led to this PR?
I need to package gems for deployment but don't want to install them on the local system.
### What was your diagnosis of the problem?
The behaviour is a part of bundler but it is not documented anywhere in man pages or the bundler site. To find the answer, one has to look at issues that were closed a few years ago.
### What is your fix for the problem, implemented in this PR?
I've updated the man page for the `bundle package` command. Hopefully, this will trickle down to bundler site pages for package command whenever CI publishes it.
Followed the doc [here](https://github.com/bundler/bundler/blob/master/doc/documentation/WRITING.md) to run tests.
### Why did you choose this fix out of the possible options?
It felt appropriate to document a flag available on a CLI in its help pages.
|
| | | |
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Support bundle_path used by war files generated with jruby's warbler
### What was the end-user problem that led to this PR?
Issue #5975. The problem was that recent code to detect a bad bundle_path by looking for the PATH_SEPARATOR character broke when running from a war file generated by jruby's warbler.
### What was your diagnosis of the problem?
My diagnosis was that the path separator used was not appropriate in this circumstance.
### What is your fix for the problem, implemented in this PR?
My fix implements the suggestion from @segiddins to use the same path splitting logic used by RubyGems under jruby to determine if the bad path is present.
### Why did you choose this fix out of the possible options?
I chose this fix because it provides a way to detect the original problem that is consistent with the handling within RubyGems.
|
| | |
| | |
| | |
| | | |
method in the bundle path regex specs
|
| | | |
|
| | |
| | |
| | |
| | | |
constructor
|
| | |
| | |
| | |
| | | |
style guide while retaining the explanatory comments
|
| | | |
|
| | |
| | |
| | |
| | | |
the file under ruby 1.8
|
| | |
| | |
| | |
| | | |
that rely on a ruby >= 1.9 style regex
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
displaying the bundle_path error for a RubyGems version earlier than 2.0
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
bundle_path in order to work with jruby-generated war files. Fixes issue 5975
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
[CLI] Prettify the output in cli_help
### What was the end-user problem that led to this PR?
The problem was the new help output for `bundle` was very verbose and unorganized, making it look a bit like work vomit.
### What was your diagnosis of the problem?
My diagnosis was we should
Closes https://github.com/bundler/bundler/issues/5963.
### What is your fix for the problem, implemented in this PR?
My fix prints the full version info, as well as grouping the commands into `primary` and `utility` as done in the man pages.
### Why did you choose this fix out of the possible options?
I chose this fix because it makes the output pleasing to visually parse.
```
$ bundle
Bundler version 1.15.4 (2017-08-25 commit 3203fdd2a)
Bundler commands:
Primary commands:
bundle install [OPTIONS] # Install the current environment to the system
bundle update [OPTIONS] # Update the current environment
bundle package [OPTIONS] # Locks and then caches all of the gems into vendor/cache
bundle exec [OPTIONS] # Run the command in context of the bundle
bundle config NAME [VALUE] # Retrieve or set a configuration value
bundle help [COMMAND] # Describe available commands or one specific command
Utilities:
bundle add GEM VERSION # Add gem to Gemfile and run bundle install
bundle binstubs GEM [OPTIONS] # Install the binstubs of the listed gem
bundle check [OPTIONS] # Checks if the dependencies listed in Gemfile are satisfied by currently installed gems
bundle console [GROUP] # Opens an IRB session with the bundle pre-loaded
bundle doctor [OPTIONS] # Checks the bundle for common problems
bundle env # Print information about the environment Bundler is running under
bundle gem NAME [OPTIONS] # Creates a skeleton for creating a rubygem
bundle info GEM [OPTIONS] # Show information for the given gem
bundle init [OPTIONS] # Generates a Gemfile into the current working directory
bundle issue # Learn how to report an issue in Bundler
bundle licenses # Prints the license of all gems in the bundle
bundle lock # Creates a lockfile without installing
bundle open GEM # Opens the source directory of the given bundled gem
bundle outdated GEM [OPTIONS] # List installed gems with newer versions available
bundle platform [OPTIONS] # Displays platform compatibility information
bundle plugin # Manage the bundler plugins
bundle pristine [GEMS...] # Restores installed gems to pristine condition from files located in the gem cache. Gem installed from a git reposit...
bundle show GEM [OPTIONS] # Shows all gems that are part of the bundle, or the path to a given gem
bundle version # Prints the bundler's version information
Options:
[--no-color] # Disable colorization in output
-r, [--retry=NUM] # Specify the number of times you wish to attempt network commands
-V, [--verbose], [--no-verbose] # Enable verbose output mode
```
|
| | | | |
|
| | | | |
|
|/ / / |
|