Изменить выходной каталог sbt
Я хочу изменить свой выходной каталог для некоторых сгенерированных файлов, в этом случае сгенерированных объектов из XSD-схемы.
Вот часть моего файла сборки.
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/
Как я могу изменить свой buildfile для вывода файлов ниже?
/app/models/
1 ответ
Проверьте sourceManaged
установочный ключ. Любые задачи генератора исходного кода обычно помещают материал в файл, заданный этим параметром.
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
Обратите внимание, что значения "compile" и "test" основаны на базовом значении "source-managed", которое, в свою очередь, основано на значении cross-target
, который основан на значении target
и несколько других.
Вы можете легко изменить значение compile:source-managed
установка в определении сборки sbt с настройкой
sourceManaged in Compile := file("app/models")
Если вы хотите основать свои настройки на других настройках, таких как базовый каталог проекта, вы можете использовать что-то более похожее на
sourceManaged in Compile <<= baseDirectory { _ / "app/models" }
Конечно, вы можете найти много информации об использовании настроек здесь: http://www.scala-sbt.org/release/docs/Getting-Started/More-About-Settings
редактировать: похоже, что эта ссылка мертва. Прошло несколько лет, поэтому я не уверен на 100%, но это, вероятно, близко к тому, о чем говорилось в исходной ссылке: SBT 0.13 - определение сборки или SBT 1.0 - определение сборки