diff --git a/.github/workflows/scaladoc.yaml b/.github/workflows/scaladoc.yaml index a58f4c23c2a8..8429066fc472 100644 --- a/.github/workflows/scaladoc.yaml +++ b/.github/workflows/scaladoc.yaml @@ -39,7 +39,9 @@ jobs: run: ./project/scripts/sbt scaladoc-js/test - name: Compile and test - run: ./project/scripts/sbt scaladoc/test + run: | + ./project/scripts/sbt scaladoc/test + ./project/scripts/cmdScaladocTests - name: Locally publish self run: ./project/scripts/sbt scaladoc/publishLocal diff --git a/project/Build.scala b/project/Build.scala index 68162beb8a70..d8d9236a26dd 100644 --- a/project/Build.scala +++ b/project/Build.scala @@ -1245,7 +1245,7 @@ object Build { val distLocation = (dist / pack).value val projectVersion = version.value IO.createDirectory(file(outDir)) - val stdLibVersion = stdlibVersion(Bootstrapped) + val stdLibVersion = stdlibVersion(NonBootstrapped) val scalaLib = findArtifactPath(externalCompilerClasspathTask.value, "scala-library") val dottyLib = (`scala3-library` / Compile / classDirectory).value // TODO add versions etc. diff --git a/project/scripts/cmdScaladocTests b/project/scripts/cmdScaladocTests new file mode 100755 index 000000000000..38032aacf2cc --- /dev/null +++ b/project/scripts/cmdScaladocTests @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +source $(dirname $0)/cmdTestsCommon.inc.sh + +echo "testing scaladoc script" +clear_out "$OUT" +clear_out "$OUT1" + + +STDLIB_COMMAND="$SBT \"eval println(Build.stdlibVersion(Modes.NonBootstrapped))\"" +STDLIB_VERSION=$(eval $STDLIB_COMMAND | tail -n 2 | head -n 1) + +DOTTY_NONBOOTSTRAPPED_COMMAND="$SBT \"eval println(Build.dottyNonBootstrappedVersion)\"" +DOTTY_NONBOOTSTRAPPED_VERSION=$(eval $DOTTY_NONBOOTSTRAPPED_COMMAND | tail -n 2 | head -n 1) + +"$SBT" "scaladoc/generateTestcasesDocumentation" > "$tmp" 2>&1 || echo "generated testcases project with sbt" +dist/target/pack/bin/scaladoc \ + -d "$OUT1" \ + -project "scaladoc testcases" \ + -source-links:out/bootstrap/stdlib-bootstrapped/scala-"${DOTTY_NONBOOTSTRAPPED_VERSION}"/src_managed/main/scala-library-src=github://scala/scala/v"${STDLIB_VERSION}"#src/library \ + -source-links:out/bootstrap/stdlib-bootstrapped/scala-"${DOTTY_NONBOOTSTRAPPED_VERSION}"/src_managed/main/dotty-library-src=github://"${GITHUB_REPOSITORY}"/"${GITHUB_SHA}"\#library/src \ + -source-links:github://"${GITHUB_REPOSITORY}"/"${GITHUB_SHA}" \ + "-external-mappings:.*scala.*::scaladoc3::https://dotty.epfl.ch/api/,.*java.*::javadoc::https://docs.oracle.com/javase/8/docs/api/" \ + "-skip-by-regex:.+\.internal($|\..+)" \ + "-skip-by-regex:.+\.impl($|\..+)" \ + -project-logo docs/logo.svg \ + -social-links:github::https://github.com/lampepfl/dotty,gitter::https://gitter.im/scala/scala,twitter::https://twitter.com/scala_lang \ + -Ygenerate-inkuire \ + "-skip-by-id:scala.runtime.stdLibPatches" \ + "-skip-by-id:scala.runtime.MatchCase" \ + -project-footer "Copyright (c) 2002-2021, LAMP/EPFL" \ + -author -groups -revision master -project-version 3.0.2-RC1-bin-SNAPSHOT \ + out/bootstrap/scaladoc-testcases/scala-3.0.2-RC1-bin-SNAPSHOT-nonbootstrapped/classes > "$tmp" 2>&1 || echo "generated testcases project with scripts" +diff -rq "$OUT1" "scaladoc/output/testcases" diff --git a/project/scripts/cmdTests b/project/scripts/cmdTests index 49571ee3d66d..37bb8bcb706e 100755 --- a/project/scripts/cmdTests +++ b/project/scripts/cmdTests @@ -61,29 +61,6 @@ echo "testing -Ythrough-tasty" clear_out "$OUT" "$SBT" ";scalac -Ythrough-tasty $SOURCE" -echo "testing scaladoc script" -clear_out "$OUT" -clear_out "$OUT1" -"$SBT" "scaladoc/generateTestcasesDocumentation" > "$tmp" 2>&1 || echo "generated testcases project with sbt" -dist/target/pack/bin/scaladoc \ - -d "$OUT1" \ - -project "scaladoc testcases" \ - -source-links:out/bootstrap/stdlib-bootstrapped/scala-3.0.2-RC1-bin-SNAPSHOT-nonbootstrapped/src_managed/main/scala-library-src=github://scala/scala/v2.13.6#src/library \ - -source-links:out/bootstrap/stdlib-bootstrapped/scala-3.0.2-RC1-bin-SNAPSHOT-nonbootstrapped/src_managed/main/dotty-library-src=github://"${GITHUB_REPOSITORY}"/"${GITHUB_SHA}"\#library/src \ - -source-links:github://"${GITHUB_REPOSITORY}"/"${GITHUB_SHA}" \ - "-external-mappings:.*scala.*::scaladoc3::https://dotty.epfl.ch/api/,.*java.*::javadoc::https://docs.oracle.com/javase/8/docs/api/" \ - "-skip-by-regex:.+\.internal($|\..+)" \ - "-skip-by-regex:.+\.impl($|\..+)" \ - -project-logo docs/logo.svg \ - -social-links:github::https://github.com/lampepfl/dotty,gitter::https://gitter.im/scala/scala,twitter::https://twitter.com/scala_lang \ - -Ygenerate-inkuire \ - "-skip-by-id:scala.runtime.stdLibPatches" \ - "-skip-by-id:scala.runtime.MatchCase" \ - -project-footer "Copyright (c) 2002-2021, LAMP/EPFL" \ - -author -groups -revision master -project-version 3.0.2-RC1-bin-SNAPSHOT \ - out/bootstrap/scaladoc-testcases/scala-3.0.2-RC1-bin-SNAPSHOT-nonbootstrapped/classes > "$tmp" 2>&1 || echo "generated testcases project with scripts" -diff -rq "$OUT1" "scaladoc/output/testcases" - ## Disabled because of flakeyness, should be changed to not depend on sbt # echo "running Vulpix meta test" # tmp=$(mktemp)