From 686bf496bb651fbf759ddc1e08928b7739fa5c1d Mon Sep 17 00:00:00 2001 From: Guillaume Martres Date: Thu, 18 Jul 2019 11:11:39 +0100 Subject: [PATCH] Add effpi to our community-build See https://github.com/alcestes/effpi for more information. This project is interesting to have in the community build since it exercises various Dotty features (implicit/dependent function types, unions, type lambdas, ...) and even contains the first real Dotty compiler plugin! We compile this plugin but do not run it as part of the community build since it depends on native binaries (it calls into the mcrl2 model checker). --- .gitmodules | 3 +++ community-build/community-projects/effpi | 1 + .../scala/dotty/communitybuild/CommunityBuildTest.scala | 9 +++++++++ 3 files changed, 13 insertions(+) create mode 160000 community-build/community-projects/effpi diff --git a/.gitmodules b/.gitmodules index b91368c38612..38e8b02ebd69 100644 --- a/.gitmodules +++ b/.gitmodules @@ -50,3 +50,6 @@ [submodule "community-build/community-projects/semanticdb"] path = community-build/community-projects/semanticdb url = https://github.com/lampepfl/dotty-semanticdb.git +[submodule "community-build/community-projects/effpi"] + path = community-build/community-projects/effpi + url = https://github.com/dotty-staging/effpi diff --git a/community-build/community-projects/effpi b/community-build/community-projects/effpi new file mode 160000 index 000000000000..072c66da8894 --- /dev/null +++ b/community-build/community-projects/effpi @@ -0,0 +1 @@ +Subproject commit 072c66da8894f07cb29045f6d3c0f3284140370f diff --git a/community-build/test/scala/dotty/communitybuild/CommunityBuildTest.scala b/community-build/test/scala/dotty/communitybuild/CommunityBuildTest.scala index 64cd5d0784aa..b8b58c46d855 100644 --- a/community-build/test/scala/dotty/communitybuild/CommunityBuildTest.scala +++ b/community-build/test/scala/dotty/communitybuild/CommunityBuildTest.scala @@ -189,6 +189,15 @@ class CommunityBuildTest { updateCommand = "update" ) + @Test def effpi = test( + project = "effpi", + // We set `useEffpiPlugin := false` because we don't want to run their + // compiler plugin since it relies on external binaries (from the model + // checker mcrl2), however we do compile the compiler plugin. + testCommand = ";set ThisBuild / useEffpiPlugin := false; effpi/test:compile; plugin/test:compile; benchmarks/test:compile; examples/test:compile; pluginBenchmarks/test:compile", + updateCommand = ";set ThisBuild / useEffpiPlugin := false; effpi/test:update; plugin/test:update; benchmarks/test:update; examples/test:update; pluginBenchmarks/test:update" + ) + // TODO @oderky? It got broken by #5458 // @Test def pdbp = test( // project = "pdbp",