私はsbt-start-scriptプラグインを使用してプロジェクトをビルドしています (ただし、質問はそれよりも一般的に当てはまると思いますが、たまたま具体的な例を提供しているだけです)。設定の値を変更したいstart-script-name
(設定を定義する関連ソース ファイルは、ここにあります)。ドキュメントに従って、次の行を my に追加しました。build.sbt
これにより、期待どおりに開始スクリプトが作成されます。
import com.typesafe.sbt.SbtStartScript
seq(SbtStartScript.startScriptForClassesSettings: _*)
start-script-name
しかし、別の場所に書き込むように設定 (紛らわしく定義されている)を変更したいのですがstartScriptFile
、これは予想以上にイライラさせられました。
設定は、次を使用して正常に表示されますinspect
。
[ctdrest] $ inspect uses start-script-name
[info]
[info] compile:start-script-for-jar
[info] compile:start-script-not-defined
[ctdrest] $ inspect definitions start-script-name
[info]
[info] *:start-script-name
[ctdrest] $ inspect tree start-script-name
[info] *:start-script-name = target/start
[info] +-*:target = target
[info] +-*:base-directory = /Users/amack/Coding/ctdrest
[info] +-*:this-project = Project(id: CTDRestful, base: /Users/amack/Coding/ctdrest, aggreg..
[info]
しかしsbt
、値を設定しようとすると文句を言います:
[ctdrest] $ set startScriptFile := "bar"
<set>:1: error: not found: value startScriptFile
startScriptFile := "bar"
^
<set>:1: error: reassignment to val
startScriptFile := "bar"
^
[error] Type error in expression
とてつもなく明白な何かが欠けていると思いますが、SBT設定ドキュメントを何度も検索して調べても、何も解決しませんでした。