diff --git a/build.sbt b/build.sbt index eb2d5ba..693c95a 100644 --- a/build.sbt +++ b/build.sbt @@ -1,8 +1,8 @@ -ThisBuild / scalaVersion := "2.12.12" +ThisBuild / scalaVersion := "2.12.15" ThisBuild / organization := "com.alejandrohdezma" ThisBuild / pluginCrossBuild / sbtVersion := "1.2.8" -addCommandAlias("ci-test", "fix --check; mdoc; +test; scripted") +addCommandAlias("ci-test", "scalafmtCheckAll; scalafmtSbtCheck; mdoc; +test; +publishLocal; scripted") addCommandAlias("ci-docs", "github; mdoc; headerCreateAll") addCommandAlias("ci-publish", "github; ci-release") @@ -11,24 +11,21 @@ val `sbt-mdoc` = "org.scalameta" % "sbt-mdoc" % "[2.0,)" % Provided // scala-ste val mdoc = "org.scalameta" %% "mdoc" % "[2.0,)" % Provided // scala-steward:off -skip in publish := true - lazy val `documentation` = project .enablePlugins(MdocPlugin) .dependsOn(`mdoc-toc-generator`) - .settings(skip in publish := true) .settings(mdocOut := file(".")) -lazy val `sbt-mdoc-toc` = project +lazy val `sbt-mdoc-toc` = module .enablePlugins(SbtPlugin) .dependsOn(`mdoc-toc-generator`) .settings(publishLocal := publishLocal.dependsOn(`mdoc-toc-generator` / publishLocal).value) .settings(scriptedLaunchOpts += s"-Dplugin.version=${version.value}") .settings(addSbtPlugin(`sbt-mdoc`)) -lazy val `mdoc-toc-generator` = project +lazy val `mdoc-toc-generator` = module .enablePlugins(BuildInfoPlugin) - .settings(crossScalaVersions := Seq("2.12.12", "2.13.8")) + .settings(crossScalaVersions := Seq("2.12.15", "2.13.8", "3.1.2")) .settings(buildInfoPackage := "com.alejandrohdezma.mdoc.toc.generator") .settings(libraryDependencies += mdoc) - .settings(libraryDependencies += "org.specs2" %% "specs2-core" % "4.15.0" % Test) + .settings(libraryDependencies += "org.scalameta" %% "munit" % "0.7.29" % Test) diff --git a/mdoc-toc-generator/src/main/resources/META-INF/services/mdoc.PostModifier b/modules/mdoc-toc-generator/src/main/resources/META-INF/services/mdoc.PostModifier similarity index 100% rename from mdoc-toc-generator/src/main/resources/META-INF/services/mdoc.PostModifier rename to modules/mdoc-toc-generator/src/main/resources/META-INF/services/mdoc.PostModifier diff --git a/mdoc-toc-generator/src/main/scala/com/alejandrohdezma/mdoc/toc/generator/Generator.scala b/modules/mdoc-toc-generator/src/main/scala/com/alejandrohdezma/mdoc/toc/generator/Generator.scala similarity index 100% rename from mdoc-toc-generator/src/main/scala/com/alejandrohdezma/mdoc/toc/generator/Generator.scala rename to modules/mdoc-toc-generator/src/main/scala/com/alejandrohdezma/mdoc/toc/generator/Generator.scala diff --git a/mdoc-toc-generator/src/main/scala/com/alejandrohdezma/mdoc/toc/generator/TableOfContentsModifier.scala b/modules/mdoc-toc-generator/src/main/scala/com/alejandrohdezma/mdoc/toc/generator/TableOfContentsModifier.scala similarity index 100% rename from mdoc-toc-generator/src/main/scala/com/alejandrohdezma/mdoc/toc/generator/TableOfContentsModifier.scala rename to modules/mdoc-toc-generator/src/main/scala/com/alejandrohdezma/mdoc/toc/generator/TableOfContentsModifier.scala diff --git a/mdoc-toc-generator/src/test/scala/com/alejandrohdezma/mdoc/toc/generator/TableOfContentsModifierSpec.scala b/modules/mdoc-toc-generator/src/test/scala/com/alejandrohdezma/mdoc/toc/generator/TableOfContentsModifierSuite.scala similarity index 89% rename from mdoc-toc-generator/src/test/scala/com/alejandrohdezma/mdoc/toc/generator/TableOfContentsModifierSpec.scala rename to modules/mdoc-toc-generator/src/test/scala/com/alejandrohdezma/mdoc/toc/generator/TableOfContentsModifierSuite.scala index b596fd1..ea90839 100644 --- a/mdoc-toc-generator/src/test/scala/com/alejandrohdezma/mdoc/toc/generator/TableOfContentsModifierSpec.scala +++ b/modules/mdoc-toc-generator/src/test/scala/com/alejandrohdezma/mdoc/toc/generator/TableOfContentsModifierSuite.scala @@ -16,11 +16,9 @@ package com.alejandrohdezma.mdoc.toc.generator -import org.specs2.mutable.Specification +class TableOfContentsModifierSuite extends munit.FunSuite { -class TableOfContentsModifierSpec extends Specification { - - "Generates table of contents for markdown file" >> { + test("Generates table of contents for markdown file") { val markdown = """# The title | @@ -63,7 +61,7 @@ class TableOfContentsModifierSpec extends Specification { | - [5.1.1](#511) |""".stripMargin - (toc must be).equalTo(expected) + assertEquals(toc, expected) } } diff --git a/sbt-mdoc-toc/src/main/scala/com/alejandrohdezma/sbt/mdoc/toc/SbtMdocTocPlugin.scala b/modules/sbt-mdoc-toc/src/main/scala/com/alejandrohdezma/sbt/mdoc/toc/SbtMdocTocPlugin.scala similarity index 100% rename from sbt-mdoc-toc/src/main/scala/com/alejandrohdezma/sbt/mdoc/toc/SbtMdocTocPlugin.scala rename to modules/sbt-mdoc-toc/src/main/scala/com/alejandrohdezma/sbt/mdoc/toc/SbtMdocTocPlugin.scala diff --git a/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple/DOCS.md b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.12/DOCS.md similarity index 100% rename from sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple/DOCS.md rename to modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.12/DOCS.md diff --git a/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple/build.sbt b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.12/build.sbt similarity index 63% rename from sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple/build.sbt rename to modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.12/build.sbt index 1de1bb8..ddf7abc 100644 --- a/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple/build.sbt +++ b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.12/build.sbt @@ -1,3 +1,3 @@ -ThisBuild / scalaVersion := "2.12.12" +ThisBuild / scalaVersion := "2.12.15" lazy val root = project.in(file(".")).enablePlugins(MdocPlugin) diff --git a/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple/docs/DOCS.md b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.12/docs/DOCS.md similarity index 100% rename from sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple/docs/DOCS.md rename to modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.12/docs/DOCS.md diff --git a/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple/project/build.properties b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.12/project/build.properties similarity index 100% rename from sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple/project/build.properties rename to modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.12/project/build.properties diff --git a/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple/project/plugins.sbt b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.12/project/plugins.sbt similarity index 56% rename from sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple/project/plugins.sbt rename to modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.12/project/plugins.sbt index 60c19ba..229c311 100644 --- a/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple/project/plugins.sbt +++ b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.12/project/plugins.sbt @@ -1,2 +1,2 @@ -addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.1.3") +addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.3.2") addSbtPlugin("com.alejandrohdezma" % "sbt-mdoc-toc" % sys.props("plugin.version")) diff --git a/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple/test b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.12/test similarity index 100% rename from sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple/test rename to modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.12/test diff --git a/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.13/DOCS.md b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.13/DOCS.md new file mode 100644 index 0000000..958b817 --- /dev/null +++ b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.13/DOCS.md @@ -0,0 +1,56 @@ +# The title + +Miau miau + +--- + +- [Installation](#installation) +- [Configuration](#configuration) + - [Configurating the first thing](#configurating-the-first-thing) + - [Configurating the second thing](#configurating-the-second-thing) +- [Integrations](#integrations) + - [Integration one](#integration-one) + - [Integration two](#integration-two) + - [`the-thing.txt`](#the-thingtxt) + - [How does it work?](#how-does-it-work) + - [Example](#example) + +## Installation + +Miau miau miau + +## Configuration + +Miau miau miau + +### Configurating the first thing + +Miau miau miau + +### Configurating the second thing + +Miau miau miau + +## Integrations + +Miau miau miau + +### Integration one + +Miau miau miau + +### Integration two + +Miau miau miau + +### [`the-thing.txt`](https://www.example.com) + +Testing that a link in header is normalized + +#### How does it work? + +Miau miau miau + +#### Example + +Miau miau miau diff --git a/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.13/build.sbt b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.13/build.sbt new file mode 100644 index 0000000..32d3adc --- /dev/null +++ b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.13/build.sbt @@ -0,0 +1,3 @@ +ThisBuild / scalaVersion := "2.13.8" + +lazy val root = project.in(file(".")).enablePlugins(MdocPlugin) diff --git a/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.13/docs/DOCS.md b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.13/docs/DOCS.md new file mode 100644 index 0000000..e288eba --- /dev/null +++ b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.13/docs/DOCS.md @@ -0,0 +1,47 @@ +# The title + +Miau miau + +```scala mdoc:toc + +``` + +## Installation + +Miau miau miau + +## Configuration + +Miau miau miau + +### Configurating the first thing + +Miau miau miau + +### Configurating the second thing + +Miau miau miau + +## Integrations + +Miau miau miau + +### Integration one + +Miau miau miau + +### Integration two + +Miau miau miau + +### [`the-thing.txt`](https://www.example.com) + +Testing that a link in header is normalized + +#### How does it work? + +Miau miau miau + +#### Example + +Miau miau miau diff --git a/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.13/project/build.properties b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.13/project/build.properties new file mode 100644 index 0000000..c8fcab5 --- /dev/null +++ b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.13/project/build.properties @@ -0,0 +1 @@ +sbt.version=1.6.2 diff --git a/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.13/project/plugins.sbt b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.13/project/plugins.sbt new file mode 100644 index 0000000..229c311 --- /dev/null +++ b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.13/project/plugins.sbt @@ -0,0 +1,2 @@ +addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.3.2") +addSbtPlugin("com.alejandrohdezma" % "sbt-mdoc-toc" % sys.props("plugin.version")) diff --git a/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.13/test b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.13/test new file mode 100644 index 0000000..2fea3ea --- /dev/null +++ b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_2.13/test @@ -0,0 +1,3 @@ +# this test ensures `sbt-mdoc-toc` can create a table-of-contents +> mdoc +$ must-mirror target/mdoc/DOCS.md DOCS.md \ No newline at end of file diff --git a/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_3/DOCS.md b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_3/DOCS.md new file mode 100644 index 0000000..958b817 --- /dev/null +++ b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_3/DOCS.md @@ -0,0 +1,56 @@ +# The title + +Miau miau + +--- + +- [Installation](#installation) +- [Configuration](#configuration) + - [Configurating the first thing](#configurating-the-first-thing) + - [Configurating the second thing](#configurating-the-second-thing) +- [Integrations](#integrations) + - [Integration one](#integration-one) + - [Integration two](#integration-two) + - [`the-thing.txt`](#the-thingtxt) + - [How does it work?](#how-does-it-work) + - [Example](#example) + +## Installation + +Miau miau miau + +## Configuration + +Miau miau miau + +### Configurating the first thing + +Miau miau miau + +### Configurating the second thing + +Miau miau miau + +## Integrations + +Miau miau miau + +### Integration one + +Miau miau miau + +### Integration two + +Miau miau miau + +### [`the-thing.txt`](https://www.example.com) + +Testing that a link in header is normalized + +#### How does it work? + +Miau miau miau + +#### Example + +Miau miau miau diff --git a/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_3/build.sbt b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_3/build.sbt new file mode 100644 index 0000000..954fee1 --- /dev/null +++ b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_3/build.sbt @@ -0,0 +1,3 @@ +ThisBuild / scalaVersion := "3.1.2" + +lazy val root = project.in(file(".")).enablePlugins(MdocPlugin) diff --git a/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_3/docs/DOCS.md b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_3/docs/DOCS.md new file mode 100644 index 0000000..e288eba --- /dev/null +++ b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_3/docs/DOCS.md @@ -0,0 +1,47 @@ +# The title + +Miau miau + +```scala mdoc:toc + +``` + +## Installation + +Miau miau miau + +## Configuration + +Miau miau miau + +### Configurating the first thing + +Miau miau miau + +### Configurating the second thing + +Miau miau miau + +## Integrations + +Miau miau miau + +### Integration one + +Miau miau miau + +### Integration two + +Miau miau miau + +### [`the-thing.txt`](https://www.example.com) + +Testing that a link in header is normalized + +#### How does it work? + +Miau miau miau + +#### Example + +Miau miau miau diff --git a/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_3/project/build.properties b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_3/project/build.properties new file mode 100644 index 0000000..c8fcab5 --- /dev/null +++ b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_3/project/build.properties @@ -0,0 +1 @@ +sbt.version=1.6.2 diff --git a/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_3/project/plugins.sbt b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_3/project/plugins.sbt new file mode 100644 index 0000000..229c311 --- /dev/null +++ b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_3/project/plugins.sbt @@ -0,0 +1,2 @@ +addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.3.2") +addSbtPlugin("com.alejandrohdezma" % "sbt-mdoc-toc" % sys.props("plugin.version")) diff --git a/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_3/test b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_3/test new file mode 100644 index 0000000..2fea3ea --- /dev/null +++ b/modules/sbt-mdoc-toc/src/sbt-test/sbt-mdoc-toc/simple_3/test @@ -0,0 +1,3 @@ +# this test ensures `sbt-mdoc-toc` can create a table-of-contents +> mdoc +$ must-mirror target/mdoc/DOCS.md DOCS.md \ No newline at end of file diff --git a/project/plugins.sbt b/project/plugins.sbt index 8dc7fa7..1a3ee90 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,14 +1,16 @@ -addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.10.0") -addSbtPlugin("com.alejandrohdezma" % "sbt-fix" % "0.7.0") -addSbtPlugin("com.alejandrohdezma" % "sbt-ci" % "2.4.2") -addSbtPlugin("com.alejandrohdezma" % "sbt-github-header" % "0.11.2") -addSbtPlugin("com.alejandrohdezma" % "sbt-github-mdoc" % "0.11.2") -addSbtPlugin("com.alejandrohdezma" % "sbt-remove-test-from-pom" % "0.1.0") -addSbtPlugin("com.alejandrohdezma" % "sbt-scalafix-defaults" % "0.6.0") -addSbtPlugin("com.alejandrohdezma" % "sbt-scalafmt-defaults" % "0.6.0") -addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.11.0") -addSbtPlugin("com.github.sbt" % "sbt-ci-release" % "1.5.10") -addSbtPlugin("de.heikoseeberger" % "sbt-header" % "5.7.0") -addSbtPlugin("io.github.davidgregory084" % "sbt-tpolecat" % "0.3.3") -addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.3.2") -addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.6") +addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.10.0") +addSbtPlugin("com.alejandrohdezma" % "sbt-fix" % "0.7.0") +addSbtPlugin("com.alejandrohdezma" % "sbt-ci" % "2.4.2") +addSbtPlugin("com.alejandrohdezma" % "sbt-github-header" % "0.11.2") +addSbtPlugin("com.alejandrohdezma" % "sbt-github-mdoc" % "0.11.2") +addSbtPlugin("com.alejandrohdezma" % "sbt-modules" % "0.2.0") +addSbtPlugin("com.alejandrohdezma" % "sbt-remove-test-from-pom" % "0.1.0") +// TODO: Disabled until a new version of `sbt-scalafix-defaults` is released +// addSbtPlugin("com.alejandrohdezma" % "sbt-scalafix-defaults" % "0.6.0") +addSbtPlugin("com.alejandrohdezma" % "sbt-scalafmt-defaults" % "0.6.0") +addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.11.0") +addSbtPlugin("com.github.sbt" % "sbt-ci-release" % "1.5.10") +addSbtPlugin("de.heikoseeberger" % "sbt-header" % "5.7.0") +addSbtPlugin("io.github.davidgregory084" % "sbt-tpolecat" % "0.3.3") +addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.3.2") +addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.6")