Skip to content

Commit d539fdf

Browse files
authored
Merge pull request #550 from mzuehlke/doc-update
update plugin doc
2 parents aa79803 + 80f16a8 commit d539fdf

File tree

4 files changed

+61
-41
lines changed

4 files changed

+61
-41
lines changed

ci/src/main/scala/org/typelevel/sbt/TypelevelCiPlugin.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ object TypelevelCiPlugin extends AutoPlugin {
4040
lazy val tlCiScalafixCheck =
4141
settingKey[Boolean]("Whether to do scalafix check in CI (default: false)")
4242
lazy val tlCiMimaBinaryIssueCheck =
43-
settingKey[Boolean]("Whether to do MiMa binary issues check in CI (default: true)")
43+
settingKey[Boolean]("Whether to do MiMa binary issues check in CI (default: false)")
4444
lazy val tlCiDocCheck =
45-
settingKey[Boolean]("Whether to build API docs in CI (default: true)")
45+
settingKey[Boolean]("Whether to build API docs in CI (default: false)")
4646

4747
lazy val tlCiDependencyGraphJob =
4848
settingKey[Boolean]("Whether to add a job to submit dependencies to GH (default: true)")

docs/customization.md

Lines changed: 49 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,42 +11,56 @@ Instead of using the super-plugins, for finer-grained control you can always add
1111

1212
### sbt-typelevel-kernel
1313
- `TypelevelKernelPlugin`
14-
- `tlIsScala3` (setting): true if `scalaVersion` is 3.x
15-
- `tlReplaceCommandAlias` (method): replace a `addCommandAlias` definition
16-
- `tlReleaseLocal` (command): alias for `+publishLocal`
14+
- `tlIsScala3` (setting): `true`, if `scalaVersion` is 3.x.
15+
- `tlSkipIrrelevantScalas` (setting): `true`, if should `skip` for `scalaVersion` not in `crossScalaVersions`.
16+
- `tlReplaceCommandAlias` (method): Replace a `addCommandAlias` definition.
17+
- `tlReleaseLocal` (command): Alias for `+publishLocal`.
1718

1819
### sbt-typelevel-versioning
19-
- `TypelevelVersioningPlugin`: Establishes a git-based, early semantic versioning scheme
20-
- `tlBaseVersion` (setting): the series your project is in. e.g., 0.2, 3.5
21-
- `tlUntaggedAreSnapshots` (setting): If true, an untagged commit is given a snapshot version, e.g. `0.4.1-17-00218f9-SNAPSHOT`. If false, it is given a release version, e.g. `0.4.1-17-00218f9`. (default: true)
20+
- `TypelevelVersioningPlugin`: Establishes a git-based, early semantic versioning scheme.
21+
- `tlBaseVersion` (setting): The series your project is in, e.g., 0.2, 3.5.
22+
- `tlUntaggedAreSnapshots` (setting): If true, an untagged commit is given a snapshot version, e.g. `0.4.1-17-00218f9-SNAPSHOT`. If false, it is given a release version, e.g. `0.4.1-17-00218f9` (default: true).
2223

2324
### sbt-typelevel-mima
2425
- `TypelevelMimaPlugin`: Determines previous MiMa artifacts via your `version` setting and git tags.
2526
- `tlVersionIntroduced` (setting): A map `scalaBinaryVersion -> version` e.g. `Map("2.13" -> "1.5.2", "3" -> "1.7.1")` used to indicate that a particular `crossScalaVersions` value was introduced in a given version (default: empty).
27+
- `tlMimaPreviousVersions` (setting): A set of previous versions to compare binary-compatibility against.
2628

2729
### sbt-typelevel-sonatype
2830
- `TypelevelSonatypePlugin`: Sets up publishing to Sonatype/Maven.
29-
- `tlRelease` (command): check binary-compatibility and `+publish` to Sonatype
30-
- `tlSonatypeUseLegacyHost` (setting): publish to `oss.sonatype.org` instead of `s01.oss.sonatype.org` (default: false)
31+
- `tlSonatypeUseLegacyHost` (setting): Publish to `oss.sonatype.org` instead of `s01.oss.sonatype.org` (default: false).
32+
- `tlRelease` (command): Check binary-compatibility and `+publish` to Sonatype.
33+
- `TypelevelUnidocPlugin`: Sets up publishing a Scaladoc-only artifact to Sonatype/Maven.
3134

3235
### sbt-typelevel-settings
3336
- `TypelevelSettingsPlugin`: Good and/or opinionated defaults for scalac settings etc., inspired by sbt-tpolecat.
3437
- `tlFatalWarnings` (setting): Convert compiler warnings into errors (default: false).
38+
- `tlJdkRelease` (setting): JVM target version for the compiled bytecode (default: Some(8)).
3539

3640
### sbt-typelevel-github
3741
- `TypelevelGitHubPlugin`: Populates boilerplate settings assuming you are using GitHub.
38-
- `TypelevelScalaJSGitHubPlugin`: Points your sourcemaps to GitHub permalinks. Only activated for Scala.js projects.
42+
- `tlGitHubRepo` (setting): The name of this repository on GitHub.
3943
- `tlGitHubDev(user, fullName)` (method): Helper to create a `Developer` entry from a GitHub username.
44+
- `TypelevelScalaJSGitHubPlugin`: Points your sourcemaps to GitHub permalinks. Only activated for Scala.js projects.
45+
- `TypelevelScalaNativeGitHubPlugin`: Points your sourcemaps to GitHub permalinks. Only activated for Scala Native projects.
4046

4147
### sbt-typelevel-ci
4248
- `TypelevelCiPlugin`: Sets up GitHub actions to run tests and check binary-compatibility in CI.
49+
- `tlCiHeaderCheck` (setting): Whether to do header check in CI (default: `false`).
50+
- `tlCiScalafmtCheck` (setting): Whether to do scalafmt check in CI (default: `false`).
51+
- `tlCiScalafixCheck` (setting): Whether to do scalafix check in CI (default: `false`).
52+
- `tlCiMimaBinaryIssueCheck` (setting): Whether to do MiMa binary issues check in CI (default: `false`).
53+
- `tlCiDocCheck` (setting): Whether to build API docs in CI (default: `false`).
54+
- `tlCiDependencyGraphJob` (setting): Whether to add a job to submit dependencies to GH (default: `true`)
55+
- `tlCiStewardValidateConfig` (setting): The location of the Scala Steward config to validate (default: `.scala-steward.conf`, if exists).
4356
- `tlCrossRootProject` (method): helper to create a `root` project that can aggregate both `Project`s and `CrossProject`s. Automatically creates separate jobs in the CI matrix for each platform (JVM, JS, etc.).
4457

4558
### sbt-typelevel-sonatype-ci-release
4659
- `TypelevelSonatypeCiReleasePlugin`: Sets up GitHub actions to publish to Sonatype in CI.
4760
- Requires the `SONATYPE_USERNAME` and `SONATYPE_PASSWORD` secrets
48-
- `tlCiReleaseTags` (setting): Controls whether or not v-prefixed tags should be released from CI (default true).
49-
- `tlCiReleaseBranches`: The branches in your repository to release from in CI on every push. Depending on your versioning scheme, they will be either snapshots or (hash) releases. Leave this empty if you only want CI releases for tags. (default: `[]`).
61+
- `tlCiReleaseTags` (setting): Controls whether or not v-prefixed tags should be released from CI (default `true`).
62+
- `tlCiReleaseBranches` (setting): The branches in your repository to release from in CI on every push. Depending on your versioning scheme, they will be either snapshots or (hash) releases. Leave this empty if you only want CI releases for tags. (default: `[]`).
63+
- `tlCiRelease` (command): Performs a `tlRelease` from the CI and reports to GH step summary.
5064

5165
### sbt-typelevel-ci-signing
5266
- `TypelevelCiSigningPlugin`: Sets up GitHub actions to sign your artifacts in CI.
@@ -56,15 +70,36 @@ Instead of using the super-plugins, for finer-grained control you can always add
5670
### sbt-typelevel-ci-release
5771
- `TypelevelCiReleasePlugin`: The super-plugin that sets you up with versioning, mima, signing, and sonatype publishing, all in GitHub actions.
5872

73+
### sbt-typelevel-scalafix
74+
- `TypelevelScalafixPlugin`
75+
- `tlTypelevelScalafixVersion` (setting): The version of typelevel-scalafix to add to the scalafix dependency classpath.
76+
5977
### sbt-typelevel
6078
- `TypelevelPlugin`: The super-super-plugin intended for bootstrapping the typical Typelevel project. Sets up CI release including snapshots, scalac settings, headers, and formatting.
6179

6280
### sbt-typelevel-site
63-
- `TypelevelSitePlugin`: Sets up an [mdoc](https://scalameta.org/mdoc/)/[Laika](https://typelevel.org/Laika/)-generated website, automatically published to GitHub pages in CI.
81+
- `TypelevelSitePlugin`: Sets up an [mdoc](https://scalameta.org/mdoc/)/[Laika](https://typelevel.org/Laika/)-generated website, automatically published to GitHub pages in CI.
82+
- `tlSiteHelium` (setting): The Helium theme configuration and extensions.
83+
- `tlSiteIsTypelevelProject` (setting): Indicates whether the generated site should be pre-populated with UI elements specific to Typelevel Organization or Affiliate projects (default: None).
84+
- `tlSiteApiUrl` (setting): URL to the API docs (default: `None`).
85+
- `tlSiteApiModule` (setting): The module that publishes API docs (default: `None`).
86+
- `tlSiteApiPackage` (setting): The top-level package for your API docs (e.g. org.typlevel.sbt).
87+
- `tlSiteKeepFiles` (setting): Whether to keep existing files when deploying site (default: `true`).
88+
- `tlSiteGenerate` (setting): A sequence of workflow steps which generates the site (default: `[Sbt(List("tlSite"))]`).
89+
- `tlSitePublish` (setting): A sequence of workflow steps which publishes the site (default: `peaceiris/actions-gh-pages`).
6490
- `tlSitePublishBranch` (setting): The branch to publish the site from on every push. Set this to `None` if you only want to update the site on tag releases. (default: `main`)
6591
- `tlSitePublishTags` (setting): Defines whether the site should be published on tag releases. Note on setting this to `true` requires the `tlSitePublishBranch` setting to be set to `None`. (default: `false`)
66-
- `tlSiteApiUrl` (setting): URL to the API docs. (default: `None`)
67-
- `tlSiteHeliumConfig` (setting): the Laika Helium config. (default: how the sbt-typelevel site looks)
92+
- `tlSite` (task): Generate the site (default: runs mdoc then laika).
93+
- `tlSitePreview` (task): Start a live-reload preview server (combines mdoc --watch with laikaPreview).
94+
95+
### sbt-typelevel-mergify
96+
- `MergifyPlugin`: Sets up .mergify.yml file generation
97+
- `mergifyPrRules` (setting): The mergify pull request rules.
98+
- `mergifyStewardConfig` (setting): Config for the automerge rule for Scala Steward PRs, set to `None` to disable.
99+
- `mergifyRequiredJobs` (setting): Ids for jobs that must succeed for merging (default: `[build]`).
100+
- `mergifySuccessConditions` (setting): Success conditions for merging (default: auto-generated from `mergifyRequiredJobs` setting).
101+
- `mergifyGenerate` (task): Generates (and overwrites if extant) a .mergify.yml according to configuration.
102+
- `mergifyCheck` (task): Checks to see if the .mergify.yml files are equivalent to what would be generated and errors if otherwise.
68103

69104
## Dependency diagram
70105

docs/site.md

Lines changed: 9 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
# sbt-typelevel-site
22

3-
<<<<<<< HEAD
43
**sbt-typelevel-site** is an optional plugin for generating websites with [mdoc](https://scalameta.org/mdoc/)
5-
and [Laika](https://planet42.github.io/Laika/) and deploying to GitHub Pages from CI.
4+
and [Laika](https://typelevel.org/Laika/) and deploying to GitHub Pages from CI.
65
You can add it to your build alongside either the **sbt-typelevel** or **sbt-typelevel-ci-release** plugin
76
or also use it stand-alone.
8-
=======
9-
**sbt-typelevel-site** is an optional plugin for generating websites with [mdoc](https://scalameta.org/mdoc/) and [Laika](https://typelevel.org/Laika/) and deploying to GitHub Pages from CI. You can add it to your build alongside either the **sbt-typelevel** or **sbt-typelevel-ci-release** plugin or also use it stand-alone.
10-
>>>>>>> series/0.4
117

128
## Quick start
139

@@ -29,12 +25,8 @@ lazy val docs = project.in(file("site")).enablePlugins(TypelevelSitePlugin)
2925
Place your `.md` files in the `docs/` directory of your project. To preview locally, run `docs/tlSitePreview`.
3026
This will start a preview server at http://localhost:4242.
3127

32-
<<<<<<< HEAD
33-
The site is generated using [mdoc](https://scalameta.org/mdoc/) and [Laika](https://planet42.github.io/Laika/)
28+
The site is generated using [mdoc](https://scalameta.org/mdoc/) and [Laika](https://typelevel.org/Laika/)
3429
and published to the `gh-pages` branch on every push to the specified branch.
35-
=======
36-
The site is generated using [mdoc](https://scalameta.org/mdoc/) and [Laika](https://typelevel.org/Laika/) and published to the `gh-pages` branch on every push to the specified branch.
37-
>>>>>>> series/0.4
3830

3931
You will also need to configure your repository settings:
4032

@@ -88,7 +80,7 @@ With the flag above (which defaults to `false`) these additional settings apply:
8880
### Customization
8981

9082
All customization options are based on Laika's configuration APIs for which we refer you to the comprehensive [Laika manual][Laika]
91-
and specifically the [`laikaTheme` setting](https://planet42.github.io/Laika/0.18/02-running-laika/01-sbt-plugin.html#laikatheme-setting).
83+
and specifically the [`laikaTheme` setting](https://typelevel.org/Laika/latest/02-running-laika/01-sbt-plugin.html#laikatheme-setting).
9284

9385
@:callout(warning)
9486
For all code examples in the Laika manual you need to replace `Helium.defaults` with `tlSiteHelium.value`
@@ -122,13 +114,13 @@ Some of the customization options which are most likely of interest in the conte
122114
For a complete list of customization options please see the full [Laika] documentation.
123115

124116

125-
[Laika]: https://planet42.github.io/Laika/index.html
117+
[Laika]: https://typelevel.org/Laika/
126118
[http4s]: https://http4s.org/
127-
[Versioned Documentation]: https://planet42.github.io/Laika/0.18/03-preparing-content/01-directory-structure.html#versioned-documentation
128-
[Website Landing Page]: https://planet42.github.io/Laika/0.18/03-preparing-content/03-theme-settings.html#website-landing-page
129-
[Colors]: https://planet42.github.io/Laika/0.18/03-preparing-content/03-theme-settings.html#colors
130-
[Fonts]: https://planet42.github.io/Laika/0.18/03-preparing-content/03-theme-settings.html#fonts
131-
[laika-nav]: https://planet42.github.io/Laika/0.18/03-preparing-content/03-theme-settings.html#navigation-links-favicons
119+
[Versioned Documentation]: https://typelevel.org/Laika/latest/03-preparing-content/01-directory-structure.html#versioned-documentation
120+
[Website Landing Page]: https://typelevel.org/Laika/latest/03-preparing-content/03-theme-settings.html#website-landing-page
121+
[Colors]: https://typelevel.org/Laika/latest/03-preparing-content/03-theme-settings.html#colors
122+
[Fonts]: https://typelevel.org/Laika/latest/03-preparing-content/03-theme-settings.html#fonts
123+
[laika-nav]: https://typelevel.org/Laika/latest/03-preparing-content/03-theme-settings.html#navigation-links-favicons-footer
132124

133125

134126
## FAQ
@@ -157,10 +149,3 @@ lazy val unidocs = project
157149
ScalaUnidoc / unidoc / unidocProjectFilter := inProjects(core.jvm, heffalump)
158150
)
159151
```
160-
<<<<<<< HEAD
161-
=======
162-
163-
### How can I customize my website's appearance?
164-
165-
We refer you to the comprehensive [Laika manual](https://typelevel.org/Laika/index.html) and specifically the [`laikaTheme` setting](https://typelevel.org/Laika/0.18/02-running-laika/01-sbt-plugin.html#laikatheme-setting).
166-
>>>>>>> series/0.4

settings/src/main/scala/org/typelevel/sbt/TypelevelSettingsPlugin.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ object TypelevelSettingsPlugin extends AutoPlugin {
3737
settingKey[Boolean]("Convert compiler warnings into errors (default: false)")
3838
lazy val tlJdkRelease =
3939
settingKey[Option[Int]](
40-
"JVM target version for the compiled bytecode, None results in default scalac and javac behavior (no --release flag is specified). (default: None, supported values: 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)")
40+
"JVM target version for the compiled bytecode, None results in default scalac and javac behavior (no compiler flag is added) (default: Some(8))")
4141
}
4242

4343
import autoImport._

0 commit comments

Comments
 (0)