Commit graph

14659 commits

Author SHA1 Message Date
Schneems
f2c13ff9e8 [ruby/syntax_suggest] v2.0.0
53b2a1b03c
2023-12-08 16:49:33 +00:00
Akinori MUSHA
49cdf063d6 [ruby/set] Bump version to 1.0.4
efc8c8c9f5
2023-12-08 12:37:30 +00:00
Hiroshi SHIBATA
cc9826503d
Revert "Skip to warn like 'bigdecimal/util' feature."
This reverts commit 8f6cf72e66.
2023-12-08 20:25:04 +09:00
David Rodríguez
01a2a0abc6 [rubygems/rubygems] Migrate documentation to be generated with nronn
55281f0eaa
2023-12-08 16:01:01 +09:00
David Rodríguez
1c3aa4b977 [rubygems/rubygems] Add extra blank line to bundle outdated docs
If it's not there, when migrating to `nronn`, generated man page is
messed up.

7161347648
2023-12-08 16:01:01 +09:00
David Rodríguez
dc64a04a12 [rubygems/rubygems] Revert "Merge pull request #7148 from Paul-Bob/improvement/include_response_body_on_fetch_http_error"
This reverts commit e5a4fd9eb6, reversing
changes made to c5a5363b0c.

e21c45c4c3
2023-12-08 16:01:01 +09:00
Hiroshi SHIBATA
8f6cf72e66
Skip to warn like 'bigdecimal/util' feature. 2023-12-08 15:57:08 +09:00
David Rodríguez
64e985333f Improve bundled gems warnings for subfeatures
Before, when requiring "bigdecimal/math" in a Bundler context:

> /Users/deivid/.asdf/installs/ruby/3.3.0-dev/lib/ruby/3.3.0+0/bigdecimal/math.rb:2: warning: bigdecimal was loaded from the standard library, but will no longer be part of the default gems since Ruby 3.4.0. Add bigdecimal to your Gemfile or gemspec.

After:

> foo.rb:1: warning: bigdecimal/math is found in bigdecimal, which will no longer be part of the default gems since Ruby 3.4.0. Add bigdecimal to your Gemfile or gemspec.
2023-12-08 15:55:15 +09:00
David Rodríguez
a530dfef2b Improve bundled gem warnings
Before, when requiring "bigdecimal" in a Bundler context:

> foo.rb:1: warning: bigdecimal which will no longer be part of the default gems since Ruby 3.4.0. Add bigdecimal to your Gemfile or gemspec.

After:

> foo.rb:1: warning: bigdecimal was loaded from the standard library, but will no longer be part of the default gems since Ruby 3.4.0. Add bigdecimal to your Gemfile or gemspec.
2023-12-08 15:55:15 +09:00
David Rodríguez
d61af5c49a The SINCE and WARNED hashes take gem names, not features 2023-12-08 15:55:15 +09:00
Samuel Giddins
4817166e54 [rubygems/rubygems] Extract generate_index command to rubygems-generate_index gem
So generate_index can be implemented with dependencies, such as the compact index

Took this approach from feedback in https://github.com/rubygems/rubygems/pull/6853

Running `gem generate_index` by default will use an installed rubygems-generate_index, or install and then use the command from the gem

Apply suggestions from code review

fc1cb9bc9e

Co-authored-by: Hiroshi SHIBATA <hsbt@ruby-lang.org>
2023-12-08 06:09:51 +00:00
Martin Emde
0166d56f2b [rubygems/rubygems] Don't memoize in NameTuple lock_name
The result of this is already memoized and no other NameTuple
methods memoize.

b7cce0c64a
2023-12-08 05:51:03 +00:00
Yuji Yaginuma
8bb90f4d77 [rubygems/rubygems] Use Minitest::TestTask in a template file for minitest
`minitest` has introduced a rake task for running test on 5.16.0.
https://github.com/minitest/minitest/blob/master/History.rdoc#5160--2022-06-14-

This has some tasks related to running tests and it's useful for
`minitest` user I think.
https://github.com/minitest/minitest#rake-tasks-

This PR changed to use the task in a template file for `minitest`

7a86d13062
2023-12-08 03:25:43 +00:00
David Rodríguez
2755cb1b2f [rubygems/rubygems] Use modern hashes consistently
bb66253f2c
2023-12-07 22:29:33 +00:00
Stan Lo
5809b75019 [ruby/irb] Debugging command warning should not be specific to the
`debug` command
(https://github.com/ruby/irb/pull/806)

b7b57311cc
2023-12-07 16:09:15 +00:00
Kevin Newton
10bc0bd4ab [ruby/prism] Remove warnings check from parse_success? method
e30a241fb3
2023-12-07 14:39:11 +00:00
Hiroshi SHIBATA
a41d6c825c [ruby/open-uri] Bump up 0.4.1
d72508a7f4
2023-12-07 07:22:20 +00:00
Andrew Kane
41c00bc97e [ruby/open-uri] Set default for max_redirects and add exception class
dcdcb885cc
2023-12-07 07:00:54 +00:00
Andrew Kane
d97479f9c9 [ruby/open-uri] Add :max_redirects option
7fd5ea09a7
2023-12-07 07:00:53 +00:00
Ellen Marie Dash
7d32830b8c [rubygems/rubygems] Make --build-root disable auto-user-install.
6a06b0763f
2023-12-07 13:56:23 +09:00
David Rodríguez
33bd956257 [rubygems/rubygems] Better approach to falling back to user installation when GEM_HOME not writable
f67bced16b
2023-12-07 13:56:22 +09:00
Vít Ondruch
aabf2ce181 [rubygems/rubygems] Use globals variables for standard input/output
Replace use of `STDIN`, `STDOUT` and `STDERR` constants by their
`$stdin`, `$stdout` and `$stderr` global variable equivalents.

This enables easier testing via standard means, such as `assert_output`
for minitest or `expect { print 'foo' }.to output.to_stdout` for RSpec
test suites.

a0a6fc1b76
2023-12-07 13:55:31 +09:00
Hiroshi SHIBATA
214f6d6598 Move replace_require into bundled_gems.rb 2023-12-07 11:37:08 +09:00
Kevin Newton
fe6ee5e921 [ruby/prism] Move flag position consistently to front
6e69a81737
2023-12-06 20:50:02 +00:00
Eric Mueller
9336bbb0b2 [rubygems/rubygems] Bundler::Fetcher uses Bundler::CIDetector
Additionally, the result is memoized, as it's used twice in a row.

This change does result in a net behavioral diff, as the list of ENVs
being checked has been updated (now includes buildkite, taskcluster,
cirrus, dsari, and drops buildbox and snap)

3fb445a5a1
2023-12-06 20:05:25 +00:00
Eric Mueller
6fd3b358ff [rubygems/rubygems] Duplicate Gem::CIDetector into bundler
Because bundler needs to support older versions of rubygems, we can't
actually rely on Gem::CIDetector (yet - in a year or so they might be
able to consolidate, if they don't change futher). So we're copying it
into the Bundler:: namespace, and enforcing that they stay completely in
sync with a test. No other tests are needed, since Gem::CIDetector is
already tested, and this is and will remain identical.

abc67f0da1
2023-12-06 20:05:25 +00:00
Eric Mueller
a6c912a80d [rubygems/rubygems] Gem::UpdateSuggestion uses Gem::CIDetector
e5b0458342
2023-12-06 20:05:24 +00:00
Eric Mueller
b1b78c4f9f [rubygems/rubygems] Introduce the Gem::CIDetector
This is based on the list in Gem::UpdateSuggestion and Bundler::Fetcher;
these have similar purposes (determining whether/what CI we're executing
in), and can benefit from being combined and updated (they're both
slightly out of date).

Noteable changes:
* We'll consider ourselves to be on a CI in more cases - if CI_NAME or
  TASKCLUSTER_ROOT_URL are set specifically, since those represent two
  cases that were either overlooked or are no longer covered by the
  existing implementation. (Or possibly TaskCluster still does provide
  RUN_ID, but failed to document it)
* We will notice/track a few additional services in ci_strings (cirrus,
  dsari, taskcluster), stop tracking 'snap' (they went under in 2017),
  and update buildbox to buildkite (they've been called that for 8
  years, and the BUILDBOX envs have been deprecated for 3).
* We'll also sort/uniq/downcase the values (all of which only matter
  because of the special case of CI_NAME).

60652b942f
2023-12-06 20:05:23 +00:00
Hiroshi SHIBATA
d411d8f5fe [rubygems/rubygems] Try to load Gem::BUNDLED_GEMS on Bundler
`bundle exec ruby foo.rb` ignore to load gem_prelude.rb. Because warnings feature
  is not working with `bundle exec ruby`.

a0d4ed92a7
2023-12-06 10:10:44 +00:00
Nobuyoshi Nakada
e03e872eea [ruby/rdoc] Only word-ending colon separates new definition
When followed by non-space characters, rather it looks like a URL or a
path name on Windows.

72c6560773
2023-12-06 09:35:44 +00:00
Nobuyoshi Nakada
379f06797d [ruby/rdoc] Needs more backslash to match escaping backslashs
1904e9076d
2023-12-06 09:35:43 +00:00
Martin Emde
d9a1bb4b09 [rubygems/rubygems] Use String#unpack1 available since ruby 3.0
46258d6cb4
2023-12-06 02:45:37 +00:00
Martin Emde
5f0ea3f590 [rubygems/rubygems] Converts Bundler lockfile checksum validation to opt-in only
Looks for the CHECKSUMS section in the lockfile, activating the feature
only if the section exists. Without a CHECKSUMS section, Bundler will
continue as normal, validating checksums when gems are installed while
checksums from the compact index are present.

2353cc93a4
2023-12-05 21:09:53 +00:00
Schneems
c175e265da [ruby/syntax_suggest] Remove duplicate error messages
Before:

```
Expected a newline or semicolon after the statement
Cannot parse the expression
Expected a newline or semicolon after the statement
Cannot parse the expression

   1  describe "webmock tests" do
  22    it "body" do
  27      query = Cutlass::FunctionQuery.new(
> 28        port: port
> 29        body: body
  30      ).call
  34    end
  35  end
```

After:

```
Expected a newline or semicolon after the statement
Cannot parse the expression

   1  describe "webmock tests" do
  22    it "body" do
  27      query = Cutlass::FunctionQuery.new(
> 28        port: port
> 29        body: body
  30      ).call
  34    end
  35  end
```

becf097e5e
2023-12-05 17:51:29 +00:00
Schneems
6d39d6d214 [ruby/syntax_suggest] Update docs, clean up PR
Removes or updates mentions of Ripper

08aaa3f50a
2023-12-05 17:51:29 +00:00
Schneems
62c9695911 [ruby/syntax_suggest] Support lexing with Prism
7f4176a914
2023-12-05 17:51:28 +00:00
Schneems
cce29750d7 [ruby/syntax_suggest] Initial support for the prism parser
Prism will be the parser in Ruby 3.3. We need to support 3.0+ so we will have to "dual boot" both parsers.

Todo:

- LexAll to support Prism lex output
- Add tests that exercise both Ripper and prism codepaths on CI
- Handle https://github.com/ruby/prism/issues/1972 in `ripper_errors.rb`
- Update docs to not mention Ripper explicitly
- Consider different/cleaner APIs for separating out Ripper and Prism

a7d6991cc4
2023-12-05 17:51:27 +00:00
Stan Lo
b29ed63883 [ruby/irb] Bump version to v1.10.1
(https://github.com/ruby/irb/pull/801)

a1e431bd83
2023-12-05 16:34:19 +00:00
Stan Lo
f55746a93d [ruby/irb] Disable pager when TERM is not set too
(https://github.com/ruby/irb/pull/802)

173980974b
2023-12-05 16:32:13 +00:00
Stan Lo
ef387e6730 [ruby/irb] Pager should be disabled when TERM=dumb
(https://github.com/ruby/irb/pull/800)

For apps/libs that test against IRB, it's recommended to set `TERM=dumb`
so they get minimum disruption from Reline's interactive-focus features.

Therefore, we should follow the convention to disable pager when `TERM=dumb`.

8a3002a39e
2023-12-05 16:03:06 +00:00
Nobuyoshi Nakada
113f5d7fd7 [ruby/rdoc] Allow any single-word token upto 2 before C method implementation
Previously only unknown word `intern` is allowed between a single-word
token before a C method.  Now any single-word token, such as `inline`
which is used for `ArithmeticSequence` in enumerator.c, is allowed
instead.

3a214c1dd1
2023-12-05 08:48:19 +00:00
Nobuyoshi Nakada
c0baa3783f [ruby/rdoc] Reduce matched substring allocations
aaed688a97
2023-12-05 08:48:18 +00:00
Hiroshi SHIBATA
d691b1a141 [ruby/rdoc] Bump up 6.6.1
7cf353a696
2023-12-05 07:37:08 +00:00
Hiroshi SHIBATA
f19de1289b [ruby/tempfile] Bump up 0.2.1
1450bb4f1c
2023-12-05 07:02:17 +00:00
Akshay Birajdar
494e2e4bfb [ruby/tempfile] Alias #to_s to #inspect
e515889412
2023-12-05 06:43:42 +00:00
Hiroshi SHIBATA
e7cc791838 [ruby/cgi] Bump up 0.4.1
929e6264b5
2023-12-05 06:38:55 +00:00
Toshimaru
56ccad060d [ruby/rdoc] Early return when token_stream is nil
04f75d8516

Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
2023-12-05 06:21:52 +00:00
toshimaru
cda431f538 [ruby/rdoc] fix: fix NoMethodError when token_stream is nil
The change in #1055 might be a breaking change.
So, just simply wrap `token_stream` with `Array`

d8c19d7fa1

Co-authored-by: Jonathan Hefner <jonathan@hefner.pro>
2023-12-05 06:21:51 +00:00
David Rodríguez
16669cd6ad [rubygems/rubygems] Fix crash when duplicating a dev dependency in Gemfile & gemspec
e78c0a4a48
2023-12-05 14:28:42 +09:00
David Rodríguez
7ab877761e [rubygems/rubygems] Instead of checking writability, try to write
Checking writability is prone to errors. For example:

$ mkdir -p foo/bar
$ chmod -w foo
$ touch foo/bar/baz # succeeds even if foo is not writable

6056138b6a
2023-12-05 14:28:41 +09:00