@@ -2,30 +2,67 @@ import ScalaModulePlugin._
2
2
import sbtcrossproject .{crossProject , CrossType }
3
3
import _root_ .scalafix .Versions .{version => scalafixVersion , scala212 => scalafixScala212 }
4
4
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
-
18
5
lazy val root = project
19
6
.in(file(" ." ))
7
+ .settings(dontPublish)
20
8
.aggregate(
21
9
compatJVM, compatJS,
22
10
scalafixRules, scalafixInput, scalafixTests,
23
11
scalafixOutput212, scalafixOutput213
24
12
)
25
13
.disablePlugins(ScalafixPlugin )
26
14
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
+
27
63
lazy val scalafixInput = project
28
64
.in(file(" scalafix-input" ))
65
+ .settings(dontPublish)
29
66
.settings(
30
67
scalaVersion := scalafixScala212,
31
68
scalafixSourceroot := sourceDirectory.in(Compile ).value
@@ -34,25 +71,22 @@ lazy val scalafixInput = project
34
71
lazy val scalafixOutput212 = project
35
72
.in(file(" scalafix-output212" ))
36
73
.settings(scalaVersion := scalafixScala212)
74
+ .settings(dontPublish)
37
75
.dependsOn(compatJVM)
38
76
39
77
lazy val scalafixOutput213 = project
40
78
.in(file(" scalafix-output213" ))
41
79
.settings(scala213Settings)
80
+ .settings(dontPublish)
42
81
43
82
lazy val scalafixOutput213Failure = project
44
83
.in(file(" scalafix-output213-failure" ))
45
84
.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)
53
86
54
87
lazy val scalafixTests = project
55
88
.in(file(" scalafix-tests" ))
89
+ .settings(dontPublish)
56
90
.settings(
57
91
scalaVersion := scalafixScala212,
58
92
libraryDependencies += " ch.epfl.scala" % " scalafix-testkit" % scalafixVersion % Test cross CrossVersion .full,
@@ -77,36 +111,22 @@ lazy val scalafixTests = project
77
111
.dependsOn(scalafixInput, scalafixRules)
78
112
.enablePlugins(BuildInfoPlugin )
79
113
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
+ )
110
120
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
+ ))
0 commit comments