diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 31a9a5c43..7e9b582af 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,21 +29,26 @@ jobs: matrix: os: [ubuntu-22.04] scala: [2.12, 2.13, 3] - java: [temurin@8, temurin@17] + java: [temurin@17, temurin@8] project: [rootJS, rootJVM, plugin] exclude: - scala: 2.13 - java: temurin@17 + java: temurin@8 - scala: 3 - java: temurin@17 + java: temurin@8 - project: rootJS + java: temurin@8 + - project: rootJVM java: temurin@17 + scala: 3 - project: plugin java: temurin@17 + scala: 2.12 - project: plugin - scala: 2.13 - - project: plugin + java: temurin@8 scala: 3 + - project: plugin + scala: 2.13 runs-on: ${{ matrix.os }} timeout-minutes: 60 steps: @@ -55,37 +60,37 @@ jobs: - name: Setup sbt uses: sbt/setup-sbt@v1 - - name: Setup Java (temurin@8) - id: setup-java-temurin-8 - if: matrix.java == 'temurin@8' + - name: Setup Java (temurin@17) + id: setup-java-temurin-17 + if: matrix.java == 'temurin@17' uses: actions/setup-java@v4 with: distribution: temurin - java-version: 8 + java-version: 17 cache: sbt - name: sbt update - if: matrix.java == 'temurin@8' && steps.setup-java-temurin-8.outputs.cache-hit == 'false' + if: matrix.java == 'temurin@17' && steps.setup-java-temurin-17.outputs.cache-hit == 'false' run: sbt +update - - name: Setup Java (temurin@17) - id: setup-java-temurin-17 - if: matrix.java == 'temurin@17' + - name: Setup Java (temurin@8) + id: setup-java-temurin-8 + if: matrix.java == 'temurin@8' uses: actions/setup-java@v4 with: distribution: temurin - java-version: 17 + java-version: 8 cache: sbt - name: sbt update - if: matrix.java == 'temurin@17' && steps.setup-java-temurin-17.outputs.cache-hit == 'false' + if: matrix.java == 'temurin@8' && steps.setup-java-temurin-8.outputs.cache-hit == 'false' run: sbt +update - name: Check that workflows are up to date run: sbt githubWorkflowCheck - name: Check formatting - if: matrix.java == 'temurin@8' && matrix.os == 'ubuntu-22.04' + if: matrix.java == 'temurin@17' && matrix.os == 'ubuntu-22.04' run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' scalafmtCheckAll 'project /' scalafmtSbtCheck - name: scalaJSLink @@ -96,11 +101,11 @@ jobs: run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' test - name: Check binary compatibility - if: matrix.java == 'temurin@8' && matrix.os == 'ubuntu-22.04' + if: matrix.java == 'temurin@17' && matrix.os == 'ubuntu-22.04' run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' mimaReportBinaryIssues - name: Generate API documentation - if: matrix.java == 'temurin@8' && matrix.os == 'ubuntu-22.04' + if: matrix.java == 'temurin@17' && matrix.os == 'ubuntu-22.04' run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' doc - name: Build manual @@ -133,7 +138,7 @@ jobs: strategy: matrix: os: [ubuntu-22.04] - java: [temurin@8] + java: [temurin@17] runs-on: ${{ matrix.os }} steps: - name: Checkout current branch (full) @@ -144,30 +149,30 @@ jobs: - name: Setup sbt uses: sbt/setup-sbt@v1 - - name: Setup Java (temurin@8) - id: setup-java-temurin-8 - if: matrix.java == 'temurin@8' + - name: Setup Java (temurin@17) + id: setup-java-temurin-17 + if: matrix.java == 'temurin@17' uses: actions/setup-java@v4 with: distribution: temurin - java-version: 8 + java-version: 17 cache: sbt - name: sbt update - if: matrix.java == 'temurin@8' && steps.setup-java-temurin-8.outputs.cache-hit == 'false' + if: matrix.java == 'temurin@17' && steps.setup-java-temurin-17.outputs.cache-hit == 'false' run: sbt +update - - name: Setup Java (temurin@17) - id: setup-java-temurin-17 - if: matrix.java == 'temurin@17' + - name: Setup Java (temurin@8) + id: setup-java-temurin-8 + if: matrix.java == 'temurin@8' uses: actions/setup-java@v4 with: distribution: temurin - java-version: 17 + java-version: 8 cache: sbt - name: sbt update - if: matrix.java == 'temurin@17' && steps.setup-java-temurin-17.outputs.cache-hit == 'false' + if: matrix.java == 'temurin@8' && steps.setup-java-temurin-8.outputs.cache-hit == 'false' run: sbt +update - name: Download target directories (2.12, rootJS) @@ -190,16 +195,6 @@ jobs: tar xf targets.tar rm targets.tar - - name: Download target directories (2.12, plugin) - uses: actions/download-artifact@v4 - with: - name: target-${{ matrix.os }}-${{ matrix.java }}-2.12-plugin - - - name: Inflate target directories (2.12, plugin) - run: | - tar xf targets.tar - rm targets.tar - - name: Download target directories (2.13, rootJS) uses: actions/download-artifact@v4 with: @@ -230,12 +225,12 @@ jobs: tar xf targets.tar rm targets.tar - - name: Download target directories (3, rootJVM) + - name: Download target directories (3, plugin) uses: actions/download-artifact@v4 with: - name: target-${{ matrix.os }}-${{ matrix.java }}-3-rootJVM + name: target-${{ matrix.os }}-${{ matrix.java }}-3-plugin - - name: Inflate target directories (3, rootJVM) + - name: Inflate target directories (3, plugin) run: | tar xf targets.tar rm targets.tar diff --git a/build.sbt b/build.sbt index d025f54cf..af179fc05 100644 --- a/build.sbt +++ b/build.sbt @@ -24,14 +24,24 @@ inThisBuild( scalaVersion := versions.scala2_12, developers := List(Developer("jenshalm", "Jens Halm", "", url("http://planet42.org"))), tlCiHeaderCheck := false, - tlCiDependencyGraphJob := false, - githubWorkflowJavaVersions += JavaSpec.temurin("17"), + tlCiDependencyGraphJob := false, + githubWorkflowJavaVersions := Seq(JavaSpec.temurin("17"), JavaSpec.temurin("8")), githubWorkflowBuildMatrixAdditions ~= { matrix => matrix + ("project" -> (matrix("project") :+ "plugin")) }, githubWorkflowBuildMatrixExclusions ++= { - MatrixExclude(Map("project" -> "plugin", "java" -> JavaSpec.temurin("17").render)) :: - List("2.13", "3").map(scala => MatrixExclude(Map("project" -> "plugin", "scala" -> scala))) + List( + MatrixExclude( + Map("project" -> "rootJVM", "java" -> JavaSpec.temurin("17").render, "scala" -> "3") + ), + MatrixExclude( + Map("project" -> "plugin", "java" -> JavaSpec.temurin("17").render, "scala" -> "2.12") + ), + MatrixExclude( + Map("project" -> "plugin", "java" -> JavaSpec.temurin("8").render, "scala" -> "3") + ), + MatrixExclude(Map("project" -> "plugin", "scala" -> "2.13")) + ) }, githubWorkflowBuild ++= Seq( WorkflowStep.Sbt( @@ -188,22 +198,56 @@ lazy val plugin = project.in(file("sbt")) .dependsOn(core.jvm, io, pdf, preview) .enablePlugins(SbtPlugin) .settings( - name := "laika-sbt", - sbtPlugin := true, - crossScalaVersions := Seq(versions.scala2_12), + name := "laika-sbt", + sbtPlugin := true, + addSbtPlugin("com.github.sbt" % "sbt2-compat" % versions.sbt2Compat), + crossScalaVersions := Seq(versions.scala2_12, versions.scala3Sbt), + pluginCrossBuild / sbtVersion := { + scalaBinaryVersion.value match { + case "2.12" => versions.sbt1 + case _ => versions.sbt2 + } + }, + scriptedSbt := { + scalaBinaryVersion.value match { + case "2.12" => versions.sbt1 + case _ => versions.sbt2 + } + }, + // sbt 2.x is built with Scala 3.8, which requires Java 17 classfiles. + // https://github.com/typelevel/sbt-typelevel/issues/851 + tlJdkRelease := { + if (scalaBinaryVersion.value == "3") Some(17) + else Some(8) + }, + // Scaladoc 3 cannot currently resolve some TASTy from sbt 2 transitive dependencies. + // https://github.com/scala/scala3/issues/18487 + // https://github.com/scala/scala3/issues/22447 + Compile / doc / sources := { + if (scalaVersion.value.startsWith("3.")) Seq.empty + else (Compile / doc / sources).value + }, scriptedLaunchOpts ++= Seq( "-Xmx1024M", "-Dplugin.version=" + version.value, "-Duser.language=en", "-Duser.country=GB" ), - scriptedBufferLog := false, - scripted := scripted.dependsOn( + scriptedBufferLog := false, + scripted := scripted.dependsOn( core.jvm / publishLocal, io / publishLocal, pdf / publishLocal, preview / publishLocal ).evaluated, + // TODO: Re-enable MiMa for sbt 2 once a previous sbt 2 plugin artifact exists. + // The sbt 2 / Scala 3 plugin artifact did not exist in previous Laika releases, + // so MiMa cannot compare against a missing baseline. + mimaPreviousArtifacts := { + val artifacts = mimaPreviousArtifacts.value + if (scalaBinaryVersion.value == "3") Set.empty + else artifacts + }, mimaBinaryIssueFilters ++= Seq( ProblemFilters.exclude[MissingClassProblem]("laika.sbt.Tasks$OutputFormat"), ProblemFilters.exclude[MissingClassProblem]("laika.sbt.Tasks$OutputFormat$"), diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 01fcd2f7e..1655aa371 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -2,9 +2,13 @@ object Dependencies { object versions { - val scala2_12 = "2.12.20" - val scala2_13 = "2.13.16" - val scala3 = "3.3.6" + val scala2_12 = "2.12.20" + val scala2_13 = "2.13.16" + val scala3 = "3.3.6" + val scala3Sbt = "3.8.4" + val sbt1 = "1.12.13" + val sbt2 = "2.0.1" + val sbt2Compat = "0.1.0" val catsCore = "2.13.0" val catsEffect = "3.5.7" diff --git a/project/build.properties b/project/build.properties index 5e6884d37..7c95fc192 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.11.6 +sbt.version=1.12.13 diff --git a/sbt/src/main/scala/laika/sbt/LaikaConfig.scala b/sbt/src/main/scala/laika/sbt/LaikaConfig.scala index 17fcbeede..a9955c073 100644 --- a/sbt/src/main/scala/laika/sbt/LaikaConfig.scala +++ b/sbt/src/main/scala/laika/sbt/LaikaConfig.scala @@ -182,6 +182,4 @@ object LaikaConfig { logLevel = MessageFilter.Warning ) - private def unapply(conf: LaikaConfig) = conf - } diff --git a/sbt/src/main/scala/laika/sbt/LaikaPlugin.scala b/sbt/src/main/scala/laika/sbt/LaikaPlugin.scala index cf2e2824f..22a91b9f3 100644 --- a/sbt/src/main/scala/laika/sbt/LaikaPlugin.scala +++ b/sbt/src/main/scala/laika/sbt/LaikaPlugin.scala @@ -23,6 +23,7 @@ import laika.io.config.RendererConfig import laika.theme.ThemeProvider import sbt.Keys.* import sbt.* +import scala.annotation.nowarn /** Plugin that adapts the features of the Laika library for use from within sbt. * @@ -155,39 +156,47 @@ object LaikaPlugin extends AutoPlugin { import autoImport._ - override def projectSettings: Seq[Setting[_]] = Seq( - Laika / sourceDirectories := Seq(sourceDirectory.value / "docs"), - Laika / excludeFilter := HiddenFileFilter, - laikaInputs := Settings.defaultInputs.value, - Laika / target := target.value / "docs", - laikaSite / target := (Laika / target).value / "site", - laikaExtensions := Nil, - laikaRenderers := Settings.rendererConfigs.value, - laikaConfig := LaikaConfig.defaults, - laikaPreviewConfig := LaikaPreviewConfig.defaults, - laikaTheme := Helium.defaults.build, - laikaTreeProcessors := Nil, - laikaDescribe := Tasks.describe.value, - laikaIncludeAPI := false, - laikaIncludeEPUB := Settings.validated( - Settings.parserConfig.value.baseConfig.get[Boolean]("helium.site.includeEPUB", false) - ), - laikaIncludePDF := Settings.validated( - Settings.parserConfig.value.baseConfig.get[Boolean]("helium.site.includePDF", false) - ), - laikaSite := Tasks.site.value, - laikaGenerate := Tasks.generate.evaluated, - laikaGenerateAPI := Tasks.generateAPI.value, - laikaGenerateAPI / mappings := (Compile / packageDoc / mappings).value, - laikaHTML := Tasks.generate.toTask(" html").value, - laikaXSLFO := Tasks.generate.toTask(" xslfo").value, - laikaEPUB := Tasks.generate.toTask(" epub").value, - laikaPDF := Tasks.generate.toTask(" pdf").value, - laikaAST := Tasks.generate.toTask(" ast").value, - laikaPackageSite := Tasks.packageSite.value, - laikaPreview := Tasks.startPreviewServer.value, - Laika / clean := Tasks.clean.value, - laikaSite / mappings := Def.sequential(Tasks.site, Tasks.mappings).value - ) :+ (cleanFiles += (Laika / target).value) + @nowarn("msg=unused import") + override def projectSettings: Seq[Setting[?]] = { + import sbtcompat.PluginCompat.* + + Seq( + Laika / sourceDirectories := Seq(sourceDirectory.value / "docs"), + Laika / excludeFilter := HiddenFileFilter, + laikaInputs := Def.uncached(Settings.defaultInputs.value), + Laika / target := target.value / "docs", + laikaSite / target := (Laika / target).value / "site", + laikaExtensions := Def.uncached(Nil), + laikaRenderers := Def.uncached(Settings.rendererConfigs.value), + laikaConfig := Def.uncached(LaikaConfig.defaults), + laikaPreviewConfig := Def.uncached(LaikaPreviewConfig.defaults), + laikaTheme := Def.uncached(Helium.defaults.build), + laikaTreeProcessors := Def.uncached(Nil), + laikaDescribe := Def.uncached(Tasks.describe.value), + laikaIncludeAPI := false, + laikaIncludeEPUB := Settings.validated( + Settings.parserConfig.value.baseConfig.get[Boolean]("helium.site.includeEPUB", false) + ), + laikaIncludePDF := Settings.validated( + Settings.parserConfig.value.baseConfig.get[Boolean]("helium.site.includePDF", false) + ), + laikaSite := Def.uncached(Tasks.site.value), + laikaGenerate := Def.uncached(Tasks.generate.evaluated), + laikaGenerateAPI := Def.uncached(Tasks.generateAPI.value), + laikaGenerateAPI / mappings := (Compile / packageDoc / mappings).value, + laikaHTML := Def.uncached(Tasks.generate.toTask(" html").value), + laikaXSLFO := Def.uncached(Tasks.generate.toTask(" xslfo").value), + laikaEPUB := Def.uncached(Tasks.generate.toTask(" epub").value), + laikaPDF := Def.uncached(Tasks.generate.toTask(" pdf").value), + laikaAST := Def.uncached(Tasks.generate.toTask(" ast").value), + laikaPackageSite := Def.uncached(Tasks.packageSite.value), + laikaPreview := Def.uncached(Tasks.startPreviewServer.value), + Laika / clean := Def.uncached(Tasks.clean.value), + laikaSite / mappings := Def.uncached { + val _ = laikaSite.value + Tasks.mappings.value + } + ) :+ (cleanFiles += (Laika / target).value) + } } diff --git a/sbt/src/main/scala/laika/sbt/Settings.scala b/sbt/src/main/scala/laika/sbt/Settings.scala index e5f5c73bb..4740d10c5 100644 --- a/sbt/src/main/scala/laika/sbt/Settings.scala +++ b/sbt/src/main/scala/laika/sbt/Settings.scala @@ -52,7 +52,7 @@ object Settings { InputTree .apply[IO](asLaikaFileFilter((Laika / excludeFilter).value)) .addDirectories((Laika / sourceDirectories).value.map(FilePath.fromJavaFile))( - laikaConfig.value.encoding + using laikaConfig.value.encoding ) } diff --git a/sbt/src/main/scala/laika/sbt/Tasks.scala b/sbt/src/main/scala/laika/sbt/Tasks.scala index ba63def09..841982bb2 100644 --- a/sbt/src/main/scala/laika/sbt/Tasks.scala +++ b/sbt/src/main/scala/laika/sbt/Tasks.scala @@ -39,6 +39,8 @@ import laika.io.config.{ BinaryRendererConfig, TextRendererConfig } import laika.io.internal.config.SiteConfig import laika.preview.{ ServerBuilder, ServerConfig } import org.http4s.server.Server +import sbtcompat.PluginCompat.{ FileRef, toFile, toFileRefsMapping } +import xsbti.FileConverter import scala.annotation.tailrec @@ -57,8 +59,12 @@ object Tasks { val targetDir = Settings.apiTargetDirectory.value if (laikaIncludeAPI.value) task { - val cacheDir = streams.value.cacheDirectory / "laika" / "api" - val apiMappings = (laikaGenerateAPI / sbt.Keys.mappings).value + implicit val fileConverter: FileConverter = (ThisBuild / sbt.Keys.fileConverter).value + val cacheDir = streams.value.cacheDirectory / "laika" / "api" + val apiMappings = + (laikaGenerateAPI / sbt.Keys.mappings).value.map { case (file, name) => + toFile(file) -> name + } val targetMappings = apiMappings map { case (file, name) => (file, targetDir / name) } Sync.sync(CacheStore(cacheDir))(targetMappings) @@ -161,7 +167,7 @@ object Tasks { .use( _ .from(tree) - .toDirectory(dirPath)(userConfig.encoding) + .toDirectory(dirPath)(using userConfig.encoding) .render ) } @@ -303,7 +309,7 @@ object Tasks { ) try { - System.in.read + val _ = System.in.read } finally { streams.value.log.info(s"Shutting down preview server...") @@ -323,8 +329,9 @@ object Tasks { generate.toTask(formats.mkString(" ", " ", "")) } - val mappings: Initialize[Task[Seq[(File, String)]]] = task { - sbt.Path.allSubpaths((laikaSite / target).value).toSeq + val mappings: Initialize[Task[Seq[(FileRef, String)]]] = task { + implicit val fileConverter: FileConverter = (ThisBuild / sbt.Keys.fileConverter).value + toFileRefsMapping(sbt.Path.allSubpaths((laikaSite / target).value).toSeq) } val describe: Initialize[Task[String]] = task { @@ -378,7 +385,14 @@ object Tasks { val zipFile = (Laika / target).value / artifactName streams.value.log.info(s"Packaging $zipFile ...") - sbt.IO.zip((laikaSite / sbt.Keys.mappings).value, zipFile, None) + implicit val fileConverter: FileConverter = (ThisBuild / sbt.Keys.fileConverter).value + sbt.IO.zip( + (laikaSite / sbt.Keys.mappings).value.map { case (file, name) => + toFile(file) -> name + }, + zipFile, + None + ) streams.value.log.info("Done packaging.") zipFile diff --git a/sbt/src/sbt-test/site/ast/build.sbt b/sbt/src/sbt-test/site/ast/build.sbt index a81b308f4..b8478874e 100644 --- a/sbt/src/sbt-test/site/ast/build.sbt +++ b/sbt/src/sbt-test/site/ast/build.sbt @@ -5,3 +5,5 @@ version := "0.1" scalaVersion := "2.12.6" enablePlugins(LaikaPlugin) + +Laika / target := baseDirectory.value / "target" / "docs" diff --git a/sbt/src/sbt-test/site/choices/build.sbt b/sbt/src/sbt-test/site/choices/build.sbt index afbda7578..1596e943b 100644 --- a/sbt/src/sbt-test/site/choices/build.sbt +++ b/sbt/src/sbt-test/site/choices/build.sbt @@ -9,6 +9,8 @@ scalaVersion := "2.12.6" enablePlugins(LaikaPlugin) +Laika / target := baseDirectory.value / "target" / "docs" + laikaConfig := LaikaConfig.defaults .withConfigValue( Selections( diff --git a/sbt/src/sbt-test/site/config/build.sbt b/sbt/src/sbt-test/site/config/build.sbt index 4c8d08a4e..dc7b2c34f 100644 --- a/sbt/src/sbt-test/site/config/build.sbt +++ b/sbt/src/sbt-test/site/config/build.sbt @@ -7,3 +7,5 @@ scalaVersion := "2.12.6" laikaConfig := LaikaConfig.defaults.withConfigValue("prop", "World") enablePlugins(LaikaPlugin) + +Laika / target := baseDirectory.value / "target" / "docs" diff --git a/sbt/src/sbt-test/site/defaults/build.sbt b/sbt/src/sbt-test/site/defaults/build.sbt index c9aca9e5b..54aad5523 100644 --- a/sbt/src/sbt-test/site/defaults/build.sbt +++ b/sbt/src/sbt-test/site/defaults/build.sbt @@ -5,3 +5,5 @@ version := "0.1" scalaVersion := "2.12.6" enablePlugins(LaikaPlugin) + +Laika / target := baseDirectory.value / "target" / "docs" diff --git a/sbt/src/sbt-test/site/directives/build.sbt b/sbt/src/sbt-test/site/directives/build.sbt index 9f9c249fd..dfe15f305 100644 --- a/sbt/src/sbt-test/site/directives/build.sbt +++ b/sbt/src/sbt-test/site/directives/build.sbt @@ -29,4 +29,6 @@ val TestDirectives = new DirectiveRegistry { enablePlugins(LaikaPlugin) +Laika / target := baseDirectory.value / "target" / "docs" + laikaExtensions += TestDirectives diff --git a/sbt/src/sbt-test/site/docTypeMatcher/build.sbt b/sbt/src/sbt-test/site/docTypeMatcher/build.sbt index 2cc6b2390..c05c88d64 100644 --- a/sbt/src/sbt-test/site/docTypeMatcher/build.sbt +++ b/sbt/src/sbt-test/site/docTypeMatcher/build.sbt @@ -9,6 +9,8 @@ scalaVersion := "2.12.6" enablePlugins(LaikaPlugin) +Laika / target := baseDirectory.value / "target" / "docs" + laikaExtensions += laikaDocTypeMatcher { case path: Path if path.name == "hello.md" => Markup case path: Path if path.name == "hello2.md" => Static() diff --git a/sbt/src/sbt-test/site/epub/build.sbt b/sbt/src/sbt-test/site/epub/build.sbt index 4a4caa400..ee65030ca 100644 --- a/sbt/src/sbt-test/site/epub/build.sbt +++ b/sbt/src/sbt-test/site/epub/build.sbt @@ -5,3 +5,5 @@ version := "0.1" scalaVersion := "2.12.6" enablePlugins(LaikaPlugin) + +Laika / target := baseDirectory.value / "target" / "docs" diff --git a/sbt/src/sbt-test/site/excludeFilter/build.sbt b/sbt/src/sbt-test/site/excludeFilter/build.sbt index 5d04de163..142434716 100644 --- a/sbt/src/sbt-test/site/excludeFilter/build.sbt +++ b/sbt/src/sbt-test/site/excludeFilter/build.sbt @@ -6,4 +6,6 @@ scalaVersion := "2.12.6" enablePlugins(LaikaPlugin) +Laika / target := baseDirectory.value / "target" / "docs" + Laika / excludeFilter := "hello.md" diff --git a/sbt/src/sbt-test/site/generateASTandFO/build.sbt b/sbt/src/sbt-test/site/generateASTandFO/build.sbt index bec722d79..2777e767b 100644 --- a/sbt/src/sbt-test/site/generateASTandFO/build.sbt +++ b/sbt/src/sbt-test/site/generateASTandFO/build.sbt @@ -5,3 +5,5 @@ version := "0.1" scalaVersion := "2.12.6" enablePlugins(LaikaPlugin) + +Laika / target := baseDirectory.value / "target" / "docs" diff --git a/sbt/src/sbt-test/site/generateMultipleFormats/build.sbt b/sbt/src/sbt-test/site/generateMultipleFormats/build.sbt index 91e9793e7..234c02593 100644 --- a/sbt/src/sbt-test/site/generateMultipleFormats/build.sbt +++ b/sbt/src/sbt-test/site/generateMultipleFormats/build.sbt @@ -5,3 +5,5 @@ version := "0.1" scalaVersion := "2.12.6" enablePlugins(LaikaPlugin) + +Laika / target := baseDirectory.value / "target" / "docs" diff --git a/sbt/src/sbt-test/site/github/build.sbt b/sbt/src/sbt-test/site/github/build.sbt index 8168fd35c..91c32b786 100644 --- a/sbt/src/sbt-test/site/github/build.sbt +++ b/sbt/src/sbt-test/site/github/build.sbt @@ -6,4 +6,6 @@ scalaVersion := "2.12.6" enablePlugins(LaikaPlugin) +Laika / target := baseDirectory.value / "target" / "docs" + laikaExtensions += laika.format.Markdown.GitHubFlavor diff --git a/sbt/src/sbt-test/site/html/build.sbt b/sbt/src/sbt-test/site/html/build.sbt index b2574c3a8..38321fba7 100644 --- a/sbt/src/sbt-test/site/html/build.sbt +++ b/sbt/src/sbt-test/site/html/build.sbt @@ -5,3 +5,5 @@ version := "0.1" scalaVersion := "2.12.6" enablePlugins(LaikaPlugin) + +Laika / target := baseDirectory.value / "target" / "docs" diff --git a/sbt/src/sbt-test/site/includeAPI/build.sbt b/sbt/src/sbt-test/site/includeAPI/build.sbt index bfffc94e4..919cd46a6 100644 --- a/sbt/src/sbt-test/site/includeAPI/build.sbt +++ b/sbt/src/sbt-test/site/includeAPI/build.sbt @@ -6,4 +6,6 @@ scalaVersion := "2.12.6" enablePlugins(LaikaPlugin) +Laika / target := baseDirectory.value / "target" / "docs" + laikaIncludeAPI := true diff --git a/sbt/src/sbt-test/site/includeEPUB/build.sbt b/sbt/src/sbt-test/site/includeEPUB/build.sbt index 9a5657cff..fafb258ae 100644 --- a/sbt/src/sbt-test/site/includeEPUB/build.sbt +++ b/sbt/src/sbt-test/site/includeEPUB/build.sbt @@ -6,4 +6,6 @@ scalaVersion := "2.12.6" enablePlugins(LaikaPlugin) +Laika / target := baseDirectory.value / "target" / "docs" + laikaIncludeEPUB := true diff --git a/sbt/src/sbt-test/site/includePDF/build.sbt b/sbt/src/sbt-test/site/includePDF/build.sbt index 5cfda5e6a..aac1af50d 100644 --- a/sbt/src/sbt-test/site/includePDF/build.sbt +++ b/sbt/src/sbt-test/site/includePDF/build.sbt @@ -6,4 +6,6 @@ scalaVersion := "2.12.6" enablePlugins(LaikaPlugin) +Laika / target := baseDirectory.value / "target" / "docs" + laikaIncludePDF := true diff --git a/sbt/src/sbt-test/site/inputs/build.sbt b/sbt/src/sbt-test/site/inputs/build.sbt index 76f32aade..f63c50164 100644 --- a/sbt/src/sbt-test/site/inputs/build.sbt +++ b/sbt/src/sbt-test/site/inputs/build.sbt @@ -25,3 +25,5 @@ laikaInputs := InputTree[IO] ) enablePlugins(LaikaPlugin) + +Laika / target := baseDirectory.value / "target" / "docs" diff --git a/sbt/src/sbt-test/site/messageFilters/build.sbt b/sbt/src/sbt-test/site/messageFilters/build.sbt index cbd1dbc84..4c2665bb2 100644 --- a/sbt/src/sbt-test/site/messageFilters/build.sbt +++ b/sbt/src/sbt-test/site/messageFilters/build.sbt @@ -8,5 +8,7 @@ scalaVersion := "2.12.6" enablePlugins(LaikaPlugin) +Laika / target := baseDirectory.value / "target" / "docs" + laikaConfig := LaikaConfig.defaults .withMessageFilters(MessageFilters.forVisualDebugging) diff --git a/sbt/src/sbt-test/site/packageSite/build.sbt b/sbt/src/sbt-test/site/packageSite/build.sbt index 257f4b9ce..79d0c953b 100644 --- a/sbt/src/sbt-test/site/packageSite/build.sbt +++ b/sbt/src/sbt-test/site/packageSite/build.sbt @@ -5,3 +5,5 @@ version := "0.1" scalaVersion := "2.12.6" enablePlugins(LaikaPlugin) + +Laika / target := baseDirectory.value / "target" / "docs" diff --git a/sbt/src/sbt-test/site/pdf/build.sbt b/sbt/src/sbt-test/site/pdf/build.sbt index e5f8401cb..9be3187a9 100644 --- a/sbt/src/sbt-test/site/pdf/build.sbt +++ b/sbt/src/sbt-test/site/pdf/build.sbt @@ -5,3 +5,5 @@ version := "0.1" scalaVersion := "2.12.6" enablePlugins(LaikaPlugin) + +Laika / target := baseDirectory.value / "target" / "docs" diff --git a/sbt/src/sbt-test/site/rawContent/build.sbt b/sbt/src/sbt-test/site/rawContent/build.sbt index 92df9457c..568758227 100644 --- a/sbt/src/sbt-test/site/rawContent/build.sbt +++ b/sbt/src/sbt-test/site/rawContent/build.sbt @@ -6,4 +6,6 @@ scalaVersion := "2.12.6" enablePlugins(LaikaPlugin) +Laika / target := baseDirectory.value / "target" / "docs" + laikaConfig := LaikaConfig.defaults.withRawContent diff --git a/sbt/src/sbt-test/site/rewriteRules/build.sbt b/sbt/src/sbt-test/site/rewriteRules/build.sbt index 28a9b2978..e6f758039 100644 --- a/sbt/src/sbt-test/site/rewriteRules/build.sbt +++ b/sbt/src/sbt-test/site/rewriteRules/build.sbt @@ -10,6 +10,8 @@ scalaVersion := "2.12.6" enablePlugins(LaikaPlugin) +Laika / target := baseDirectory.value / "target" / "docs" + laikaExtensions += laikaSpanRewriteRule { case Emphasized(content, _) => Replace(Strong(content)) } diff --git a/sbt/src/sbt-test/site/siteRenderers/build.sbt b/sbt/src/sbt-test/site/siteRenderers/build.sbt index 2d28235d5..89a9e3e33 100644 --- a/sbt/src/sbt-test/site/siteRenderers/build.sbt +++ b/sbt/src/sbt-test/site/siteRenderers/build.sbt @@ -8,6 +8,8 @@ scalaVersion := "2.12.6" enablePlugins(LaikaPlugin) +Laika / target := baseDirectory.value / "target" / "docs" + laikaExtensions += laikaHtmlRenderer { case (fmt, e: Emphasized) => fmt.element("em", e, "class" -> "foo") } diff --git a/sbt/src/sbt-test/site/sourceDirectories/build.sbt b/sbt/src/sbt-test/site/sourceDirectories/build.sbt index f7f3de169..1c2f02254 100644 --- a/sbt/src/sbt-test/site/sourceDirectories/build.sbt +++ b/sbt/src/sbt-test/site/sourceDirectories/build.sbt @@ -6,4 +6,6 @@ scalaVersion := "2.12.6" enablePlugins(LaikaPlugin) +Laika / target := baseDirectory.value / "target" / "docs" + Laika / sourceDirectories += baseDirectory.value / "shared" diff --git a/sbt/src/sbt-test/site/strict/build.sbt b/sbt/src/sbt-test/site/strict/build.sbt index 617b80e66..71c94c9d8 100644 --- a/sbt/src/sbt-test/site/strict/build.sbt +++ b/sbt/src/sbt-test/site/strict/build.sbt @@ -6,4 +6,6 @@ scalaVersion := "2.12.6" enablePlugins(LaikaPlugin) +Laika / target := baseDirectory.value / "target" / "docs" + laikaConfig := LaikaConfig.defaults.strict diff --git a/sbt/src/sbt-test/site/targetAPI/build.sbt b/sbt/src/sbt-test/site/targetAPI/build.sbt index 54daf5b51..e4a672762 100644 --- a/sbt/src/sbt-test/site/targetAPI/build.sbt +++ b/sbt/src/sbt-test/site/targetAPI/build.sbt @@ -6,6 +6,8 @@ scalaVersion := "2.12.6" enablePlugins(LaikaPlugin) +Laika / target := baseDirectory.value / "target" / "docs" + laikaConfig := LaikaConfig.defaults.withConfigValue( laika.config.LaikaKeys.site.apiPath, laika.ast.Path.Root / "latest" / "api" diff --git a/sbt/src/sbt-test/site/theme/build.sbt b/sbt/src/sbt-test/site/theme/build.sbt index 19e1fec76..8f2023833 100644 --- a/sbt/src/sbt-test/site/theme/build.sbt +++ b/sbt/src/sbt-test/site/theme/build.sbt @@ -9,6 +9,8 @@ scalaVersion := "2.12.6" enablePlugins(LaikaPlugin) +Laika / target := baseDirectory.value / "target" / "docs" + laikaTheme := Helium.defaults.site.addFontResources( FontDefinition( Font.withWebCSS("http://home.com/myFont.css"), diff --git a/sbt/src/sbt-test/site/treeProcessors/build.sbt b/sbt/src/sbt-test/site/treeProcessors/build.sbt index e892d5cc7..42628edc7 100644 --- a/sbt/src/sbt-test/site/treeProcessors/build.sbt +++ b/sbt/src/sbt-test/site/treeProcessors/build.sbt @@ -12,6 +12,8 @@ scalaVersion := "2.12.6" enablePlugins(LaikaPlugin) +Laika / target := baseDirectory.value / "target" / "docs" + val addedAST = RootElement( Title("Title 3").withId("title").withStyle("title"), Paragraph( diff --git a/sbt/src/sbt-test/site/xslfo/build.sbt b/sbt/src/sbt-test/site/xslfo/build.sbt index 491743cd9..1e6b486bc 100644 --- a/sbt/src/sbt-test/site/xslfo/build.sbt +++ b/sbt/src/sbt-test/site/xslfo/build.sbt @@ -5,3 +5,5 @@ version := "0.1" scalaVersion := "2.12.6" enablePlugins(LaikaPlugin) + +Laika / target := baseDirectory.value / "target" / "docs"