This plugin is intended to extend the sbt-paradox plugin with some settings along with providing the Apache Pekko theme.
It is intended as a shared doc theme for the Apache Pekko umbrella of projects, and not as a public theme to use on "any" project.
The project intentionally supports JDK 1.8 by default since its built against sbt-paradox/sbt-paradox-theme 0.9.2 so you can just include it like this
addSbtPlugin("org.apache.pekko" % "sbt-paradox-pekko" % "<version>")NOTE: If you happen to be using sbt-paradox plugins aside from
- sbt-web
- sbt-paradox-apidoc
- sbt-paradox-project-info you need to use an
excludesAllstatement onaddSbtPluginto remove the resolved dependencies that rely on JDK 11+, i.e. if you need to use sbt-site-paradox you would do the followingaddSbtPlugin(("com.github.sbt" % "sbt-site-paradox" % "1.5.0").excludeAll( "com.lightbend.paradox", "sbt-paradox"))
With JDK 11 or later you need to explicitly override the sbt-paradox/sbt-paradox-theme versions to use the 10.6.x (or newer) series, i.e.
addSbtPlugin("org.apache.pekko" % "sbt-paradox-pekko" % "<version>")
addSbtPlugin("com.lightbend.paradox" % "sbt-paradox" % "0.10.6")
addSbtPlugin("com.lightbend.paradox" % "sbt-paradox-theme" % "0.10.6")Enable it instead of the upstream ParadoxPlugin:
import org.apache.pekko.PekkoParadoxPlugin
enablePlugins(PekkoParadoxPlugin)For more settings refer to the Paradox documentation
When you have made changes to pekko-sbt-paradox, you can test it locally with:
sbt publishLocal sbtPlugin/scripted
This should show:
Pausing in /tmp/sbt_e457458e/simple
Press enter to continue.
- Make sure you have installed a Java Development Kit (JDK) version 8.
- Make sure you have sbt installed and using this JDK.
- Open a command window and change directory to your preferred base directory
- Use git to clone the repo or download a source release from https://pekko.apache.org (and unzip or untar it, as appropriate)
- Change directory to the directory where you installed the source (you should have a file called
build.sbtin this directory) sbt compilecompiles the main source for project default version of Scala (2.13)sbt testwill compile the code and run the unit testssbt packagewill build the jars- the jars will built into target dirs of the various modules
- for the the 'plugin' module, the jar will be built to
plugin/target/scala-2.12/sbt-1.0/
sbt publishLocalwill push the jars to your local Apache Ivy repositorysbt publishM2will push the jars to your local Apache Maven repositorysbt sourceDistGeneratewill generate source release totarget/dist/- The version number that appears in filenames and docs is derived, by default. The derived version contains the most git commit id or the date/time (if the directory is not under git control).
- You can set the version number explicitly when running sbt commands
- eg
sbt "set ThisBuild / version := \"1.0.0\"; sourceDistGenerate"
- eg
- Or you can add a file called
version.sbtto the same directory that has thebuild.sbtcontaining something likeThisBuild / version := "1.0.0"
- You can set the version number explicitly when running sbt commands
There are several ways to interact with the Pekko community:
- GitHub discussions: for questions and general discussion.
- Pekko dev mailing list: for Pekko development discussions.
- Pekko users mailing list: for Pekko user discussions.
- GitHub issues: for bug reports and feature requests. Please search the existing issues before creating new ones. If you are unsure whether you have found a bug, consider asking in GitHub discussions or the mailing list first.