2013-04-27 23 views
6

生成されたファイルの出力ディレクトリを変更したいとします。この場合、XSD-Schemaからオブジェクトを生成します。sbtの出力ディレクトリを変更する

ここに私のビルドファイルの一部です。

val main = PlayProject(appName, appVersion, appDependencies, mainLang = SCALA, 
     settings = Defaults.defaultSettings ++ buildInfoSettings ++ scalaxbSettings 
    ).settings(
     sourceGenerators in Compile <+= buildInfo, 
     buildInfoKeys := Seq[BuildInfoKey](name, version, scalaVersion, sbtVersion), 
     buildInfoPackage := "hello", 
     packageName in scalaxb in Compile := "models", 
     sourceGenerators in Compile <+= scalaxb in Compile 
    ) 

このコードは、以下のディレクトリに私の生成されたファイルを置きます:

target/scala-2.10/src_managed/main/models/ 

は、どのように私は以下の代わりに出力するファイルを自分のビルドファイルを変更できますか?

/app/models/ 

答えて

9

sourceManaged設定キーを確認してください。すべてのソースジェネレータのタスクは、一般的に、その設定で指定されたファイルにstuffを入れます。

source-managed     - target/scala-2.10/src_managed 
compile:source-managed   - target/scala-2.10/src_managed/main 
test:source-managed   - target/scala-2.10/src_managed/test 

「コンパイル」と「テスト」値はtargetの値に基づいて基地cross-targetの値に基づいて、順番にある「ソース管理」値、のオフ自体の基礎ことを注意その他いくつかがあります。

あなたが簡単にあなたがプロジェクトのベースディレクトリのように、別の設定のオフにあなたの設定をベースにする場合は、あなたが使用できる設定

sourceManaged in Compile := file("app/models") 

でのsbtビルド定義でcompile:source-managed設定の値を変更することができますよりもちろん

sourceManaged in Compile <<= baseDirectory { _/"app/models" } 

のようなものは、あなたがここでの設定を使用して情報をたくさん見つけることができます: http://www.scala-sbt.org/release/docs/Getting-Started/More-About-Settings
編集:そのリンクが死んでいるように見えます。それは、私は100%わからないんだけど、これはおそらく、元のリンクはについて話しましたものに近い数年されています:SBT 0.13 - Build definitionまたはSBT 1.0 - Build definition

+0

おかげで、良い – Farmor

+0

を働いたものを生成しているsourceGeneratorsを変更したい場合かもしれませんeBeanになる? – MrOnyancha

+0

リンクが古いようです:/ –

関連する問題