I\'ve been scouring the internet for hours now, there is lots of \"helpful\" advice...that cause nothing but problems.
This is me, almost exactly:
Play framework
error: value playWatchService is not a member of object play.sbt.Play.autoImport.PlayKeys
error: object sbtplugin is not a member of package play
In the Playframework 2.4.X, the SBT setting key playWatchService
has been renamed to fileWatchService
.
Also the corresponding class has changed. To set the FileWatchService
to poll every two seconds, use it like this:
scala PlayKeys.fileWatchService := play.runsupport.FileWatchService.sbt(2000)
Extracted from: https://www.playframework.com/documentation/2.4.x/Migration24#playWatchService-renamed
Ok, more internet scouring, and I finally broke down and dug through the Play! Framework github to find their test built.sbt, which happened to be using the new option.
Apparently, buried deep in the migration guide this was noted. (Took me a while to retrospectively find it.)
My mistake, apparently, lied in the assumption that 2.4.0 was included in 2.3.2+, without checking the well-hidden (in my humble opinion) documentation. For anyone else who comes stumbling along with a similar situation, look no further:
PlayKeys.fileWatchService := play.sbtplugin.run.PlayWatchService.sbt(pollInterval.value)
This is the new syntax for the play polling, as of 2.4.0. Check the migration reports up to the version you are using if this causes another error to see if they've changed it again.
Just wondering, am I crazy to have expected some sort of This is Deprecated
message to be spit out instead of just blind condemnation of all that I've done? That seems like something that would be good to add for the future.