Skip to content

Commit 3e9de9e

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

File tree

6 files changed

+73
-69
lines changed

6 files changed

+73
-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: 67 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)
915

10-
lazy val `scala-collection-compat` = crossProject(JSPlatform, JVMPlatform)
16+
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"
@@ -37,5 +45,54 @@ lazy val `scala-collection-compat` = crossProject(JSPlatform, JVMPlatform)
3745
)
3846
.jsConfigure(_.enablePlugins(ScalaJSJUnitPlugin))
3947

40-
lazy val `scala-collection-compatJVM` = `scala-collection-compat`.jvm
41-
lazy val `scala-collection-compatJS` = `scala-collection-compat`.js
48+
lazy val compatJVM = compat.jvm
49+
lazy val compatJS = compat.js
50+
51+
lazy val rules = project
52+
.in(file("scalafix/rules"))
53+
.settings(
54+
scalaVersion := scalafixScala212,
55+
libraryDependencies += "ch.epfl.scala" %% "scalafix-core" % scalafixVersion
56+
)
57+
58+
lazy val input = project
59+
.in(file("scalafix/input"))
60+
.settings(
61+
scalaVersion := scalafixScala212,
62+
scalafixSourceroot := sourceDirectory.in(Compile).value
63+
)
64+
65+
lazy val output = project
66+
.in(file("scalafix/output"))
67+
.settings(
68+
resolvers += "scala-pr" at "https://scala-ci.typesafe.com/artifactory/scala-integration/",
69+
scalaVersion := scala213
70+
)
71+
72+
lazy val outputFailure = project
73+
.in(file("scalafix/output-failure"))
74+
.settings(
75+
resolvers += "scala-pr" at "https://scala-ci.typesafe.com/artifactory/scala-integration/",
76+
scalaVersion := scala213
77+
)
78+
79+
lazy val tests = project
80+
.in(file("scalafix/tests"))
81+
.settings(
82+
scalaVersion := scalafixScala212,
83+
libraryDependencies += "ch.epfl.scala" % "scalafix-testkit" % scalafixVersion % Test cross CrossVersion.full,
84+
buildInfoPackage := "fix",
85+
buildInfoKeys := Seq[BuildInfoKey](
86+
"inputSourceroot" ->
87+
sourceDirectory.in(input, Compile).value,
88+
"outputSourceroot" ->
89+
sourceDirectory.in(output, Compile).value,
90+
"outputFailureSourceroot" ->
91+
sourceDirectory.in(outputFailure, Compile).value,
92+
"inputClassdirectory" ->
93+
classDirectory.in(input, Compile).value
94+
),
95+
test in Test := (test in Test).dependsOn(compile in (output, Compile)).value
96+
)
97+
.dependsOn(input, rules)
98+
.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)