ElixirでOSS開発を始めました。
|> Webサービスバックエンドライブラリー Materia
複数のElixirプロジェクトで分けて開発していると、
依存される共通機能側のプロジェクトを修正しつつ依存する側の機能を確認したい場合がある。
そういった場合は、一時的にdepsにローカルファイルパスを定義すると楽です。
例えば、materiaに依存するプロジェクト開発中にmateriaの修正と合わせて確認したい場合は以下のような定義になります。
mix.exs
defp deps do
[
{:phoenix, "~> 1.3.0"},
{:phoenix, "== 1.3.2"},
{:phoenix_pubsub, "~> 1.0"},
{:plug, "== 1.5.0"},
{:phoenix_ecto, "~> 3.2"},
{:postgrex, ">= 0.0.0"},
{:phoenix_html, "~> 2.10"},
{:phoenix_live_reload, "~> 1.0", only: :dev},
{:gettext, "~> 0.11"},
{:cowboy, "~> 1.0"},
{:triplex, "~> 1.2"},
{:cors_plug, "~> 1.5"},
#{:materia, "~> 0.1.2"},
{:materia, path: "{ローカルのパス}/materia", app: false},
{:ex_doc, "~> 0.13", only: :dev},
{:logger_file_backend, "~> 0.0.4"},
{:distillery, "~> 1.0.0"}
]
end
まあ、そもそも共通機能の独立性、汎用性という観点から言うと、先に依存される側がテスト済であるべきだとは思うのですが。
場合により便利です。