ruby-trunk-changes 2023-01-26

今日は主にテストの coverage 測定のための整備や bundled gems のビルドプロセスまわりの変更などがありました。

[78fcc9847a] Jemma Issroff 2023-01-25 18:45:32 UTC

Object Shapes の機構でインスタンス変数を管理する Shape をインスタンス変数の数が 50 までの時に限り、それを越えたらひとつのクラス内でたくさん Shape がある時の fallback と同様に st_table で管理する方法を使うようにしています。

[17f5631c6e] Nobuyoshi Nakada 2023-01-18 11:36:31 UTC

make extract-gems で gems/bundled_gems に commit hash やタグの指定が記述されていた時にリポジトリから clone してきたソースコードから gem をビルドするようにしています。これって make install した時もバージョンで指定したパッケージを rubygems.org からとってくるかわりにビルドしたものを install することになるのかな? [ruby-core:111812] [Bug #19340]

[7a4f7fc14d] Nobuyoshi Nakada 2023-01-19 12:55:44 UTC

bundled gems のビルド用のディレクトリのタイムスタンプファイルの依存関係を追加しています。gems/bundled_gems の更新によって再ビルドが必要な時に実施するためかな?

[7eef4547b1] Hiroshi SHIBATA 2023-01-20 09:13:53 UTC

17f5631c6ea118b9ce0e8776dc50c7b1dcdaf596 の defs/gmake.mk の変更で git clone する時のディレクトリ名の指定が間違っていたのを修正。

[be6a347ace] Nobuyoshi Nakada 2023-01-20 14:18:56 UTC

17f5631c6ea118b9ce0e8776dc50c7b1dcdaf596 などの続きで defs/gmake.mk で gems/bundled_gems の commit hash やタグの指定をとりだす処理? に渡すファイル名が間違っていたのを修正しているみたいです。Makefile の難しい機能を使ってるっぽい。

[eb2670e32d] Hiroshi SHIBATA 2023-01-26 01:17:09 UTC

e25c173c97e1e0e538aeb85734cabcbb59cd11ab で標準添付ライブラリ reline から win32api を require する時の feature 名を大文字小文字を区別するように変更したのを revert しています。 JRuby のためとのことでしたが JRuby 側で修正されたのかな?

[98e84f3f7a] Hiroshi SHIBATA 2023-01-26 01:50:08 UTC

make test-all のテスト時の coverage を取るための tool/test-coverage.rb で除外するファイルパスに tool/lib や lib/bundler/vendor などを追加しています。

[8662d70a8b] Hiroshi SHIBATA 2023-01-26 02:02:41 UTC

98e84f3f7a1fa69530c67ab9bc63271b812718ea に続いて tool/test-coverage.rb で coverage 測定除外するファイルに lib/rubygems/ の配下の vendoring されている gem のディレクトリを追加しています。

[069b6f88e2] Hiroshi SHIBATA 2023-01-26 02:16:55 UTC

さらに tool/test-coverage.rb の coverage 測定除外するディレクトリの指定を tool/ 配下全て無視するように追加しています。

[6608d47bed] Hiroshi SHIBATA 2023-01-26 04:07:00 UTC

make test-syntax-suggest でも環境変数 COVERAGE の指定で coverage 測定できるようにしています。

[2d98127131] Hiroshi SHIBATA 2023-01-26 05:05:01 UTC

6608d47bed660a3f5ea4c10ac6410747152db546 に対応して tool/test-coverage.rb で coverage 測定除外するディレクトリとして spec も追加しています。

[545ade21a2] Hiroshi SHIBATA 2023-01-26 05:13:13 UTC

make test-spec つまり rubyspec でも環境変数 COVERAGE が設定されたら coverage 測定するようにしています。

[00ee1d128f] Nobuyoshi Nakada 2023-01-25 04:20:39 UTC

configure で BASERUBY にオプションを追加するのに RUBY_APPEND_OPTION というコマンドを利用して重複したオプション追加を抑制するようにしています。

[9794e49c88] Nobuyoshi Nakada 2023-01-25 06:30:29 UTC

defs/gmake.mk で rubyspec の C API テストのための拡張ライブラリのビルドの時の ld に -L. オプションを追加するようにしています。

[6422fef90c] Nobuyoshi Nakada 2023-01-25 07:09:40 UTC

tool/mkconfig.rb で rbconfig.rb を生成する時に(主に macOS の?) universal binary でビルドされている時の "target_cpu" の項目の設定のしかたを変更しているみたいですが、難しくてよくわからない。