Я использую sbt [0.13] для компиляции проекта play [2.2] с использованием scala [2.10.3]. У меня есть файлы .sql и файлы scala, используемые для миграции базы данных. Структура каталогов выглядит так:
app
|-> db
|-> migration
|-> V1__init.scala
|-> V2__newTable.sql
Когда я запускаю компиляцию с игровой консоли (REPL), файл scala (V1__init.scala) компилируется в .class и копируется в папку классов. Но файл .sql не перемещается.
Я пробовал добавить unmanagedResourceDirectories in Compile <++= baseDirectory { dir => Seq(dir/"app/db/migration") ++ Seq(dir/"db/migration") }
, но файлы не копировались. Весь блок выглядит так:
val main = play.Project(appName, appVersion, appDependencies).settings(
scalaVersion := "2.10.3",
scalacOptions ++= Seq("-feature"), // enable feature warnings
unmanagedResourceDirectories in Compile <++= baseDirectory { dir => Seq(dir/"app/db/migration") ++ Seq(dir/"db/migration") }
)
Я также пробовал использовать copyResources
, но не смог заставить его работать. Описано здесь: http://www.playframework.com/documentation/2.0/SBTSettings.
Так кто-нибудь знает, как я могу скопировать файлы sql в папку классов?
Спасибо!
ОБНОВЛЕНИЕ
Я получил IO.copyDirectory(new java.io.File("app/db/migration"), new java.io.File("target/scala-2.10/classes/db/migration"), true)
для копирования файлов, но место назначения жестко запрограммировано и изменится, когда я обновлю scala