2013-04-27 12 views
6

Chcę zmienić katalog wyjściowy dla niektórych wygenerowanych plików, w tym przypadku wygenerowanych obiektów ze schematu XSD.Zmień katalog wyjściowy sbt

Oto część mojego pliku kompilacji.

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 
    ) 

Ten kod umieszcza moje wygenerowane pliki do katalogu poniżej:

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

Jak mogę zmienić buildfile do wyjścia pliki poniżej zamiast?

/app/models/ 

Odpowiedz

9

Sprawdź klucz ustawień sourceManaged. Wszelkie zadania generatora źródłowego będą zwykle umieszczane w pliku określonym przez to ustawienie.

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 

Zauważ, że „kompilacji” i wartości „TEST” oprzeć się wyłączyć z wartości „źródło zarządzane”, podstawy, która z kolei opiera się na wartości cross-target, która oparta jest na wartości target i kilka innych.

Można łatwo zmienić wartość ustawienia compile:source-managed w definicji SBT budować z ustawienie

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

Jeśli chcesz oprzeć ustawienie off innym ustawieniu, jak katalogu głównym projektu, można użyć coś bardziej jak

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

oczywiście, można znaleźć mnóstwo informacji na temat korzystania z ustawień tutaj: http://www.scala-sbt.org/release/docs/Getting-Started/More-About-Settings
edit: Wygląda na to, że link jest martwy. Minęło kilka lat, więc nie jestem w 100% pewny, ale jest to prawdopodobnie bliskie temu, o czym mówił oryginalny link: SBT 0.13 - Build definition lub SBT 1.0 - Build definition

+0

Dzięki, pracowałem dobrze – Farmor

+0

co jeśli chciałbym zmienić wygenerowane generatory generatorowe, może być przez eBean? – MrOnyancha

+0

Wygląda na to, że link jest już stary:/ –

Powiązane problemy