욱'S 노트

SBT - 멀티 프로젝트 본문

Programming/sbt

SBT - 멀티 프로젝트

devsun 2017. 2. 28. 11:17

연관된 서브프로젝트들을 하나의 빌드로 유지할 수 있다. 각 서브프로젝트들은 자신만의 소스 디렉토리를 가지고 있고 패키징을 수행하면 각각의 jar 파일이 생성된다. 프로젝트는 Project 타입의 lazy 값으로 정의된다. 예를들면 다음과 같다.

lazy val util = (project in file("util"))

lazy val core = (project in file("core"))

val의 이름은 서브 프로젝트의 아이디로 사용된다.

공통 세팅

멀티 프로젝트를 위한 공통 세팅은 아래와 같이 적용할 수 있다.

lazy val commonSettings = Seq(
  organization := "com.example",
  version := "0.1.0-SNAPSHOT",
  scalaVersion := "2.12.1"
)

lazy val core = (project in file("core")).
  settings(
    commonSettings,
    // other settings
  )

lazy val util = (project in file("util")).
  settings(
    commonSettings,
    // other settings
  )

Classpath dependencies

프로젝트는 다른 프로젝트를 디펜던시로 가질 수 있다. 다른 프로젝트에 대한 디펜던시는 다음과 같이 정의할 수 있다.

lazy val core = project.dependsOn(util)

출처 : http://www.scala-sbt.org/0.13/docs/Multi-Project.html

'Programming > sbt' 카테고리의 다른 글

SBT - Plugins  (0) 2017.03.03
SBT - 디펜던시 관리  (0) 2017.02.28
SBT - build definition  (0) 2017.02.27
SBT - 인텔리J와 시작하기  (0) 2017.02.22
Comments