2012-10-23 11 views
6

私はSbtを継続的統合(Bamboo)に使用しています。私はすべての環境変数が設定されていることを確認したい、または説明的なエラーメッセージが表示されるようにしたい。私は、次のアプローチを使用します。継続的統合のためのSbt:スタックトレースの印刷とエラー時の終了

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 

二つの質問を得る:

  1. '最後の' を使用することなく、完全なスタックトレースを取得する方法を(単純にはできません竹でやって)?
  2. 再試行などを要求するのではなく、プロジェクトの読み込みに失敗した場合にsbtを終了する方法を教えてください。入力ストリームが(例えばハック)トリックを「閉」になる場合
+1

[*どのように完全なスタックトレースを取得する*](https://groups.google.com/forum/#!msg/simple-build-tool/Oubyb6LlZA8/6ihYrzRyTKMJ) –

+0

おかげで、しかし、それはdoesnのビルド・オブジェクトの初期化中にエラーが発生した場合の作業元の投稿と同じエラーが表示されます。 – 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 
関連する問題