Skip to content

Commit 5c7fe48

Browse files
Move scalafix to main build
1 parent bba4bc2 commit 5c7fe48

File tree

60 files changed

+93
-84
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+93
-84
lines changed

CONTRIBUTING.md

+6-6

admin/build.sh

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@ set -e
1919
RELEASE_COMBO=true
2020

2121
if [[ "$TEST_SCALAFIX" == "true" ]]; then
22-
cd scalafix && sbt tests/test
22+
sbt scalafixTests/test
2323
exit 0
2424
fi
2525

2626
if [ "$SCALAJS_VERSION" = "" ]; then
27-
projectPrefix="scala-collection-compat"
27+
projectPrefix="compat"
2828
else
29-
projectPrefix="scala-collection-compatJS"
29+
projectPrefix="compatJS"
3030
fi
3131

3232
verPat="[0-9]+\.[0-9]+\.[0-9]+(-[A-Za-z0-9-]+)?"

build.sbt

+78-7
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,86 @@
1-
import sbtcrossproject.{crossProject, CrossType}
21
import ScalaModulePlugin._
2+
import sbtcrossproject.{crossProject, CrossType}
3+
import _root_.scalafix.Versions.{version => scalafixVersion, scala212 => scalafixScala212}
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+
)
312

413
inThisBuild(Seq(
5-
crossScalaVersions := Seq("2.12.6", "2.13.0-M4", "2.11.12")
14+
crossScalaVersions := Seq(scala212, scala213, "2.11.12")
615
))
716

8-
disablePlugins(JvmPlugin)
917

10-
lazy val `scala-collection-compat` = crossProject(JSPlatform, JVMPlatform)
18+
lazy val root = project
19+
.in(file("."))
20+
.aggregate(
21+
compatJVM, compatJS,
22+
scalafixRules, scalafixInput, scalafixTests,
23+
scalafixOutput212, scalafixOutput213
24+
)
25+
.disablePlugins(ScalafixPlugin)
26+
27+
lazy val scalafixInput = project
28+
.in(file("scalafix-input"))
29+
.settings(
30+
scalaVersion := scalafixScala212,
31+
scalafixSourceroot := sourceDirectory.in(Compile).value
32+
)
33+
34+
lazy val scalafixOutput212 = project
35+
.in(file("scalafix-output212"))
36+
.settings(scalaVersion := scalafixScala212)
37+
.dependsOn(compatJVM)
38+
39+
lazy val scalafixOutput213 = project
40+
.in(file("scalafix-output213"))
41+
.settings(scala213Settings)
42+
43+
lazy val scalafixOutput213Failure = project
44+
.in(file("scalafix-output213-failure"))
45+
.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+
)
53+
54+
lazy val scalafixTests = project
55+
.in(file("scalafix-tests"))
56+
.settings(
57+
scalaVersion := scalafixScala212,
58+
libraryDependencies += "ch.epfl.scala" % "scalafix-testkit" % scalafixVersion % Test cross CrossVersion.full,
59+
buildInfoPackage := "fix",
60+
buildInfoKeys := Seq[BuildInfoKey](
61+
"inputSourceroot" ->
62+
sourceDirectory.in(scalafixInput, Compile).value,
63+
"output212Sourceroot" ->
64+
sourceDirectory.in(scalafixOutput212, Compile).value,
65+
"output213Sourceroot" ->
66+
sourceDirectory.in(scalafixOutput213, Compile).value,
67+
"output213FailureSourceroot" ->
68+
sourceDirectory.in(scalafixOutput213Failure, Compile).value,
69+
"inputClassdirectory" ->
70+
classDirectory.in(scalafixInput, Compile).value
71+
),
72+
test in Test := (test in Test).dependsOn(
73+
compile in (scalafixOutput212, Compile),
74+
compile in (scalafixOutput213, Compile)
75+
).value
76+
)
77+
.dependsOn(scalafixInput, scalafixRules)
78+
.enablePlugins(BuildInfoPlugin)
79+
80+
lazy val compat = crossProject(JSPlatform, JVMPlatform)
1181
.withoutSuffixFor(JVMPlatform)
1282
.crossType(CrossType.Pure)
13-
.in(file("."))
83+
.in(file("compat"))
1484
.settings(scalaModuleSettings)
1585
.jvmSettings(scalaModuleSettingsJVM)
1686
.settings(
@@ -36,6 +106,7 @@ lazy val `scala-collection-compat` = crossProject(JSPlatform, JVMPlatform)
36106
fork in Test := false // Scala.js cannot run forked tests
37107
)
38108
.jsConfigure(_.enablePlugins(ScalaJSJUnitPlugin))
109+
.disablePlugins(ScalafixPlugin)
39110

40-
lazy val `scala-collection-compatJVM` = `scala-collection-compat`.jvm
41-
lazy val `scala-collection-compatJS` = `scala-collection-compat`.js
111+
lazy val compatJVM = compat.jvm
112+
lazy val compatJS = compat.js

project/plugins.sbt

+6-5
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@ else
55
// see https://github.com/scala/sbt-scala-module/issues/35
66
Seq(addSbtPlugin("com.typesafe.sbt" % "sbt-osgi" % "0.9.3"))
77

8-
val scalaJSVersion =
9-
Option(System.getenv("SCALAJS_VERSION")).filter(_.nonEmpty).getOrElse("0.6.23")
8+
val scalaJSVersion = Option(System.getenv("SCALAJS_VERSION")).filter(_.nonEmpty).getOrElse("0.6.23")
109

11-
addSbtPlugin("org.scala-js" % "sbt-scalajs" % scalaJSVersion)
12-
addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "0.4.0")
13-
addSbtPlugin("org.scala-lang.modules" % "sbt-scala-module" % "1.0.14")
10+
addSbtPlugin("org.scala-js" % "sbt-scalajs" % scalaJSVersion)
11+
addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "0.4.0")
12+
addSbtPlugin("org.scala-lang.modules" % "sbt-scala-module" % "1.0.14")
13+
addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.5.10")
14+
addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.7.0")

scalafix/build.sbt

-59
This file was deleted.

scalafix/project/build.properties

-1
This file was deleted.

scalafix/project/plugins.sbt

-3
This file was deleted.

0 commit comments

Comments
 (0)