Skip to content

Commit

Permalink
Update metaconfig-docs to 0.10.0
Browse files Browse the repository at this point in the history
  • Loading branch information
bjaglin committed Feb 14, 2022
1 parent 0f41fde commit ffcd8b9
Show file tree
Hide file tree
Showing 7 changed files with 96 additions and 24 deletions.
3 changes: 3 additions & 0 deletions .scala-steward.conf
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,7 @@ updates.pin = [

# JGit 6.x requires Java 11, see https://www.eclipse.org/lists/cross-project-issues-dev/msg18654.html
{ groupId = " org.eclipse.jgit", artifactId = "org.eclipse.jgit", version = "5." },

# https://github.com/com-lihaoyi/PPrint/pull/72 brought a breaking change, see https://github.com/scalacenter/scalafix/pull/1522
{ groupId = "com.lihaoyi", artifactId = "pprint", version = "0.6." },
]
13 changes: 11 additions & 2 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,17 @@ lazy val core = project
googleDiff,
collectionCompat
),
libraryDependencies += (if (isScala211.value) metaconfigFor211
else metaconfig)
libraryDependencies ++= {
if (isScala211.value) Seq(metaconfigFor211)
else
Seq(
metaconfig,
// metaconfig 0.10.0 shaded pprint but rules built with an old
// scalafix-core must have the original package in the classpath to link
// https://github.com/scalameta/metaconfig/pull/154/files#r794005161
pprint
)
}
)
.enablePlugins(BuildInfoPlugin)

Expand Down
4 changes: 3 additions & 1 deletion project/Dependencies.scala
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ object Dependencies {
val java8CompatV = "0.9.0"
val jgitV = "5.13.0.202109080827-r"
val metaconfigFor211V = "0.9.10" // metaconfig stops publishing for scala 2.11
val metaconfigV = "0.9.15"
val metaconfigV = "0.10.0"
val pprintV = "0.6.6" // don't bump, rules built against metaconfig 0.9.15 or earlier would not link
val nailgunV = "0.9.1"
val scalaXmlV = "2.0.1"
val scalaXml211V = "1.3.0" // scala-xml stops publishing for scala 2.11
Expand All @@ -41,6 +42,7 @@ object Dependencies {
val jgit = "org.eclipse.jgit" % "org.eclipse.jgit" % jgitV
val metaconfigFor211 = "com.geirsson" %% "metaconfig-typesafe-config" % metaconfigFor211V
val metaconfig = "com.geirsson" %% "metaconfig-typesafe-config" % metaconfigV
val pprint = "com.lihaoyi" %% "pprint" % pprintV
val metaconfigDocFor211 = "com.geirsson" %% "metaconfig-docs" % metaconfigFor211V
val metaconfigDoc = "com.geirsson" %% "metaconfig-docs" % metaconfigV
val metacp = "org.scalameta" %% "metacp" % scalametaV
Expand Down
7 changes: 7 additions & 0 deletions project/ScalafixBuild.scala
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,13 @@ object ScalafixBuild extends AutoPlugin with GhpagesKeys {
Compile / console / scalacOptions :=
compilerOptions.value :+ "-Yrepl-class-based",
Compile / doc / scalacOptions ++= scaladocOptions,
Compile / unmanagedSourceDirectories ++= {
val sourceDir = (Compile / sourceDirectory).value
CrossVersion.partialVersion(scalaVersion.value) match {
case Some((2, n)) if n >= 12 => Seq(sourceDir / "scala-2.12+")
case _ => Seq()
}
},
publishTo := Some {
if (isSnapshot.value) Opts.resolver.sonatypeSnapshots
else Opts.resolver.sonatypeStaging
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package scalafix.internal.v1

import java.nio.file.PathMatcher

import scala.meta.io.AbsolutePath

import metaconfig.Conf
import pprint.TPrint
import scalafix.internal.config.ScalafixConfig

class TPrintImplicits {
implicit val absolutePathPrint: TPrint[AbsolutePath] =
TPrint.make[AbsolutePath](_ => "<path>")
implicit val pathMatcherPrint: TPrint[PathMatcher] =
TPrint.make[PathMatcher](_ => "<glob>")
implicit val confPrint: TPrint[Conf] =
TPrint.make[Conf](implicit cfg => TPrint.implicitly[ScalafixConfig].render)

implicit def optionPrint[T](implicit
ev: pprint.TPrint[T]
): TPrint[Option[T]] =
TPrint.make { implicit cfg =>
ev.render
}
implicit def iterablePrint[C[x] <: Iterable[x], T](implicit
ev: pprint.TPrint[T]
): TPrint[C[T]] =
TPrint.make { implicit cfg =>
s"[${ev.render} ...]"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package scalafix.internal.v1

import java.nio.file.PathMatcher

import scala.meta.io.AbsolutePath

import metaconfig.Conf
import metaconfig.pprint._
import scalafix.internal.config.ScalafixConfig

class TPrintImplicits {
implicit val absolutePathPrint: TPrint[AbsolutePath] =
new TPrint[AbsolutePath] {
def render(implicit tpc: TPrintColors): fansi.Str = fansi.Str("<path>")
}

implicit val pathMatcherPrint: TPrint[PathMatcher] =
new TPrint[PathMatcher] {
def render(implicit tpc: TPrintColors): fansi.Str = fansi.Str("<glob>")
}

implicit val confPrint: TPrint[Conf] =
new TPrint[Conf] {
def render(implicit tpc: TPrintColors): fansi.Str =
TPrint.implicitly[ScalafixConfig].render
}

implicit def optionPrint[T](implicit ev: TPrint[T]): TPrint[Option[T]] =
new TPrint[Option[T]] {
def render(implicit tpc: TPrintColors): fansi.Str = ev.render
}

implicit def iterablePrint[C[x] <: Iterable[x], T](implicit
ev: TPrint[T]
): TPrint[C[T]] =
new TPrint[C[T]] {
def render(implicit tpc: TPrintColors): fansi.Str = s"[${ev.render} ...]"
}
}
23 changes: 2 additions & 21 deletions scalafix-cli/src/main/scala/scalafix/internal/v1/Args.scala
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ import metaconfig.annotation._
import metaconfig.generic.Surface
import metaconfig.internal.ConfGet
import metaconfig.typesafeconfig.typesafeConfigMetaconfigParser
import pprint.TPrint
import scalafix.interfaces.ScalafixMainCallback
import scalafix.internal.config.FilterMatcher
import scalafix.internal.config.PrintStreamReporter
Expand Down Expand Up @@ -443,7 +442,7 @@ case class Args(
}
}

object Args {
object Args extends TPrintImplicits {
val baseMatcher: PathMatcher =
FileSystems.getDefault.getPathMatcher("glob:**.{scala,sbt}")
val runtimeScalaVersion: ScalaVersion = ScalaVersion
Expand Down Expand Up @@ -507,24 +506,6 @@ object Args {
implicit val callbackEncoder: ConfEncoder[ScalafixMainCallback] =
ConfEncoder.StringEncoder.contramap(_.toString)
implicit val argsEncoder: ConfEncoder[Args] = generic.deriveEncoder
implicit val absolutePathPrint: TPrint[AbsolutePath] =
TPrint.make[AbsolutePath](_ => "<path>")
implicit val pathMatcherPrint: TPrint[PathMatcher] =
TPrint.make[PathMatcher](_ => "<glob>")
implicit val confPrint: TPrint[Conf] =
TPrint.make[Conf](implicit cfg => TPrint.implicitly[ScalafixConfig].render)

implicit def optionPrint[T](implicit
ev: pprint.TPrint[T]
): TPrint[Option[T]] =
TPrint.make { implicit cfg =>
ev.render
}
implicit def iterablePrint[C[x] <: Iterable[x], T](implicit
ev: pprint.TPrint[T]
): TPrint[C[T]] =
TPrint.make { implicit cfg =>
s"[${ev.render} ...]"
}

implicit val argsSurface: Surface[Args] = generic.deriveSurface
}

0 comments on commit ffcd8b9

Please sign in to comment.