From 97cd86d54c8b0dba1de4ed9fc3e7870b8cc81975 Mon Sep 17 00:00:00 2001 From: nik Date: Wed, 20 Mar 2019 15:36:48 +0300 Subject: [PATCH] external build: unregister javac extensions when build is finished Otherwise if several builds are performed in the same java process (e.g. in tests) new instances of JavacFileReferencesRegistrar are registered in each 'buildStarted' method, and this causes failures if some instance become disabled in subsequent runs. --- .../src/org/jetbrains/jps/incremental/java/JavaBuilder.java | 1 + 1 file changed, 1 insertion(+) diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java index 1537bec04a12..6eb4eaf4b9e4 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java @@ -173,6 +173,7 @@ public class JavaBuilder extends ModuleLevelBuilder { @Override public void buildFinished(CompileContext context) { + myRefRegistrars.clear(); final ConcurrentMap> stats = COMPILER_USAGE_STATISTICS.get(context); if (stats.size() == 1) { final Map.Entry> entry = stats.entrySet().iterator().next();