예제 코드를 만들면서 새 프로젝트를 생성할 때 마다 필요한 case class
나 object
들을 복붙x999 하다보니 중복되는 코드들이 너무 많다. 한 곳에 관리할 수는 없을까?
코드를 어디에 모아둘까? 일단 build.sbt
에서 코드를 모아놓을 새 서브프로젝트를 생성하자.
공통 코드니까 core
라는 이름으로 만들었다.
build.sbt
필요한 설정 정보는 알아서 ...
lazy val core = project
.settings(
libraryDependencies ++= Seq(
...
)
)
기존에 있던 cheese-test라는 프로젝트가 core에 있는 코드에 의존할 수 있도록 depensOn
을 통해 설정해준다.
build.sbt
lazy val `cheese-test` = project
.dependsOn(core)
.settings(
libraryDependencies ++= Seq(
...
)
)
점진적으로 테스트 해보자.
1. cheese-test 실행
2. 중복 제거할 코드들 cheese-test -> core로 복사 후 실행
3. 이상이 없으면 cheese-test에 있는 중복 코드를 삭제한다.
4. 마지막으로 실행!
유익한 글이었습니다.