[SCALA] 어떻게 다른 SBT 프로젝트에서 외부 SBT 프로젝트를 참조하는?
SCALA어떻게 다른 SBT 프로젝트에서 외부 SBT 프로젝트를 참조하는?
나는 스칼라 응용 프로그램과 공통 핵심 라이브러리의 다음과 같은 설정을 가지고 : 뿌리
-> /ApplicationA
-> /project
-> /build.sbt
-> /CoreLibrary
-> /project
-> /build.sbt
그래서 때마다 것을 CoreLibrary이 애플리케이션 A가 아니라 내장되어 변경 라 이클립스 프로젝트 참조 à CoreLibrary에 애플리케이션 A에서 참조를 추가합니다. I've는 애플리케이션 A에 대한 build.Scala 다음과 같은 내용을 시도했다 :
val core = Project(
id = "platform-core",
base = file("../CoreLibrary"))
val main = Project(id = "application, base = file(".")).dependsOn(core)
그러나 컴파일 애플리케이션 A SBT는 종속성은 하위 디렉토리가 될 수 뿌려! :
java.lang.AssertionError: assertion failed: Directory C:\git\CoreLibrary is not contained in build root C:\git\ApplicationA
이것은이 프로젝트 의존성을 갖는 올바른 방법은 무엇 완전히 간단 보인다?
해결법
-
==============================
1.당신은 그런 프로젝트에 소스 의존성을 수행 할 수 있습니다
당신은 그런 프로젝트에 소스 의존성을 수행 할 수 있습니다
lazy val core = RootProject(file("../CoreLibrary")) val main = Project(id = "application", base = file(".")).dependsOn(core)
나는 멀티 모듈 플레이 빌드 작업 예제가 있습니다 https://github.com/ahoy-jon/play2MultiModule/blob/master/playapp/project/Build.scala
하지만 적절한 방법은 그것을 만드는 것입니다하고의 (그것이 당신의 상황의 따라 다름) 생각
-> /project/ -> Build.scala -> /ApplicationA -> /project -> /build.sbt -> /CoreLibrary -> /project -> /build.sbt
두 프로젝트와 그들 사이의 종속성을 참조.
-
==============================
2.SBT 0.12.1으로이 프로젝트에 대한 간단한 참조를 얻을 수 것 같습니다 :
SBT 0.12.1으로이 프로젝트에 대한 간단한 참조를 얻을 수 것 같습니다 :
나는 ProjectRef 대신 RootProject을 사용
http://www.scala-sbt.org/0.12.1/api/sbt/ProjectRef.html
ProjectRef(file("../util-library"), "util-library")
SBT-일식도 작동합니다.
-
==============================
3.SBT 0.13 이후, 당신은 Build.scala 파일을 필요없이 .sbt에서 직접 멀티 프로젝트 정의를 만들 수 있습니다.
SBT 0.13 이후, 당신은 Build.scala 파일을 필요없이 .sbt에서 직접 멀티 프로젝트 정의를 만들 수 있습니다.
애플리케이션 A / 프로젝트에 다음 / build.sbt을 추가하면 충분하다 그래서.
lazy val core = RootProject(file("../CoreLibrary")) val main = Project(id = "application", base = file(".")).dependsOn(core)
from https://stackoverflow.com/questions/11653435/how-to-reference-external-sbt-project-from-another-sbt-project by cc-by-sa and MIT license
'SCALA' 카테고리의 다른 글
[SCALA] 어떻게 문맥에 관련한 타입 클래스의 인스턴스 바인딩을받을 수 있나요? (0) | 2019.11.15 |
---|---|
[SCALA] 스칼라 : 케이스 클래스로 변환지도 (0) | 2019.11.15 |
[SCALA] Groovy의 안전 참조 연산자 최고의 스칼라 모방 (?).? (0) | 2019.11.15 |
[SCALA] 스칼라의 forSome 키워드는 무엇입니까? (0) | 2019.11.15 |
[SCALA] 전이나 모든 Scalatest 테스트 후 뭔가를하고 (0) | 2019.11.15 |