So, the workaround is quite simple and was suggested in google groups , but there is some ambiguity in the documents, I will describe the steps, step by step, what to do.
1. Isolate your logical domain model
This means that domain classes should not call any of the views or controllers.
2. Create a subproject containing domain classes
Some information is given here . The subproject is very similar to the default project and creates it is not so difficult. I do not find any tools for this from the game console, so you need to create several folders manually.
First create a subproject folder in the main project folder. Suppose you called it domain data. Then create the necessary folders as described in the standard application. layout . In most cases, you want to create a simple directory tree in the created subfolder:
app β models β myclasses
Now move all the domain classes to the subproject tree.
3.Configuration
The configuration will be quite simple. Go to the main project project folder and open the Build.scala file. This is a build script for the SBT build system.
Define some dependencies first. Add the following lines to the assembly file:
val domainDependencies = Seq( "org.projectlombok" % "lombok" % "0.11.4" )
This will add the Lombok jar to your subproject. Now create a subproject definition:
val domainProject = PlayProject( "domain-data", appVersion, domainDependencies, path=file("domain"), mainLang=JAVA )
Where the path should point to the subproject folder.
And the last step is to update the main configuration of the project to make it dependent on the subproject. Dependence entails the redesign of subprojects with each major restoration of the project.
val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).dependsOn(domainProject)
After starting the main project with the playback command specified in the terminal, and enter the project command. You should see your new subproject.
4. Profit
Now it's time to safely reorganize your existing code with Lombok.