@@ -1252,7 +1252,7 @@ object Build {
12521252 val generateScalaDocumentation = inputKey[Unit ](" Generate documentation for dotty lib" )
12531253 val generateTestcasesDocumentation = taskKey[Unit ](" Generate documentation for testcases, usefull for debugging tests" )
12541254
1255- val generateReferenceDocumentation = taskKey [Unit ](" Generate language reference documentation for Scala 3" )
1255+ val generateReferenceDocumentation = inputKey [Unit ](" Generate language reference documentation for Scala 3" )
12561256
12571257 lazy val `scaladoc-testcases` = project.in(file(" scaladoc-testcases" )).
12581258 dependsOn(`scala3-compiler-bootstrapped`).
@@ -1376,7 +1376,9 @@ object Build {
13761376 generateDocumentation(Testcases )
13771377 }.value,
13781378
1379- generateReferenceDocumentation := Def .taskDyn {
1379+ generateReferenceDocumentation := Def .inputTaskDyn {
1380+ val shouldRegenerateExpectedLinks = literal(" --no-regenerate-expected-links" ).? .parsed.isEmpty
1381+
13801382 val temp = IO .createTemporaryDirectory
13811383 IO .copyDirectory(file(" docs" ), temp / " docs" )
13821384 IO .delete(temp / " docs" / " _blog" )
@@ -1399,8 +1401,18 @@ object Build {
13991401 .withTargets(List (" ___fake___.scala" ))
14001402 }
14011403
1402- generateDocumentation(languageReferenceConfig)
1403- }.value,
1404+ val expectedLinksRegeneration = Def .task {
1405+ if (shouldRegenerateExpectedLinks) {
1406+ val script = (file(" project" ) / " scripts" / " regenerateExpectedLinks" ).toString
1407+ val outputDir = languageReferenceConfig.value.get[OutputDir ].get.value
1408+ val expectedLinksFile = (file(" project" ) / " scripts" / " expected-links" / " reference-expected-links.txt" ).toString
1409+ import _root_ .scala .sys .process ._
1410+ s " $script $outputDir $expectedLinksFile" !
1411+ }
1412+ }
1413+
1414+ expectedLinksRegeneration.dependsOn(generateDocumentation(languageReferenceConfig))
1415+ }.evaluated,
14041416
14051417 Test / buildInfoKeys := Seq [BuildInfoKey ](
14061418 (Test / Build .testcasesOutputDir),
0 commit comments