aboutsummaryrefslogtreecommitdiffstats
path: root/lib/bundler/cli
Commit message (Collapse)AuthorAgeFilesLines
* [Inline] Support running when BUNDLE_GEMFILE=""Samuel Giddins2017-01-141-1/+1
|
* viz: fix capitalisation of HomebrewAlyssa Ross2017-01-141-1/+1
| | | Homebrew capitalises its name β€” see http://brew.sh.
* [CLI::Open] Support exiting when selecting gemSamuel Giddins2017-01-021-1/+2
|
* Auto merge of #5240 - smathy:update_post_install_messages, r=segiddinsThe Bundler Bot2016-12-173-27/+24
|\ | | | | | | | | | | `bundle update` post install messages Currently post install messages are only displayed for `bundle install` not for `bundle update`. This PR fixes that so they're displayed for both, and includes a small refactor of some duplicated functionality between `install` and `update`
| * Output post_install_message during updateJason King2016-12-081-1/+2
| |
| * DRY up some duplication between install and updateJason King2016-12-083-26/+22
| |
* | [Lock] Fix --add-platform rubySamuel Giddins2016-12-051-1/+1
|/ | | | Necessary since the ruby platform is a string instead of a platform object
* [CLI::Gem] Fail gracefully on an invalid constant nameSamuel Giddins2016-11-191-3/+16
|
* Auto merge of #5114 - AirRefund:improve_outdated_code, r=chrismoThe Bundler Bot2016-11-181-43/+91
|\ | | | | | | | | | | | | | | | | | | Improve and fixed guide style code from outdated cmd Hi, I separate these part from this PR https://github.com/bundler/bundler/pull/5058. Regards.
| * Improve and fixed guide style code.Guillermo Guerrero2016-11-151-43/+91
| |
* | Auto merge of #5168 - colby-swandale:documentation-and-error-improvements, ↡Homu2016-11-171-3/+3
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | r=segiddins Documentation and error improvements This PR is just making a few small improvements to error messages, documentation and code indentation. Let me know what you think. Thanks!
| * fix rubocop feedbackColby Swandale2016-11-151-1/+1
| |
| * fix missing capitalizationColby Swandale2016-11-141-1/+1
| |
| * fix small alignmentColby Swandale2016-11-141-1/+1
| |
| * improve error message for bundle install --path --system conflictColby Swandale2016-11-141-2/+2
| |
* | Auto merge of #5176 - chrismo:fix_outdated_regression_from_cc355865, r=chrismoThe Bundler Bot2016-11-151-4/+4
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | Fix outdated regression from cc355865 Refactoring of @lucasmazza fix w/ specs. The only existing spec coverage was essentially integration level and there was no way either @lucasmazza or myself could find a way to simulate the bug context. I extracted some of the code out of outdated into Definition and SpecSet and added unit specs to those extracted bits. Fixes #4979
| * Refactoring of @lucasmazza fix w/ specs.chrismo2016-11-151-4/+4
| | | | | | | | | | | | | | | | | | The only existing spec coverage was essentially integration level and there was no way either @lucasmazza or myself could find a way to simulate the bug context. I extracted some of the code out of outdated into Definition and SpecSet and added unit specs to those extracted bits.
| * Fix `outdated` listing regression from cc355865Lucas Mazza2016-10-281-2/+2
| |
* | Auto merge of #5100 - bronzdoc:fix_shebang_check_in_exec, r=segiddinsHomu2016-10-311-0/+6
|\ \ | |/ |/| | | | | | | Warn if executable in bundle exec is empty closes https://github.com/bundler/bundler/issues/5084
| * Warn if executable in bundle exec is emptybronzdoc2016-10-301-0/+6
| |
* | use `Bunder.which` instead of `system` for otool and ldd detectionColby Swandale2016-10-251-2/+2
| |
* | use `system -v` to check for otool and lddColby Swandale2016-10-241-2/+2
| |
* | Auto merge of #5061 - chrismo:cons_outdated, r=indirectHomu2016-10-224-15/+35
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conservative updates on outdated Add conservative resolving behavior to outdated command. - [x] convert existing flags to --filter-* - [x] deal with strict flag - [x] make a 2.0 issue to consider making strict flags more consistent - [x] fix #5065 (outdated filter options don't work with `--strict') - [x] fix #5076 (outdated shouldn't say "Bundle up to date!" if results are just filtered out.) - [ ] document breaking change reasons? (_commit comment has something at least now_) - [x] what about `bundle show --outdated`? (_it's a much simpler version ... prolly just going to leave it alone for now?_) The flags as passed to the GemVersionPromoter _change_ resolution. <=1.13.2 of bundle outdated, those flags merely filter the output, with no influence on resolution. If the lockfile is set to foo 1.0.0, and all of the following exist: 1.0.1, 1.1.0, 2.0.0, then <=1.13.2 bundle outdated currently will show: `foo (newest 2.0.0, installed 1.0.0)` <=1.13.2 `bundle outdated --minor` simply filters away that line and won't show it. With these changes, `bundle outdated --minor` would be fed to the GemVersionPromoter and actually only resolve `foo` up to `1.1.0`. This gist shows how it currently works, filtering the output: https://gist.github.com/chrismo/0bc6cfa00f539787101a9a2c900616d3 It's unfortunate timing. They were only added in 1.12 ... I'm biased, but feel like the affect the flags have on resolution is of greater value, and would be better to keep in sync with how they work fed to the `bundle update` command as of 1.13, and we could add new --filter-patch flags to replace what they do currently. IIRC, there was some confusion at the time that Andre perhaps even thought these flags as of 1.12 would be affecting what the newest would resolve to, instead of just filtering the output, so - _if_ I'm remembering correctly, that's also influencing my opinion. But, I can be swayed by the breaking behavior argument. from @indirect in [this comment](https://github.com/bundler/bundler/pull/4841#discussion_r82021277): "IMO, this is what we were trying to do in 1.12, and failed to do because resolving is complicated. :/ I would be okay with this change on the grounds that the previous flags were documented so it sounded like they cause the new resolver aware behavior. πŸ‘"
| * | filtered outdated msg shouldn't say 'up to date'chrismo2016-10-191-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #5076. When a filter option is in use and it filters out everything in the requested categories, it's safer to say there were no %{level} updates to display rather than "Bundle up to date!" Tracking an additional local variable with the exact info to know that even when filtered there was nothing to update anyway I didn't feel was worth it with the current design.
| * | Enable cons updates in outdated and other fixes.chrismo2016-10-124-14/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #4772 - Changes previous `--patch` / `--minor` / `--major` options to `--filter-patch` / `--filter-minor` / `--filter-major` and adds back `--patch` / `--minor` / `--major` as conservative the patch level update options to match the behavior of these options in `bundle update` in 1.13. This is a breaking change for the previous filtering options added in 1.12, but we're allowing it because there was some confusion as to what those options did in 1.12, some thinking that it would perform the resolution constraints that these options _now_ actually do. A problem with merging in conservative bundle update options was the pre-existing `--strict` `outdated` option, which has been in `outdated` since 1.5. `--strict` for `outdated` means to only report on newer gem versions that still satisfy declared requirements in the Gemfile. Without `--strict`, `outdated` reports the most recent available regardless of declared requirements in the Gemfile. `--strict` in `update` in 1.13 means to not allow _any_ dependency to update past the patch level option. Rather than break the longer standing `--strict` option, the new `--update-strict` option has been added which maps to the conservative bundle update `--strict` option. We can revisit this in 2.0. This also fixes #5065, where the new filtering options were ignored if the `--strict` option was used.
* | | Add bundle install conservative updating to updatechrismo2016-10-212-2/+3
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the discussion on new 1.13 Conservative Bundle Updates (see https://github.com/bundler/bundler-features/issues/122), some users would like to have the same Conservative Updating (see http://bundler.io/v1.12/man/bundle-install.1.html#CONSERVATIVE-UPDATING) behavior available in `bundle install` when a declared dependency is altered in the Gemfile, also available in the `bundle update` command. This adds a new option called `--conservative` to both `bundle update` and `bundle lock`. The option only applies on `bundle lock` if the `--update` option is in use. The internal flag is more descriptive as to what actually takes place: It locks any shared dependencies from the gem(s) being updated. This also promotes the previously added patch level options to being shown in command-line help, anticipating a 1.14 release, to make these public and documented.
* | Auto merge of #5053 - hmistry:fix-clean-dry-run, r=segiddinsHomu2016-10-151-1/+1
|\ \ | |/ |/| | | | | | | | | | | Changed the behavior of 'bundle clean --dry-run' to output the list regardless of path set or force option Changed the behavior of 'bundle clean --dry-run' to output the list of gems bundle without having the local path set or providing the '--force' option. This change does not affect the actual behavior of 'bundle clean' which requires either the path being set or use of '--force'. Closes #5027.
| * Changed the behavior of 'bundle clean --dry-run' to output the list of gems ↡hiren mistry2016-10-041-1/+1
| | | | | | | | bundle without having the local path set or providing the '--force' option. This change does not affect the actual behavior of 'bundle clean' which requires either the path being set or use of '--force'.
* | Better gem outdated list grouped by groups.Guillermo Guerrero2016-10-061-28/+71
| | | | | | | | | | | | | | | | | | | | | | | | Restore default outdated. Added command in cli: - bundle outdated --groups Added --group option. Groups with alphabetical order. Added test. Reverted.
* | Add conservative update options to bundle lockchrismo2016-10-043-7/+16
| | | | | | | | | | | | | | | | | | Fix #4912. The bundle lock command produces a lockfile same as bundle update but won't install all the gems. If the `--update` option is fed to `bundle lock` you can also specify the `--patch`, `--minor`, `--major` and `--strict` options added to `bundle update` in 1.13.
* | Auto merge of #4954 - bundler:seg-load-gem-plugins-on-install, r=indirectHomu2016-10-032-6/+0
|\ \ | |/ |/| | | | | | | [Installer] Load gem plugins when installing Closes #2824 I think
| * [Installer] Load gem plugins when installingSamuel Giddins2016-09-072-6/+0
| |
* | [Lock] Default to not updatingSamuel Giddins2016-09-111-6/+3
|/
* [Definition] Validate platform in addition to rubySamuel Giddins2016-08-258-8/+8
| | | | | # Conflicts: # lib/bundler/cli/doctor.rb
* Auto merge of #4898 - JuanitoFatas:feature/generated-readme-github-url, ↡Homu2016-08-251-1/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r=segiddins Fill in git username to the generated gem's contributing section of README.md This Pull Request changes the GitHub URL in the Contributing section of README.md from generated gem (e.g. `bundle gem foo`). Why: I found myself change `[USERNAME]` to my git username so many times and I also help [some](https://github.com/suzuki86/rhymer/pull/1/files) [people](https://github.com/fastly/blockbuster/pull/12/files) [fix](https://github.com/abookyun/taiwan_validator/pull/2/files) [this](https://github.com/mkhairi/materialize-sass/pull/62/files). So I think this should be filled when new gem is generated. When git username not set, falls back to `[USERNAME]`. I don't really know how to make tests DRY, please advise, thank you.
| * Fill in git username to the generated github urlJuanitoFatas2016-08-201-1/+2
| | | | | | | | | | | | Most of the developers should already properly configured "git config user.name". This save time and avoid generated README.md with wrong GitHub url.
* | it’s not injecting anymoreAndre Arko2016-08-221-1/+1
| |
* | Auto merge of #4888 - bundler:seg-doctor, r=indirectHomu2016-08-202-20/+18
|\ \ | | | | | | | | | | | | | | | Have `doctor` call through to `check` \c @mistydemeo who implemented the Doctor command
| * | [Doctor] Ensure missing dylibs are printed in a consistent orderSamuel Giddins2016-08-171-4/+4
| | |
| * | [Doctor] Use check to ensure all dependencies are installedSamuel Giddins2016-08-161-11/+7
| | |
| * | [Doctor] Raise a ProductionError for linkage failuresSamuel Giddins2016-08-161-3/+5
| | |
| * | [Doctor] Insure checking for otool/lld is silentSamuel Giddins2016-08-161-2/+2
| | |
| * | [Update] Raise InvalidOption on duplicate patch level flagsSamuel Giddins2016-08-161-1/+1
| | |
* | | Add FeatureFlag classSamuel Giddins2016-08-182-2/+2
| |/ |/| | | | | | | | | Main use will be code showing what is true setting vs what is flagged Also can be used to develop for future major versions without needing a separate dev branch
* | Add a setting for disable_exec_loadSamuel Giddins2016-08-161-1/+3
|/
* [Lock] Allow removing platformsSamuel Giddins2016-08-121-2/+14
|
* [Exec] Only set process title on Ruby 2.1+Samuel Giddins2016-08-101-7/+3
| | | | The Process method is not available before then
* Manually set a process title when using loadJames Healy2016-08-091-0/+9
| | | | | | | | | | | | | | | | | | | | With bundler 1.11.2, the process name for rake tasks looked like this: $ bundle exec rake foo:bar $ ps ux | grep rake user 1758 62.2 2.4 385816 202032 pts/3 Sl+ 16:16 0:04 ruby /usr/bin/rake foo:bar On bundler 1.12.0, the process name changed: $ bundle exec rake foo:bar $ ps ux | grep rake user 1758 62.2 2.4 385816 202032 pts/3 Sl+ 16:16 0:04 /usr/bin/rake The change in behaviour is caused by bundler 1.12 using `load` (instead of `exec`) where possible, and manually using `$0=` to set the command name. Unfortunately, that also alters the process title visible with ps, and using Process.setproctitle can help reverse that
* [Installer] Move post-install messages to be an instance attributeSamuel Giddins2016-08-041-2/+2
|
* Auto merge of #4765 - mistydemeo:linkage, r=indirectHomu2016-08-041-0/+95
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WIP: add command to check dynamic library linkage This new command, linkage, checks for broken dynamic library links in C extensions. I'd heard there was some interest in adding this functionality, so I thought I'd submit a preliminary PR for discussion. In my experience, broken dylib linkage is a common issue with C extensions, so I think having a good way to diagnose it would be valuable. This command scans all of the specifications in the bundle for .bundle files in C extensions. If any of the dynamic libraries linked against no longer exist, bundler will report a message to the console and exit non-0. TODOs: * Add support for non-Darwin OSs * Improve tests A few questions: * Is there a good way to mock functionality in the tests? Doing it in the standard rspec way isn't working since `bundle :command` runs in a subprocess. I'd like to be able to stub out stuff that actually checks dylibs and the like. * Is making this a new command the right approach? I assumed this wouldn't be ideal to include in, say, `check` because it would slow it down.