なんとなく、sbtでのレイヤー分けと軽く役割を書いてみた。。。
酔っぱらいのお遊び・・・
各レイヤー毎の責務は、クラスの中で説明してます。
playなどを使う場合は、applicationにplayにすればいいです。
プロジェクトルートは、別にbuild.sbt入れなくてOK
- application
- domain
- infra
各単体でコンパイル可能。
別moduleかしてurlなどでgit指定してもOK
汎用性があるサンプルになるかと。
ProjectRefってのがplayの公式などに乗ってる書き方にはなかったが
build.sbtの記述量を劇的に減らせる気がします。(目的が違うからかもだけど)
ただProjectRefの日本語記事が少なくてどういう目的で使うのか
よくわかっていないです。知ってたら教えて欲しい。
sbtの公式サイトなどを見る限り
サブプロジェクトの設定などがあるが、あれはプロジェクトを分割するのには
いいと思うがmoduleとしてのライブラリを分けるのとは違う気がした。
ライブラリは単体でも生成できるのが理想と思ったので。
自社のプロジェクトでは、
applicationではapi用 frontサイト用と2つ作り
projectルート自体にもplayを入れてルーティングしてます。