2013-04-27 18 views
6

Desidero modificare la directory di output per alcuni file generati, in questo caso oggetti generati da uno schema XSD.Modifica directory di output di sbt

Ecco parte del mio file Build.

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 
    ) 

Questo codice mette i miei file generati nella directory di seguito:

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

Come posso cambiare il mio BuildFile per l'output dei file al di sotto, invece?

/app/models/ 

risposta

9

Controllare la chiave di impostazione sourceManaged. Qualsiasi attività del generatore di sorgenti in genere inserisce elementi nel file specificato da tale impostazione.

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 

noti che la "compilazione" e valori "test" si basano off del valore "sorgente gestiti", base che è a sua volta in base al valore di cross-target, che si basa sul valore di target e pochi altri.

Si può facilmente cambiare il valore dell'impostazione compile:source-managed in una definizione SBT compilazione con l'impostazione

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

Se si desidera basare la regolazione off di un'altra impostazione, come directory di base del progetto, è possibile utilizzare qualcosa di più simile

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

Naturalmente, è possibile trovare un sacco di informazioni su come usare le impostazioni qui: http://www.scala-sbt.org/release/docs/Getting-Started/More-About-Settings
modifica: Sembra che il collegamento sia morto. Sono passati alcuni anni quindi non sono sicuro al 100%, ma probabilmente è vicino a ciò di cui parlava il link originale: SBT 0.13 - Build definition o SBT 1.0 - Build definition

+0

Grazie, ha funzionato bene – Farmor

+0

e se volesse modificare i generatori di origine che vengono generati essere di eBean? – MrOnyancha

+0

Sembra che il collegamento sia ormai vecchio:/ –

Problemi correlati