blob: 595d7fe972cb6e8910ae0393a5d01bbdb495aece (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
import sbt._
import sbt.Keys._
import play._
import play.PlayImport.PlayKeys._
import scala.scalajs.sbtplugin.ScalaJSPlugin
import scala.scalajs.sbtplugin.ScalaJSPlugin.ScalaJSKeys._
package object util {
implicit class ScalaJSPlayProject(val project: Project) {
def dependsOnJs(reference: Project): Project = project.settings(
resourceGenerators in Compile += Def.task{
val outDir: File = (resourceManaged in Compile).value / "public" / "lib"
val optimized: Seq[File] = (fastOptJS in (reference, Compile)).value.allCode.map(_.path).map(file(_))
val outFiles = optimized.map(file => outDir / file.name)
for ((opt, out) <- optimized zip outFiles) {
if (!out.exists || out.lastModified < opt.lastModified) {
IO.copyFile(opt, out, true)
val map = opt.getParentFile / (out.name + ".map")
IO.copyFile(map, outDir / map.name)
}
}
outFiles
}.taskValue,
playMonitoredFiles ++= (watchSources in reference).value.map(_.getCanonicalPath)
)
}
}
|