Skip to content

Commit 6501bb4

Browse files
committed
Fix building documentation source versions
1 parent aa47214 commit 6501bb4

File tree

2 files changed

+50
-16
lines changed

2 files changed

+50
-16
lines changed

project/Build.scala

Lines changed: 45 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1319,6 +1319,7 @@ object Build {
13191319
val generateSelfDocumentation = taskKey[Unit]("Generate example documentation")
13201320
// Note: the two tasks below should be one, but a bug in Tasty prevents that
13211321
val generateScalaDocumentation = inputKey[Unit]("Generate documentation for dotty lib")
1322+
val generateStableScala3Documentation = inputKey[Unit]("Generate documentation for stable dotty lib")
13221323
val generateTestcasesDocumentation = taskKey[Unit]("Generate documentation for testcases, usefull for debugging tests")
13231324

13241325
val generateReferenceDocumentation = inputKey[Unit]("Generate language reference documentation for Scala 3")
@@ -1462,6 +1463,12 @@ object Build {
14621463
writeAdditionalFiles.dependsOn(generateDocumentation(config))
14631464
}.evaluated,
14641465

1466+
generateStableScala3Documentation := Def.inputTaskDyn {
1467+
val extraArgs = spaceDelimited("<version>").parsed
1468+
val config = stableScala3(extraArgs.head)
1469+
generateDocumentation(config)
1470+
}.evaluated,
1471+
14651472
generateTestcasesDocumentation := Def.taskDyn {
14661473
generateDocumentation(Testcases)
14671474
}.value,
@@ -1857,22 +1864,22 @@ object ScaladocConfigs {
18571864
case None => s"${sourcesPrefix}github://lampepfl/dotty/$v$outputPrefix"
18581865
}
18591866

1860-
lazy val DefaultGenerationConfig = Def.task {
1861-
def distLocation = (dist / pack).value
1862-
def projectVersion = version.value
1867+
def defaultSourceLinks(version: String = dottyNonBootstrappedVersion, refVersion: String = dottyVersion) = Def.task {
18631868
def stdLibVersion = stdlibVersion(NonBootstrapped)
1864-
def scalaLib = findArtifactPath(externalCompilerClasspathTask.value, "scala-library")
1865-
def dottyLib = (`scala3-library` / Compile / classDirectory).value
18661869
def srcManaged(v: String, s: String) = s"out/bootstrap/stdlib-bootstrapped/scala-$v/src_managed/main/$s-library-src"
1867-
1868-
def defaultSourceLinks: SourceLinks = SourceLinks(
1870+
SourceLinks(
18691871
List(
1870-
scalaSrcLink(stdLibVersion, srcManaged(dottyNonBootstrappedVersion, "scala") + "="),
1871-
dottySrcLink(referenceVersion, srcManaged(dottyNonBootstrappedVersion, "dotty") + "=", "#library/src"),
1872-
dottySrcLink(referenceVersion),
1872+
scalaSrcLink(stdLibVersion, srcManaged(version, "scala") + "="),
1873+
dottySrcLink(refVersion, srcManaged(version, "dotty") + "=", "#library/src"),
1874+
dottySrcLink(refVersion),
18731875
"docs=github://lampepfl/dotty/main#docs"
18741876
)
18751877
)
1878+
}
1879+
1880+
lazy val DefaultGenerationConfig = Def.task {
1881+
def distLocation = (dist / pack).value
1882+
def projectVersion = version.value
18761883
def socialLinks = SocialLinks(List(
18771884
"github::https://github.com/lampepfl/dotty",
18781885
"discord::https://discord.com/invite/scala",
@@ -1890,7 +1897,7 @@ object ScaladocConfigs {
18901897
List(),
18911898
ProjectVersion(projectVersion),
18921899
GenerateInkuire(true),
1893-
defaultSourceLinks,
1900+
defaultSourceLinks().value,
18941901
skipByRegex,
18951902
skipById,
18961903
projectLogo,
@@ -1981,4 +1988,31 @@ object ScaladocConfigs {
19811988
.add(ApiSubdirectory(true))
19821989
.withTargets(roots)
19831990
}
1991+
1992+
def stableScala3(version: String) = Def.task {
1993+
Scala3.value
1994+
.add(defaultSourceLinks(version + "-bin-SNAPSHOT-nonbootstrapped", version).value)
1995+
.add(ProjectVersion(version))
1996+
.add(SnippetCompiler(
1997+
List(
1998+
s"out/bootstrap/stdlib-bootstrapped/scala-$version-bin-SNAPSHOT-nonbootstrapped/src_managed/main/dotty-library-src/scala/quoted=compile",
1999+
s"out/bootstrap/stdlib-bootstrapped/scala-$version-bin-SNAPSHOT-nonbootstrapped/src_managed/main/dotty-library-src/scala/compiletime=compile"
2000+
)
2001+
))
2002+
.add(CommentSyntax(List(
2003+
s"out/bootstrap/stdlib-bootstrapped/scala-$version-bin-SNAPSHOT-nonbootstrapped/src_managed/main/dotty-library-src=markdown",
2004+
s"out/bootstrap/stdlib-bootstrapped/scala-$version-bin-SNAPSHOT-nonbootstrapped/src_managed/main/scala-library-src=wiki",
2005+
"wiki"
2006+
)))
2007+
.add(DocRootContent(s"out/bootstrap/stdlib-bootstrapped/scala-$version-bin-SNAPSHOT-nonbootstrapped/src_managed/main/scala-library-src/rootdoc.txt"))
2008+
.withTargets(
2009+
Seq(
2010+
s"out/bootstrap/stdlib-bootstrapped/scala-$version-bin-SNAPSHOT-nonbootstrapped/classes",
2011+
s"tmp/interfaces/target/classes",
2012+
s"out/bootstrap/tasty-core-bootstrapped/scala-$version-bin-SNAPSHOT-nonbootstrapped/classes"
2013+
)
2014+
)
2015+
.remove[SiteRoot]
2016+
.remove[ApiSubdirectory]
2017+
}
19842018
}

project/scripts/cmdScaladocTests

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,16 @@ DOTTY_NONBOOTSTRAPPED_VERSION=$(eval $DOTTY_NONBOOTSTRAPPED_VERSION_COMMAND | ta
1616
DOTTY_BOOTSTRAPPED_VERSION_COMMAND="$SBT \"eval println(Build.dottyVersion)\""
1717
DOTTY_BOOTSTRAPPED_VERSION=$(eval $DOTTY_BOOTSTRAPPED_VERSION_COMMAND | tail -n 2 | head -n 1)
1818

19-
GITHUB_REPOSITORY="lampepfl/dotty"
20-
GITHUB_SHA="3.0.0"
19+
SOURCE_LINKS_REPOSITORY="lampepfl/dotty"
20+
SOURCE_LINKS_VERSION="$DOTTY_BOOTSTRAPPED_VERSION"
2121

2222
"$SBT" "scaladoc/generateTestcasesDocumentation" > "$tmp" 2>&1 || echo "generated testcases project with sbt"
2323
dist/target/pack/bin/scaladoc \
2424
-d "$OUT1" \
2525
-project "scaladoc testcases" \
2626
-source-links:out/bootstrap/stdlib-bootstrapped/scala-"${DOTTY_NONBOOTSTRAPPED_VERSION}"/src_managed/main/scala-library-src=github://scala/scala/v"${STDLIB_VERSION}"#src/library \
27-
-source-links:out/bootstrap/stdlib-bootstrapped/scala-"${DOTTY_NONBOOTSTRAPPED_VERSION}"/src_managed/main/dotty-library-src=github://"${GITHUB_REPOSITORY}"/"${GITHUB_SHA}"\#library/src \
28-
-source-links:github://"${GITHUB_REPOSITORY}"/"${GITHUB_SHA}" \
27+
-source-links:out/bootstrap/stdlib-bootstrapped/scala-"${DOTTY_NONBOOTSTRAPPED_VERSION}"/src_managed/main/dotty-library-src=github://"${SOURCE_LINKS_REPOSITORY}"/"${SOURCE_LINKS_VERSION}"\#library/src \
28+
-source-links:github://"${SOURCE_LINKS_REPOSITORY}"/"${SOURCE_LINKS_VERSION}" \
2929
"-external-mappings:.*scala/.*::scaladoc3::https://dotty.epfl.ch/api/,.*java/.*::javadoc::https://docs.oracle.com/javase/8/docs/api/" \
3030
"-skip-by-regex:.+\.internal($|\..+)" \
3131
"-skip-by-regex:.+\.impl($|\..+)" \
@@ -40,6 +40,6 @@ dist/target/pack/bin/scaladoc \
4040
-project-footer "Copyright (c) 2002-2022, LAMP/EPFL" \
4141
-default-template static-site-main \
4242
-author -groups -revision main -project-version "${DOTTY_BOOTSTRAPPED_VERSION}" \
43-
"-quick-links:Learn::https://docs.scala-lang.org/,Install::https://www.scala-lang.org/download/,Playground::https://scastie.scala-lang.org,Find A Library::https://index.scala-lang.org,Community::https://www.scala-lang.org/community/,Blog::https://www.scala-lang.org/blog/" \
43+
"-quick-links:Learn::https://docs.scala-lang.org/,Install::https://www.scala-lang.org/download/,Playground::https://scastie.scala-lang.org,Find A Library::https://index.scala-lang.org,Community::https://www.scala-lang.org/community/," \
4444
out/bootstrap/scaladoc-testcases/scala-"${DOTTY_NONBOOTSTRAPPED_VERSION}"/classes > "$tmp" 2>&1 || echo "generated testcases project with scripts"
4545
diff -rq "$OUT1" "scaladoc/output/testcases"

0 commit comments

Comments
 (0)