스칼라에 가장 적합한 빌드 도구는 무엇입니까? 그들 각각의 장단점은 무엇입니까? 프로젝트에서 어떤 것을 사용할지 어떻게 결정합니까?
스칼라에 가장 적합한 빌드 도구는 무엇입니까? 그들 각각의 장단점은 무엇입니까? 프로젝트에서 어떤 것을 사용할지 어떻게 결정합니까?
답변:
우리는 Maven을 사용하여 CI 서버와 잘 통합되어 있기 때문에 직장에서 Scala 프로젝트를 구축하고 있습니다. 물론 빌드를 시작하기 위해 쉘 스크립트를 실행할 수도 있지만, Maven에서 CI로 가고 싶은 다른 많은 정보가 있습니다. 그것이 Scala 프로젝트에 Maven을 사용한다고 생각할 수있는 유일한 이유입니다.
그렇지 않으면 SBT를 사용하십시오. 동일한 종속성 (실제로 maven, IMHO의 가장 중요한 부분)에 액세스 할 수 있습니다. 또한 증분 컴파일을 가져옵니다. 프로젝트 내부에서 쉘을 시작하는 기능도 훌륭합니다.
ScalaMock은 SBT에서만 작동하며 Java 모의 라이브러리가 아닌 SBT를 사용하고 싶을 것입니다. 또한 빌드 파일에 전체 스칼라 코드를 작성할 수 있으므로 SBT를 확장하는 것이 훨씬 쉬우므로 모조를 작성하는 모든 리가 마롤을 수행 할 필요가 없습니다.
즉, CI 서버와의 긴밀한 통합이 필요하지 않은 경우 SBT 만 사용하십시오.
문제는 단지 많은 의견을 생성 할 위험이있다. 요구 사항 목록이나 환경, 이전 지식 등에 대한 설명을 명확하게 작성하는 것이 좋습니다.
이 스칼라 메일 링리스트 쓰레드 에는 더 많은 의견 이 있습니다.
내 2c는 : 특정 요구 사항이 없으면 sbt와 함께하십시오.
gen-idea
작업을 수행하고 프로젝트를 다시 엽니 다 : 업데이트 완료.compile
, test
, run
, doc
, publish-local
, console
) - (가) console
가장 좋은 기능 중 하나입니다.어떤 사람들은 의존성 관리에 Ivy를 사용하기 때문에 sbt를 싫어합니다 (장단점에 대해서는 언급 할 수 없지만 대부분 비 이슈입니다). XML 대신 스칼라 DSL. 어떤 사람들은 sbt의 형식이 v0.7에서 v0.10으로 변경된 것에 실망했지만 분명히 처음부터 시작해도 마이그레이션은 영향을 미치지 않습니다.