Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make all older Scala versions work #474

Merged
merged 1 commit into from
Mar 26, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ jobs:
java: [[email protected], [email protected]]
command:
- "'++2.11.12 test'"
# Test legacy Scala versions, where reporting API changed
- "'++2.12.12 test'"
- "'++2.12.13 test' scripted"
- "'++2.13.4 test'"
- "'++3.0.0-M3 test'"
Expand Down
15 changes: 1 addition & 14 deletions build.sbt
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
import sbt.librarymanagement.CrossVersion
import scala.collection.mutable

def scala212 = "2.12.13"
def scala212Legacy = "2.12.12"
def scala211 = "2.11.12"
def scala213 = "2.13.4"
def scala3 = List("3.0.0-RC1", "3.0.0-M3", "3.0.0-M2")
Expand Down Expand Up @@ -68,7 +66,7 @@ def crossSetting[A](
inThisBuild(
List(
scalaVersion := scala212,
crossScalaVersions := List(scala212, scala212Legacy, scala211, scala213) ::: scala3,
crossScalaVersions := List(scala212, scala211, scala213) ::: scala3,
organization := "org.scalameta",
licenses := Seq(
"Apache-2.0" -> url("http://www.apache.org/licenses/LICENSE-2.0")
Expand Down Expand Up @@ -118,13 +116,6 @@ val V = new {
val scalacheck = "1.15.2"
}

val crossVersionLegacy = Def.setting {
CrossVersion.binaryWith(
prefix = "",
suffix = if (scalaVersion.value == scala212Legacy) ".12" else ""
)
}

lazy val pprintVersion = Def.setting {
if (scalaVersion.value.startsWith("2.11")) "0.5.4"
else "0.6.0"
Expand Down Expand Up @@ -163,7 +154,6 @@ lazy val runtime = project
sharedSettings,
moduleName := "mdoc-runtime",
unmanagedSourceDirectories.in(Compile) ++= multiScalaDirectories("runtime").value,
crossVersion := crossVersionLegacy.value,
libraryDependencies ++= crossSetting(
scalaVersion.value,
if2 = List(
Expand All @@ -184,7 +174,6 @@ lazy val mdoc = project
.settings(
sharedSettings,
unmanagedSourceDirectories.in(Compile) ++= multiScalaDirectories("mdoc").value,
crossVersion := crossVersionLegacy.value,
moduleName := "mdoc",
mainClass in assembly := Some("mdoc.Main"),
assemblyJarName in assembly := "mdoc.jar",
Expand Down Expand Up @@ -342,7 +331,6 @@ lazy val plugin = project
managedResourceDirectories.in(Compile).value.head / "sbt-mdoc.properties"
val props = new java.util.Properties()
props.put("version", version.value)
props.put("scala212Legacy", scala212Legacy)
IO.write(props, "sbt-mdoc properties", out)
List(out)
},
Expand All @@ -366,7 +354,6 @@ lazy val js = project
.in(file("mdoc-js"))
.settings(
sharedSettings,
crossVersion := crossVersionLegacy.value,
crossScalaVersions --= scala3,
moduleName := "mdoc-js",
libraryDependencies ++=
Expand Down
1 change: 0 additions & 1 deletion mdoc-sbt/src/main/scala/mdoc/BuildInfo.scala
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import java.util.Properties
object BuildInfo {
def version: String =
props.getProperty("version", "0.8.0-SNAPSHOT")
def scala212Legacy: String = props.getProperty("scala212Legacy", "2.12.12")

private lazy val props: Properties = {
val props = new Properties()
Expand Down
11 changes: 1 addition & 10 deletions mdoc-sbt/src/main/scala/mdoc/MdocPlugin.scala
Original file line number Diff line number Diff line change
Expand Up @@ -66,13 +66,6 @@ object MdocPlugin extends AutoPlugin {
}
}

def compatibleScalaVersion = Def.setting {
scalaVersion.value.takeWhile(_ != '-').split('.').take(3).map(_.toInt) match {
case Array(2, 12, minor) if minor <= 12 => BuildInfo.scala212Legacy
case _ => scalaBinaryVersion.value
}
}

override def projectSettings: Seq[Def.Setting[_]] =
List(
mdocIn := baseDirectory.in(ThisBuild).value / "docs",
Expand All @@ -98,9 +91,7 @@ object MdocPlugin extends AutoPlugin {
val isJS = mdocJS.value.isDefined
if (mdocAutoDependency.value) {
val suffix = if (isJS) "-js" else ""
List(
"org.scalameta" % s"mdoc${suffix}_${compatibleScalaVersion.value}" % BuildInfo.version
)
List("org.scalameta" %% s"mdoc$suffix" % BuildInfo.version)
} else {
List()
}
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package mdoc.internal.markdown

import scala.tools.nsc.Settings
import scala.tools.nsc.reporters.Reporter
import scala.reflect.internal.util.Position
import scala.reflect.internal.util.NoPosition

trait VersionSpecificFilteringReporter extends Reporter { self: FilterStoreReporter =>
override def info0(pos: Position, msg: String, severity: Severity, force: Boolean): Unit = {
if (!infos.exists(info => pos != NoPosition && info.pos.point == pos.point))
add(pos, msg, severity)
}

override def hasErrors: Boolean = infos.exists(_.severity == ERROR)

override def hasWarnings: Boolean = infos.exists(_.severity == WARNING)

}