Граф коммитов

12143 Коммитов

Автор SHA1 Сообщение Дата
Vinicius Stock 7e4d2bb81d [ruby/prism] Move static annotations into _static files
https://github.com/ruby/prism/commit/9a6d735890
2023-10-27 13:45:53 +00:00
Vinicius Stock 544f64075b [ruby/prism] Add RBI and RBS templates for Prism
https://github.com/ruby/prism/commit/b62305ff3e

Co-authored-by: Stan Lo <st0012@users.noreply.github.com>
2023-10-27 13:45:52 +00:00
Kevin Newton a40e2b8ee9 [ruby/prism] Fix parsing lone assoc splat within hash patterns
https://github.com/ruby/prism/commit/1da5e05672
2023-10-27 02:09:33 +00:00
Kevin Newton 21dc64534b [ruby/prism] Regenerate snapshots
https://github.com/ruby/prism/commit/160df9a687
2023-10-26 15:19:52 -04:00
Kevin Newton d1bb858d47 [ruby/prism] Match existing Ruby prettyprint
https://github.com/ruby/prism/commit/6d8358c083
2023-10-26 15:19:43 -04:00
Kevin Newton 6241cfab74
[prism] handle locals consistently 2023-10-26 15:08:31 -04:00
Kevin Newton 018f0a9c5f [ruby/prism] Rename to lefts/rights
https://github.com/ruby/prism/commit/e6deed05a5
2023-10-26 14:59:13 -04:00
Kevin Newton 922f48f081 [ruby/prism] Remove RequiredDestructuredParameterNode in favor of MultiTargetNode
https://github.com/ruby/prism/commit/6d1858192e
2023-10-26 14:59:07 -04:00
Jemma Issroff 7e4ee92de2 [ruby/prism] Add KeywordSplat flag to ArgumentsNode
Method calls with keyword splat args compile differently than
without since they merge the keyword arg hash with the keyword splat
hash. We know this information at parse time, so can set a flag
which the compiler can use.

https://github.com/ruby/prism/commit/e5f8a9a3cd
2023-10-26 18:47:50 +00:00
Kevin Newton 51ea82a770 [ruby/prism] Expose options on match last line nodes
https://github.com/ruby/prism/commit/0284b38861
2023-10-26 13:58:40 +00:00
Kevin Newton feb1427ad8 [ruby/prism] Compile with WASI
https://github.com/ruby/prism/commit/73c44b0b9c
2023-10-26 13:33:22 +00:00
Michael Chui 0164ce893f add #to_str to URI::Generic 2023-10-26 10:12:49 +09:00
Samuel Giddins 3fe2f2689f [rubygems/rubygems] Raise exception on unexpected EOF in marshal
Instead of NoMethodError being raised by accidentally trying to use nil

https://github.com/rubygems/rubygems/commit/ac8f812bbf
2023-10-25 18:52:38 +00:00
Samuel Giddins 7e7d1f0679 [rubygems/rubygems] Avoid regexp match on every call to `Gem::Platform.local`
The result of `arch` would be ignored if `@local` is set, so wrap all
the logic in `@local ||=` to short-circuit everything

https://github.com/rubygems/rubygems/commit/b67d39f3e0
2023-10-25 18:51:37 +00:00
Samuel Giddins fa3cc4afcb [rubygems/rubygems] Set file path when eval-ing local specification in EndpointSpecification
Not strictly necessary, but there is no reason not to be helpful and set the path

https://github.com/rubygems/rubygems/commit/894c0303dd
2023-10-25 17:24:06 +00:00
OKURA Masafumi bf1362306e [Doc] Improve documentation of PP
* Remove mention to `require 'pp'` for `pretty_inspect`
* Mention the need to add `require 'pp'` to customize
  `#pretty_print(pp)` method
2023-10-25 16:49:09 +09:00
Hiroshi SHIBATA c5861903ac [rubygems/rubygems] Handle CI configuration on ignore list for Gem::Specification#files
https://github.com/rubygems/rubygems/commit/4bb0ef3e55
2023-10-25 00:46:09 +00:00
Hiroshi SHIBATA 5c4978c11c [rubygems/rubygems] Handle empty array
https://github.com/rubygems/rubygems/commit/7c0afdd9af
2023-10-24 16:31:43 +00:00
dearblue 062d6050b0 [rubygems/rubygems] Ignore non-tar format `.gem` files during search
Previously, `rake install` or `rake update` would fail if there was a non-tar format `.gem` file in the current working directory.

https://github.com/rubygems/rubygems/commit/f562788f1d
2023-10-23 19:52:22 +00:00
Mau Magnaguagno f20e91fbf7 [ruby/prism] Avoid String#chars in DedentingHeredoc#to_a
Prefer String#[] directly.

https://github.com/ruby/prism/commit/916f991220
2023-10-23 14:56:18 +00:00
Hiroshi SHIBATA 8942c73e6a [rubygems/rubygems] Disabled Style/HashSyntax for keyword arguments
https://github.com/rubygems/rubygems/commit/9b61b33568
2023-10-23 07:59:08 +00:00
David Rodríguez e7d845b1d0
[rubygems/rubygems] Restore using old way of passing Ruby version to resolver
We used `Bundler::RubyVersion.system.gem_version` for a long time, but I
changed this to `Gem.ruby_version` at
https://github.com/rubygems/rubygems/commit/94f96439438e. It's unclear why I did that
though since I believe it was unrelated to the fix in there.

Bootboot patches `Bundler::RubyVersion` to customize how Bundler works
with Ruby versions, and that change broke that.

Since it's unclear to me how to achieve what Bootboot is doing with the
current code, and there was no strong reason for the change, let's
restore it for now.

https://github.com/rubygems/rubygems/commit/8ec36c6017
2023-10-23 13:59:01 +09:00
Martin Emde 6dcd4e90d8
[rubygems/rubygems] Handle base64 encoded checksums in lockfile for future compatibility.
Save checksums using = as separator.

https://github.com/rubygems/rubygems/commit/a36ad7d160
2023-10-23 13:59:01 +09:00
Martin Emde c667de72ff
[rubygems/rubygems] Improve errors and register checksums reliably
Improve error reporting for checksums, raises a new error class.

Solve for multi-source checksum errors.

Add CHECKSUMS to tool/bundler/(dev|standard|rubocop)26_gems.rb

https://github.com/rubygems/rubygems/commit/26ceee0e76

Co-authored-by: Samuel Giddins <segiddins@segiddins.me>
2023-10-23 13:59:01 +09:00
Martin Emde 6362bfdc33
[rubygems/rubygems] rename Index#== to Index#subset?
https://github.com/rubygems/rubygems/commit/a96a561087
2023-10-23 13:59:01 +09:00
Martin Emde 92f23a48e3
[rubygems/rubygems] Refactor Checksum classes and methods to reduce
code.
(https://github.com/rubygems/rubygems/pull/6917)

https://github.com/rubygems/rubygems/commit/2238bdaadc
2023-10-23 13:59:01 +09:00
Samuel Giddins c5fd94073f
[rubygems/rubygems] Refactor to checksums stored via source
This gets the specs passing, and handles the fact that we expect
checkums to be pinned only to a particular source

This also avoids reading in .gem files during lockfile generation,
instead allowing us to query the source for each resolved gem to grab
the checksum

Finally, this opens up a route to having user-stored checksum databases,
similar to how other package managers do this!

Add checksums to dev lockfiles

Handle full name conflicts from different original_platforms when adding checksums to store from compact index

Specs passing on Bundler 3

https://github.com/rubygems/rubygems/commit/86c7084e1c
2023-10-23 13:59:01 +09:00
Mercedes Bernard 69d7e9a12e
[rubygems/rubygems] Use the server checksum, then calculate from gem on disk if possible
1. Use the checksum provided by the server if provided: provides security
knowing if the gem you downloaded matches the gem on the server

2. Calculate the checksum from the gem on disk: provides security knowing
if the gem has changed between installs

3. In some cases, neither is possible in which case we don't put anything
in the checksum and we maintain functionality as it is today

Add the checksums to specs in the index if we already have them

Prior to checksums, we didn't lose any information when overwriting specs
in the index with stubs. But now when we overwrite EndpointSpecifications
or RemoteSpecifications with more generic specs, we could lose checksum
info. This manually sets checksum info so we keep it in the index.

https://github.com/rubygems/rubygems/commit/de00a4f153
2023-10-23 13:59:01 +09:00
Thong Kuah ad08674d8d
[rubygems/rubygems] Add CHECKSUMS for each gem in lockfile
We lock the checksum for each resolved spec under a new CHECKSUMS
section in the lockfile.

If the locked spec does not resolve for the local platform, we preserve
the locked checksum, similar to how we preserve specs.

Checksum locking only makes sense on install. The compact index
information is only available then.

https://github.com/rubygems/rubygems/commit/bde37ca6bf
2023-10-23 13:59:01 +09:00
Martin Emde 499e66d05c [rubygems/rubygems] Gem::NameTuple equality ignores Gem::Platform/string platform variation
https://github.com/rubygems/rubygems/commit/49aaa46708
2023-10-21 20:35:34 +00:00
Stan Lo 745879b5ed [ruby/irb] Minor refactors around irb.rb
(https://github.com/ruby/irb/pull/736)

* Remove dead method

* Simplify IRB.version

* Move private Irb methods together

* Centralise @CONF initialization/assignment in init.rb

* Move attr_* calls above initialize method

https://github.com/ruby/irb/commit/cf23be4395
2023-10-21 18:06:00 +00:00
Hiroshi SHIBATA 0976488970 [ruby/logger] Bump up required ruby version to 2.5
https://github.com/ruby/logger/commit/ac911eae2b
2023-10-20 02:37:07 +00:00
Hiroshi SHIBATA 13b33b109f [ruby/logger] Use Gemfile instead of Gem::Specification#add_development_dependency
https://github.com/ruby/logger/commit/7b51af263f
2023-10-20 02:37:04 +00:00
Hiroshi SHIBATA 1640dbdedd
Sort gem names 2023-10-20 09:13:55 +09:00
Hiroshi SHIBATA 2a56a6c3af
racc is also extracted to bundled gems 2023-10-20 09:13:55 +09:00
Samuel Giddins 205cbc09d3 [rubygems/rubygems] Reuse Gem::RemoteFetcher instance in bundler
Closes https://github.com/rubygems/rubygems/issues/7076

Bundler will now use the same (shared) remote fetcher instance that
RubyGems uses.

This will allow installs to use a shared connection pool, which
represents a significant performance improvement on a clean install.

https://github.com/rubygems/rubygems/commit/cd87b40fe1
2023-10-19 21:40:21 +00:00
Samuel Giddins af222d4db2 [rubygems/rubygems] Update vendored thor to v1.3.0
See https://github.com/rails/thor/releases/tag/v1.3.0

https://github.com/rubygems/rubygems/commit/3c7165474b
2023-10-19 20:02:47 +00:00
Matt Valentine-House 62e340251b Don't add anonymous locals when ISEQ binary debug is on 2023-10-19 16:57:43 +01:00
Hiroshi SHIBATA 5e5a8cf752 [ruby/ostruct] Use Gemfile instead of Gem::Specification#add_development_dependency
https://github.com/ruby/ostruct/commit/ed49920766
2023-10-19 06:55:40 +00:00
Hiroshi SHIBATA 3605c9ae60
Don't need to refer SINCE constant 2023-10-19 13:51:31 +09:00
Jeremy Evans de07645019 [ruby/drb] Support :SSL{Min,Max}Version config options
These are necessary to get the tests passing with LibreSSL 3.8.1+,
which dropped support for TLSv1.0 and TLSv1.1 for security reasons.

This updates the tests to use TLSv1.2 on OpenBSD.  This is only
strictly necessary on OpenBSD 7.4+, but it will work fine in previous
versions as well.

https://github.com/ruby/drb/commit/32707b2db5
2023-10-18 21:13:21 +00:00
Kevin Newton 6873f96abc [ruby/prism] Bump to version 0.15.1
https://github.com/ruby/prism/commit/d906a8ceba
2023-10-18 19:19:38 +00:00
Kevin Newton 0f1e040068 [ruby/prism] Bump to version 0.15.0
https://github.com/ruby/prism/commit/ee429f8d50
2023-10-18 16:49:58 +00:00
Kevin Newton 8210cc4218 [ruby/prism] Fix lex compat when dedent should be 0
https://github.com/ruby/prism/commit/41c0e0e06e
2023-10-18 16:09:16 +00:00
Kevin Newton c82b10bbc3 [ruby/prism] Modify less of the CRuby locals
https://github.com/ruby/prism/commit/aca24b3a17
2023-10-18 16:08:32 +00:00
Kevin Newton 5d0604366e [ruby/prism] Add * and & to methods with ...
https://github.com/ruby/prism/commit/e8114a786a
2023-10-18 16:08:31 +00:00
Kyle Stevens ef3f9f1a68 [rubygems/rubygems] Allow uninstalling multiple versions of same gem
Currently, you can install multiple versions of the same gem just fine:

```
$ gem install simplecov:0.19.0 simplecov:0.22.0
Fetching simplecov-0.19.0.gem
Successfully installed simplecov-0.19.0
Parsing documentation for simplecov-0.19.0
Installing ri documentation for simplecov-0.19.0
Done installing documentation for simplecov after 0 seconds
Fetching simplecov-0.22.0.gem
Successfully installed simplecov-0.22.0
Parsing documentation for simplecov-0.22.0
Installing ri documentation for simplecov-0.22.0
Done installing documentation for simplecov after 0 seconds
2 gems installed
```

But to uninstall both of them, you need to run the equivalent uninstall
command twice:

```
~$ gem uninstall simplecov:0.19.0 simplecov:0.22.0
Successfully uninstalled simplecov-0.22.0
~$ gem uninstall simplecov:0.19.0 simplecov:0.22.0
Gem 'simplecov' is not installed
Successfully uninstalled simplecov-0.19.0
```

This resolves that problem by using the gem's full name (which includes
the version) when tracking which ones have already been uninstalled so
when it gets to the second version listed it doesn't think it was
already uninstalled.

https://github.com/rubygems/rubygems/commit/d96101b753
2023-10-18 10:17:58 +00:00
Hiroshi SHIBATA ac8ece81f2 Tweak the grammar 2023-10-18 14:51:48 +09:00
Hiroshi SHIBATA 46766e922b normalize gem name without .so or .bundle 2023-10-18 14:51:48 +09:00
Hiroshi SHIBATA 3b690b726d reject bundled gems if they are declared in Gemfile 2023-10-18 14:51:48 +09:00