diff --git a/project/scripts/cmdTests b/project/scripts/cmdTests index 6e650bf23be2..0f0acabb3bd6 100755 --- a/project/scripts/cmdTests +++ b/project/scripts/cmdTests @@ -76,6 +76,7 @@ dist/target/pack/bin/scaladoc \ "-skip-by-regex:.+\.impl($|\..+)" \ -project-logo docs/logo.svg \ -social-links:github::https://github.com/lampepfl/dotty,gitter::https://gitter.im/scala/scala,twitter::https://twitter.com/scala_lang \ + -Ygenerate-inkuire \ "-skip-by-id:scala.runtime.stdLibPatches" \ "-skip-by-id:scala.runtime.MatchCase" \ -project-footer "Copyright (c) 2002-2021, LAMP/EPFL" \ diff --git a/scaladoc/src/dotty/tools/scaladoc/Inkuire.scala b/scaladoc/src/dotty/tools/scaladoc/Inkuire.scala index 1d4da3af6928..2a96a0b8cc85 100644 --- a/scaladoc/src/dotty/tools/scaladoc/Inkuire.scala +++ b/scaladoc/src/dotty/tools/scaladoc/Inkuire.scala @@ -7,6 +7,14 @@ object Inkuire { var db = InkuireDb(Seq.empty, Map.empty, Seq.empty) + def beforeSave(): Unit = { + db = db.copy( + functions = db.functions.sortBy(_.hashCode), + types = db.types.toSeq.sortBy(_._1.uuid).toMap, + implicitConversions = db.implicitConversions.sortBy(_._1.uuid) + ) + } + def generateInkuireConfig(externalMappings: Seq[String]): String = { val paths = ("../inkuire-db.json" +: externalMappings.map(_ + "../inkuire-db.json")).map(jsonString) jsonObject(("inkuirePaths", jsonList(paths))).toString diff --git a/scaladoc/src/dotty/tools/scaladoc/Scaladoc.scala b/scaladoc/src/dotty/tools/scaladoc/Scaladoc.scala index 1b357d385172..6e0cb949b3f5 100644 --- a/scaladoc/src/dotty/tools/scaladoc/Scaladoc.scala +++ b/scaladoc/src/dotty/tools/scaladoc/Scaladoc.scala @@ -93,6 +93,7 @@ object Scaladoc: val dbFile = dbPath.toFile() dbFile.createNewFile() val dbWriter = new FileWriter(dbFile, false) + Inkuire.beforeSave() dbWriter.write(s"${EngineModelSerializers.serialize(Inkuire.db)}") dbWriter.close()