-
Notifications
You must be signed in to change notification settings - Fork 6
/
build.sbt
40 lines (29 loc) · 1.2 KB
/
build.sbt
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
33
34
35
36
37
38
39
40
import play.sbt.PlayImport.PlayKeys.playRunHooks
name := """play-webpack"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayScala)
scalaVersion := "2.12.2"
libraryDependencies ++= Seq(
guice,
ws,
"org.scalatestplus.play" %% "scalatestplus-play" % "3.0.0" % Test
)
// Starts: Prevent documentation of API for production bundles
sources in (Compile, doc) := Seq.empty
publishArtifact in (Compile, packageDoc) := false
// Ends.
//resolvers += "scalaz-bintray" at "http://dl.bintray.com/scalaz/releases"
// Starts: Webpack build task
lazy val isWin = System.getProperty("os.name").toUpperCase().contains("WIN")
val appPath = if (isWin) "app\\frontend" else "./app/frontend"
val webpackBuild = taskKey[Unit]("Webpack build task.")
webpackBuild := {
if (isWin) Process("cmd /c npm run build", file(appPath)).run
else Process("npm run build", file(appPath)).run
}
(packageBin in Universal) := ((packageBin in Universal) dependsOn webpackBuild).value
// Ends.
// Starts: Webpack server process when running locally and build actions for production bundle
lazy val frontendDirectory = baseDirectory {_ / appPath}
playRunHooks += frontendDirectory.map(WebpackServer(_)).value
// Ends.