Commit graph

191 commits

Author SHA1 Message Date
Jose Galisteo
b45fe48fbb
[rubygems/rubygems] Trigger install command by default on remove
Closes https://github.com/rubygems/rubygems/issues/4889

2b1754479c
2021-09-17 20:46:18 +09:00
Matt Larraz
2aed061384 [rubygems/rubygems] Correctly redact credentials when using x-oauth-basic
290b6ab078
2021-08-31 19:06:14 +09:00
David Rodríguez
f6803d2411 [rubygems/rubygems] Fix bundle check showing duplicated gems
If the lockfile contains multiple platforms, `bundle check` would show
duplicated missing gems.

6ac5931783
2021-08-31 19:06:14 +09:00
David Rodríguez
3683781f53 [rubygems/rubygems] Restore working bundle check behaviour
As part of a recent bug fix where bundler was accidentally hitting the
network when not supposed to, I made some refactoring, and the commit I'm
reverting here
(d74830d00b)
was some cleanup that those refactorings allowed according to "past me".

That was completely wrong, `bundle check` should never consider cached
gems, only installed gems, so the code that was removed was necessary.

5483e98305
2021-08-31 19:06:14 +09:00
David Rodríguez
21db5876ca [rubygems/rubygems] Respect BUNDLE_USER_HOME for global config location
58fc31442f
2021-08-31 19:06:14 +09:00
David Rodríguez
ab1edc75f8 [rubygems/rubygems] Expect the right permissions on Windows
Given Windows doesn't have executable bit.

35dc3fa845
2021-08-31 19:06:14 +09:00
David Rodríguez
8adc606271 [rubygems/rubygems] Fix git repo initialization on a path with spaces
a2d6e10192
2021-08-31 19:06:14 +09:00
David Rodríguez
199083dd15 [rubygems/rubygems] Simplify overkill usage of shared examples
36a00144b9
2021-08-31 19:06:14 +09:00
Nobuyoshi Nakada
9fc16a31d9 [rubygems/rubygems] Exclude gemspec file itself from gem
The processed YML data is included as metadata, the source gemspec
file is unused and just confusing.

f444478eac
2021-08-31 19:06:14 +09:00
Tim Sutton
d7c734a27e [rubygems/rubygems] typos in UI messages: fix a couple missing spaces between sentence breaks
5cdda53382
2021-08-31 19:06:14 +09:00
David Rodríguez
0e01ad881a [rubygems/rubygems] The --local flag to bundle install shouldn't hit the network
If the cache was missing, `bundler` would try to re-fetch it. With the
`--local` flag, it should just look at installed gems.

630d29c69e
2021-08-31 19:06:14 +09:00
David Rodríguez
0b4dbe2e6a [rubygems/rubygems] Improve "gem not found in source" errors
When printing sources inside these error messages, it's useful to only
consider the current state of the source. For example, when requiring
`bundler/setup`, the source shouldn't be configured to be able to hit
the network, so the error message should only mention "locally installed
gems" to make that more clear.

30eb14f853
2021-08-31 19:06:14 +09:00
David Rodríguez
b17cdad2f8 [rubygems/rubygems] Remove redundant part of error message
It doesn't really add much, in my opinion. We want to be helpful, but
also concise when possible.

9d56009cf7
2021-08-31 19:06:14 +09:00
David Rodríguez
0ab160e2e0 [rubygems/rubygems] Respect BUNDLE_USER_CONFIG if set
f28ab141af
2021-08-31 19:06:14 +09:00
David Rodríguez
9e7249da4e [rubygems/rubygems] This spec can pass now on ruby 3
TSort was released as a library so we can install it, and also other
gems that are loaded by the spec. Also, Ruby on Windows apparently loads
fiddle 1.0.6, so we need to also install that to make that not fail.

2b8dcab99e
2021-08-31 19:06:14 +09:00
David Rodríguez
579dbe6ecb [rubygems/rubygems] Remove unnecessary test repository
These gems are built and installed to system directly as default gems.
There's no need to also build a remote repo.

ad9dad4c22
2021-08-31 19:06:14 +09:00
David Rodríguez
81c0643762 [rubygems/rubygems] Remove unnecessary escape sequences
Bundler formatters already take care of this.

c24415fdd5
2021-08-31 19:06:14 +09:00
Daniel Niknam
bd8daa8523
[rubygems/rubygems] Remove the warning for not defining a gem server source
Bundler has deprecated gemfiles without a global source and this feature
is now obsolete. `Bundler::Definition#has_rubygems_remotes?` is removed
because it's not used anymore.

d29dd2cb7b
2021-07-27 09:25:57 +09:00
Daniel Niknam
2f9e0cf181
[rubygems/rubygems] Explicitly define a global source for tests
This is in preparation for deprecating source-less gemfiles.

d6493fa3e2
2021-07-27 09:25:57 +09:00
David Rodríguez
9ac89fe35e
[rubygems/rubygems] The --quiet should still display warnings
The is the previous intentional behaviour until
ca0676cb1c.

In my opinion, that previous behaviour was better and should be
restored, because we want our users to always see warnings and fix them.
And the original issue that motivated the change is fixable by other
means, namely through `BUNDLE_SILENCE_ROOT_WARNING`, or through
`BUNDLE_SILENCE_DEPRECATIONS` in general. Finally, the --quiet option is
still documented as "only print errors and warnings".

So this PR essentially reverts
ca0676cb1c
for the above reasons.

35f2254dfc
2021-07-27 09:25:56 +09:00
David Rodríguez
24aca87def
[rubygems/rubygems] Make --quiet spec independent on the specific warning
We'll be removing the warning about no gem sources, so this spec will no
longer test that warnings are hidden by `--quiet`.

Test that in another way so that we don't lose the coverage when we
drop the specific warning about no gem server sources.

cce4f86d28
2021-07-27 09:25:56 +09:00
David Rodríguez
6bcedabfdd
[rubygems/rubygems] Remove gem install hint when installing a gem fails
A fresh `gem install` might not reproduce the exact `bundle install`
environment that originally caused the error. It also makes it harder
for the user to troubleshoot the error since she needs to run a separate
command.

Instead, show the original error and backtrace directly.

49c2abfec6
2021-07-27 09:25:55 +09:00
David Rodríguez
4271f4aea5
[rubygems/rubygems] Fix bundler binstub version selection
To mimic built-in rubygems behaviour, only thing that should be
approximated is the lockfile version. Other alternatives like
`BUNDLER_VERSION` should be respected exactly.

dbd667d4bc
2021-07-27 09:25:55 +09:00
David Rodríguez
227c2deff4
[rubygems/rubygems] Fix development gem unintentionally removed on an edge case
When a development dependency was duplicated inside the gemspec and
Gemfile with the same requirements, we went from printing a warning to
removing the gem altogether.

This change makes it not print a warning, but don't remove the gem
either.

8bb2488131
2021-07-16 15:40:07 +09:00
Hiroshi SHIBATA
896bbb9fad Merge RubyGems/Bundler master from 8459ebd6ad65ce3397233416dc64083ae7572bb9 2021-07-14 10:48:07 +09:00
Hiroshi SHIBATA
c082c6eb7c Sync RubyGems and Bundler with upstream 2021-07-07 15:31:52 +09:00
David Rodríguez
6e2240a2f9 Sync latest bundler & rubygems development version 2021-07-07 13:30:20 +09:00
David Rodríguez
5b0abba931 Sync bundler & rubygems 2021-05-11 11:29:41 +09:00
Kazuhiro NISHIYAMA
50f17241a3
Try to fix other failures of writing XDG_CONFIG_HOME
756591173
759073690
761341026
```
Errno::EACCES: Permission denied @ dir_s_mkdir - /home/runner/.config/irb
```
2021-04-19 21:40:29 +09:00
Kazuhiro NISHIYAMA
d953ac1139
Fix writing XDG_CONFIG_HOME in test-bundler
756591173
```
Errno::EACCES: Permission denied @ dir_s_mkdir - /home/runner/.config/irb
```
2021-04-17 11:54:10 +09:00
Hiroshi SHIBATA
ed149dbf46 Merge the master branch of Bundler 2021-04-15 15:36:15 +09:00
David Rodríguez
53468cc111 Sync latest development version of bundler & rubygems 2021-03-08 13:47:35 +09:00
Kazuhiro NISHIYAMA
f600226fb4
Fix failures with EditLine
On macOS with EditLine:
```
$ ruby -r readline -e 'Readline.readline("> "); p Readline::VERSION' < /dev/null
"EditLine wrapper"
```

On Linux with GNU readline:
```
$ ruby -r readline -e 'Readline.readline("> "); p Readline::VERSION' < /dev/null
> "8.0"
```
2021-02-03 14:38:31 +09:00
Hiroshi SHIBATA
69ed64949b Track Bundler master(2.3.0.dev) branch at 55634a8af18a52df86c4275d70fa1179118bcc20 2021-01-04 13:14:43 +09:00
Hiroshi SHIBATA
339227363c Merge RubyGems 3.2.3 and Bundler 2.2.3 2020-12-23 10:17:41 +09:00
Hiroshi SHIBATA
0e40cc9b19 Merge RubyGems 3.2.2 and Bundler 2.2.2 2020-12-18 13:33:18 +09:00
Hiroshi SHIBATA
2fa9f3c032 Prepare to release rubygems-3.2.1 and bundler-2.2.1 2020-12-15 10:54:09 +09:00
Hiroshi SHIBATA
473f9d2df0 Merge prepare version of Bundler 2.2.0 2020-12-08 17:30:02 +09:00
Hiroshi SHIBATA
d386a58f6f Merge bundler-2.2.0.rc.2 2020-10-15 17:19:02 +09:00
Steven Peckins
8863bfb1f4 [rubygems/rubygems] Move comment below shebang in bin/console template
In an executable script, the shebang line should be the first line (the
file needs to start with the bytes 0x23 0x21).  Putting a comment above
it will break the script.

(Regression test included per @deivid-rodriguez)

962e669feb
2020-09-28 14:54:22 +09:00
Kazuhiro NISHIYAMA
e4dbb91f4c
Fix typos [ci skip]
s/overriden/overridden/
2020-09-17 20:34:59 +09:00
Utkarsh Gupta
fd709382b6 [rubygems/rubygems] Tag the specs with :readline
The newly added specs needs to be tagged as
:readline, otherwise they fail on Windows with
the backtrace: `ZeroDivisionError: divided by 0`.

Such issues are already being skipped on Windows.

Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

391f860af4
2020-07-15 16:05:12 +09:00
Utkarsh Gupta
c44c7019b5 [rubygems/rubygems] Add tests with different flag combinations
Since this PR was made because we missed checking
RuboCop offenses with different flags, therefore
adding tests so that all flag combinations are
tested.

Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

d08250efc2
2020-07-15 16:05:12 +09:00
Utkarsh Gupta
ca133c0366 [rubygems/rubygems] Fix line spacing to make Layout/EmptyLines happy
The Gemfile wasn't properly put in the last commit.
As a result, Layout/EmptyLines inspected an offense
in the Gemfile.

This also fixes the spec w.r.t change in the task
default.

Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

d1418fddd3
2020-07-15 16:05:12 +09:00
David Rodríguez
2fafc08aa3 [rubygems/rubygems] Remove unneeded trailing conditions on exitstatus
27e0e4ecb6
2020-07-15 16:05:12 +09:00
David Rodríguez
16823d4a05 [rubygems/rubygems] Remove unnecessary assertions on exitstatus
Since our helpers now raise by default if the subcommand fails, these
will never actually fail and are not necessary.

6153b9321e
2020-07-15 16:05:12 +09:00
Utkarsh Gupta
5ebca6d709 [rubygems/rubygems] Skip this spec on ruby_core workflow
ruby_core has an 'ast.rb' file that gets in the
middle and breaks this spec, so it's better we skip
this test on this workflow for now.

Also, slightly change the spec name from "run" to
"runs" and change the last assertion, it's cleaner
to check empty error.
Thanks to David Rodríguez for this!

Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

ba8eaa70c3
2020-07-15 16:05:12 +09:00
Utkarsh Gupta
d0810fdee4 [rubygems/rubygems] Use latest version of rubocop for RUBY_VERSION > 2.4
With older versions of rubocop, the dependency on
`jaro_winkler` seems to be a pain.
However, in the later versions of rubocop, this
dependency was dropped. So we only need to use
the older version for ruby2.3.

Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

9cd87eaee3
2020-07-15 16:05:12 +09:00
Utkarsh Gupta
077dcacb08 [rubygems/rubygems] Use --config .rubocop.yml instead
because rubocop configuration inheritance is
messed up and when using `--ignore-parent-exclusion`,
even though the exit status is 0, the example
still fails because of the configuration issue.

Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

3e20b2738c
2020-07-15 16:05:12 +09:00
Utkarsh Gupta
ecb87b55d8 [rubygems/rubygems] Lock rubocop version to 0.80.1
The later RuboCop versions don't work with ruby2.3
so we should lock the version to what works with
ruby2.3 as we haven't dropped the support yet.

And since we're using the older version of rubocop,
also fix `Max` value of `LineLength` to 120, which
is the current standard. Without this, rubocop
will throw the line length offenses.

Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>

46d0a800a2
2020-07-15 16:05:12 +09:00