1
1
import sbtcrossproject .CrossProject
2
2
import sbtcrossproject .CrossType
3
3
4
- val munitVersion = " 0.7.29"
5
- val scalametaVersion = " 4.4.28"
6
- val defaultScala213 = " 2.13.6"
7
- val bin212 =
4
+ lazy val munitVersion = " 0.7.29"
5
+ lazy val scalametaVersion = " 4.4.28"
6
+ lazy val defaultScala212 = " 2.12.15"
7
+ lazy val defaultScala213 = " 2.13.6"
8
+ lazy val defaultScala3 = " 3.1.0"
9
+ lazy val bin212 =
8
10
Seq (
9
- " 2.12.15 " ,
11
+ defaultScala212 ,
10
12
" 2.12.14" ,
11
13
" 2.12.13" ,
12
14
" 2.12.12" ,
@@ -15,7 +17,7 @@ val bin212 =
15
17
" 2.12.9" ,
16
18
" 2.12.8"
17
19
)
18
- val bin213 =
20
+ lazy val bin213 =
19
21
Seq (
20
22
defaultScala213,
21
23
" 2.13.5" ,
@@ -80,8 +82,7 @@ lazy val sharedSettings = List(
80
82
} else {
81
83
scalacOptions.value
82
84
}
83
- },
84
- crossScalaVersions := bin212 ++ bin213
85
+ }
85
86
)
86
87
87
88
lazy val root = Project (" scalac-scoverage" , file(" ." ))
@@ -90,16 +91,17 @@ lazy val root = Project("scalac-scoverage", file("."))
90
91
publishArtifact := false ,
91
92
publishLocal := {}
92
93
)
93
- .aggregate(plugin, runtime.jvm, runtime.js)
94
+ .aggregate(plugin, runtime.jvm, runtime.js, reporter, domain, serializer )
94
95
95
96
lazy val runtime = CrossProject (
96
- " scalac-scoverage- runtime" ,
97
- file(" scalac-scoverage- runtime" )
97
+ " runtime" ,
98
+ file(" runtime" )
98
99
)(JVMPlatform , JSPlatform )
99
100
.crossType(CrossType .Full )
100
101
.withoutSuffixFor(JVMPlatform )
101
102
.settings(
102
103
name := " scalac-scoverage-runtime" ,
104
+ crossScalaVersions := Seq (defaultScala212, defaultScala213),
103
105
crossTarget := target.value / s " scala- ${scalaVersion.value}" ,
104
106
libraryDependencies ++= Seq (
105
107
" org.scalameta" %% " munit" % munitVersion % Test
@@ -113,26 +115,63 @@ lazy val runtime = CrossProject(
113
115
scalaJSStage := FastOptStage
114
116
)
115
117
116
- lazy val `scalac-scoverage- runtimeJVM` = runtime.jvm
117
- lazy val `scalac-scoverage- runtimeJS` = runtime.js
118
+ lazy val `runtimeJVM` = runtime.jvm
119
+ lazy val `runtimeJS` = runtime.js
118
120
119
121
lazy val plugin =
120
- Project ( " scalac-scoverage-plugin " , file( " scalac-scoverage-plugin " ))
121
- .dependsOn(`scalac-scoverage- runtimeJVM` % Test )
122
+ project
123
+ .dependsOn(runtimeJVM % Test )
122
124
.settings(
123
125
name := " scalac-scoverage-plugin" ,
124
126
crossTarget := target.value / s " scala- ${scalaVersion.value}" ,
127
+ crossScalaVersions := bin212 ++ bin213,
125
128
crossVersion := CrossVersion .full,
126
129
libraryDependencies ++= Seq (
127
- " org.scala-lang.modules" %% " scala-xml" % " 2.0.0" ,
128
130
" org.scalameta" %% " munit" % munitVersion % Test ,
129
131
" org.scala-lang" % " scala-compiler" % scalaVersion.value % Provided
130
132
),
131
133
sharedSettings
132
134
)
133
135
.settings(
134
- (Test / unmanagedSourceDirectories) += (Test / sourceDirectory).value / " scala-2.12+"
136
+ Test / unmanagedSourceDirectories += (Test / sourceDirectory).value / " scala-2.12+"
137
+ )
138
+ .dependsOn(domain, reporter % " test->compile" , serializer)
139
+
140
+ lazy val reporter =
141
+ project
142
+ .settings(
143
+ name := " scalac-scoverage-reporter" ,
144
+ libraryDependencies ++= Seq (
145
+ " org.scala-lang.modules" %% " scala-xml" % " 2.0.0" ,
146
+ " org.scalameta" %% " munit" % munitVersion % Test
147
+ ),
148
+ sharedSettings,
149
+ crossScalaVersions := Seq (defaultScala212, defaultScala213, defaultScala3)
150
+ )
151
+ .dependsOn(domain, serializer)
152
+
153
+ lazy val domain =
154
+ project
155
+ .settings(
156
+ name := " scalac-scoverage-domain" ,
157
+ libraryDependencies ++= Seq (
158
+ " org.scalameta" %% " munit" % munitVersion % Test
159
+ ),
160
+ sharedSettings,
161
+ crossScalaVersions := Seq (defaultScala212, defaultScala213, defaultScala3)
162
+ )
163
+
164
+ lazy val serializer =
165
+ project
166
+ .settings(
167
+ name := " scalac-scoverage-serializer" ,
168
+ libraryDependencies ++= Seq (
169
+ " org.scalameta" %% " munit" % munitVersion % Test
170
+ ),
171
+ sharedSettings,
172
+ crossScalaVersions := Seq (defaultScala212, defaultScala213, defaultScala3)
135
173
)
174
+ .dependsOn(domain)
136
175
137
176
addCommandAlias(
138
177
" styleFix" ,
0 commit comments