Skip to content

An experiment with abstracting concrete routes behind a trait to minimize compilation tsunamis due to controller changes

Notifications You must be signed in to change notification settings

Egraphs/routes-type-layout-testbed

 
 

Repository files navigation

This small project demonstrates a sub-optimal side-effect of the way the play currently does reverse routing -- any changes to a controller triggers recompilation of:

  • The controller class itself
  • The reverse router (if the controller was referenced in conf/routes)
  • Every class in the app that uses the reverse router

This has grown to be a problem in our organization because of the sheer number of files involved in the third bullet point, and associated compile time.

To see the classes that are compiled due to an edit, issue the following commands after making the edits:

> sbt compile | grep '\[wrote'

About

An experiment with abstracting concrete routes behind a trait to minimize compilation tsunamis due to controller changes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published