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

2309 Коммитов

Автор SHA1 Сообщение Дата
Hiroshi SHIBATA 50b783ccac [ruby/syntax_suggest] Typofix by misspell
https://github.com/ruby/syntax_suggest/commit/66e1cf0b3e
2023-12-26 02:10:25 +00:00
Takashi Kokubun 6e13cde457 Re-skip a failing spec 2023-12-25 01:25:36 -08:00
Nobuyoshi Nakada b641b7e640
Move non-portable pragmas to rubyspec.h
In the extension libraries in spec/ruby/optional/capi, do not care
about deprecated declarations.
2023-12-25 14:11:49 +09:00
Hiroshi SHIBATA 863ded45a1
Typofix under bootstraptest, spec and yjit directories 2023-12-25 13:50:23 +09:00
Nobuyoshi Nakada fd3dede7f4
Fix for older set versions
`Set::VERSION` was not defined in old set.rb bundled with ruby 3.2 or
earlier.
Also add comment for spec/mspec/tool/remove_old_guards.rb.
2023-12-23 18:57:47 +09:00
Nobuyoshi Nakada dc7785e16b
Set 1.1 now checks subclass-ness stricter 2023-12-23 18:15:26 +09:00
Hiroshi SHIBATA 7d7a84e99f Merge RubyGems-3.5.3 and Bundler-2.5.3 2023-12-23 09:34:26 +09:00
Koichi Sasada 2fe9e08578 MN: skip RUBY_DESCRIPTION spec on MN enabled 2023-12-23 08:10:41 +09:00
Hiroshi SHIBATA 82496f2b38 Merge RubyGems-3.5.2 and Bundler-2.5.2 2023-12-22 07:24:04 +09:00
Hiroshi SHIBATA d7d10f3ee8
Adjust rubygems style 2023-12-17 05:45:33 +08:00
Hiroshi SHIBATA 8db0de92a8
Restore tracked_files for ruby core repo 2023-12-17 05:39:16 +08:00
Hiroshi SHIBATA 40113454b1 Use regex instead of hard coded paths 2023-12-16 21:02:45 +09:00
Hiroshi SHIBATA ab87cd0baa We don't use tracked_files in before(:suite). It breaks with release package. 2023-12-16 21:02:45 +09:00
David Rodríguez 7cd4282cc8 [rubygems/rubygems] Fix Bundler daily CI
A default Bundler copy with vendored net-http is causing a Bundler spec
to end up loading that copy instead of the copy of Bundler under test.
This is because of vcr, but we don't really need vcr in the command
that's failing, so I avoided loading it.

https://github.com/rubygems/rubygems/commit/304ab6e1b9
2023-12-16 10:07:52 +08:00
David Rodríguez c8e9cd2b8b [rubygems/rubygems] Fix Ruby DSL no longer working as expected
https://github.com/rubygems/rubygems/commit/f6258e5679

Co-authored-by: AndrewSwerlick <andrew.swerlick@gmail.com>
2023-12-16 10:04:38 +08:00
Martin Emde 1cfe874ef8 [rubygems/rubygems] Remove test-only & unused methods from Checksum::Store
https://github.com/rubygems/rubygems/commit/79636dec12
2023-12-15 19:36:24 +00:00
David Rodríguez d718654bb1
[rubygems/rubygems] Remove extension building sync stuff no longer present in RubyGems
https://github.com/rubygems/rubygems/commit/59a85388b9
2023-12-14 20:22:48 +08:00
David Rodríguez b300f5a0e1
[rubygems/rubygems] Revert "Improve default gem handling"
This reverts commit https://github.com/rubygems/rubygems/commit/091b4fcf2b99.

https://github.com/rubygems/rubygems/commit/dcade3235f
2023-12-14 20:22:48 +08:00
Martin Emde c1f4bfd41f [rubygems/rubygems] Revert "Merge pull request #7167 from nevinera/add-json-output-option-to-bundle-outdated"
This reverts commit https://github.com/rubygems/rubygems/commit/a4ac5116b8ea, reversing
changes made to https://github.com/rubygems/rubygems/commit/8a6b180d0ae5.

https://github.com/rubygems/rubygems/commit/a1efe4015d
2023-12-13 22:50:45 +00:00
Samuel Giddins 6aa26af683 [rubygems/rubygems] Add 3.4 as a supported ruby version
Since ruby trunk will be 3.4 very soon

https://github.com/rubygems/rubygems/commit/36dd9a35dc
2023-12-13 19:02:24 +00:00
David Rodríguez ac939d9ca3 [rubygems/rubygems] Improve default gem handling
If a gem is specified in the Gemfile (or resolved as a transitive
dependency), it's always resolved from remote/installed sources. Default
gems are only used as a fallback for gems not included in the bundle.

I believe this leads to more consistent behavior and more portable apps,
since all gems will be installed to the configured bundle path,
regardless of whether they are default gems or not.

https://github.com/rubygems/rubygems/commit/091b4fcf2b
2023-12-13 13:02:22 +09:00
David Rodríguez 6b3c9cebe9 Normalize bundler bindir
This makes bundler consistent with all other gems, and makes the default
installation of Bundler in the release package look like any other
bundler installation.

Before (on preview3, for example), Bundler executable is installed at:

lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/libexec/bundle

Now it's installed in the standard location:

lib/ruby/gems/3.3.0+0/gems/bundler-2.5.0.dev/exe/bundle
2023-12-13 12:59:23 +09:00
Hiroshi SHIBATA 866b6fcd69 RubyGems 3.5+ will use vendored net-http 2023-12-13 12:16:55 +09:00
David Rodríguez 844759ccdb [rubygems/rubygems] Add a spec to cover what vendoring timeout fixes
https://github.com/rubygems/rubygems/commit/2662e45d75
2023-12-13 12:16:55 +09:00
David Rodríguez 5323935f57 [rubygems/rubygems] Remove no longer needed gem install during test
https://github.com/rubygems/rubygems/commit/bdb78d8289
2023-12-13 12:16:55 +09:00
David Rodríguez 90317472e8 [rubygems/rubygems] Use vendored net-http in Bundler
https://github.com/rubygems/rubygems/commit/0d758e8926
2023-12-13 12:16:55 +09:00
David Rodríguez 6cefad7704 [rubygems/rubygems] Avoid loading artifice when not necessary
https://github.com/rubygems/rubygems/commit/ef97ad37bd
2023-12-13 12:16:55 +09:00
David Rodríguez 7d5d2eef78 [rubygems/rubygems] Load hax.rb before anything when `BUNDLER_IGNORE_DEFAULT_GEM` set
https://github.com/rubygems/rubygems/commit/111bd11c36
2023-12-13 12:16:55 +09:00
David Rodríguez 1572322e17
Sync with upstream rubygems (#9206) 2023-12-12 11:49:25 -08:00
David Rodríguez 67940b135c [rubygems/rubygems] Bump rake version used by tests
And make it easier to update next time.

https://github.com/rubygems/rubygems/commit/1ea4bfa5d8
2023-12-12 17:16:19 +00:00
Martin Emde d1c25605f6 [rubygems/rubygems] Resolve `ruby file: ".ruby-version"` relative to Gemfile
https://github.com/rubygems/rubygems/commit/0cbbaed8a5
2023-12-12 12:40:17 +00:00
Martin Emde 1e5c8afb15 [rubygems/rubygems] Ensure that the lockfile mtime is not altered on frozen install
https://github.com/rubygems/rubygems/commit/6847709ee0
2023-12-12 02:39:57 +00:00
Franz Liedke 0ec88b54f3 [rubygems/rubygems] bundle lock: Always touch the lockfile
https://github.com/rubygems/rubygems/commit/fd2e71dfdb
2023-12-12 01:08:19 +00:00
Martin Emde 0e05392dcc
[rubygems/rubygems] Make tests compatible with paths that contain a + char
https://github.com/rubygems/rubygems/commit/3355c80c90
2023-12-12 10:04:57 +09:00
Martin Emde 3b9ea6648f
[rubygems/rubygems] Use StringIO 3.1.0 in tests to work with ruby 3.3.0
https://github.com/rubygems/rubygems/commit/8a936d733d
2023-12-12 10:04:57 +09:00
Martin Emde e186cebe42 [rubygems/rubygems] Override initialize in bundle rubygems_ext for NameTuple
https://github.com/rubygems/rubygems/commit/f63ce682d2
2023-12-11 15:40:08 +00:00
David Rodríguez 01a2a0abc6 [rubygems/rubygems] Migrate documentation to be generated with nronn
https://github.com/rubygems/rubygems/commit/55281f0eaa
2023-12-08 16:01:01 +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

https://github.com/rubygems/rubygems/commit/fc1cb9bc9e

Co-authored-by: Hiroshi SHIBATA <hsbt@ruby-lang.org>
2023-12-08 06:09:51 +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`

https://github.com/rubygems/rubygems/commit/7a86d13062
2023-12-08 03:25:43 +00:00
David Rodríguez 2755cb1b2f [rubygems/rubygems] Use modern hashes consistently
https://github.com/rubygems/rubygems/commit/bb66253f2c
2023-12-07 22:29:33 +00:00
Jeremy Evans ca204a2023
Fix keyword splat passing as regular argument
Since Ruby 3.0, Ruby has passed a keyword splat as a regular
argument in the case of a call to a Ruby method where the
method does not accept keyword arguments, if the method
call does not contain an argument splat:

```ruby
def self.f(obj) obj end
def self.fs(*obj) obj[0] end
h = {a: 1}
f(**h).equal?(h)  # Before: true; After: false
fs(**h).equal?(h) # Before: true; After: false

a = []
f(*a, **h).equal?(h)  # Before and After: false
fs(*a, **h).equal?(h) # Before and After: false
```

The fact that the behavior differs when passing an empty
argument splat makes it obvious that something is not
working the way it is intended.  Ruby 2 always copied
the keyword splat hash, and that is the expected behavior
in Ruby 3.

This bug is because of a missed check in setup_parameters_complex.
If the keyword splat passed is not mutable, then it points to
an existing object and not a new object, and therefore it must
be copied.

Now, there are 3 specs for the broken behavior of directly
using the keyword splatted hash.  Fix two specs and add a
new version guard. Do not keep the specs for the broken
behavior for earlier Ruby versions, in case this fix is
backported. For the ruby2_keywords spec, just remove the
related line, since that line is unrelated to what the
spec is testing.

Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
2023-12-07 08:35:55 -08: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)

https://github.com/rubygems/rubygems/commit/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.

https://github.com/rubygems/rubygems/commit/abc67f0da1
2023-12-06 20:05:25 +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.

https://github.com/rubygems/rubygems/commit/2353cc93a4
2023-12-05 21:09:53 +00:00
Schneems 82883dc8f2 [ruby/syntax_suggest] Change assertion to not rely on exact text from prism
The original ripper test was very stable as the output didn't change. Prism is under active development and changing their output shouldn't cause a failure to the ruby/ruby test suite like https://github.com/ruby/ruby/actions/runs/7104601478/job/19339940315.

This commit moves from checking exact output to asserting that the string we get back is not empty. This should give the same level of confidence that some error message was caught, and is less brittle.

https://github.com/ruby/syntax_suggest/commit/4b6abb763e
2023-12-05 18:25:42 +00:00
Schneems 6d39d6d214 [ruby/syntax_suggest] Update docs, clean up PR
Removes or updates mentions of Ripper

https://github.com/ruby/syntax_suggest/commit/08aaa3f50a
2023-12-05 17:51:29 +00:00
Schneems 62c9695911 [ruby/syntax_suggest] Support lexing with Prism
https://github.com/ruby/syntax_suggest/commit/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

https://github.com/ruby/syntax_suggest/commit/a7d6991cc4
2023-12-05 17:51:27 +00:00
David Rodríguez 16669cd6ad [rubygems/rubygems] Fix crash when duplicating a dev dependency in Gemfile & gemspec
https://github.com/rubygems/rubygems/commit/e78c0a4a48
2023-12-05 14:28:42 +09:00
Schneems 5a2d70ef73 [ruby/syntax_suggest] Bump minimum Ruby version & update standardrb
https://github.com/ruby/syntax_suggest/commit/73753518e9
2023-12-04 22:29:44 +00:00