Skip to content

Commit 0f5ceb3

Browse files
Setup publishing for scalafix migrations
1 parent e1a5c59 commit 0f5ceb3

8 files changed

+72
-59
lines changed

build.sbt

+72-52
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,67 @@ import ScalaModulePlugin._
22
import sbtcrossproject.{crossProject, CrossType}
33
import _root_.scalafix.Versions.{version => scalafixVersion, scala212 => scalafixScala212}
44

5-
lazy val scala212 = "2.12.6"
6-
lazy val scala213 = "2.13.0-M4"
7-
8-
lazy val scala213Settings = Seq(
9-
resolvers += "scala-pr" at "https://scala-ci.typesafe.com/artifactory/scala-integration/",
10-
scalaVersion := scala213
11-
)
12-
13-
inThisBuild(Seq(
14-
crossScalaVersions := Seq(scala212, scala213, "2.11.12")
15-
))
16-
17-
185
lazy val root = project
196
.in(file("."))
7+
.settings(dontPublish)
208
.aggregate(
219
compatJVM, compatJS,
2210
scalafixRules, scalafixInput, scalafixTests,
2311
scalafixOutput212, scalafixOutput213
2412
)
2513
.disablePlugins(ScalafixPlugin)
2614

15+
// == Core Libraries ==
16+
17+
lazy val compat = crossProject(JSPlatform, JVMPlatform)
18+
.withoutSuffixFor(JVMPlatform)
19+
.crossType(CrossType.Pure)
20+
.in(file("compat"))
21+
.settings(scalaModuleSettings)
22+
.jvmSettings(scalaModuleSettingsJVM)
23+
.settings(
24+
name := "scala-collection-compat",
25+
version := "0.1-SNAPSHOT",
26+
scalacOptions ++= Seq("-feature", "-language:higherKinds", "-language:implicitConversions"),
27+
unmanagedSourceDirectories in Compile += {
28+
val sharedSourceDir = baseDirectory.value.getParentFile / "src/main"
29+
if (scalaVersion.value.startsWith("2.13.")) sharedSourceDir / "scala-2.13"
30+
else sharedSourceDir / "scala-2.11_2.12"
31+
}
32+
)
33+
.jvmSettings(
34+
OsgiKeys.exportPackage := Seq(s"scala.collection.compat.*;version=${version.value}"),
35+
libraryDependencies += "com.novocode" % "junit-interface" % "0.11" % "test"
36+
)
37+
.jsSettings(
38+
scalacOptions += {
39+
val x = (baseDirectory in LocalRootProject).value.toURI.toString
40+
val y = "https://raw.githubusercontent.com/scala/scala-collection-compat/" + sys.process.Process("git rev-parse HEAD").lines_!.head
41+
s"-P:scalajs:mapSourceURI:$x->$y/"
42+
},
43+
fork in Test := false // Scala.js cannot run forked tests
44+
)
45+
.jsConfigure(_.enablePlugins(ScalaJSJUnitPlugin))
46+
.disablePlugins(ScalafixPlugin)
47+
48+
lazy val compatJVM = compat.jvm
49+
lazy val compatJS = compat.js
50+
51+
lazy val scalafixRules = project
52+
.in(file("scalafix-rules"))
53+
.settings(scalaModuleSettings)
54+
.settings(
55+
name := "scala-collection-migrations",
56+
scalaVersion := scalafixScala212,
57+
libraryDependencies += "ch.epfl.scala" %% "scalafix-core" % scalafixVersion
58+
)
59+
60+
61+
// == Scalafix Test Setup ==
62+
2763
lazy val scalafixInput = project
2864
.in(file("scalafix-input"))
65+
.settings(dontPublish)
2966
.settings(
3067
scalaVersion := scalafixScala212,
3168
scalafixSourceroot := sourceDirectory.in(Compile).value
@@ -34,25 +71,22 @@ lazy val scalafixInput = project
3471
lazy val scalafixOutput212 = project
3572
.in(file("scalafix-output212"))
3673
.settings(scalaVersion := scalafixScala212)
74+
.settings(dontPublish)
3775
.dependsOn(compatJVM)
3876

3977
lazy val scalafixOutput213 = project
4078
.in(file("scalafix-output213"))
4179
.settings(scala213Settings)
80+
.settings(dontPublish)
4281

4382
lazy val scalafixOutput213Failure = project
4483
.in(file("scalafix-output213-failure"))
4584
.settings(scala213Settings)
46-
47-
lazy val scalafixRules = project
48-
.in(file("scalafix-rules"))
49-
.settings(
50-
scalaVersion := scalafixScala212,
51-
libraryDependencies += "ch.epfl.scala" %% "scalafix-core" % scalafixVersion
52-
)
85+
.settings(dontPublish)
5386

5487
lazy val scalafixTests = project
5588
.in(file("scalafix-tests"))
89+
.settings(dontPublish)
5690
.settings(
5791
scalaVersion := scalafixScala212,
5892
libraryDependencies += "ch.epfl.scala" % "scalafix-testkit" % scalafixVersion % Test cross CrossVersion.full,
@@ -77,36 +111,22 @@ lazy val scalafixTests = project
77111
.dependsOn(scalafixInput, scalafixRules)
78112
.enablePlugins(BuildInfoPlugin)
79113

80-
lazy val compat = crossProject(JSPlatform, JVMPlatform)
81-
.withoutSuffixFor(JVMPlatform)
82-
.crossType(CrossType.Pure)
83-
.in(file("compat"))
84-
.settings(scalaModuleSettings)
85-
.jvmSettings(scalaModuleSettingsJVM)
86-
.settings(
87-
name := "scala-collection-compat",
88-
version := "0.1-SNAPSHOT",
89-
scalacOptions ++= Seq("-feature", "-language:higherKinds", "-language:implicitConversions"),
90-
unmanagedSourceDirectories in Compile += {
91-
val sharedSourceDir = baseDirectory.value.getParentFile / "src/main"
92-
if (scalaVersion.value.startsWith("2.13.")) sharedSourceDir / "scala-2.13"
93-
else sharedSourceDir / "scala-2.11_2.12"
94-
}
95-
)
96-
.jvmSettings(
97-
OsgiKeys.exportPackage := Seq(s"scala.collection.compat.*;version=${version.value}"),
98-
libraryDependencies += "com.novocode" % "junit-interface" % "0.11" % "test"
99-
)
100-
.jsSettings(
101-
scalacOptions += {
102-
val x = (baseDirectory in LocalRootProject).value.toURI.toString
103-
val y = "https://raw.githubusercontent.com/scala/scala-collection-compat/" + sys.process.Process("git rev-parse HEAD").lines_!.head
104-
s"-P:scalajs:mapSourceURI:$x->$y/"
105-
},
106-
fork in Test := false // Scala.js cannot run forked tests
107-
)
108-
.jsConfigure(_.enablePlugins(ScalaJSJUnitPlugin))
109-
.disablePlugins(ScalafixPlugin)
114+
lazy val dontPublish = Seq(
115+
publishArtifact := false,
116+
packagedArtifacts := Map.empty,
117+
publish := {},
118+
publishLocal := {}
119+
)
110120

111-
lazy val compatJVM = compat.jvm
112-
lazy val compatJS = compat.js
121+
lazy val scala212 = "2.12.6"
122+
lazy val scala213 = "2.13.0-M4"
123+
124+
lazy val scala213Settings = Seq(
125+
resolvers += "scala-pr" at "https://scala-ci.typesafe.com/artifactory/scala-integration/",
126+
scalaVersion := scala213
127+
)
128+
129+
// required by sbt-scala-module
130+
inThisBuild(Seq(
131+
crossScalaVersions := Seq(scala212, scala213, "2.11.12")
132+
))

scalafix-rules/src/main/scala/fix/CanBuildFrom.scala

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package fix
22

33
import scalafix._
4-
import scalafix.syntax._
54
import scalafix.util._
65
import scala.meta._
76

scalafix-rules/src/main/scala/fix/Experimental.scala

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package fix
22

33
import scalafix._
4-
import scalafix.syntax._
54
import scalafix.util._
65
import scala.meta._
76

scalafix-rules/src/main/scala/fix/NewCollections.scala

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package fix
22

33
import scalafix._
4-
import scalafix.syntax._
54
import scalafix.util._
65
import scala.meta._
76

scalafix-rules/src/main/scala/fix/Stable212Base.scala

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package fix
22

33
import scalafix._
4-
import scalafix.syntax._
54
import scalafix.util._
65
import scala.meta._
76

scalafix-rules/src/main/scala/fix/TypeMatcher.scala

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package fix
22

33
import scalafix._
4-
import scalafix.syntax._
54
import scalafix.util._
65
import scala.meta._
76

scalafix-rules/src/main/scala/fix/UnstableMapValues.scala

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package fix
22

33
import scalafix._
4-
import scalafix.syntax._
54
import scalafix.util._
65
import scala.meta._
76

scalafix-rules/src/main/scala/fix/UnstableStreamToLazyListSrc.scala

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package fix
22

33
import scalafix._
4-
import scalafix.syntax._
54
import scalafix.util._
65
import scala.meta._
76

0 commit comments

Comments
 (0)