From 963358c4c3bbf3b1927c5e9f4ce9db57db4c4ea6 Mon Sep 17 00:00:00 2001 From: Stuart Douglas Date: Mon, 12 Apr 2021 10:41:29 +1000 Subject: [PATCH] Make sure class is only processed once Note that at present we are processing more classes than are strictly nessesary, however the proper fix for this requires some changes that are part of my continous testing branch. Fixes #16347 --- .../java/io/quarkus/jacoco/deployment/JacocoProcessor.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/test-framework/jacoco/deployment/src/main/java/io/quarkus/jacoco/deployment/JacocoProcessor.java b/test-framework/jacoco/deployment/src/main/java/io/quarkus/jacoco/deployment/JacocoProcessor.java index c6f4632447d43..d9763c585fa20 100644 --- a/test-framework/jacoco/deployment/src/main/java/io/quarkus/jacoco/deployment/JacocoProcessor.java +++ b/test-framework/jacoco/deployment/src/main/java/io/quarkus/jacoco/deployment/JacocoProcessor.java @@ -57,8 +57,13 @@ void transformerBuildItem(BuildProducer transforme Files.deleteIfExists(Paths.get(dataFile)); Instrumenter instrumenter = new Instrumenter(new OfflineInstrumentationAccessGenerator()); + Set seen = new HashSet<>(); for (ClassInfo i : indexBuildItem.getIndex().getKnownClasses()) { String className = i.name().toString(); + if (seen.contains(className)) { + continue; + } + seen.add(className); transformers.produce( new BytecodeTransformerBuildItem.Builder().setClassToTransform(className) .setCacheable(true)