-
Notifications
You must be signed in to change notification settings - Fork 0
Installing MEF
MEF is available as a github repository. Include it in your project by following these instructions.
Add this to your appDependencies:
"mettle" % "mettle_2.10" % "1.0-SNAPSHOT"
Then set your project to include a resolver:
val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).settings(
resolvers += Resolver.url("Mettle Repository", url("http://ianrae.github.io/snapshot/"))(Resolver.ivyStylePatterns),
checksums := Nil
)
Copy the lib directory from the AppTwo sample (code/internal-samples/AppTwo). This contains the StringTemplate ST-4.0.7.jar which is needed for code generation. StringTemplate is not used by MEF at runtime.
play eclipse
play run
Open your browser to localhost:9000 and you should see the Play start page for a new project.
Eventually MEF will add commands in SBT. Until then, use JUnit tests to do code generation
In the root of your project create mgen folder and add as source folder (in Java Build Path in Eclipse). You should now how three source folders
app
mgen
test
public class AppCodeGen
{
@Test
public void codeGen() throws Exception
{
AppScaffoldCodeGenerator gen = new AppScaffoldCodeGenerator();
boolean b = gen.generateAll();
assertTrue(b);
}
}
And run it. Then delete this file. You don't need it anymore.
This will create the mef directory structure and some intial files.
app
boundaries layer that sits between Play and MEF
mef
core initialization code
dals (daos) database persistence
entities the 'model object in MEF (POJOs)
gen codegen puts stuff here
presenters holds business logic. equivalent to a controller
conf
mef/seed JSON database initialization files
test
mef unit tests (no FakeApplication needed)