Skip to content

Commit 8eaefa6

Browse files
authored
Merge pull request #366 from SethTisue/slash-syntax
clean up build (including a fix to make LazyListGCTest run)
2 parents e9d8ecd + b68f033 commit 8eaefa6

File tree

2 files changed

+50
-56
lines changed

2 files changed

+50
-56
lines changed

build.sbt

Lines changed: 38 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,16 @@ lazy val commonSettings = Seq(
1313
|
1414
|See the NOTICE file distributed with this work for
1515
|additional information regarding copyright ownership.
16-
|""".stripMargin)),
17-
scalaModuleMimaPreviousVersion := Some("2.2.0"),
18-
mimaBinaryIssueFilters ++= {
19-
import com.typesafe.tools.mima.core._
20-
import com.typesafe.tools.mima.core.ProblemFilters._
21-
Seq(
22-
exclude[ReversedMissingMethodProblem]("scala.collection.compat.PackageShared.*"), // it's package-private
23-
)
24-
}
16+
|""".stripMargin))
2517
)
2618

2719
lazy val root = project
2820
.in(file("."))
2921
.settings(commonSettings)
30-
.settings(name := "scala-collection-compat")
31-
.settings(dontPublish)
22+
.settings(
23+
name := "scala-collection-compat",
24+
publish / skip := true
25+
)
3226
.aggregate(
3327
compat211JVM,
3428
compat211JS,
@@ -66,26 +60,34 @@ lazy val compat = MultiScalaCrossProject(JSPlatform, JVMPlatform, NativePlatform
6660
name := "scala-collection-compat",
6761
moduleName := "scala-collection-compat",
6862
scalacOptions ++= Seq("-feature", "-language:higherKinds", "-language:implicitConversions"),
69-
unmanagedSourceDirectories in Compile += {
70-
val sharedSourceDir = (baseDirectory in ThisBuild).value / "compat/src/main"
63+
Compile / unmanagedSourceDirectories += {
64+
val sharedSourceDir = (ThisBuild / baseDirectory).value / "compat/src/main"
7165
if (scalaVersion.value.startsWith("2.13.")) sharedSourceDir / "scala-2.13"
7266
else sharedSourceDir / "scala-2.11_2.12"
7367
},
74-
Test / sourceDirectories += (ThisBuild / baseDirectory).value / "compat/src/test/scala-jvm"
7568
)
7669
.jvmSettings(
77-
junit
70+
Test / unmanagedSourceDirectories += (ThisBuild / baseDirectory).value / "compat/src/test/scala-jvm",
71+
junit,
72+
scalaModuleMimaPreviousVersion := Some("2.2.0"),
73+
mimaBinaryIssueFilters ++= {
74+
import com.typesafe.tools.mima.core._
75+
import com.typesafe.tools.mima.core.ProblemFilters._
76+
Seq(
77+
exclude[ReversedMissingMethodProblem]("scala.collection.compat.PackageShared.*"), // it's package-private
78+
)
79+
},
7880
)
7981
.jsSettings(
8082
scalacOptions += {
81-
val x = (baseDirectory in LocalRootProject).value.toURI.toString
83+
val x = (LocalRootProject / baseDirectory).value.toURI.toString
8284
val y = "https://raw.githubusercontent.com/scala/scala-collection-compat/" + sys.process
8385
.Process("git rev-parse HEAD")
8486
.lineStream_!
8587
.head
8688
s"-P:scalajs:mapSourceURI:$x->$y/"
8789
},
88-
fork in Test := false // Scala.js cannot run forked tests
90+
Test / fork := false // Scala.js cannot run forked tests
8991
)
9092
.jsConfigure(_.enablePlugins(ScalaJSJUnitPlugin))
9193
.disablePlugins(ScalafixPlugin)
@@ -131,13 +133,13 @@ lazy val `binary-compat` = project
131133
junit,
132134
buildInfoPackage := "build",
133135
buildInfoKeys := Seq[BuildInfoKey](
134-
"oldClasses" -> (classDirectory in (`binary-compat-old`, Compile)).value.toString,
135-
"newClasses" -> (classDirectory in (`binary-compat-new`, Compile)).value.toString
136+
"oldClasses" -> (`binary-compat-old` / Compile / classDirectory).value.toString,
137+
"newClasses" -> (`binary-compat-new` / Compile / classDirectory).value.toString
136138
),
137-
test in Test := (test in Test)
139+
Test / test := (Test / test)
138140
.dependsOn(
139-
compile in (`binary-compat-old`, Compile),
140-
compile in (`binary-compat-new`, Compile)
141+
`binary-compat-old` / Compile / compile,
142+
`binary-compat-new` / Compile / compile,
141143
)
142144
.value
143145
)
@@ -149,8 +151,8 @@ lazy val `scalafix-rules` = project
149151
.settings(scalaModuleSettings)
150152
.settings(commonSettings)
151153
.settings(
152-
organization := (organization in compat212JVM).value,
153-
publishTo := (publishTo in compat212JVM).value,
154+
organization := (compat212JVM / organization).value,
155+
publishTo := (compat212JVM / publishTo).value,
154156
name := "scala-collection-migrations",
155157
scalaVersion := scalafixScala212,
156158
libraryDependencies += "ch.epfl.scala" %% "scalafix-core" % scalafixVersion
@@ -173,7 +175,7 @@ lazy val `scalafix-data` = MultiScalaProject(
173175
"scalafix/data",
174176
_.settings(sharedScalafixSettings)
175177
.settings(commonSettings)
176-
.settings(dontPublish)
178+
.settings(publish / skip := true)
177179
)
178180

179181
val `scalafix-data211` = `scalafix-data`(scala211, _.dependsOn(compat211JVM))
@@ -184,9 +186,9 @@ lazy val `scalafix-input` = project
184186
.in(file("scalafix/input"))
185187
.settings(commonSettings)
186188
.settings(sharedScalafixSettings)
187-
.settings(dontPublish)
188189
.settings(
189190
scalaVersion := scalafixScala212,
191+
publish / skip := true,
190192
addCompilerPlugin(scalafixSemanticdb),
191193
scalacOptions ++= Seq(
192194
"-Yrangepos",
@@ -200,24 +202,24 @@ val `scalafix-output` = MultiScalaProject(
200202
"scalafix/output",
201203
_.settings(sharedScalafixSettings)
202204
.settings(commonSettings)
203-
.settings(dontPublish)
205+
.settings(publish / skip := true)
204206
.disablePlugins(ScalafixPlugin)
205207
)
206208

207209
lazy val outputCross =
208-
Def.setting((baseDirectory in ThisBuild).value / "scalafix/output/src/main/scala")
210+
Def.setting((ThisBuild / baseDirectory).value / "scalafix/output/src/main/scala")
209211

210212
lazy val output212 =
211-
Def.setting((baseDirectory in ThisBuild).value / "scalafix/output212/src/main/scala")
212-
lazy val addOutput212 = unmanagedSourceDirectories in Compile += output212.value
213+
Def.setting((ThisBuild / baseDirectory).value / "scalafix/output212/src/main/scala")
214+
lazy val addOutput212 = Compile / unmanagedSourceDirectories += output212.value
213215

214216
lazy val output212Plus =
215-
Def.setting((baseDirectory in ThisBuild).value / "scalafix/output212+/src/main/scala")
216-
lazy val addOutput212Plus = unmanagedSourceDirectories in Compile += output212Plus.value
217+
Def.setting((ThisBuild / baseDirectory).value / "scalafix/output212+/src/main/scala")
218+
lazy val addOutput212Plus = Compile / unmanagedSourceDirectories += output212Plus.value
217219

218220
lazy val output213 =
219-
Def.setting((baseDirectory in ThisBuild).value / "scalafix/output213/src/main/scala")
220-
lazy val addOutput213 = unmanagedSourceDirectories in Compile += output213.value
221+
Def.setting((ThisBuild / baseDirectory).value / "scalafix/output213/src/main/scala")
222+
lazy val addOutput213 = Compile / unmanagedSourceDirectories += output213.value
221223

222224
lazy val `scalafix-output211` = `scalafix-output`(
223225
scala211,
@@ -242,15 +244,15 @@ lazy val `scalafix-output213-failure` = project
242244
.in(file("scalafix/output213-failure"))
243245
.settings(commonSettings)
244246
.settings(sharedScalafixSettings)
245-
.settings(dontPublish)
247+
.settings(publish / skip := true)
246248

247249
lazy val `scalafix-tests` = project
248250
.in(file("scalafix/tests"))
249251
.settings(commonSettings)
250252
.settings(sharedScalafixSettings)
251-
.settings(dontPublish)
252253
.settings(
253254
scalaVersion := scalafixScala212,
255+
publish / skip := true,
254256
libraryDependencies += "ch.epfl.scala" % "scalafix-testkit" % scalafixVersion % Test cross CrossVersion.full,
255257
scalafixTestkitOutputSourceDirectories := Seq(
256258
outputCross.value,
@@ -264,14 +266,6 @@ lazy val `scalafix-tests` = project
264266
.dependsOn(`scalafix-input`, `scalafix-rules`)
265267
.enablePlugins(BuildInfoPlugin, ScalafixTestkitPlugin)
266268

267-
lazy val dontPublish = Seq(
268-
publishArtifact := false,
269-
packagedArtifacts := Map.empty,
270-
publish := {},
271-
publishLocal := {},
272-
scalaModuleMimaPreviousVersion := None
273-
)
274-
275269
val travisScalaVersion = sys.env.get("TRAVIS_SCALA_VERSION").flatMap(Version.parse)
276270
val isTravisTag = sys.env.get("TRAVIS_TAG").exists(_.nonEmpty)
277271
val isScalaJs = sys.env.get("SCALAJS_VERSION").exists(_.nonEmpty)

project/MultiScalaProject.scala

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -36,23 +36,23 @@ trait MultiScala {
3636

3737
def srcFull(base: String): Seq[Def.Setting[_]] = {
3838
Seq(
39-
unmanagedSourceDirectories in Compile +=
40-
(baseDirectory in ThisBuild).value / base / "src" / "main" / "scala",
41-
unmanagedSourceDirectories in Compile +=
42-
(baseDirectory in ThisBuild).value / base / "src" / "main" / ("scala-" + scalaBinaryVersion.value),
43-
unmanagedSourceDirectories in Compile ++= {
44-
val sourceDir = (baseDirectory in ThisBuild).value / base / "src" / "main"
39+
Compile / unmanagedSourceDirectories +=
40+
(ThisBuild / baseDirectory).value / base / "src" / "main" / "scala",
41+
Compile / unmanagedSourceDirectories +=
42+
(ThisBuild / baseDirectory).value / base / "src" / "main" / ("scala-" + scalaBinaryVersion.value),
43+
Compile / unmanagedSourceDirectories ++= {
44+
val sourceDir = (ThisBuild / baseDirectory).value / base / "src" / "main"
4545
CrossVersion.partialVersion(scalaVersion.value) match {
4646
case Some((2, n)) if n >= 12 => List(sourceDir / "scala-2.12+")
4747
case _ => Nil
4848
}
4949
},
50-
unmanagedSourceDirectories in Test +=
51-
(baseDirectory in ThisBuild).value / base / "src" / "test" / "scala",
52-
unmanagedResourceDirectories in Compile +=
53-
(baseDirectory in ThisBuild).value / base / "src" / "main" / "resources",
54-
unmanagedResourceDirectories in Test +=
55-
(baseDirectory in ThisBuild).value / base / "src" / "test" / "resources"
50+
Test / unmanagedSourceDirectories +=
51+
(ThisBuild / baseDirectory).value / base / "src" / "test" / "scala",
52+
Compile / unmanagedResourceDirectories +=
53+
(ThisBuild / baseDirectory).value / base / "src" / "main" / "resources",
54+
Test / unmanagedResourceDirectories +=
55+
(ThisBuild / baseDirectory).value / base / "src" / "test" / "resources"
5656
)
5757
}
5858
}

0 commit comments

Comments
 (0)