@@ -1158,8 +1158,10 @@ object Build {
1158
1158
lazy val `scala3-bench-bootstrapped` = project.in(file(" bench" )).asDottyBench(Bootstrapped )
1159
1159
lazy val `scala3-bench-run` = project.in(file(" bench-run" )).asDottyBench(Bootstrapped )
1160
1160
1161
+ val testcasesOutputDir = taskKey[String ](" Root directory where tests classses are generated" )
1162
+ val testcasesSourceRoot = taskKey[String ](" Root directory where tests sources are generated" )
1161
1163
lazy val `scala3doc` = project.in(file(" scala3doc" )).asScala3doc
1162
- lazy val `scala3doc-test ` = project.in(file(" scala3doc-test " )).asScala3docTest
1164
+ lazy val `scala3doc-testcases ` = project.in(file(" scala3doc-testcases " )).asScala3docTestcases
1163
1165
1164
1166
// sbt plugin to use Dotty in your own build, see
1165
1167
// https://github.com/lampepfl/scala3-example-project for usage.
@@ -1448,60 +1450,34 @@ object Build {
1448
1450
settings(commonBenchmarkSettings).
1449
1451
enablePlugins(JmhPlugin )
1450
1452
1451
- def commonScala3docSettings = Seq (
1452
- resolvers += Resolver .jcenterRepo,
1453
- resolvers += Resolver .bintrayRepo(" kotlin" , " kotlin-dev" ),
1454
- resolvers += Resolver .bintrayRepo(" virtuslab" , " dokka" ),
1455
- )
1456
-
1457
1453
def asScala3doc : Project =
1458
1454
project.settings(commonBootstrappedSettings).
1459
- settings(commonScala3docSettings).
1460
1455
dependsOn(`scala3-compiler-bootstrapped`).
1461
1456
dependsOn(`scala3-tasty-inspector`).
1462
- settings(artifactsForScala3Documentation := Seq (
1463
- // All projects below will be used to generated documentation for Scala 3
1464
- classDirectory.in(`scala3-interfaces`).in(Compile ).value,
1465
- classDirectory.in(`tasty-core`).in(Compile ).value,
1466
- classDirectory.in(`scala3-library`).in(Compile ).value,
1467
- // TODO this one fails to load using TASTY
1468
- // classDirectory.in(`stdlib-bootstrapped`).in(Compile).value,
1469
- ))
1470
-
1471
- def asScala3docTest : Project =
1472
- project.settings(commonBootstrappedSettings0).
1473
- settings(commonScala3docSettings).
1474
- dependsOn(`scala3doc`).
1475
1457
settings(
1476
- Compile / doc/ target := baseDirectory.value / " ../out/doc" / name.value,
1477
- doc/ scalaInstance := {
1478
- val externalNonBootstrappedDeps = externalDependencyClasspath.in(`scala3doc`, Compile ).value
1479
- val scalaLibrary = findArtifact(externalNonBootstrappedDeps, " scala-library" )
1480
-
1481
- // IMPORTANT: We need to use actual jars to form the ScalaInstance and not
1482
- // just directories containing classfiles because sbt maintains a cache of
1483
- // compiler instances. This cache is invalidated based on timestamps
1484
- // however this is only implemented on jars, directories are never
1485
- // invalidated.
1486
- val tastyCore = packageBin.in(`tasty-core`, Compile ).value
1487
- val dottyLibrary = packageBin.in(`scala3-library-bootstrapped`, Compile ).value
1488
- val dottyInterfaces = packageBin.in(`scala3-interfaces`, Compile ).value
1489
- val dottyCompiler = packageBin.in(`scala3-compiler-bootstrapped`, Compile ).value
1490
- val doctool = packageBin.in(`scala3doc`, Compile ).value
1491
-
1492
- val allJars = Seq (tastyCore, dottyLibrary, dottyInterfaces, dottyCompiler, doctool) ++ externalNonBootstrappedDeps.map(_.data)
1493
-
1494
- makeScalaInstance(
1495
- state.value,
1496
- scalaVersion.value,
1497
- scalaLibrary,
1498
- dottyLibrary,
1499
- dottyCompiler,
1500
- allJars
1501
- )
1458
+ resolvers += Resolver .jcenterRepo,
1459
+ resolvers += Resolver .bintrayRepo(" kotlin" , " kotlin-dev" ),
1460
+ resolvers += Resolver .bintrayRepo(" virtuslab" , " dokka" ),
1461
+ artifactsForScala3Documentation := Seq (
1462
+ // All projects below will be used to generated documentation for Scala 3
1463
+ classDirectory.in(`scala3-interfaces`).in(Compile ).value,
1464
+ classDirectory.in(`tasty-core`).in(Compile ).value,
1465
+ classDirectory.in(`scala3-library`).in(Compile ).value,
1466
+ // TODO this one fails to load using TASTY
1467
+ // classDirectory.in(`stdlib-bootstrapped`).in(Compile).value,
1468
+ ),
1469
+ test.in(Test ) := {
1470
+ // Test
1471
+ compile.in(Compile ).in(`scala3doc-testcases`).value
1472
+ test.in(Test ).value
1502
1473
},
1474
+ testcasesOutputDir.in(Test ) := classDirectory.in(Compile ).in(`scala3doc-testcases`).value.getAbsolutePath.toString,
1475
+ testcasesSourceRoot.in(Test ) := (baseDirectory.in(`scala3doc-testcases`).value / " src" ).getAbsolutePath.toString
1503
1476
)
1504
1477
1478
+ def asScala3docTestcases : Project =
1479
+ project.dependsOn(`scala3-compiler-bootstrapped`).settings(commonBootstrappedSettings)
1480
+
1505
1481
def asDist (implicit mode : Mode ): Project = project.
1506
1482
enablePlugins(PackPlugin ).
1507
1483
withCommonSettings.
0 commit comments