Skip to content

Commit

Permalink
Add Scaladoc Support (#450)
Browse files Browse the repository at this point in the history
* add scaladoc support.

* remove depends on.

* try fixing ci, part one.

* remove extra settings.

* remove std settings.

* just scala 213 for docs.

* remove keeper from unidoc.

* update zio-sbt-website plugin.

* ignore version on index.md file.

* update readme.

* update scala version.

* ignore docs from publishing.

* remove check artifact build process.
  • Loading branch information
khajavi authored Jan 23, 2023
1 parent e4af34b commit 6990fcb
Show file tree
Hide file tree
Showing 6 changed files with 92 additions and 56 deletions.
43 changes: 33 additions & 10 deletions .github/workflows/site.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,40 @@ name: Website
push:
branches:
- master
pull_request: {}
jobs:
build:
name: Build and Test
runs-on: ubuntu-latest
if: ${{ github.event_name == 'pull_request' }}
steps:
- name: Git Checkout
uses: actions/checkout@v3.3.0
with:
fetch-depth: '0'
- name: Setup Scala
uses: actions/setup-java@v3.9.0
with:
distribution: temurin
java-version: 17
check-latest: true
- name: Check if the README file is up to date
run: sbt docs/checkReadme
- name: Check if the site workflow is up to date
run: sbt docs/checkGithubWorkflow
- name: Check website build process
run: sbt docs/clean; sbt docs/buildWebsite
publish-docs:
name: Publish Docs
runs-on: ubuntu-latest
if: ${{ ((github.event_name == 'release') && (github.event.action == 'published')) || (github.event_name == 'workflow_dispatch') }}
steps:
- name: Git Checkout
uses: actions/checkout@v3.1.0
uses: actions/checkout@v3.3.0
with:
fetch-depth: '0'
- name: Setup Scala
uses: actions/setup-java@v3.6.0
uses: actions/setup-java@v3.9.0
with:
distribution: temurin
java-version: 17
Expand All @@ -38,14 +60,15 @@ jobs:
generate-readme:
name: Generate README
runs-on: ubuntu-latest
if: ${{ (github.event_name == 'push') || ((github.event_name == 'release') && (github.event.action == 'published')) }}
steps:
- name: Git Checkout
uses: actions/checkout@v3.1.0
uses: actions/checkout@v3.3.0
with:
ref: ${{ github.head_ref }}
fetch-depth: '0'
- name: Setup Scala
uses: actions/setup-java@v3.6.0
uses: actions/setup-java@v3.9.0
with:
distribution: temurin
java-version: 17
Expand All @@ -59,15 +82,15 @@ jobs:
git add README.md
git commit -m "Update README.md" || echo "No changes to commit"
- name: Create Pull Request
uses: peter-evans/create-pull-request@v4
uses: peter-evans/create-pull-request@v4.2.3
with:
title: Update README.md
commit-message: Update README.md
branch: zio-sbt-website/update-readme
body: |
body: |-
Autogenerated changes after running the `sbt docs/generateReadme` command of the [zio-sbt-website](https://zio.dev/zio-sbt) plugin.
I will automatically update the README.md file whenever there is new change for README.md, e.g.
- After each release, I will update the version in the installation section.
- After any changes to the "docs/index.md" file, I will update the README.md file accordingly.
branch: zio-sbt-website/update-readme
commit-message: Update README.md
delete-branch: true
title: Update README.md
69 changes: 46 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,60 @@
[//]: # (This file was autogenerated using `zio-sbt-website` plugin via `sbt generateReadme` command.)
[//]: # (So please do not edit it manually. Instead, change "docs/index.md" file or sbt setting keys)
[//]: # (e.g. "readmeDocumentation" and "readmeSupport".)

# ZIO Keeper

| Project Stage | CI | Issues | Discord |
| ------------------------------------- |-----------------|-------------------------------------------------------------|-------------------------------------------|
| [![Project stage][Stage]][Stage-Page] | ![CI][Badge-CI] | [![Is it maintained?][Badge-Maintenance]][Link-Maintenance] | [![Discord][Badge-Discord]][Link-Discord] |
ZIO Keeper is a purely-functional, type-safe library for building distributed systems.

[![Experimental](https://img.shields.io/badge/Project%20Stage-Experimental-yellowgreen.svg)](https://github.com/zio/zio/wiki/Project-Stages) ![CI Badge](https://github.com/zio/zio-keeper/workflows/CI/badge.svg) [![Sonatype Snapshots](https://img.shields.io/nexus/s/https/oss.sonatype.org/dev.zio/zio-keeper_2.13.svg?label=Sonatype%20Snapshot)](https://oss.sonatype.org/content/repositories/snapshots/dev/zio/zio-keeper_2.13/) [![ZIO Keeper](https://img.shields.io/github/stars/zio/zio-keeper?style=social)](https://github.com/zio/zio-keeper)

ZIO Keeper is a purely-functional, type-safe library for building distributed
systems.
## Introduction

It provides numerous primitives for tackling the common problems in distributed
computing (e.g. leader election, cluster forming etc.). Under the hood, the
library is backed by [ZIO][Link-ZIO] and [ZIO NIO][Link-NIO], profiting from their
performant, type and resource-safe APIs.
It provides numerous primitives for tackling the common problems in distributed computing (e.g. leader election, cluster forming etc.).

Under the hood, the library is backed by [ZIO][Link-ZIO] and [ZIO NIO][Link-NIO], profiting from their performant, type and resource-safe APIs:
- **Composable**. Design complex systems by composing the available building blocks.
- **Resilient**. Build apps with automated failure recovery.
- **Secure**. Benefit from security guarantees built into the library core.

To learn more about ZIO Keeper, check out the following references:
From the high-level perspective, the library can be separated into the following
"modules":
- transport
- membership
- consensus

## Installation

In order to use this library, we need to add the following line in our `build.sbt` file:

- [Homepage](https://zio.dev/zio-keeper/)
- [Contributor's guide](./.github/CONTRIBUTING.md)
- [License](LICENSE)
- [Issues](https://github.com/zio/zio-keeper/issues)
- [Milestones](https://github.com/zio/zio-keeper/milestones?direction=asc&sort=title&state=open)
- [Pull Requests](https://github.com/zio/zio-keeper/pulls)
```scala
libraryDependencies += "dev.zio" %% "zio-keeper" % "<version>"

resolvers += Resolver.sonatypeRepo("snapshots")
```

[Badge-CI]: https://github.com/zio/zio-keeper/workflows/CI/badge.svg
[Badge-Discord]: https://img.shields.io/discord/629491597070827530?logo=discord
[Badge-Maintenance]: http://isitmaintained.com/badge/resolution/zio/zio-keeper.svg
[Link-Discord]: https://discord.gg/2ccFBr4
[Link-Maintenance]: http://isitmaintained.com/project/zio/zio-keeper
[Link-ZIO]: https://zio.dev
[Link-NIO]: https://zio.github.io/zio-nio/
[Stage]: https://img.shields.io/badge/Project%20Stage-Experimental-yellow.svg
[Stage-Page]: https://github.com/zio/zio/wiki/Project-Stages

## Documentation

Learn more on the [ZIO Keeper homepage](https://zio.dev/zio-keeper/)!

## Contributing

For the general guidelines, see ZIO [contributor's guide](https://zio.dev/about/contributing).

## Code of Conduct

See the [Code of Conduct](https://zio.dev/about/code-of-conduct)

## Support

Come chat with us on [![Badge-Discord]][Link-Discord].

[Badge-Discord]: https://img.shields.io/discord/629491597070827530?logo=discord "chat on discord"
[Link-Discord]: https://discord.gg/2ccFBr4 "Discord"

## License

[License](LICENSE)
26 changes: 9 additions & 17 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,9 @@ addCommandAlias("check", "all scalafmtSbtCheck scalafmtCheck test:scalafmtCheck"

lazy val root = project
.in(file("."))
.settings(crossScalaVersions := Seq(Scala212, Scala213))
.settings(skip in publish := true)
.aggregate(keeper, examples)
.aggregate(keeper, examples, docs)

lazy val keeper = project
.in(file("keeper"))
Expand Down Expand Up @@ -80,24 +81,15 @@ lazy val examples = project
lazy val docs = project
.in(file("zio-keeper-docs"))
.settings(
skip in publish := true,
publish / skip := true,
moduleName := "zio-keeper-docs",
unusedCompileDependenciesFilter -= moduleFilter("org.scalameta", "mdoc"),
scalacOptions -= "-Yno-imports",
scalacOptions -= "-Xfatal-warnings",
scalacOptions ~= { _.filterNot(_.startsWith("-Ywarn")) },
scalacOptions ~= { _.filterNot(_.startsWith("-Xlint")) },
libraryDependencies ++= Seq(
("com.github.ghik" % "silencer-lib" % "1.6.0" % Provided).cross(CrossVersion.full)
),
scalaVersion := Scala213,
crossScalaVersions := Seq(Scala213),
mainModuleName := (keeper / moduleName).value,
projectName := "ZIO Keeper",
badgeInfo := Some(
BadgeInfo(
artifact = "zio-keeper_2.12",
projectStage = ProjectStage.Experimental
)
),
projectStage := ProjectStage.Experimental,
ScalaUnidoc / unidoc / unidocProjectFilter := inProjects(),
checkArtifactBuildProcessWorkflowStep := None,
docsPublishBranch := "master"
)
.dependsOn(keeper)
.enablePlugins(WebsitePlugin)
2 changes: 1 addition & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ From the high-level perspective, the library can be separated into the following
In order to use this library, we need to add the following line in our `build.sbt` file:

```scala
libraryDependencies += "dev.zio" %% "zio-keeper" % "@VERSION@"
libraryDependencies += "dev.zio" %% "zio-keeper" % "<version>"

resolvers += Resolver.sonatypeRepo("snapshots")
```
Expand Down
4 changes: 2 additions & 2 deletions project/BuildHelper.scala
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ object BuildHelper {
incOptions ~= (_.withLogRecompileOnMacro(false))
)

final private val Scala212 = "2.12.10"
final private val Scala213 = "2.13.1"
final val Scala212 = "2.12.17"
final val Scala213 = "2.13.10"

final val ZioVersion = "1.0.0"
final val NioVersion = "1.0.0-RC9"
Expand Down
4 changes: 1 addition & 3 deletions project/plugins.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,4 @@ addSbtPlugin("com.geirsson" % "sbt-ci-release" % "1.5.5")
addSbtPlugin("com.github.cb372" % "sbt-explicit-dependencies" % "0.2.16")
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.2")
addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.2.14")
addSbtPlugin("dev.zio" % "zio-sbt-website" % "0.2.4")

resolvers += Resolver.sonatypeRepo("public")
addSbtPlugin("dev.zio" % "zio-sbt-website" % "0.3.9")

0 comments on commit 6990fcb

Please sign in to comment.