@@ -7,6 +7,7 @@ val supportedScalaVersion = Seq(scala212Version, scala213Version)
7
7
8
8
val scalatestVersion = " 3.0.8"
9
9
val scalacticVersion = " 3.0.8"
10
+ val enableIfVersion = " 1.1.7"
10
11
11
12
organization in ThisBuild := " net.exoego"
12
13
@@ -18,10 +19,12 @@ lazy val commonSettings = Seq(
18
19
" -unchecked" ,
19
20
" -feature" ,
20
21
" -language:implicitConversions" ,
21
- " -Xlint" ,
22
- " -Xfatal-warnings"
22
+ " -Xlint"
23
23
),
24
- scalacOptions in (Compile , doc) ++= Seq (" -no-link-warnings" )
24
+ scalacOptions in (Compile , doc) ++= Seq (
25
+ " -Xfatal-warnings" ,
26
+ " -no-link-warnings"
27
+ )
25
28
)
26
29
lazy val commonScalaJsSettings = Seq (
27
30
scalacOptions += " -P:scalajs:sjsDefinedByDefault" ,
@@ -43,13 +46,14 @@ lazy val commonMacroParadiseSetting = Seq(
43
46
}
44
47
)
45
48
val nonPublishingSetting = Seq (
49
+ skip in publish := true ,
46
50
publishArtifact := false ,
47
51
publish := {},
48
52
publishLocal := {}
49
53
)
50
54
51
55
lazy val root = (project in file(" ." ))
52
- .aggregate(core, common , nodejs_v8)
56
+ .aggregate(core, current , nodejs_v8)
53
57
.settings(commonSettings)
54
58
.settings(publishingSettings)
55
59
.settings(nonPublishingSetting)
@@ -70,40 +74,80 @@ lazy val core = (project in file("./core"))
70
74
)
71
75
)
72
76
73
- lazy val common = (project in file(" ./app/common" ))
77
+ lazy val compilerSwitches = (project in file(" ./compiler-switches" ))
78
+ .settings(commonSettings)
79
+ .settings(nonPublishingSetting)
80
+ .settings(
81
+ libraryDependencies ++= Seq (
82
+ " org.scala-lang" % " scala-reflect" % scalaVersion.value
83
+ )
84
+ )
85
+
86
+ lazy val current = (project in file(" ./app/current" ))
74
87
.enablePlugins(ScalaJSPlugin )
75
88
.settings(commonSettings)
76
89
.settings(commonScalaJsSettings)
77
90
.settings(commonMacroParadiseSetting)
78
91
.settings(publishingSettings)
79
92
.settings(
80
- name := " scala-js-nodejs-common" ,
93
+ scalacOptions ++= Seq (
94
+ " -Xmacro-settings:nodeJs12.5.0"
95
+ ),
96
+ name := " scala-js-nodejs-v12" ,
81
97
libraryDependencies ++= Seq (
82
- " org.scala-lang" % " scala-reflect" % scalaVersion.value,
83
- " org.scalactic" %% " scalactic" % scalacticVersion,
84
- " org.scalatest" %%% " scalatest" % scalatestVersion % " test"
98
+ " org.scala-lang" % " scala-reflect" % scalaVersion.value,
99
+ " org.scalactic" %% " scalactic" % scalacticVersion,
100
+ " org.scalatest" %%% " scalatest" % scalatestVersion % " test" ,
101
+ " com.thoughtworks.enableIf" %% " enableif" % enableIfVersion
85
102
)
86
103
)
87
- .dependsOn(core)
104
+ .dependsOn(core, compilerSwitches )
88
105
89
- lazy val nodejs_v8 = (project in file(" ./app/nodejs_v8" ))
90
- .dependsOn(common)
106
+ lazy val nodejs_v10 = (project in file(" ./app/nodejs-v10" ))
91
107
.enablePlugins(ScalaJSPlugin )
92
108
.settings(commonSettings)
93
109
.settings(commonScalaJsSettings)
94
110
.settings(commonMacroParadiseSetting)
95
111
.settings(publishingSettings)
96
112
.settings(
113
+ unmanagedSourceDirectories in Compile += (baseDirectory in current).value / " src" / " main" / " scala" ,
114
+ scalacOptions ++= Seq (
115
+ " -Xmacro-settings:nodeJs10.16.0"
116
+ ),
117
+ name := " scala-js-nodejs-v10" ,
118
+ description := " NodeJS v10.16.0 API for Scala.js" ,
119
+ homepage := Some (url(" https://github.com/exoego/scala-js-nodejs" )),
120
+ libraryDependencies ++= Seq (
121
+ " org.scala-lang" % " scala-reflect" % scalaVersion.value,
122
+ " org.scalactic" %% " scalactic" % scalacticVersion,
123
+ " org.scalatest" %%% " scalatest" % scalatestVersion % " test" ,
124
+ " com.thoughtworks.enableIf" %% " enableif" % enableIfVersion
125
+ )
126
+ )
127
+ .dependsOn(core, compilerSwitches)
128
+
129
+ lazy val nodejs_v8 = (project in file(" ./app/nodejs-v8" ))
130
+ .enablePlugins(ScalaJSPlugin )
131
+ .settings(commonSettings)
132
+ .settings(commonScalaJsSettings)
133
+ .settings(commonMacroParadiseSetting)
134
+ .settings(publishingSettings)
135
+ .settings(
136
+ unmanagedSourceDirectories in Compile += (baseDirectory in current).value / " src" / " main" / " scala" ,
137
+ scalacOptions ++= Seq (
138
+ " -Xmacro-settings:nodeJs8.16.0"
139
+ ),
97
140
name := " scala-js-nodejs-v8" ,
98
- description := " NodeJS v8.7 .0 API for Scala.js" ,
141
+ description := " NodeJS v8.16 .0 API for Scala.js" ,
99
142
homepage := Some (url(" https://github.com/exoego/scala-js-nodejs" )),
100
143
libraryDependencies ++= Seq (
101
- " org.scala-lang" % " scala-reflect" % scalaVersion.value,
102
- " org.scalactic" %% " scalactic" % scalacticVersion,
103
- " org.scalatest" %%% " scalatest" % scalatestVersion % " test"
144
+ " org.scala-lang" % " scala-reflect" % scalaVersion.value,
145
+ " org.scalactic" %% " scalactic" % scalacticVersion,
146
+ " org.scalatest" %%% " scalatest" % scalatestVersion % " test" ,
147
+ " com.thoughtworks.enableIf" %% " enableif" % enableIfVersion
104
148
)
105
149
)
106
- .dependsOn(core)
150
+ .dependsOn(core, compilerSwitches )
107
151
108
152
lazy val publishingSettings = Seq (
109
153
licenses := Seq (" APL2" -> url(" http://www.apache.org/licenses/LICENSE-2.0.txt" )),
0 commit comments