@@ -27,19 +27,20 @@ inThisBuild(Seq(
27
27
},
28
28
))
29
29
30
- val generatedDir = file(" generated" )
31
- val compileStatics = taskKey[Unit ](" Compiles all static files." )
30
+ val generatedGlobalDir = file(" generated/global" )
32
31
val 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 )
34
33
.settings(
35
34
libraryDependencies ++= Dependencies .deps.value,
36
35
jsDependencies ++= Dependencies .jsDeps.value,
37
36
37
+ sourceDirsSettings(_.getParentFile),
38
+
38
39
/* 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 ,
43
44
44
45
Compile / fastOptJS := (Compile / fastOptJS).dependsOn(copyAssets).value,
45
46
Compile / fullOptJS := (Compile / fullOptJS).dependsOn(copyAssets).value,
@@ -48,8 +49,8 @@ val `jquery-demo` = project.in(file(".")).enablePlugins(ScalaJSPlugin)
48
49
49
50
copyAssets := {
50
51
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"
53
54
)
54
55
},
55
56
@@ -63,30 +64,55 @@ val `jquery-demo` = project.in(file(".")).enablePlugins(ScalaJSPlugin)
63
64
(Compile / packageMinifiedJSDependencies / crossTarget).value / " scripts" / " frontend-deps.js"
64
65
)
65
66
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" ))
67
70
.enablePlugins(ScalaJSBundlerPlugin )
68
71
.settings(
69
72
libraryDependencies ++= Dependencies .deps.value,
73
+
74
+ sourceDirsSettings(_.getParentFile),
70
75
71
76
Compile / scalaJSUseMainModuleInitializer := true ,
72
77
73
78
copyAssets := {
74
79
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"
77
82
)
78
83
},
79
84
80
85
compileStatics := {
81
86
val sjsFileName = (Compile / fastOptJS).value.data.name.stripSuffix(" .js" )
82
87
IO .copyFile(
83
88
(Compile / npmUpdate / crossTarget).value / s " $sjsFileName-bundle.js " ,
84
- generatedDir / " scripts/frontend.js"
89
+ generatedBundlerDir / " scripts/frontend.js"
85
90
)
86
91
IO .copyFile(
87
92
(Compile / npmUpdate / crossTarget).value / s " $sjsFileName-bundle.js.map " ,
88
- generatedDir / " scripts/frontend.js.map"
93
+ generatedBundlerDir / " scripts/frontend.js.map"
89
94
)
90
95
},
91
96
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