@@ -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}
0 commit comments