diff --git a/community-build/src/scala/dotty/communitybuild/Fields.scala b/community-build/src/scala/dotty/communitybuild/Fields.scala deleted file mode 100644 index 6c36ed560306..000000000000 --- a/community-build/src/scala/dotty/communitybuild/Fields.scala +++ /dev/null @@ -1,9 +0,0 @@ -package dotty.communitybuild - -import scala.quoted.Type - -class FieldsDsl[V](v: V): - inline def of[T]: Seq[T] = FieldsImpl.fieldsOfType[V, T](v) - -extension [V](on: V) - def reflectedFields = FieldsDsl(on) diff --git a/community-build/src/scala/dotty/communitybuild/FieldsImpl.scala b/community-build/src/scala/dotty/communitybuild/FieldsImpl.scala deleted file mode 100644 index 7c7f174793bd..000000000000 --- a/community-build/src/scala/dotty/communitybuild/FieldsImpl.scala +++ /dev/null @@ -1,17 +0,0 @@ -package dotty.communitybuild - -import scala.quoted._ - -object FieldsImpl: - inline def fieldsOfType[V, T](inline v: V): Seq[T] = - ${ fieldsImpl[V, T]('v) } - - def fieldsImpl[V: Type, T: Type](from: Expr[V])(using Quotes): Expr[Seq[T]] = - import quotes.reflect._ - val retType = TypeTree.of[T].tpe - def isProjectField(s: Symbol) = - s.isValDef && s.tree.asInstanceOf[ValDef].tpt.tpe <:< retType - val projectsTree = from.asTerm - val symbols = TypeTree.of[V].symbol.declaredFields.filter(isProjectField) - val selects = symbols.map(Select(projectsTree, _).asExprOf[T]) - '{ println(${Expr(retType.show)}); ${Varargs(selects)} } diff --git a/community-build/src/scala/dotty/communitybuild/projects.scala b/community-build/src/scala/dotty/communitybuild/projects.scala index 07eca627ae4a..16c199b0aed9 100644 --- a/community-build/src/scala/dotty/communitybuild/projects.scala +++ b/community-build/src/scala/dotty/communitybuild/projects.scala @@ -324,7 +324,7 @@ object projects: sbtDocCommand = ";core/doc ;akka/doc ;shapelessScanner/doc" ) - lazy val ScalaPB = SbtCommunityProject( + lazy val scalaPB = SbtCommunityProject( project = "ScalaPB", sbtTestCommand = "dotty-community-build/compile", // aggregateDoc("runtimeJVM")("scalapbc", "grpcRuntime", "compilerPlugin") fails with @@ -630,6 +630,67 @@ object projects: end projects -def allProjects = projects.reflectedFields.of[CommunityProject].sortBy(_.project) +def allProjects = List( + projects.utest, + projects.sourcecode, + projects.oslib, + projects.oslibWatch, + projects.ujson, + projects.upickle, + projects.upickleCore, + projects.geny, + projects.fansi, + projects.pprint, + projects.requests, + projects.scas, + projects.intent, + projects.algebra, + projects.scalacheck, + projects.scalatest, + projects.scalatestplusScalacheck, + projects.scalatestplusJunit, + projects.scalaXml, + projects.scalap, + projects.betterfiles, + projects.scalaPB, + projects.minitest, + projects.fastparse, + projects.stdLib213, + projects.shapeless, + projects.xmlInterpolator, + projects.effpi, + projects.sconfig, + projects.zio, + projects.munit, + projects.scodecBits, + projects.scodec, + projects.scalaParserCombinators, + projects.dottyCpsAsync, + projects.scalaz, + projects.endpoints4s, + projects.catsEffect2, + projects.catsEffect3, + projects.scalaParallelCollections, + projects.scalaCollectionCompat, + projects.verify, + projects.discipline, + projects.disciplineMunit, + projects.disciplineSpecs2, + projects.simulacrumScalafixAnnotations, + projects.cats, + projects.catsMtl, + projects.coop, + projects.scissEqual, + projects.scissFingerTree, + projects.scissLog, + projects.scissModel, + projects.scissNumbers, + projects.scissSerial, + projects.scissAsyncFile, + projects.scissSpan, + projects.scalaSTM, + projects.scissLucre, + projects.izumiReflect, +) lazy val projectMap = allProjects.map(p => p.project -> p).toMap diff --git a/community-build/test/scala/dotty/communitybuild/CommunityBuildTest.scala b/community-build/test/scala/dotty/communitybuild/CommunityBuildTest.scala index 9bfb620ca7af..0154369438a6 100644 --- a/community-build/test/scala/dotty/communitybuild/CommunityBuildTest.scala +++ b/community-build/test/scala/dotty/communitybuild/CommunityBuildTest.scala @@ -140,7 +140,7 @@ class CommunityBuildTestB extends CommunityBuildTest: @Test def scodecBits = projects.scodecBits.run() @Test def scalap = projects.scalap.run() @Test def scalaParserCombinators = projects.scalaParserCombinators.run() - @Test def ScalaPB = projects.ScalaPB.run() + @Test def scalaPB = projects.scalaPB.run() @Test def scalaXml = projects.scalaXml.run() @Test def scas = projects.scas.run() @Test def sconfig = projects.sconfig.run()