summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge #7224Bundlerbot2019-07-081-3/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 7224: Remove unnecessary `order_matters` param r=hsbt a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that the `find_gemfile` method was receiving an `order_matters` parameter that's no longer used anywhere. ### What is your fix for the problem, implemented in this PR? My fix is to remove the parameter. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * Remove unnecessary `order_matters` paramremove_order_mattersDavid Rodríguez2019-07-041-3/+3
| |
* | Merge #7222Bundlerbot2019-07-063-18/+26
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7222: Remove `add_development_dependency` from new gems r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that a lot of gems in the wild use `add_development_dependency` for their development dependencies, but using `Gemfile`'s for that is more useful. ### What was your diagnosis of the problem? My diagnosis was that the current situation is due to the fact that bundler generates a gem skeleton that uses `add_development_dependency` by default. ### What is your fix for the problem, implemented in this PR? My fix is to stop using `add_development_dependency` in generated gems, and instead use the Gemfile. ### Why did you choose this fix out of the possible options? I chose this fix because it encourages better practices. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * | Not sure how much this buys us, remove itremove_add_development_dependency_from_new_gemsDavid Rodríguez2019-06-261-2/+0
| | |
| * | Generate new gem development dependencies in GemfileDavid Rodríguez2019-06-263-14/+25
| | |
| * | Fix local variable nameDavid Rodríguez2019-06-261-2/+2
| | |
| * | Reuse `execute_bundle_gem` methodDavid Rodríguez2019-06-261-2/+1
| | |
* | | Merge #7235Bundlerbot2019-07-068-29/+21
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7235: Spec improvements r=deivid-rodriguez a=deivid-rodriguez This is a bunch of miscelaneous commits that fix and improve some stuff in our test suite. I could open separate PRs for them but they are so small that I figured I could compile them all on a single PR. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * | | Fix typosspec_improvementsDavid Rodríguez2019-07-051-4/+4
| | | |
| * | | Reuse `lockfile` spec helperDavid Rodríguez2019-07-052-7/+3
| | | |
| * | | Remove unused filterDavid Rodríguez2019-07-051-1/+0
| | | |
| * | | Reuse `gemfile` spec helperDavid Rodríguez2019-07-051-6/+4
| | | |
| * | | Cleanup constant only used onceDavid Rodríguez2019-07-051-7/+5
| | | |
| * | | More specific assertionDavid Rodríguez2019-07-051-2/+2
| | | | | | | | | | | | | | | | 1.0.0 is such a common output, and it was hiding a crash in the test.
| * | | Remove redundant assertionDavid Rodríguez2019-07-051-1/+0
| | | |
| * | | Make spec easier to debugDavid Rodríguez2019-07-051-1/+3
| | | |
* | | | Merge #7225Bundlerbot2019-07-052-10/+18
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7225: Clearer `MissingRevision` git errors r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that sometimes we get the error "Revision xxxxxx does not exist in the repository https://github.com/my_user/my_repo. Maybe you misspelled?" ### What was your diagnosis of the problem? My diagnosis was that it's not always easy to troubleshoot this error, because you don't even know which git command failed in the first place. ### What is your fix for the problem, implemented in this PR? My fix is to also include in the error the command that originally failed. ### Why did you choose this fix out of the possible options? I chose this fix because I think it will help users with troubleshooting. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * | | | Improve spec to be more realisticclearer_git_errorsDavid Rodríguez2019-06-281-2/+3
| | | | |
| * | | | Clearer MissingRevision git errorsDavid Rodríguez2019-06-272-9/+16
| | | | |
* | | | | Merge #6113Bundlerbot2019-07-054-8/+36
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6113: [Package] Always resolve remotely for --all-platforms r=indirect a=segiddins ### What was the end-user problem that led to this PR? The problem was `bundle package --all-platforms` causes `bundle install` to ignore `--with` and `--without`. Closes https://github.com/bundler/bundler/issues/6074. ### What was your diagnosis of the problem? My diagnosis was `Installer#resolve_if_needed` had to always resolve remotely for `--all-platforms`, because we would be trying to package things that weren't available locally. ### Why did you choose this fix out of the possible options? I chose this fix because it avoids refactoring any of the other packaging code. Co-authored-by: Samuel Giddins <segiddins@segiddins.me> Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * | | | Don't persist the cache_all_platforms settingseg-package-all-platforms-withoutDavid Rodríguez2019-07-051-2/+4
| | | | | | | | | | | | | | | | | | | | We only want it temporarily during the duration of the cache saving.
| * | | | [Package] Ensure uninstallable gems are _never_ installedSamuel Giddins2019-07-052-3/+13
| | | | |
| * | | | [Package] Dont always update on --all-platformsSamuel Giddins2019-07-051-4/+1
| | | | |
| * | | | [Package] Always resolve remotely for --all-platformsSamuel Giddins2019-07-052-1/+20
| | | | |
* | | | | Merge #7233Bundlerbot2019-07-051-0/+1
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7233: Add missing expectation r=hsbt a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was I noticed that this test was missing one assertion. See https://github.com/bundler/bundler/blob/566cce0629a0f1a4d147195a34d494306269e1cf/lib/bundler/shared_helpers.rb#L77-L84 ### What was your diagnosis of the problem? My diagnosis was that it should be added. ### What is your fix for the problem, implemented in this PR? My fix is to add the missing expectation. ### Why did you choose this fix out of the possible options? I chose this fix because regardless of how implementation dependent this spec is, it should probably be complete. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * | | | Add missing mockmissing_mockDavid Rodríguez2019-07-041-0/+1
| | |_|/ | |/| | | | | | | | | | | | | | I'm not sure this test is useful but since it's there, it should be complete.
* | | | Merge #7212Bundlerbot2019-07-052-3/+30
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7212: Don't re-resolve locked platform specific gems r=indirect a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that when you have locked platform gems in your lockfile for a platform different than the running one, the lockfile was always getting re-resolved. ### What was your diagnosis of the problem? My diagnosis was that the dependencies passed on to the `SpecSet#for` call that's supposed to check that no dependencies are missing for the current platform, always include all dependencies for all platforms. And thus platform missing dependencies are always detected. The reason for that is that `expand_dependencies` was being passed `remote = true` https://github.com/bundler/bundler/blob/0b5da910e71760eb585b34d08d43ea31b988ca24/lib/bundler/definition.rb#L815-L816 and thus not excluding dependencies exclusive for other platforms https://github.com/bundler/bundler/blob/0b5da910e71760eb585b34d08d43ea31b988ca24/lib/bundler/definition.rb#L887 ### What is your fix for the problem, implemented in this PR? My fix is to skip the second argument to `expand_dependencies` in this case, so that it works in its default "local mode" and the dependencies for other platforms are properly filtered out. ### Why did you choose this fix out of the possible options? I chose this fix because it fixes the issue in a simple way. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * | | | Inline `expanded_deps`fix_reresolving_locked_platform_specific_depsDavid Rodríguez2019-06-261-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | It's now only used once, and doing it like this is consistent with the previous line.
| * | | | Don't re-resolve locked platform specific gemsDavid Rodríguez2019-06-252-1/+29
| | |_|/ | |/| |
* | | | Merge #7154Bundlerbot2019-07-041-0/+13
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7154: bundler/inline should install gems to BUNDLE_PATH r=deivid-rodriguez a=robuye ### What was the end-user problem that led to this PR? This addresses the problem described in issue #7131. `bundler/inline` does not respect `BUNDLE_PATH` env variable and installs gems to the default location. ### What was your diagnosis of the problem? `Bundler.configure` is not called at any point in `bundler/inline`. ### What is your fix for the problem, implemented in this PR? To call it :) ### Why did you choose this fix out of the possible options? When bundler is invoked via `bundle install` this method gets called. --- The included test is failing without this change as expected. I have also tested it manually using the code from the issue on ruby 2.6 and with bundler `1.17.2` & `2.0.1`. Co-authored-by: robuye <rulejczyk@gmail.com>
| * | | bundler/inline should always install gems to system pathrobuye2019-06-191-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As discussed in the P/R, when `BUNDLE_PATH` env is set Bundler should still install gems to the system path. `GEM_HOME` can be used to provide different location if needed. The test is added to document expected behavior of `bundler/inline`.
* | | | Merge #7229Bundlerbot2019-07-041-1/+1
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | 7229: Correct default cache path r=deivid-rodriguez a=Confusion The default path where `bundle package` puts the gems is `vendor/cache`, not `vendor/bundle`. Co-authored-by: Ivo Wever <ivo.wever@gmail.com>
| * | | Correct default cache pathIvo Wever2019-07-031-1/+1
|/ / / | | | | | | The default cache path is `vendor/cache`, not `vendor/bundle`.
* | | Merge #7223Bundlerbot2019-06-277-34/+17
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7223: RUBY_ENGINE should always be defined after 1.8.7 r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that we have code checking that `RUBY_ENGINE` everytime it's used and I think it's unnecessary. ### What was your diagnosis of the problem? My diagnosis was that every ruby implementation newer than 1.8 should define this. ### What is your fix for the problem, implemented in this PR? My fix is to remove the unnecessary code. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * | | RUBY_ENGINE should always be defined after 1.8.7ruby_engine_always_definedDavid Rodríguez2019-06-267-34/+17
| | |/ | |/|
* | | Merge #7221Bundlerbot2019-06-262-6/+6
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7221: Bump rubygems in CI to 3.0.4 and 2.7.10 r=hsbt a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that we should make sure everything is ok with the most recent rubygems releases. ### What is your fix for the problem, implemented in this PR? My fix is to upgrade the rubygems versions in our CI. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * | Bump rubygems in CI to 3.0.4 and 2.7.10David Rodríguez2019-06-262-6/+6
|/ /
* | Merge #7209Bundlerbot2019-06-242-12/+16
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7209: Add a minimum ruby version to the generated gemspec r=hsbt a=deivid-rodriguez This PR is a finished version of #4397. ### What was the end-user problem that led to this PR? The problem was that the generated gemspec for new gems does not impose a minimum ruby version. ### What is your fix for the problem, implemented in this PR? My fix is to set the minimum ruby version in the generated gemspec to the minimum ruby version supported by bundler itself. ### Why did you choose this fix out of the possible options? I chose this fix because it's simple. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> Co-authored-by: Miklos Fazekas <mfazekas@szemafor.com>
| * | Add `required_ruby_version` to gemspec templategemspec-rrMiklos Fazekas2019-06-172-0/+7
| | |
| * | Factor out gemspec call inside `let`David Rodríguez2019-06-171-8/+8
| | |
| * | Remove duplicated `let`'sDavid Rodríguez2019-06-171-5/+2
| | |
* | | Merge #7161Bundlerbot2019-06-2498-1028/+1039
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7161: Fix file URIs on Windows r=hsbt a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that file:// URIs were not properly handled on Windows, and those are heavily used by our specs. ### What was your diagnosis of the problem? My diagnosis was that Windows paths do not start with a slash, so we need to add an extra slash to separate the host from the path in file:// urls. Otherwise "D:" is parsed as the host segment in the URI. As a consequence of that change, we also need to strip that leading character when using the path segment for those URIs, so that it's a valid file path on Windows. This change reduces Windows CI spec failures from 429 to 355. In order to apply this fix for all file URI's in tests, I extracted a helper method and searched and replaced all file:// ocurrences with the method. The diff is big because of that, but I think it works fine. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * | | Normalize usages of `Gem::Util` in rubygems integrationfix_file_uris_on_windowsDavid Rodríguez2019-06-111-5/+3
| | | |
| * | | Use rubygems utility if availableDavid Rodríguez2019-06-113-2/+14
| | | |
| * | | Fix file:// handling under WindowsDavid Rodríguez2019-06-113-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Windows paths do not start with a slash, so we add an extra slash to separate the host from the path in file:// urls. Otherwise "D:" is parsed as the host segment in the URI. The path for those URLs now starts with "/", so we ignore that leading character when using the URI's path. This reduces Windows CI spec failures from 429 to 355.
| * | | Normalize file:// handling in specsDavid Rodríguez2019-06-1195-1023/+1021
| | | |
* | | | Merge #7216Bundlerbot2019-06-241-3/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7216: Revert "Migrate requires from exe/ to also be relative" r=hsbt a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that in https://github.com/bundler/bundler/pull/7193, I included [a commit](https://github.com/bundler/bundler/pull/7193/commits/d9d2bf6d522dd36d1ef2732e87cef8b7cba729fd) to migrate requires included in bundler's executable to use `require_relative`. That broke stuff. ### What was your diagnosis of the problem? My diagnosis was the assumption that if `<install_folder>/exe/bundle` lives on a folder, the corresponding bundler lib lives on `<install_folder>/lib` doesn't hold for default gems. Default gems for gems with executables live in `site_lib` but install their executables in the standard gem location. That means that the reference commit breaks bundler when it is installed as a default gem. ### What is your fix for the problem, implemented in this PR? My fix is to revert the commit. ### Why did you choose this fix out of the possible options? I chose this fix because it's the easiest way. The proper long term fix is probably to make default gems behave in a more standard way. There's some ongoing work on that here: https://github.com/rubygems/rubygems/pull/2166. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * | | | Revert "Migrate requires from exe/ to also be relative"revert_relative_require_from_executableDavid Rodríguez2019-06-201-3/+3
| | | | | | | | | | | | | | | | | | | | This reverts commit d9d2bf6d522dd36d1ef2732e87cef8b7cba729fd.
* | | | | Merge #7213Bundlerbot2019-06-201-2/+2
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7213: Replace `bundler_2:install` task with `bundler_3:install` r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that the `bundler_2:install` task is no longer meaningful. ### What was your diagnosis of the problem? My diagnosis was that master points to 2.x now, so this task is useless. ### What is your fix for the problem, implemented in this PR? My fix is move it to `bundler_3:install`. ### Why did you choose this fix out of the possible options? I chose this fix because it keeps the shortcut, but for a useful future version. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * | | | Replace bundler_2:install with bundler_3:installbundler_3_install_taskDavid Rodríguez2019-06-181-2/+2
| | | | |