diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cf8045560..4c09ed9b6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -327,7 +327,7 @@ jobs: - name: Submit Dependencies uses: scalacenter/sbt-dependency-submission@v2 with: - modules-ignore: rootjs_3 rootjs_2.12 rootjs_2.13 rootjvm_3 rootjvm_2.12 rootjvm_2.13 rootnative_3 rootnative_2.12 rootnative_2.13 scalacheck-bench_3 scalacheck-bench_2.12 scalacheck-bench_2.13 + modules-ignore: rootjs_3 rootjs_2.12 rootjs_2.13 docs_3 docs_2.12 docs_2.13 rootjvm_3 rootjvm_2.12 rootjvm_2.13 rootnative_3 rootnative_2.12 rootnative_2.13 scalacheck-bench_3 scalacheck-bench_2.12 scalacheck-bench_2.13 configs-ignore: test scala-tool scala-doc-tool test-internal examples: @@ -421,3 +421,56 @@ jobs: - name: Build benchmark suite run: 'sbt ''++ ${{ matrix.scala }}'' ''bench/jmh:run -p genSize=0 -p seedCount=0 -bs 1 -wi 0 -i 1 -f 0 -t 1 -r 0 org.scalacheck.bench.GenBench''' + + site: + name: Generate Site + strategy: + matrix: + os: [ubuntu-22.04] + java: [temurin@11] + runs-on: ${{ matrix.os }} + steps: + - name: Checkout current branch (full) + uses: actions/checkout@v6 + with: + fetch-depth: 0 + + - name: Setup sbt + uses: sbt/setup-sbt@v1 + + - name: Setup Java (temurin@8) + id: setup-java-temurin-8 + if: matrix.java == 'temurin@8' + uses: actions/setup-java@v5 + with: + distribution: temurin + java-version: 8 + cache: sbt + + - name: sbt update + if: matrix.java == 'temurin@8' && steps.setup-java-temurin-8.outputs.cache-hit == 'false' + run: sbt +update + + - name: Setup Java (temurin@11) + id: setup-java-temurin-11 + if: matrix.java == 'temurin@11' + uses: actions/setup-java@v5 + with: + distribution: temurin + java-version: 11 + cache: sbt + + - name: sbt update + if: matrix.java == 'temurin@11' && steps.setup-java-temurin-11.outputs.cache-hit == 'false' + run: sbt +update + + - name: Generate site + run: sbt docs/tlSite + + - name: Publish site + if: github.event_name != 'pull_request' && github.ref == 'refs/heads/main' + uses: peaceiris/actions-gh-pages@v4.0.0 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: site/target/docs/site + keep_files: true diff --git a/build.sbt b/build.sbt index 990528bc5..901bb516a 100644 --- a/build.sbt +++ b/build.sbt @@ -69,6 +69,114 @@ ThisBuild / tlMimaPreviousVersions ++= Set( ) ThisBuild / tlVersionIntroduced := Map("3" -> "1.15.3") +// publish website from this branch +ThisBuild / tlSitePublishBranch := Some("main") + +import laika.config.{LinkConfig, MessageFilters, SyntaxHighlighting, TargetDefinition, Version, Versions} +import laika.helium.Helium +import laika.helium.config.{Favicon, HeliumIcon, IconLink, LinkPanel, ReleaseInfo, Teaser, TextLink} +import laika.ast.Path.Root +import laika.ast.Image +import laika.format.Markdown +import laika.theme.config.Color + +val scalaCheckRepo = "https://github.com/typelevel/scalacheck" +val latestVersion = "1.19.0" + +lazy val docs = project.in(file("site")) + .enablePlugins(TypelevelSitePlugin) + .settings( + laikaExtensions ++= Seq( + Markdown.GitHubFlavor, + SyntaxHighlighting + ), + laikaTheme := + Helium.defaults + .site.landingPage( + logo = Some(Image.internal(Root / "images/logo_forall_transparent.png")), + title = Some("ScalaCheck"), + subtitle = Some("Property Based Testing for Scala"), + latestReleases = Seq( + Some(ReleaseInfo("Latest Stable Release", tlBaseVersion.value)), + tlLatestPreReleaseVersion.value.map(s => ReleaseInfo("Latest Milestone Release", s)) + ).flatten, + linkPanel = Some(LinkPanel( + "Documentation", + TextLink.internal(Root / "main.md", "Introduction"), + TextLink.internal(Root / "resources.md", "Resources"), + TextLink.internal(Root / "download.md", "Download"), + TextLink.internal(Root / "userguide.md", "User Guide"), + TextLink.internal(Root / "sources.md", "Sources"), + TextLink.internal(Root / "api.md", "API"), + TextLink.internal(Root / "old_releases.md", "Old Releases") + )), + projectLinks = Seq( + TextLink.external("https://github.com/typelevel/scalacheck", "Source on Github"), + TextLink.external( + "https://discord.com/channels/632277896739946517/841617753513263144", + "Discussions on Discord"), + TextLink.external("https://github.com/typelevel/scalacheck/discussions", "Discussions on GitHub"), + TextLink.external("https://github.com/typelevel/scalacheck/issues", "Issues on GitHub") + ), + license = Some("BSD-3-Clause"), + teasers = Seq( + Teaser( + "Thorough", + "Write a single property and let ScalaCheck execute it hundreds or thousands of times. Instead of a handful of examples, you explore a wide space of possible inputs automatically. This gives you confidence that your code behaves correctly beyond the obvious cases." + ), + Teaser( + "Generative", + "Stop hand-crafting test data and let ScalaCheck generate it for you. From simple values to complex domain objects, generators produce diverse scenarios effortlessly. Your tests evolve from examples into full explorations of behavior." + ), + Teaser( + "Exploratory", + "ScalaCheck helps you uncover edge cases you didn’t know existed. By exploring random and structured inputs, it reveals hidden assumptions in your code. Many bugs surface not because you expected them, but because ScalaCheck went looking." + ), + Teaser( + "Minimal", + "When a test fails, ScalaCheck doesn’t just stop, it shrinks the input. It searches for the smallest, simplest example that still reproduces the failure. Debugging becomes faster because you’re working with minimal, focused data." + ), + Teaser( + "Expressive", + "Tests read like laws or truths about your system. Instead of imperative scripts, you write clear statements of intent. This makes your test suite easier to understand and communicate." + ) + ) + ) + .site.themeColors( + primary = Color.hex("818589"), + primaryLight = Color.hex("FFF6CC"), + primaryMedium = Color.hex("8A7A3B"), + secondary = Color.hex("2B2B2B"), + text = Color.hex("818589"), + background = Color.hex("FFFDF5"), + bgGradient = (Color.hex("FFFDF5"), Color.hex("FFF3BF")) + ) + .site.favIcons( + Favicon.internal(Root / "images/favicon.ico", sizes = "32x32") + ) + .site.topNavigationBar( + homeLink = IconLink.internal(Root / "main.md", HeliumIcon.home) + ) + .site.footer(Image.internal(Root / "images/logo_forall_h30.png")) + .build, + + laikaConfig := { + + LaikaConfig + .defaults + .withMessageFilters(MessageFilters.forVisualDebugging) + .withConfigValue( + LinkConfig.empty.addTargets( + TargetDefinition.external("ScalaCheck Repository", scalaCheckRepo), + TargetDefinition.external("ScalaCheck Bug Reports", s"$scalaCheckRepo/issues"), + TargetDefinition.external("ScalaCheck Discussions on GitHub", s"$scalaCheckRepo/discussions"), + TargetDefinition.external("report an issue", s"$scalaCheckRepo/issues"), + TargetDefinition.external("submit a pull request", s"$scalaCheckRepo/pull") + ) + ) + } + ) + lazy val root = tlCrossRootProject.aggregate(core, bench) .settings( Compile / headerSources ++= Seq( diff --git a/docs/api.md b/docs/api.md new file mode 100644 index 000000000..c9be422cf --- /dev/null +++ b/docs/api.md @@ -0,0 +1,102 @@ +# API + +ScalaCheck API documentation is hosted on javadoc.io. + +## Latest API + +Use the artifact root links below to always land on the latest published docs for each artifact. + +| Platform | Scala Version | Online API | Download | +|----------|--------------|------------|----------| +| JVM | Scala 3 | [ScalaCheck JVM Scala 3 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_3) | [ScalaCheck JVM Scala 3 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_3/1.19.0/scalacheck_3-1.19.0-javadoc.jar) | +| JVM | Scala 2.13 | [ScalaCheck JVM Scala 2.13 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_2.13) | [ScalaCheck JVM Scala 2.13 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_2.13/1.19.0/scalacheck_2.13-1.19.0-javadoc.jar) | +| JVM | Scala 2.12 | [ScalaCheck JVM Scala 2.12 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_2.12) | [ScalaCheck JVM Scala 2.12 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_2.12/1.19.0/scalacheck_2.12-1.19.0-javadoc.jar) | +| Scala.js | Scala 3 | [ScalaCheck Scala.js Scala 3 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_sjs1_3) | [ScalaCheck Scala.js Scala 3 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_sjs1_3/1.19.0/scalacheck_sjs1_3-1.19.0-javadoc.jar) | +| Scala.js | Scala 2.13 | [ScalaCheck Scala.js Scala 2.13 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_sjs1_2.13) | [ScalaCheck Scala.js Scala 2.13 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_sjs1_2.13/1.19.0/scalacheck_sjs1_2.13-1.19.0-javadoc.jar) | +| Scala.js | Scala 2.12 | [ScalaCheck Scala.js Scala 2.12 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_sjs1_2.12) | [ScalaCheck Scala.js Scala 2.12 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_sjs1_2.12/1.19.0/scalacheck_sjs1_2.12-1.19.0-javadoc.jar) | +| Native 0.5 | Scala 3 | [ScalaCheck Native 0.5 Scala 3 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_native0.5_3) | [ScalaCheck Native 0.5 Scala 3 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_native0.5_3/1.19.0/scalacheck_native0.5_3-1.19.0-javadoc.jar) | +| Native 0.5 | Scala 2.13 | [ScalaCheck Native 0.5 Scala 2.13 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_native0.5_2.13) | [ScalaCheck Native 0.5 Scala 2.13 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_native0.5_2.13/1.19.0/scalacheck_native0.5_2.13-1.19.0-javadoc.jar) | +| Native 0.5 | Scala 2.12 | [ScalaCheck Native 0.5 Scala 2.12 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_native0.5_2.12) | [ScalaCheck Native 0.5 Scala 2.12 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_native0.5_2.12/1.19.0/scalacheck_native0.5_2.12-1.19.0-javadoc.jar) | + +## Historical API + +Historical links are shown only for the latest patch of each supported line. + +### 1.19.x (1.19.0) + +| Platform | Scala Version | Online API | Download | +|----------|--------------|------------|----------| +| JVM | Scala 3 | [ScalaCheck JVM Scala 3 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_3/1.19.0) | [ScalaCheck JVM Scala 3 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_3/1.19.0/scalacheck_3-1.19.0-javadoc.jar) | +| JVM | Scala 2.13 | [ScalaCheck JVM Scala 2.13 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_2.13/1.19.0) | [ScalaCheck JVM Scala 2.13 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_2.13/1.19.0/scalacheck_2.13-1.19.0-javadoc.jar) | +| JVM | Scala 2.12 | [ScalaCheck JVM Scala 2.12 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_2.12/1.19.0) | [ScalaCheck JVM Scala 2.12 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_2.12/1.19.0/scalacheck_2.12-1.19.0-javadoc.jar) | +| Scala.js | Scala 3 | [ScalaCheck Scala.js Scala 3 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_sjs1_3/1.19.0) | [ScalaCheck Scala.js Scala 3 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_sjs1_3/1.19.0/scalacheck_sjs1_3-1.19.0-javadoc.jar) | +| Scala.js | Scala 2.13 | [ScalaCheck Scala.js Scala 2.13 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_sjs1_2.13/1.19.0) | [ScalaCheck Scala.js Scala 2.13 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_sjs1_2.13/1.19.0/scalacheck_sjs1_2.13-1.19.0-javadoc.jar) | +| Scala.js | Scala 2.12 | [ScalaCheck Scala.js Scala 2.12 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_sjs1_2.12/1.19.0) | [ScalaCheck Scala.js Scala 2.12 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_sjs1_2.12/1.19.0/scalacheck_sjs1_2.12-1.19.0-javadoc.jar) | +| Native 0.5 | Scala 3 | [ScalaCheck Native 0.5 Scala 3 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_native0.5_3/1.19.0) | [ScalaCheck Native 0.5 Scala 3 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_native0.5_3/1.19.0/scalacheck_native0.5_3-1.19.0-javadoc.jar) | +| Native 0.5 | Scala 2.13 | [ScalaCheck Native 0.5 Scala 2.13 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_native0.5_2.13/1.19.0) | [ScalaCheck Native 0.5 Scala 2.13 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_native0.5_2.13/1.19.0/scalacheck_native0.5_2.13-1.19.0-javadoc.jar) | +| Native 0.5 | Scala 2.12 | [ScalaCheck Native 0.5 Scala 2.12 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_native0.5_2.12/1.19.0) | [ScalaCheck Native 0.5 Scala 2.12 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_native0.5_2.12/1.19.0/scalacheck_native0.5_2.12-1.19.0-javadoc.jar) | + +### 1.18.x (1.18.1) + +| Platform | Scala Version | Online API | Download | +|----------|--------------|------------|----------| +| JVM | Scala 3 | [ScalaCheck JVM Scala 3 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_3/1.18.1) | [ScalaCheck JVM Scala 3 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_3/1.18.1/scalacheck_3-1.18.1-javadoc.jar) | +| JVM | Scala 2.13 | [ScalaCheck JVM Scala 2.13 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_2.13/1.18.1) | [ScalaCheck JVM Scala 2.13 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_2.13/1.18.1/scalacheck_2.13-1.18.1-javadoc.jar) | +| JVM | Scala 2.12 | [ScalaCheck JVM Scala 2.12 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_2.12/1.18.1) | [ScalaCheck JVM Scala 2.12 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_2.12/1.18.1/scalacheck_2.12-1.18.1-javadoc.jar) | +| Scala.js | Scala 3 | [ScalaCheck Scala.js Scala 3 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_sjs1_3/1.18.1) | [ScalaCheck Scala.js Scala 3 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_sjs1_3/1.18.1/scalacheck_sjs1_3-1.18.1-javadoc.jar) | +| Scala.js | Scala 2.13 | [ScalaCheck Scala.js Scala 2.13 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_sjs1_2.13/1.18.1) | [ScalaCheck Scala.js Scala 2.13 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_sjs1_2.13/1.18.1/scalacheck_sjs1_2.13-1.18.1-javadoc.jar) | +| Scala.js | Scala 2.12 | [ScalaCheck Scala.js Scala 2.12 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_sjs1_2.12/1.18.1) | [ScalaCheck Scala.js Scala 2.12 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_sjs1_2.12/1.18.1/scalacheck_sjs1_2.12-1.18.1-javadoc.jar) | +| Native 0.5 | Scala 3 | [ScalaCheck Native 0.5 Scala 3 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_native0.5_3/1.18.1) | [ScalaCheck Native 0.5 Scala 3 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_native0.5_3/1.18.1/scalacheck_native0.5_3-1.18.1-javadoc.jar) | +| Native 0.5 | Scala 2.13 | [ScalaCheck Native 0.5 Scala 2.13 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_native0.5_2.13/1.18.1) | [ScalaCheck Native 0.5 Scala 2.13 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_native0.5_2.13/1.18.1/scalacheck_native0.5_2.13-1.18.1-javadoc.jar) | +| Native 0.5 | Scala 2.12 | [ScalaCheck Native 0.5 Scala 2.12 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_native0.5_2.12/1.18.1) | [ScalaCheck Native 0.5 Scala 2.12 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_native0.5_2.12/1.18.1/scalacheck_native0.5_2.12-1.18.1-javadoc.jar) | + +### 1.17.x (1.17.1) + +| Platform | Scala Version | Online API | Download | +|----------|--------------|------------|----------| +| JVM | Scala 3 | [ScalaCheck JVM Scala 3 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_3/1.17.1) | [ScalaCheck JVM Scala 3 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_3/1.17.1/scalacheck_3-1.17.1-javadoc.jar) | +| JVM | Scala 2.13 | [ScalaCheck JVM Scala 2.13 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_2.13/1.17.1) | [ScalaCheck JVM Scala 2.13 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_2.13/1.17.1/scalacheck_2.13-1.17.1-javadoc.jar) | +| JVM | Scala 2.12 | [ScalaCheck JVM Scala 2.12 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_2.12/1.17.1) | [ScalaCheck JVM Scala 2.12 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_2.12/1.17.1/scalacheck_2.12-1.17.1-javadoc.jar) | +| Scala.js | Scala 3 | [ScalaCheck Scala.js Scala 3 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_sjs1_3/1.17.1) | [ScalaCheck Scala.js Scala 3 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_sjs1_3/1.17.1/scalacheck_sjs1_3-1.17.1-javadoc.jar) | +| Scala.js | Scala 2.13 | [ScalaCheck Scala.js Scala 2.13 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_sjs1_2.13/1.17.1) | [ScalaCheck Scala.js Scala 2.13 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_sjs1_2.13/1.17.1/scalacheck_sjs1_2.13-1.17.1-javadoc.jar) | +| Scala.js | Scala 2.12 | [ScalaCheck Scala.js Scala 2.12 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_sjs1_2.12/1.17.1) | [ScalaCheck Scala.js Scala 2.12 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_sjs1_2.12/1.17.1/scalacheck_sjs1_2.12-1.17.1-javadoc.jar) | +| Native 0.4 | Scala 3 | [ScalaCheck Native 0.4 Scala 3 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_native0.4_3/1.17.1) | [ScalaCheck Native 0.4 Scala 3 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_native0.4_3/1.17.1/scalacheck_native0.4_3-1.17.1-javadoc.jar) | +| Native 0.4 | Scala 2.13 | [ScalaCheck Native 0.4 Scala 2.13 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_native0.4_2.13/1.17.1) | [ScalaCheck Native 0.4 Scala 2.13 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_native0.4_2.13/1.17.1/scalacheck_native0.4_2.13-1.17.1-javadoc.jar) | +| Native 0.4 | Scala 2.12 | [ScalaCheck Native 0.4 Scala 2.12 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_native0.4_2.12/1.17.1) | [ScalaCheck Native 0.4 Scala 2.12 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_native0.4_2.12/1.17.1/scalacheck_native0.4_2.12-1.17.1-javadoc.jar) | + +### 1.16.x (1.16.0) + +| Platform | Scala Version | Online API | Download | +|----------|--------------|------------|----------| +| JVM | Scala 3 | [ScalaCheck JVM Scala 3 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_3/1.16.0) | [ScalaCheck JVM Scala 3 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_3/1.16.0/scalacheck_3-1.16.0-javadoc.jar) | +| JVM | Scala 2.13 | [ScalaCheck JVM Scala 2.13 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_2.13/1.16.0) | [ScalaCheck JVM Scala 2.13 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_2.13/1.16.0/scalacheck_2.13-1.16.0-javadoc.jar) | +| JVM | Scala 2.12 | [ScalaCheck JVM Scala 2.12 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_2.12/1.16.0) | [ScalaCheck JVM Scala 2.12 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_2.12/1.16.0/scalacheck_2.12-1.16.0-javadoc.jar) | +| Scala.js | Scala 3 | [ScalaCheck Scala.js Scala 3 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_sjs1_3/1.16.0) | [ScalaCheck Scala.js Scala 3 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_sjs1_3/1.16.0/scalacheck_sjs1_3-1.16.0-javadoc.jar) | +| Scala.js | Scala 2.13 | [ScalaCheck Scala.js Scala 2.13 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_sjs1_2.13/1.16.0) | [ScalaCheck Scala.js Scala 2.13 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_sjs1_2.13/1.16.0/scalacheck_sjs1_2.13-1.16.0-javadoc.jar) | +| Scala.js | Scala 2.12 | [ScalaCheck Scala.js Scala 2.12 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_sjs1_2.12/1.16.0) | [ScalaCheck Scala.js Scala 2.12 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_sjs1_2.12/1.16.0/scalacheck_sjs1_2.12-1.16.0-javadoc.jar) | +| Native 0.4 | Scala 3 | [ScalaCheck Native 0.4 Scala 3 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_native0.4_3/1.16.0) | [ScalaCheck Native 0.4 Scala 3 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_native0.4_3/1.16.0/scalacheck_native0.4_3-1.16.0-javadoc.jar) | +| Native 0.4 | Scala 2.13 | [ScalaCheck Native 0.4 Scala 2.13 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_native0.4_2.13/1.16.0) | [ScalaCheck Native 0.4 Scala 2.13 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_native0.4_2.13/1.16.0/scalacheck_native0.4_2.13-1.16.0-javadoc.jar) | +| Native 0.4 | Scala 2.12 | [ScalaCheck Native 0.4 Scala 2.12 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_native0.4_2.12/1.16.0) | [ScalaCheck Native 0.4 Scala 2.12 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_native0.4_2.12/1.16.0/scalacheck_native0.4_2.12-1.16.0-javadoc.jar) | + +### 1.15.x (1.15.4) + +| Platform | Scala Version | Online API | Download | +|----------|--------------|------------|----------| +| JVM | Scala 3 | [ScalaCheck JVM Scala 3 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_3/1.15.4) | [ScalaCheck JVM Scala 3 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_3/1.15.4/scalacheck_3-1.15.4-javadoc.jar) | +| JVM | Scala 2.13 | [ScalaCheck JVM Scala 2.13 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_2.13/1.15.4) | [ScalaCheck JVM Scala 2.13 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_2.13/1.15.4/scalacheck_2.13-1.15.4-javadoc.jar) | +| JVM | Scala 2.12 | [ScalaCheck JVM Scala 2.12 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_2.12/1.15.4) | [ScalaCheck JVM Scala 2.12 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_2.12/1.15.4/scalacheck_2.12-1.15.4-javadoc.jar) | +| Scala.js | Scala 3 | [ScalaCheck Scala.js Scala 3 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_sjs1_3/1.15.4) | [ScalaCheck Scala.js Scala 3 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_sjs1_3/1.15.4/scalacheck_sjs1_3-1.15.4-javadoc.jar) | +| Scala.js | Scala 2.13 | [ScalaCheck Scala.js Scala 2.13 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_sjs1_2.13/1.15.4) | [ScalaCheck Scala.js Scala 2.13 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_sjs1_2.13/1.15.4/scalacheck_sjs1_2.13-1.15.4-javadoc.jar) | +| Scala.js | Scala 2.12 | [ScalaCheck Scala.js Scala 2.12 Online](https://javadoc.io/doc/org.scalacheck/scalacheck_sjs1_2.12/1.15.4) | [ScalaCheck Scala.js Scala 2.12 Download](https://javadoc.io/jar/org.scalacheck/scalacheck_sjs1_2.12/1.15.4/scalacheck_sjs1_2.12-1.15.4-javadoc.jar) | + +## Notes + +- API docs are hosted on javadoc.io. +- The artifact-root links under “Latest API” always resolve to the latest published docs for that artifact. +- Historical links are shown only for the latest patch of each supported line. +- Javadoc JARs can be downloaded for offline browsing. + +## Related pages + +- [Download](download.md) +- [Sources](sources.md) diff --git a/docs/directory.conf b/docs/directory.conf new file mode 100644 index 000000000..b066195c0 --- /dev/null +++ b/docs/directory.conf @@ -0,0 +1,10 @@ +laika.versioned = false +laika.navigationOrder = [ + main.md + resources.md + userguide.md + download.md + sources.md + api.md + old_releases.md +] diff --git a/docs/download.md b/docs/download.md new file mode 100644 index 000000000..f04166ff5 --- /dev/null +++ b/docs/download.md @@ -0,0 +1,64 @@ +# Download + +ScalaCheck is available for the JVM, Scala.js, and Scala Native. + +## Latest stable + +Use the latest stable release unless you need to stay on an older line for compatibility reasons. + +### sbt + +#### JVM + +```scala +libraryDependencies += "org.scalacheck" %% "scalacheck" % "@VERSION@" % Test +``` + +#### Scala.js / Scala Native + +``` +libraryDependencies += "org.scalacheck" %%% "scalacheck" % "@VERSION@" % Test +``` + +### Scala CLI + +```scala``` +//> using dep "org.scalacheck::scalacheck:@VERSION@" +``` + +### Mill + +```scala +ivy"org.scalacheck::scalacheck:@VERSION@" +``` + +## Release lines + +| Line | Representative Release | Date | Scala | Scala.js | Scala Native | Notes | +|--------|------------------------|------------|----------------------|----------|--------------|--------------------------------| +| 1.19.x | 1.19.0 | 2025-09-06 | 2.12, 2.13, 3.x | 1.x | 0.5 | Latest stable | +| 1.18.x | 1.18.1 | 2024-09-15 | 2.12, 2.13, 3.x | 1.x | 0.5 | Maintenance release | +| 1.17.x | 1.17.1 | 2024-04-16 | 2.12, 2.13, 3.x | 1.x | 0.4 | Stable historical line | +| 1.16.x | 1.16.0 | 2022-04-07 | 2.12, 2.13, 3.x | 1.x | 0.4 | Adds support for java.time | +| 1.15.x | 1.15.4 | 2021-05-03 | 2.12, 2.13, 3.x* | 1.x | 0.4 | Bug-fix release | + +* Scala 3 artifacts for ScalaCheck 1.15.4 and 1.15.3 were published on 2021-05-14. + +### Use the representative release version + +If you want something other than the latest stable release, select the representative release version of your choice. For example, for version `1.17.1`, apply the following in your build tool: + +```scala +libraryDependencies += "org.scalacheck" %% "scalacheck" % "1.17.1" % Test +``` + +## Notes + +- The JVM dependency uses `%%` to fill in the Scala version. +- Scala.js and Scala Native use `%%%` to fill in the Scala version. +- ScalaCheck is normally added with the `Test` scope. + +## Related pages + +- [API](api.md) +- [Sources](sources.md) diff --git a/docs/files/img/book.png b/docs/files/img/book.png new file mode 100644 index 000000000..7f25b528a Binary files /dev/null and b/docs/files/img/book.png differ diff --git a/docs/files/img/drawing.svg b/docs/files/img/drawing.svg new file mode 100644 index 000000000..e69b752c4 --- /dev/null +++ b/docs/files/img/drawing.svg @@ -0,0 +1,508 @@ + + + + diff --git a/docs/files/img/logo.svg b/docs/files/img/logo.svg new file mode 100644 index 000000000..eceb83510 --- /dev/null +++ b/docs/files/img/logo.svg @@ -0,0 +1,73 @@ + + + + diff --git a/docs/files/index.html b/docs/files/index.html new file mode 100644 index 000000000..92bb6fd51 --- /dev/null +++ b/docs/files/index.html @@ -0,0 +1,921 @@ + + +
+Keyboard shortcuts
\n| \n ↑,\n ←,\n Pg Up,\n k\n | \nGo to previous slide | \n
| \n ↓,\n →,\n Pg Dn,\n Space,\n j\n | \nGo to next slide | \n
| \n Home\n | \nGo to first slide | \n
| \n End\n | \nGo to last slide | \n
| \n b /\n m /\n f\n | \nToggle blackout / mirrored / fullscreen mode | \n
| \n c\n | \nClone slideshow | \n
| \n p\n | \nToggle presenter mode | \n
| \n t\n | \nRestart the presentation timer | \n
| \n ?,\n h\n | \nToggle this help | \n
| \n Esc\n | \nBack to slideshow | \n
\s*<\/p>/g,""),n.innerHTML.replace(/\n\r?$/,"")}},{marked:28}],28:[function(e,t,r){!function(e){!function(){function e(e){this.tokens=[],this.tokens.links={},this.options=e||m.defaults,this.rules=u.normal,this.options.gfm&&(this.rules=this.options.tables?u.tables:u.gfm)}function a(e,t){if(this.options=t||m.defaults,this.links=e,this.rules=h.normal,this.renderer=this.options.renderer||new i,this.renderer.options=this.options,!this.links)throw new Error("Tokens array requires a `links` property.");this.options.gfm?this.rules=this.options.breaks?h.breaks:h.gfm:this.options.pedantic&&(this.rules=h.pedantic)}function i(e){this.options=e||{}}function n(e){this.tokens=[],this.token=null,this.options=e||m.defaults,this.options.renderer=this.options.renderer||new i,this.renderer=this.options.renderer,this.renderer.options=this.options}function s(e,t){return e.replace(t?/&/g:/&(?!#?\w+;)/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function l(e){return e.replace(/&([#\w]+);/g,function(e,t){return t=t.toLowerCase(),"colon"===t?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}function o(e,t){return e=e.source,t=t||"",function r(a,i){return a?(i=i.source||i,i=i.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(a,i),r):new RegExp(e,t)}}function c(){}function d(e){for(var t,r,a=1;a
"+s(u.message+"",!0)+"";throw u}}var u={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:c,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:c,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment|closed|closing) *(?:\n{2,}|\s*$)/,def:/^ *\[([^\]]+)\]: *([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:c,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/};u.bullet=/(?:[*+-]|\d+\.)/,u.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,u.item=o(u.item,"gm")(/bull/g,u.bullet)(),u.list=o(u.list)(/bull/g,u.bullet)("hr",/\n+(?=(?: *[-*_]){3,} *(?:\n+|$))/)(),u._tag="(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b",u.html=o(u.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/
'+(r?e:s(e,!0))+"\n\n":""+(r?e:s(e,!0))+"\n"},i.prototype.blockquote=function(e){return"\n"+e+"\n"},i.prototype.html=function(e){return e},i.prototype.heading=function(e,t,r){return"
"+e+"
\n"},i.prototype.table=function(e,t){return""+e+""},i.prototype.br=function(){return"