@@ -27,19 +27,20 @@ inThisBuild(Seq(
2727 },
2828))
2929
30- val generatedDir = file(" generated" )
31- val compileStatics = taskKey[Unit ](" Compiles all static files." )
30+ val generatedGlobalDir = file(" generated/global" )
3231val copyAssets = taskKey[Unit ](" Copies all assets to the target directory." )
33- val `jquery-demo` = project.in(file(" . " )).enablePlugins(ScalaJSPlugin )
32+ val `jquery-global- demo` = project.in(file(" global-demo " )).enablePlugins(ScalaJSPlugin )
3433 .settings(
3534 libraryDependencies ++= Dependencies .deps.value,
3635 jsDependencies ++= Dependencies .jsDeps.value,
3736
37+ sourceDirsSettings(_.getParentFile),
38+
3839 /* move these files out of target/. */
39- Compile / fullOptJS / crossTarget := generatedDir ,
40- Compile / fastOptJS / crossTarget := generatedDir ,
41- Compile / packageJSDependencies / crossTarget := generatedDir ,
42- Compile / packageMinifiedJSDependencies / crossTarget := generatedDir ,
40+ Compile / fullOptJS / crossTarget := generatedGlobalDir ,
41+ Compile / fastOptJS / crossTarget := generatedGlobalDir ,
42+ Compile / packageJSDependencies / crossTarget := generatedGlobalDir ,
43+ Compile / packageMinifiedJSDependencies / crossTarget := generatedGlobalDir ,
4344
4445 Compile / fastOptJS := (Compile / fastOptJS).dependsOn(copyAssets).value,
4546 Compile / fullOptJS := (Compile / fullOptJS).dependsOn(copyAssets).value,
@@ -48,8 +49,8 @@ val `jquery-demo` = project.in(file(".")).enablePlugins(ScalaJSPlugin)
4849
4950 copyAssets := {
5051 IO .copyFile(
51- sourceDirectory.value / " main/assets/index-global .html" ,
52- generatedDir / " index.html"
52+ sourceDirectory.value / " main/assets/index.html" ,
53+ generatedGlobalDir / " index.html"
5354 )
5455 },
5556
@@ -63,30 +64,55 @@ val `jquery-demo` = project.in(file(".")).enablePlugins(ScalaJSPlugin)
6364 (Compile / packageMinifiedJSDependencies / crossTarget).value / " scripts" / " frontend-deps.js"
6465 )
6566
66- val `jquery-bundler-demo` = project.in(file(" ." ))
67+ val generatedBundlerDir = file(" generated/bundler" )
68+ val compileStatics = taskKey[Unit ](" Compiles all static files." )
69+ val `jquery-bundler-demo` = project.in(file(" bundler-demo" ))
6770 .enablePlugins(ScalaJSBundlerPlugin )
6871 .settings(
6972 libraryDependencies ++= Dependencies .deps.value,
73+
74+ sourceDirsSettings(_.getParentFile),
7075
7176 Compile / scalaJSUseMainModuleInitializer := true ,
7277
7378 copyAssets := {
7479 IO .copyFile(
75- sourceDirectory.value / " main/assets/index-bundler .html" ,
76- generatedDir / " index.html"
80+ sourceDirectory.value / " main/assets/index.html" ,
81+ generatedBundlerDir / " index.html"
7782 )
7883 },
7984
8085 compileStatics := {
8186 val sjsFileName = (Compile / fastOptJS).value.data.name.stripSuffix(" .js" )
8287 IO .copyFile(
8388 (Compile / npmUpdate / crossTarget).value / s " $sjsFileName-bundle.js " ,
84- generatedDir / " scripts/frontend.js"
89+ generatedBundlerDir / " scripts/frontend.js"
8590 )
8691 IO .copyFile(
8792 (Compile / npmUpdate / crossTarget).value / s " $sjsFileName-bundle.js.map " ,
88- generatedDir / " scripts/frontend.js.map"
93+ generatedBundlerDir / " scripts/frontend.js.map"
8994 )
9095 },
9196 compileStatics := compileStatics.dependsOn(Compile / fastOptJS / webpack, copyAssets).value,
92- )
97+ )
98+
99+ def mkSourceDirs (base : File , scalaBinary : String , conf : String ): Seq [File ] = Seq (
100+ base / " src" / conf / " scala" ,
101+ base / " src" / conf / s " scala- $scalaBinary" ,
102+ base / " src" / conf / " java"
103+ )
104+
105+ def mkResourceDirs (base : File , conf : String ): Seq [File ] = Seq (
106+ base / " src" / conf / " resources"
107+ )
108+
109+ def sourceDirsSettings (baseMapper : File => File ) = Seq (
110+ Compile / unmanagedSourceDirectories ++=
111+ mkSourceDirs(baseMapper(baseDirectory.value), scalaBinaryVersion.value, " main" ),
112+ Compile / unmanagedResourceDirectories ++=
113+ mkResourceDirs(baseMapper(baseDirectory.value), " main" ),
114+ Test / unmanagedSourceDirectories ++=
115+ mkSourceDirs(baseMapper(baseDirectory.value), scalaBinaryVersion.value, " test" ),
116+ Test / unmanagedResourceDirectories ++=
117+ mkResourceDirs(baseMapper(baseDirectory.value), " test" ),
118+ )
0 commit comments