2012-10-23 3 views
6

연속 통합 (Bamboo)을 위해 Sbt를 사용하고 있습니다. 모든 환경 변수가 설정되어 있는지 확인하거나 설명적인 오류 메시지가 표시되는지 확인하려고합니다. 간단하게는 할 수 없습니다 ( 연속 통합을위한 Sbt : 스택 스택 인쇄 및 오류 발생시 종료

  1. 어떻게 사용 '마지막'할 필요없이 전체 스택 트레이스를 얻는 대신

    def env(n: String) = Option(System.getenv(n)).getOrElse(throw new RuntimeException("Undefined required environment variable " + n)) 
    
    val mySetting = env("REQUIRED_ENV_VAR") + "..." 
    

    , 나는

    [error] java.lang.ExceptionInInitializerError 
    [error] Use 'last' for the full log. 
    Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? q 
    

    두 가지 질문을 얻을 : 나는 다음과 같은 방법을 사용 대나무에서 해)?

  2. 재시도 등을 요구하는 대신 프로젝트로드가 실패하면 sbt를 종료하는 방법은 무엇입니까? 입력 스트림 (예 : 해키) 트릭과 "폐쇄"될 경우
+1

[* 전체 스택 트레이스 *을 얻는 방법 (https://groups.google.com/forum/#!msg/simple-build-tool/Oubyb6LlZA8/6ihYrzRyTKMJ) –

+0

덕분에,하지만 아무튼 ' 빌드 객체 초기화 중에 오류가 발생한 경우 작동합니다. 나는 원래의 게시물에서와 같은 오류가 발생합니다. – nau

+1

[대화식 프롬프트를 비활성화하는 방법] (http://code.google.com/p/simple-build-tool/issues/detail?id=80) – 4e6

답변

7

SBT는 대화 형 모드를 사용하지 않습니다

cat /dev/null | sbt taskname 

또는이 같은 쉘 스크립트를 만들 파이프를 사용할 수없는 경우 :

#!/bin/sh 
sbt "[email protected]" < /dev/null