1
1
import _root_ .scalafix .sbt .BuildInfo .{scalafixVersion , scala212 => scalafixScala212 }
2
- import com .lightbend .tools .scalamoduleplugin .ScalaModulePlugin ._
3
-
4
- import scala .sys .process ._
5
2
6
3
lazy val commonSettings = Seq (
7
- scalaModuleAutomaticModuleName := Some (" scala.collection.compat" ),
8
4
headerLicense := Some (HeaderLicense .Custom (s """ |Scala (https://www.scala-lang.org)
9
5
|
10
6
|Copyright EPFL and Lightbend, Inc.
@@ -36,16 +32,16 @@ lazy val root = project
36
32
compat213Native,
37
33
compat30JVM,
38
34
compat30JS,
39
- `scalafix-data211` ,
40
- `scalafix-data212` ,
41
- `scalafix-data213` ,
42
- `scalafix-input` ,
43
- `scalafix-output211` ,
44
- `scalafix-output212` ,
45
- `scalafix-output213` ,
46
- // `scalafix-output213-failure` ,
47
- `scalafix-rules` ,
48
- `scalafix-tests`
35
+ scalafixData211 ,
36
+ scalafixData212 ,
37
+ scalafixData213 ,
38
+ scalafixInput ,
39
+ scalafixOutput211 ,
40
+ scalafixOutput212 ,
41
+ scalafixOutput213 ,
42
+ // scalafixOutput213Failure ,
43
+ scalafixRules ,
44
+ scalafixTests
49
45
)
50
46
.disablePlugins(ScalafixPlugin )
51
47
@@ -60,11 +56,12 @@ lazy val scala30 = "3.0.2"
60
56
61
57
lazy val compat = MultiScalaCrossProject (JSPlatform , JVMPlatform , NativePlatform )(
62
58
" compat" ,
63
- _.settings(scalaModuleSettings)
59
+ _.settings(ScalaModulePlugin . scalaModuleSettings)
64
60
.settings(commonSettings)
65
61
.settings(
66
62
name := " scala-collection-compat" ,
67
63
moduleName := " scala-collection-compat" ,
64
+ scalaModuleAutomaticModuleName := Some (" scala.collection.compat" ),
68
65
scalacOptions ++= Seq (" -feature" , " -language:higherKinds" , " -language:implicitConversions" ),
69
66
Compile / unmanagedSourceDirectories += {
70
67
val sharedSourceDir = (ThisBuild / baseDirectory).value / " compat/src/main"
@@ -132,20 +129,20 @@ lazy val compat213Native = compat213.native
132
129
lazy val compat30JVM = compat30.jvm
133
130
lazy val compat30JS = compat30.js
134
131
135
- lazy val `binary-compat-old` = project
132
+ lazy val binaryCompatOld = project
136
133
.in(file(" binary-compat/old" ))
137
134
.settings(commonSettings)
138
135
.settings(scalaVersion := scala212)
139
136
.disablePlugins(ScalafixPlugin )
140
137
141
- lazy val `binary-compat-new` = project
138
+ lazy val binaryCompatNew = project
142
139
.in(file(" binary-compat/new" ))
143
140
.settings(commonSettings)
144
141
.settings(scalaVersion := scala212)
145
142
.dependsOn(compat212JVM)
146
143
.disablePlugins(ScalafixPlugin )
147
144
148
- lazy val `binary-compat` = project
145
+ lazy val binaryCompat = project
149
146
.in(file(" binary-compat/test" ))
150
147
.settings(commonSettings)
151
148
.settings(
@@ -155,24 +152,25 @@ lazy val `binary-compat` = project
155
152
versionPolicyIntention := Compatibility .None ,
156
153
buildInfoPackage := " build" ,
157
154
buildInfoKeys := Seq [BuildInfoKey ](
158
- " oldClasses" -> (`binary-compat-old` / Compile / classDirectory).value.toString,
159
- " newClasses" -> (`binary-compat-new` / Compile / classDirectory).value.toString
155
+ " oldClasses" -> (binaryCompatOld / Compile / classDirectory).value.toString,
156
+ " newClasses" -> (binaryCompatNew / Compile / classDirectory).value.toString
160
157
),
161
158
Test / test := (Test / test)
162
159
.dependsOn(
163
- `binary-compat-old` / Compile / compile,
164
- `binary-compat-new` / Compile / compile,
160
+ binaryCompatOld / Compile / compile,
161
+ binaryCompatNew / Compile / compile,
165
162
)
166
163
.value
167
164
)
168
165
.enablePlugins(BuildInfoPlugin )
169
166
.disablePlugins(ScalafixPlugin )
170
167
171
- lazy val `scalafix-rules` = project
168
+ lazy val scalafixRules = project
172
169
.in(file(" scalafix/rules" ))
173
- .settings(scalaModuleSettings)
170
+ .settings(ScalaModulePlugin . scalaModuleSettings)
174
171
.settings(commonSettings)
175
172
.settings(
173
+ scalaModuleAutomaticModuleName := None ,
176
174
organization := (compat212JVM / organization).value,
177
175
publishTo := (compat212JVM / publishTo).value,
178
176
versionPolicyIntention := Compatibility .None ,
@@ -193,39 +191,43 @@ lazy val sharedScalafixSettings = Seq(
193
191
)
194
192
195
193
// common part between input/output
196
- lazy val `scalafix-data` = MultiScalaProject (
197
- " scalafix-data " ,
194
+ lazy val scalafixData = MultiScalaProject (
195
+ " scalafixData " ,
198
196
" scalafix/data" ,
199
197
_.settings(sharedScalafixSettings)
200
198
.settings(commonSettings)
201
199
.settings(publish / skip := true )
202
200
)
203
201
204
- val `scalafix-data211` = `scalafix-data` (scala211, _.dependsOn(compat211JVM))
205
- val `scalafix-data212` = `scalafix-data` (scalafixScala212, _.dependsOn(compat212JVM))
206
- val `scalafix-data213` = `scalafix-data` (scala213, _.dependsOn(compat213JVM))
202
+ val scalafixData211 = scalafixData (scala211, _.dependsOn(compat211JVM))
203
+ val scalafixData212 = scalafixData (scalafixScala212, _.dependsOn(compat212JVM))
204
+ val scalafixData213 = scalafixData (scala213, _.dependsOn(compat213JVM))
207
205
208
- lazy val `scalafix-input` = project
206
+ lazy val scalafixInput = project
209
207
.in(file(" scalafix/input" ))
210
208
.settings(commonSettings)
211
209
.settings(sharedScalafixSettings)
212
210
.settings(
213
211
scalaVersion := scalafixScala212,
214
212
publish / skip := true ,
213
+ excludeFilter := HiddenFileFilter || " *.scala" , // exclude from headerCheck
215
214
addCompilerPlugin(scalafixSemanticdb),
216
215
scalacOptions ++= Seq (
217
216
" -Yrangepos" ,
218
217
" -P:semanticdb:synthetics:on"
219
218
)
220
219
)
221
- .dependsOn(`scalafix-data212` )
220
+ .dependsOn(scalafixData212 )
222
221
223
- val `scalafix-output` = MultiScalaProject (
224
- " scalafix-output " ,
222
+ val scalafixOutput = MultiScalaProject (
223
+ " scalafixOutput " ,
225
224
" scalafix/output" ,
226
225
_.settings(sharedScalafixSettings)
227
226
.settings(commonSettings)
228
- .settings(publish / skip := true )
227
+ .settings(
228
+ publish / skip := true ,
229
+ excludeFilter := HiddenFileFilter || " *.scala" , // exclude from headerCheck
230
+ )
229
231
.disablePlugins(ScalafixPlugin )
230
232
)
231
233
@@ -244,32 +246,32 @@ lazy val output213 =
244
246
Def .setting((ThisBuild / baseDirectory).value / " scalafix/output213/src/main/scala" )
245
247
lazy val addOutput213 = Compile / unmanagedSourceDirectories += output213.value
246
248
247
- lazy val `scalafix-output211` = `scalafix-output` (
249
+ lazy val scalafixOutput211 = scalafixOutput (
248
250
scala211,
249
- _.dependsOn(`scalafix-data211` )
251
+ _.dependsOn(scalafixData211 )
250
252
)
251
253
252
- lazy val `scalafix-output212` = `scalafix-output` (
254
+ lazy val scalafixOutput212 = scalafixOutput (
253
255
scala212,
254
256
_.settings(addOutput212)
255
257
.settings(addOutput212Plus)
256
- .dependsOn(`scalafix-data212` )
258
+ .dependsOn(scalafixData212 )
257
259
)
258
260
259
- lazy val `scalafix-output213` = `scalafix-output` (
261
+ lazy val scalafixOutput213 = scalafixOutput (
260
262
scala213,
261
263
_.settings(addOutput213)
262
264
.settings(addOutput212Plus)
263
- .dependsOn(`scalafix-data213` )
265
+ .dependsOn(scalafixData213 )
264
266
)
265
267
266
- lazy val `scalafix-output213-failure` = project
268
+ lazy val scalafixOutput213Failure = project
267
269
.in(file(" scalafix/output213-failure" ))
268
270
.settings(commonSettings)
269
271
.settings(sharedScalafixSettings)
270
272
.settings(publish / skip := true )
271
273
272
- lazy val `scalafix-tests` = project
274
+ lazy val scalafixTests = project
273
275
.in(file(" scalafix/tests" ))
274
276
.settings(commonSettings)
275
277
.settings(sharedScalafixSettings)
@@ -283,10 +285,10 @@ lazy val `scalafix-tests` = project
283
285
output212Plus.value,
284
286
output213.value
285
287
),
286
- scalafixTestkitInputSourceDirectories := (`scalafix-input` / Compile / sourceDirectories).value,
287
- scalafixTestkitInputClasspath := (`scalafix-input` / Compile / fullClasspath).value,
288
+ scalafixTestkitInputSourceDirectories := (scalafixInput / Compile / sourceDirectories).value,
289
+ scalafixTestkitInputClasspath := (scalafixInput / Compile / fullClasspath).value,
288
290
)
289
- .dependsOn(`scalafix-input`, `scalafix-rules` )
291
+ .dependsOn(scalafixInput, scalafixRules )
290
292
.enablePlugins(BuildInfoPlugin , ScalafixTestkitPlugin )
291
293
292
294
val travisScalaVersion = sys.env.get(" TRAVIS_SCALA_VERSION" ).flatMap(Version .parse)
@@ -299,9 +301,10 @@ val isBinaryCompat = sys.env.get("TEST_BINARY_COMPAT").nonEmpty
299
301
val jdkVersion = sys.env.get(" ADOPTOPENJDK" ).map(_.toInt)
300
302
301
303
// required by sbt-scala-module
302
- inThisBuild(
304
+ inThisBuild {
305
+ import scala .sys .process ._
303
306
Seq (
304
- commands += Command .command(" scalafmt-test " ) { state =>
307
+ commands += Command .command(" scalafmtTest " ) { state =>
305
308
val exitCode = Seq (" admin/scalafmt.sh" , " --test" ) ! state.globalLogging.full
306
309
if (exitCode == 0 ) state else state.fail
307
310
},
@@ -312,7 +315,7 @@ inThisBuild(
312
315
commands += Command .command(" ci" ) { state =>
313
316
val toRun : Seq [String ] =
314
317
if (isScalafmt) {
315
- Seq (" scalafmt-test " )
318
+ Seq (" scalafmtTest " )
316
319
} else {
317
320
List (
318
321
" TRAVIS_SCALA_VERSION" ,
@@ -328,11 +331,11 @@ inThisBuild(
328
331
val platformSuffix = if (isScalaJs) " JS" else if (isScalaNative) " Native" else " "
329
332
330
333
val compatProject = " compat" + travisScalaVersion.get.binary + platformSuffix
331
- val binaryCompatProject = " binary-compat "
334
+ val binaryCompatProject = " binaryCompat "
332
335
333
336
val testProjectPrefix =
334
337
if (isScalafix) {
335
- " scalafix-tests "
338
+ " scalafixTests "
336
339
} else if (isBinaryCompat) {
337
340
binaryCompatProject
338
341
} else {
@@ -341,7 +344,7 @@ inThisBuild(
341
344
342
345
val projectPrefix =
343
346
if (isScalafix) {
344
- " scalafix-rules "
347
+ " scalafixRules "
345
348
} else if (isBinaryCompat) {
346
349
binaryCompatProject
347
350
} else {
@@ -372,6 +375,7 @@ inThisBuild(
372
375
List (s " $projectPrefix/clean " ),
373
376
List (s " $testProjectPrefix/test " ),
374
377
List (s " $projectPrefix/publishLocal " ),
378
+ List (" headerCheck" ),
375
379
publishTask
376
380
).flatten
377
381
}
@@ -385,4 +389,4 @@ inThisBuild(
385
389
state.copy(remainingCommands = newCommands ::: state.remainingCommands)
386
390
}
387
391
)
388
- )
392
+ }
0 commit comments