Skip to content

Commit b1ccd89

Browse files
Move scalafix build to the main build
1 parent f823520 commit b1ccd89

File tree

6 files changed

+74
-69
lines changed

6 files changed

+74
-69
lines changed

admin/build.sh

Lines changed: 3 additions & 3 deletions
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 input/compile output/compile tests/test
22+
sbt tests/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

Lines changed: 68 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,36 @@
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"
37

48
inThisBuild(Seq(
5-
crossScalaVersions := Seq("2.12.6", "2.13.0-M4", "2.11.12")
9+
crossScalaVersions := Seq(scala212, scala213, "2.11.12")
610
))
711

8-
disablePlugins(JvmPlugin)
12+
lazy val root = project
13+
.in(file("."))
14+
.aggregate(rules, input, output, tests, compatJVM, compatJS)
15+
.disablePlugins(ScalafixPlugin)
916

10-
lazy val `scala-collection-compat` = crossProject(JSPlatform, JVMPlatform)
17+
lazy val compat = crossProject(JSPlatform, JVMPlatform)
1118
.withoutSuffixFor(JVMPlatform)
1219
.crossType(CrossType.Pure)
1320
.in(file("."))
14-
.settings(scalaModuleSettings)
15-
.jvmSettings(scalaModuleSettingsJVM)
1621
.settings(
17-
name := "scala-collection-compat",
22+
moduleName := "scala-collection-compat",
1823
version := "0.1-SNAPSHOT",
1924
scalacOptions ++= Seq("-feature", "-language:higherKinds", "-language:implicitConversions"),
2025
unmanagedSourceDirectories in Compile += {
2126
val sharedSourceDir = baseDirectory.value.getParentFile / "src/main"
2227
if (scalaVersion.value.startsWith("2.13.")) sharedSourceDir / "scala-2.13"
2328
else sharedSourceDir / "scala-2.11_2.12"
24-
}
29+
},
30+
scalaVersion := scala212
2531
)
32+
.settings(scalaModuleSettings)
33+
.jvmSettings(scalaModuleSettingsJVM)
2634
.jvmSettings(
2735
OsgiKeys.exportPackage := Seq(s"scala.collection.compat.*;version=${version.value}"),
2836
libraryDependencies += "com.novocode" % "junit-interface" % "0.11" % "test"
@@ -36,6 +44,56 @@ lazy val `scala-collection-compat` = crossProject(JSPlatform, JVMPlatform)
3644
fork in Test := false // Scala.js cannot run forked tests
3745
)
3846
.jsConfigure(_.enablePlugins(ScalaJSJUnitPlugin))
47+
.disablePlugins(ScalafixPlugin)
48+
49+
lazy val compatJVM = compat.jvm
50+
lazy val compatJS = compat.js
51+
52+
lazy val rules = project
53+
.in(file("scalafix/rules"))
54+
.settings(
55+
scalaVersion := scalafixScala212,
56+
libraryDependencies += "ch.epfl.scala" %% "scalafix-core" % scalafixVersion
57+
)
58+
59+
lazy val input = project
60+
.in(file("scalafix/input"))
61+
.settings(
62+
scalaVersion := scalafixScala212,
63+
scalafixSourceroot := sourceDirectory.in(Compile).value
64+
)
65+
66+
lazy val output = project
67+
.in(file("scalafix/output"))
68+
.settings(
69+
resolvers += "scala-pr" at "https://scala-ci.typesafe.com/artifactory/scala-integration/",
70+
scalaVersion := scala213
71+
)
72+
73+
lazy val outputFailure = project
74+
.in(file("scalafix/output-failure"))
75+
.settings(
76+
resolvers += "scala-pr" at "https://scala-ci.typesafe.com/artifactory/scala-integration/",
77+
scalaVersion := scala213
78+
)
3979

40-
lazy val `scala-collection-compatJVM` = `scala-collection-compat`.jvm
41-
lazy val `scala-collection-compatJS` = `scala-collection-compat`.js
80+
lazy val tests = project
81+
.in(file("scalafix/tests"))
82+
.settings(
83+
scalaVersion := scalafixScala212,
84+
libraryDependencies += "ch.epfl.scala" % "scalafix-testkit" % scalafixVersion % Test cross CrossVersion.full,
85+
buildInfoPackage := "fix",
86+
buildInfoKeys := Seq[BuildInfoKey](
87+
"inputSourceroot" ->
88+
sourceDirectory.in(input, Compile).value,
89+
"outputSourceroot" ->
90+
sourceDirectory.in(output, Compile).value,
91+
"outputFailureSourceroot" ->
92+
sourceDirectory.in(outputFailure, Compile).value,
93+
"inputClassdirectory" ->
94+
classDirectory.in(input, Compile).value
95+
),
96+
test in Test := (test in Test).dependsOn(compile in (output, Compile)).value
97+
)
98+
.dependsOn(input, rules)
99+
.enablePlugins(BuildInfoPlugin)

project/plugins.sbt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,6 @@ val scalaJSVersion =
1111
addSbtPlugin("org.scala-js" % "sbt-scalajs" % scalaJSVersion)
1212
addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "0.4.0")
1313
addSbtPlugin("org.scala-lang.modules" % "sbt-scala-module" % "1.0.14")
14+
15+
addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.5.10")
16+
addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.7.0")

scalafix/build.sbt

Lines changed: 0 additions & 52 deletions
This file was deleted.

scalafix/project/build.properties

Lines changed: 0 additions & 1 deletion
This file was deleted.

scalafix/project/plugins.sbt

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)