Commit graph

84 commits

Author SHA1 Message Date
Hiroshi SHIBATA
13f4f07f21 Merge bundler-2.1.4 2020-01-08 18:00:32 +09:00
Hiroshi SHIBATA
efbc0d499c
Merge bundler-2.1.1 from bundler/bundler 2019-12-18 14:53:19 +09:00
Hiroshi SHIBATA
286cb3395f Fixed test failures with gem command path on ruby core repo. 2019-12-15 16:41:10 +09:00
Hiroshi SHIBATA
38002a8adb Prepare to release bundler-2.1.0 2019-12-15 16:41:10 +09:00
Kazuhiro NISHIYAMA
e9992bcab0 Allow unknown if ruby core 2019-11-19 00:29:10 +09:00
Hiroshi SHIBATA
bb9ecd026a Merge Bundler 2.1.0.pre3 released version 2019-11-13 10:19:51 +09:00
Hiroshi SHIBATA
7585bc3187 Merge Bundler 2.1.0.pre.3
Features:
    - Add caller information to some deprecation messages to make them easier to fix [#7361](https://github.com/bundler/bundler/pull/7361)
    - Reconcile `bundle cache` vs `bundle package` everywhere. Now in docs, CLI help and everywhere else `bundle cache` is the preferred version and `bundle package` remains as an alias [#7389](https://github.com/bundler/bundler/pull/7389)
    - Display some basic `bundler` documentation together with ruby's RDoc based documentation [#7394](https://github.com/bundler/bundler/pull/7394)

  Bugfixes:
    - Fix typos deprecation message and upgrading docs [#7374](https://github.com/bundler/bundler/pull/7374)
    - Deprecation warnings about `taint` usage on ruby 2.7 [#7385](https://github.com/bundler/bundler/pull/7385)
    - Fix `--help` flag not correctly delegating to `man` when used with command aliases [#7388](https://github.com/bundler/bundler/pull/7388)
    - `bundle add` should cache newly added gems if an application cache exists [#7393](https://github.com/bundler/bundler/pull/7393)
    - Stop using an insecure folder as a "fallback home" when user home is not defined [#7416](https://github.com/bundler/bundler/pull/7416)
    - Fix `bundler/inline` warning about `Bundler.root` redefinition [#7417](https://github.com/bundler/bundler/pull/7417)
2019-11-11 18:56:25 +09:00
David Rodríguez
effacde2c0
[bundler/bundler] Merge all bundle check --path specs
And skip them all for bundler 3.

b88936cdc2
2019-09-18 18:26:33 +09:00
Bundlerbot
434af7303c
[bundler/bundler] Merge #7340
7340: Fix bundle clean issue r=deivid-rodriguez a=deivid-rodriguez

### What was the end-user problem that led to this PR?

The problem was that `bundle clean` is crashing under some conditions.

### What was your diagnosis of the problem?

My diagnosis was that sometimes (when the bundle includes git sourced gems with extensions), it assumes that some paths exist, but they don't.

### What is your fix for the problem, implemented in this PR?

My fix is to ignore those paths.

### Why did you choose this fix out of the possible options?

I chose this fix because it fixes the issue.

Fixes #7338.

Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
(cherry picked from commit b007fde67c77c1f15f13b97eda186644c2a2be04)

3766053507
2019-09-18 18:26:33 +09:00
David Rodríguez
b9996803f7
[bundler/bundler] Remove duplicated spec filter
b7fc6f4187
2019-09-18 18:26:32 +09:00
Hiroshi SHIBATA
d9b73dcc0d Remove github_action_linux tag from bundler examples.
Maybe it has fixed at 5a384e2c08
2019-08-23 19:05:45 +10:00
David Rodríguez
ede77d82e7
[bundler/bundler] Fix a couple of typos
52b6b94068
2019-08-21 07:58:46 +09:00
David Rodríguez
5a384e2c08 Fix some bundler specs (#2380)
* These seem to consistenly pass already

* Show actual command when running `make test-bundler`

Current the setup command that installs the necessary gems for testing
bundler was printed, but not the actual command that runs the tests.
That was a bit confusing.

* Borrow trick from setproctitle specs

* A title that long doesn't get set sometimes

No idea why, but the test doesn't need that the title is that long.

* Fix most gem helper spec ruby-core failures

* Fix the rest of the gem helper failures

* Fix version spec by improving the assertion

* Remove unnecessary `BUNDLE_RUBY` environment var

We can use `RUBY` when necessary, and `BUNDLE_RUBY` is not a good name
because bundler considers `BUNDLE_*` variables as settings.

* Rename `BUNDLE_GEM` to `GEM_COMMAND`

This is more descriptive I think, and also friendlier for bundler
because `BUNDLE_` env variables are interpreted by bundler as settings,
and this is not a bundler setting.

This fixes one bundler spec failure in config specs against ruby-core.

* Fix quality spec when run in core

Use the proper path helper.

* Fix dummy lib builder to never load default gems

If a dummy library is named as a default gem, when requiring the library
from its executable, the default gem would be loaded when running from
core, because in core all default gems share path with bundler, and thus
they are always in the $LOAD_PATH. We fix the issue by loading lib
relatively inside dummy lib executables.

* More exact assertions

Sometimes I have the problem that I do some "print debugging" inside
specs, and suddently the spec passes. This happens when the assertion is
too relaxed, and the things I print make it match, specially when they
are simple strings like "1.0" than can be easily be part of gem paths
that I print for debugging.

I fix this by making a more exact assertion.

* Detect the correct shebang when ENV["RUBY"] is set

* Relax assertion

So that the spec passes even if another paths containing "ext" are in
the load path. This works to fix a ruby-core issue, but it's a better
assertion in general. We just want to know that the extension path was
added.

* Use folder structure independent path helper

It should fix this spec for ruby-core.

* Fix the last failing spec on ruby-core

* Skip `bundle open <default_gem>` spec when no default gems
2019-08-20 09:46:31 +09:00
Hiroshi SHIBATA
d3da1d57d3
Skip open_spec.rb:L95 because ruby repo doesn't have json as default gems. 2019-08-18 15:02:21 +09:00
David Rodríguez
4756c5f7e7 [bundler/bundler] Remove unnecessary rubygems monkeypatch
Instead, make sure we always load the local copy of bundler during
specs, and never end up using the default copy.

ac655ffeda
2019-08-18 13:45:35 +09:00
David Rodríguez
5a69a23afc [bundler/bundler] Don't use system bundler on this spec
If we use system bundler, when booting the "outermost" bundler process,
bundler will save the path to the system bundler in BUNDLE_BIN_PATH, and
use it again when booting the "innermost" bundler process (`bundle exec
echo foo`).

That means that second process will use the system bundler path again.
However, we have `-rsupport/hax` in RUBYOPT, so that file will load from
the local copy of bundler, and that file will load `bundler/version`
from the project (not from system), because -Ilib is in the LOAD_PATH.

That will end up causing redefinition errors because the same constant
will be loaded from two different locations.

In general, this is expected behavior, normally you will wrap the
process with `Bundler.with_original_env` to reset the environment.
However, the easiest fix here is to not use system bundler, because it's
not really necessary and thus doesn't help the readability of the spec.

a3d72a34ab
2019-08-18 13:45:25 +09:00
David Rodríguez
0653d8c601 [bundler/bundler] Fix spec using the deprecated bundle config mode
789dd1864f
2019-08-18 13:45:15 +09:00
Zehan Zhao
d80f5399ad [bundler/bundler] Fix open default gem error
792d724752
2019-08-18 13:44:26 +09:00
David Rodríguez
98841b2b19 [bundler/bundler] Wrap open specs with a context
So I can add another context that doesn't run the `before` block.

06d0acc45a
2019-08-18 13:44:22 +09:00
David Rodríguez
e6e8d2d8c0 [bundler/bundler] Prefer before to before :each
6678747fae
2019-08-18 13:44:13 +09:00
David Rodríguez
cc644c7116 [bundler/bundler] Fix bundle doctor command
Previously `bundle doctor` would fail on any bundle that does not
include git gems or plugins. This is because the previously used
`Bundler.home` does not exist unless the bundle includes git gems or
plugins. For example, with `bundle config set path .bundle`, it points
to which does not exist unless this kind of gems exist in the Gemfile.

The name `Bundler.home` is really unfortunate, it should probably be
have more descriptive name, and be private. But for now I just want to
make `bundle doctor` usable.

5531a18c1e
2019-08-18 13:44:03 +09:00
David Stosik
a02dbcecb1 [bundler/bundler] Bundler displays a duplicate gem entries warning even if gems only appear once per group
d18a83109e
2019-08-18 13:43:59 +09:00
David Rodríguez
08c58e3c0d
[bundler/bundler] Extract a gemspec_dir helper
71a29e286a
2019-08-17 17:08:51 +09:00
David Rodríguez
334e615022
[bundler/bundler] Reconcile test
The `:bundler` gem is not needed in the regular repo either.

ca5ce01a9b
2019-08-17 17:08:50 +09:00
David Rodríguez
e38994d2f7
[bundler/bundler] Reuse gem_command! helper
37d5dedffe
2019-08-17 17:08:50 +09:00
David Rodríguez
7551117c70
[bundler/bundler] Reuse more shared path helpers
79fdebd868
2019-08-17 17:08:49 +09:00
David Rodríguez
ef2d415802
[bundler/bundler] Remove duplicated method
afdacd62ac
2019-08-17 17:08:49 +09:00
David Rodríguez
b587e8c7f1 [bundler/bundler] Add --[no-]git option to bundle gem
I think using `--no-git` can be useful when creating gems inside
monorepos.

154c687310
2019-08-16 14:30:23 +09:00
David Rodríguez
521a2d2beb [bundler/bundler] Revert "make system_bundle_bin_path helper and resolve failing tests for ruby < 2.6"
This reverts commit e63e844bc7444c6a489fcde0dc7011c6c4807edd.

It was introduced to resolve some failing tests at the cost of making
the intention of the spec much less clear.

Thanks to the previous fixes we have added to this spec, we can revert
that patch now.

b29a40820f
2019-08-16 14:30:23 +09:00
David Rodríguez
5bff72c912 [bundler/bundler] Make sure spec fails if bundle install fails
2ed2bbfdec
2019-08-16 14:30:23 +09:00
David Rodríguez
7ff0b4fec4 [bundler/bundler] Fix installation of system bundler
Previously it was being installed to the :bundle_path
(`/tmp/bundled_app/.bundle`), but the `bundle` helper uses the
`system_gem_path("bin/bundle")`. That means the first `bundle install`in
the spec was actually failing, but not affecting the test status because
of not being called as `bundle!`.

ad75f75539
2019-08-16 14:30:23 +09:00
David Rodríguez
6c6c4c7388 [bundler/bundler] Use non deprecated way of setting bundler path
6013c93e81
2019-08-16 14:30:23 +09:00
David Rodríguez
ee1f3038f1 [bundler/bundler] Clarify spec description
b2abde04aa
2019-08-16 14:30:23 +09:00
Hiroshi SHIBATA
ed9d59afc8
Added example filter for Linux of GitHub Actions. 2019-08-12 12:14:39 +09:00
ohbarye
b1678338e5
Fix typo: duplicated the [skip-ci] 2019-08-09 16:23:49 -07:00
Hiroshi SHIBATA
4c72ca195d
Fixed up 365ee22d73 2019-08-03 09:30:00 +09:00
Hiroshi SHIBATA
01d141938c
Fixed the broken example with ruby core structure. 2019-08-03 09:30:00 +09:00
David Rodríguez
2b7e39f364
[bundler/bundler] Always set cache_all via config during tests
So that the behavior is the same regardless of the tested bundler
version.

664549427a
2019-08-03 09:30:00 +09:00
David Rodríguez
267a72be80
[bundler/bundler] Enable Style/UnneededInterpolation cop
4c6a3c3cf7
2019-08-03 09:30:00 +09:00
Guillermo Guerrero
e33dd659d4
[bundler/bundler] Move duplicated code to before blocks
69bee117fb
2019-08-03 09:29:59 +09:00
David Rodríguez
322d4fe98d
[bundler/bundler] Remove unnecessary indirections
These specs are only run on bundler 2, so the compatibility method is
not needed.

6cb28e3aeb
2019-08-03 09:29:59 +09:00
David Rodríguez
d7487d6c08
[bundler/bundler] Try make some specs platform independent
b5900e57a4
2019-08-03 09:29:59 +09:00
David Rodríguez
cb6abf551a
[bundler/bundler] Update error messages to be more precise
9ddeeb1fe1
2019-08-03 09:29:59 +09:00
David Rodríguez
a1c69991a5
[bundler/bundler] Use a consistent requirement in binstub
50ccdb32c2
2019-08-03 09:29:59 +09:00
David Rodríguez
31541d7389
[bundler/bundler] Drop rubygems 2.5.0 and 2.5.1 support
8ecd722b9f
2019-08-03 09:29:58 +09:00
David Rodríguez
fc42423b8d
[bundler/bundler] Correct a rubygems test filter
It seems to pass under rubygems 2.5.2.

062cd2be7c
2019-08-03 09:29:58 +09:00
David Rodríguez
f5cd02f362
[bundler/bundler] Remove unnecessary test filter
Since it covers the whole range we support.

c0b9d4e6c6
2019-08-03 09:29:58 +09:00
David Rodríguez
d8cd45cb1a
[bundler/bundler] Refactor some specs
785c7af1f3
2019-08-03 09:29:57 +09:00
David Rodríguez
8d9fc8466f
[bundler/bundler] Reuse lockfile spec helper
e6a03f1102
2019-08-03 09:29:57 +09:00
David Rodríguez
aae244569b
[bundler/bundler] Reuse gemfile spec helper
22de94d3b4
2019-08-03 09:29:57 +09:00