@@ -1252,7 +1252,7 @@ object Build {
1252
1252
val generateScalaDocumentation = inputKey[Unit ](" Generate documentation for dotty lib" )
1253
1253
val generateTestcasesDocumentation = taskKey[Unit ](" Generate documentation for testcases, usefull for debugging tests" )
1254
1254
1255
- val generateReferenceDocumentation = taskKey [Unit ](" Generate language reference documentation for Scala 3" )
1255
+ val generateReferenceDocumentation = inputKey [Unit ](" Generate language reference documentation for Scala 3" )
1256
1256
1257
1257
lazy val `scaladoc-testcases` = project.in(file(" scaladoc-testcases" )).
1258
1258
dependsOn(`scala3-compiler-bootstrapped`).
@@ -1376,7 +1376,9 @@ object Build {
1376
1376
generateDocumentation(Testcases )
1377
1377
}.value,
1378
1378
1379
- generateReferenceDocumentation := Def .taskDyn {
1379
+ generateReferenceDocumentation := Def .inputTaskDyn {
1380
+ val shouldRegenerateExpectedLinks = literal(" --no-regenerate-expected-links" ).? .parsed.isEmpty
1381
+
1380
1382
val temp = IO .createTemporaryDirectory
1381
1383
IO .copyDirectory(file(" docs" ), temp / " docs" )
1382
1384
IO .delete(temp / " docs" / " _blog" )
@@ -1399,8 +1401,18 @@ object Build {
1399
1401
.withTargets(List (" ___fake___.scala" ))
1400
1402
}
1401
1403
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,
1404
1416
1405
1417
Test / buildInfoKeys := Seq [BuildInfoKey ](
1406
1418
(Test / Build .testcasesOutputDir),
0 commit comments