妻が帰宅したので、今年食べようと買っていたパトリック・ロジェなどのチョコを食べた。以前は百貨店などのチョコイベントに行ったりもしていたけど、足も重くなって通販で予約して食べればいいとなってしまった。堕落。
タイトルだけだと何を書いているのかよくわからないのだが、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
のリポジトリから呼び出すようにするという変更を行うことで無事外部から持ってくるライブラリを減らすことができた。この辺ちょっと複雑すぎるからもうちょい簡素化したい...。