@@ -1322,6 +1322,7 @@ object Build {
13221322 val generateSelfDocumentation = taskKey[Unit ](" Generate example documentation" )
13231323 // Note: the two tasks below should be one, but a bug in Tasty prevents that
13241324 val generateScalaDocumentation = inputKey[Unit ](" Generate documentation for dotty lib" )
1325+ val generateStableScala3Documentation = inputKey[Unit ](" Generate documentation for stable dotty lib" )
13251326 val generateTestcasesDocumentation = taskKey[Unit ](" Generate documentation for testcases, usefull for debugging tests" )
13261327
13271328 val generateReferenceDocumentation = inputKey[Unit ](" Generate language reference documentation for Scala 3" )
@@ -1465,6 +1466,12 @@ object Build {
14651466 writeAdditionalFiles.dependsOn(generateDocumentation(config))
14661467 }.evaluated,
14671468
1469+ generateStableScala3Documentation := Def .inputTaskDyn {
1470+ val extraArgs = spaceDelimited(" <version>" ).parsed
1471+ val config = stableScala3(extraArgs.head)
1472+ generateDocumentation(config)
1473+ }.evaluated,
1474+
14681475 generateTestcasesDocumentation := Def .taskDyn {
14691476 generateDocumentation(Testcases )
14701477 }.value,
@@ -1860,22 +1867,22 @@ object ScaladocConfigs {
18601867 case None => s " ${sourcesPrefix}github://lampepfl/dotty/ $v$outputPrefix"
18611868 }
18621869
1863- lazy val DefaultGenerationConfig = Def .task {
1864- def distLocation = (dist / pack).value
1865- def projectVersion = version.value
1870+ def defaultSourceLinks (version : String = dottyNonBootstrappedVersion, refVersion : String = dottyVersion) = Def .task {
18661871 def stdLibVersion = stdlibVersion(NonBootstrapped )
1867- def scalaLib = findArtifactPath(externalCompilerClasspathTask.value, " scala-library" )
1868- def dottyLib = (`scala3-library` / Compile / classDirectory).value
18691872 def srcManaged (v : String , s : String ) = s " out/bootstrap/stdlib-bootstrapped/scala- $v/src_managed/main/ $s-library-src "
1870-
1871- def defaultSourceLinks : SourceLinks = SourceLinks (
1873+ SourceLinks (
18721874 List (
1873- scalaSrcLink(stdLibVersion, srcManaged(dottyNonBootstrappedVersion , " scala" ) + " =" ),
1874- dottySrcLink(referenceVersion , srcManaged(dottyNonBootstrappedVersion , " dotty" ) + " =" , " #library/src" ),
1875- dottySrcLink(referenceVersion ),
1875+ scalaSrcLink(stdLibVersion, srcManaged(version , " scala" ) + " =" ),
1876+ dottySrcLink(refVersion , srcManaged(version , " dotty" ) + " =" , " #library/src" ),
1877+ dottySrcLink(refVersion ),
18761878 " docs=github://lampepfl/dotty/main#docs"
18771879 )
18781880 )
1881+ }
1882+
1883+ lazy val DefaultGenerationConfig = Def .task {
1884+ def distLocation = (dist / pack).value
1885+ def projectVersion = version.value
18791886 def socialLinks = SocialLinks (List (
18801887 " github::https://github.com/lampepfl/dotty" ,
18811888 " discord::https://discord.com/invite/scala" ,
@@ -1893,7 +1900,7 @@ object ScaladocConfigs {
18931900 List (),
18941901 ProjectVersion (projectVersion),
18951902 GenerateInkuire (true ),
1896- defaultSourceLinks,
1903+ defaultSourceLinks().value ,
18971904 skipByRegex,
18981905 skipById,
18991906 projectLogo,
@@ -1984,4 +1991,31 @@ object ScaladocConfigs {
19841991 .add(ApiSubdirectory (true ))
19851992 .withTargets(roots)
19861993 }
1994+
1995+ def stableScala3 (version : String ) = Def .task {
1996+ Scala3 .value
1997+ .add(defaultSourceLinks(version + " -bin-SNAPSHOT-nonbootstrapped" , version).value)
1998+ .add(ProjectVersion (version))
1999+ .add(SnippetCompiler (
2000+ List (
2001+ s " out/bootstrap/stdlib-bootstrapped/scala- $version-bin-SNAPSHOT-nonbootstrapped/src_managed/main/dotty-library-src/scala/quoted=compile " ,
2002+ s " out/bootstrap/stdlib-bootstrapped/scala- $version-bin-SNAPSHOT-nonbootstrapped/src_managed/main/dotty-library-src/scala/compiletime=compile "
2003+ )
2004+ ))
2005+ .add(CommentSyntax (List (
2006+ s " out/bootstrap/stdlib-bootstrapped/scala- $version-bin-SNAPSHOT-nonbootstrapped/src_managed/main/dotty-library-src=markdown " ,
2007+ s " out/bootstrap/stdlib-bootstrapped/scala- $version-bin-SNAPSHOT-nonbootstrapped/src_managed/main/scala-library-src=wiki " ,
2008+ " wiki"
2009+ )))
2010+ .add(DocRootContent (s " out/bootstrap/stdlib-bootstrapped/scala- $version-bin-SNAPSHOT-nonbootstrapped/src_managed/main/scala-library-src/rootdoc.txt " ))
2011+ .withTargets(
2012+ Seq (
2013+ s " out/bootstrap/stdlib-bootstrapped/scala- $version-bin-SNAPSHOT-nonbootstrapped/classes " ,
2014+ s " tmp/interfaces/target/classes " ,
2015+ s " out/bootstrap/tasty-core-bootstrapped/scala- $version-bin-SNAPSHOT-nonbootstrapped/classes "
2016+ )
2017+ )
2018+ .remove[SiteRoot ]
2019+ .remove[ApiSubdirectory ]
2020+ }
19872021}
0 commit comments