build.sbt (56 lines of code) (raw):
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
scalaVersion := "2.13.11"
ThisBuild / apacheSonatypeProjectProfile := "pekko"
ThisBuild / dynverSonatypeSnapshots := true
sourceDistName := "apache-pekko-sbt-paradox"
sourceDistIncubating := true
commands := commands.value.filterNot { command =>
command.nameOption.exists { name =>
name.contains("sonatypeRelease") || name.contains("sonatypeBundleRelease")
}
}
lazy val publishSettings = Seq(
startYear := Some(2023),
developers := List(
Developer(
"pekko-sbt-paradox-contributors",
"Apache Pekko Sbt Paradox Contributors",
"dev@pekko.apache.org",
url("https://github.com/apache/incubator-pekko-sbt-paradox/graphs/contributors"))),
apacheSonatypeDisclaimerFile := Some((LocalRootProject / baseDirectory).value / "DISCLAIMER"))
lazy val pekkoParadox = project
.in(file("."))
.settings(
publish / skip := true)
.aggregate(pekkoTheme, pekkoPlugin)
lazy val pekkoTheme = project
.in(file("theme"))
.enablePlugins(ParadoxThemePlugin, ReproducibleBuildsPlugin)
.settings(
name := "pekko-theme-paradox",
libraryDependencies ++= Seq(
"io.github.jonas" % "paradox-material-theme" % "0.6.0",
"org.webjars" % "foundation" % "6.2.4" % "provided"))
.settings(publishSettings)
lazy val pekkoPlugin = project
.in(file("plugin"))
.enablePlugins(SbtPlugin, ReproducibleBuildsPlugin)
.settings(
sbtPlugin := true,
name := "pekko-sbt-paradox",
scriptedLaunchOpts := {
scriptedLaunchOpts.value ++
Seq("-Xmx1024M", "-Dplugin.version=" + version.value)
},
scriptedBufferLog := false,
libraryDependencies ++= Seq(
"io.spray" %% "spray-json" % "1.3.6"),
addSbtPlugin(
// When updating the sbt-paradox version,
// remember to also update project/plugins.sbt
"com.lightbend.paradox" % "sbt-paradox" % "0.10.3"),
addSbtPlugin("com.lightbend.paradox" % "sbt-paradox-apidoc" % "1.0.0"),
addSbtPlugin("com.lightbend.paradox" % "sbt-paradox-project-info" % "3.0.0"),
addSbtPlugin("io.github.jonas" % "sbt-paradox-material-theme" % "0.6.0"),
Compile / resourceGenerators += Def.task {
val file = (Compile / resourceManaged).value / "pekko-paradox.properties"
IO.write(file, s"pekko.paradox.version=${version.value}")
Seq(file)
}).settings(publishSettings)