Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

SBT로 Scala 빌드하기

Scala는 아직 IDE가 잘 되어 있지 않은 관계로 개발하는데 어려움이 있었습니다. Scala개발을 할 수 있는 IDE로는 Intelli-J에 Scala 플러그인을 사용해서 쓸수 있고 사용하는데 큰 무리는 없지만 저는 Intelli-J에 많이 익숙하지 않은 편이었던되다가 그 사이에 VIM에 꽂혀서 IDE의 지원도 제대로 사용못하는데 VIM도 같이 연습하자는 생각으로 VIM으로 Scala 코딩을 주로 했었습니다. 근데 이렇게 했을때 아주 간단한 것은 스칼라 스크립트로 실행해 보면 테스트 해 볼 수 있지만 빌드하는 것은 꽤나 귀찮은 일이었습니다.



SBT 설치
SBT는 Simple Build Tool의 약자로 Java에서 ant나 Maven처럼 프로젝트를 셋팅해주고 자동으로 빌드를 해주고 실행하는 등의 역할을 하고 있으며 다운로드페이지에서 최신 jar를 다운로드 받을 수 있습니다. 이 sbt-launcher.jar파일을 /usr/local/bin에 두고 /usr/local/bin아래에 sbt 라는 파일을 아래와 같은 내용으로 생성합니다.(사실 path에 포함되어 있다면 아무 위치가 상관없습니다.)

java -Xmx512M -jar /usr/local/bin/sbt-launchch-0.7.4.jar "$@"
jar파일을 다른 곳에 두었다면 /usr/local/bin/sbt-launchch-0.7.4.jar를 변경해서 사용해야 합니다. 이렇게 설치하면 이제 sbt 명령어를 아무곳에서나 사용할 수 있습니다.



SBT 사용하기

SBT로 프로젝트를 구성하는 화면

터미널에서 새로운 폴더를 생성하고 sbt 라는 명령어를 실행하면 프로젝트가 없는데 새로운 프로젝트를 만들것이냐고 묻습니다. y를 누르면 scaladoc등에서 사용될 프로젝트이름과 조직(조직은 Optional입니다.), 스칼라 버전, SBT 버전등을 물어보고 다 입력하고 나면 프로젝트의 기본 구조를 설정합니다. 설치완료후 sbt의 ㅋ콘솔이 연결되는데 quit를 입력하면 설정이 완료됩니다.(SBT콘솔에서는 소스 수정하고 재컴파일등의 인터렉티브한 액션을 실행할 수 있습니다.) n을 누르면 취소가 되고 s는 Scratch로 전체프로젝트의 설정 없이 바로 빌드하고 run을 합니다. SBT는 내부적으로 디펜던시 관리를 위해서 Apache Ivy를 사용하고 있습니다.

lib/
project/
    boot/
src/
    main/
        resources/
        scala/
    test/
        resources/
       scala/
target/
위의 구조가 sbt가 생성한 기본 프로젝트 구조입니다. lib폴더는 관련 라이브러리를 넣어두면 되고 project에는 sbt가 참고하는 프로젝트 정보를 저장해 두는 곳으로 보입니다. scala소스는 src폴더에 넣으면 되고 컴파일된 파일은 target폴더에 생성됩니다.


// src/main/scala/HelloSBT.scala
object HelloSbt {
    def main(args: Array[String]) {
        println("Hello SBT!")
    }
}

위의 내용을 src/main/scala/안에 만들어 놓고 sbt run 을 실행하면 아래와 같이 컴파일되고 실행되는 것을 볼 수 있습니다. sbt 명령어에 대해서는 이곳에서 자세히 볼 수 있습니다.

SBT로 컴파일되고 실행되는 화면

SBT에 대한 더 자세한 내용은 SBT Wiki를 참고하시면 됩니다.
2010/12/13 02:34 2010/12/13 02:34