2014-12-24 4 views
3

package 작업 (xsbt-web-plugin)을 사용하여 프로젝트를 전쟁에 패키지화하고 assembly 작업 (sbt-assembly)을 사용하여 프로젝트를 병에 패키지화합니다.단일 작업으로 다중 모듈 빌드에서 일부 모듈을 병 및 다른 모듈로 "패키지"하는 방법은 무엇입니까?

저는 다중 모듈 빌드를 가지고 있으며 일부 모듈은 전쟁에, 일부 모듈은 병에 패키지되어 있습니다.

내가 assembly 작업 등을 실행하기 위해 빌드를 설정하고 싶습니다 :

  • 항아리 모듈이
  • 전쟁 모듈은 전쟁 파일로 패키지 된 jar 파일에 패키지되어

방법 assembly 작업을 실행하는 동안 전쟁 프로젝트에 대한 package 작업을 실행 하시겠습니까? @ 제임스는 주석으로 대신 package를 실행하는 웹 애플리케이션 프로젝트에서 assembly 작업을 해킹 할 수 있어야하므로

+0

'assembly'를 각 webapp 프로젝트의'package' 작업에 의존하게 만들 수 있습니까? http://www.scala-sbt.org/0.12.2/docs/Detailed-Topics/Tasks.html#dependencies를 참조하십시오. – earldouglas

답변

1

은 모두 package 작업 및 assembly 작업은 File 유형으로 평가한다.

lazy val commonSettings = Seq(
    scalaVersion := "2.11.4" 
) 
lazy val webappAssembly = Seq(
    assembly := packageWar.value 
) 

lazy val root = (project in file(".")). 
    aggregate(app, webapp). 
    settings(commonSettings: _*) 

lazy val app = (project in file("app")). 
    settings(commonSettings: _*) 

lazy val webapp = (project in file("webapp")). 
    settings(commonSettings ++ jetty() ++ webappAssembly: _*). 
    settings(
    libraryDependencies += "javax.servlet" % "javax.servlet-api" % "3.0.1" % "provided" 
) 
관련 문제