Part32:依存関係とUmbrella Project

凛「じゃ、今回はUmbrella Projectというのを見てみるにゃ」
希「凛ちゃん、傘嫌いそうやん?」
凛「Hello,星を数えて~♪」

凛「まずはモジュール同士の依存関係を定義するやり方からね。書く場所はmix.exsの下の方にあるにゃ」

凛「ErlangやElixirで使えるモジュールは、Hex Package Managerで色々公開されてるにゃ。この中から、例えば・・・」

凛「Plugってモジュールを使う場合はこうだよ。で、インストールするには」

凛「これが、えーと、外部依存関係っていうやつだよ」
海未「こうやって管理されていると、手で入れなくてもよいので便利ですね」
希「まあgemとかeggとか・・・」
海未「?」

凛「内部依存関係はUmbrella Projectを使うにゃ。いろんなアプリケーションを傘の下に入れてあげる感じかな」
海未「Cinderella Projectしか浮かんでこない私を叱ってください・・・」
希「海未ちゃん、めっ、やで」

凛「まずはプロジェクトをつくるにゃ」

凛「kv_umbrella/appsの下にアプリケーションが入るんだよ。さっそく、これまでのKVアプリケーションをホストするサーバを作るにゃ。kv_umbrella/appsに移動して・・・」

凛「この--supオプション、なんとこれまで手で実装してたSupervisorを自動生成してくれるのだー!」
希「な、なんだってー!?」
凛「mixには便利機能がたくさんあるにゃ」

凛「次はKVアプリケーションをこれに組み込んでみるよ。kv_umbrellaのmix.exsを開いて・・・」

凛「これで、前回作ったkvモジュールが組み込まれたよ。あとは、scorematchディレクトリを丸ごとkv_umbrella/appsの下にコピーしてあげるにゃ」

凛「で、scorematchのmix.exsにdeps_pathlockfileを書き足して・・・」

凛「この状態でkv_umbrellaディレクトリでmix testってやると両方のテストが走るにゃ」

凛「今回はここまでだけど、KV_Serverの中からScorematchの機能が使えるようになってるはずだよ」

海未「この下に貼られるはずの広告ですが・・・頭に猫乗ってますが凛は猫アレルギーではなかったですか?」
凛「そ、それはそれ、きっとぬいぐるみか何かにゃ!」
希「こもわた遥華先生の絵の立体造形物や、四の五の言わんとありがたく買っとき」


LINEで送る
Pocket


返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です