妻が帰宅したので、今年食べようと買っていたパトリック・ロジェなどのチョコを食べた。以前は百貨店などのチョコイベントに行ったりもしていたけど、足も重くなって通販で予約して食べればいいとなってしまった。堕落。
タイトルだけだと何を書いているのかよくわからないのだが、bundled gems をテストするために ruby/ruby では以下のような仕組みを取っている
ruby/ruby にないライブラリを使う必要があるときは gem install でインストールするgem install でインストールする、単に reuqire しているときは default gems を使う。最後がなかなか難しい問題で、bundled gems のテストの依存関係を解決するために、ruby/ruby のリポジトリの下に .bundle というフォルダに仮想的に GEM_HOME、GEM_PATH に合わせる形でライブラリを配置することで RubyGems を扱えるようにしたところ、今度は runtime dependency として default gems が指定されている時に ruby/ruby のリポジトリのものを参照することができない、という状態になってしまった。辛い。
リポジトリの中にライブラリは存在するのに使えないので gem install するというのは本末転倒というか単純に無駄なので少し工夫することでなんとかしてみた。
https://github.com/ruby/ruby/pull/9992
テストに限って、gemspec を書き換えることで runtime dependency を消してしまって、ruby/ruby のリポジトリから呼び出すようにするという変更を行うことで無事外部から持ってくるライブラリを減らすことができた。この辺ちょっと複雑すぎるからもうちょい簡素化したい...。