Pasta de origem adicional no playframework 2.2 e vinculação de formulário
-
21-12-2019 - |
Pergunta
Preciso de uma segunda pasta de origem ao lado do aplicativo em um aplicativo playframework 2.2.Para isso, adicionei aos projetos build.sbt:
unmanagedSourceDirectories in Compile += baseDirectory.value / "common_app"
Problema:A vinculação de formulário não funciona mais com classes de modelo Java em common_app/models.Na verdade, há uma diferença nos arquivos de classe compilados - se o arquivo de origem do modelo de formulário estiver em common_app/models, o arquivo de classe terá cerca de metade do tamanho.
Como posso adicionar a segunda pasta de origem e fazer com que a vinculação de formulário funcione?
Solução
O app
pasta de origem é definida em
/framework/src/sbt-plugin/src/main/scala/PlaySettings.scala
Basta anexar as linhas de origem com "app" ao final de seus projetos build.sbt e alterá-las para sua nova pasta de origem (as linhas vazias são importantes e a vírgula no final precisa ser removida):
unmanagedSourceDirectories in Compile += baseDirectory.value / "common_app"
sourceDirectory in Compile <<= baseDirectory / "common_app"
//scalaSource in Compile <<= baseDirectory / "common_app"
javaSource in Compile <<= baseDirectory / "common_app"
watchSources <++= baseDirectory map { path => ((path / "common_app") ** "*" --- (path / "common_app/assets") ** "*").get }