From e703f2c952fb862dea4b49d2385afe7298481e97 Mon Sep 17 00:00:00 2001 From: Eric Wittmann Date: Thu, 2 Jul 2026 10:01:04 -0400 Subject: [PATCH] Mark codegen Maven plugin as thread-safe Add threadSafe = true to the @Mojo annotation so Maven no longer warns when parallel builds are enabled. Also switch the static TYPE_CACHE from HashMap to ConcurrentHashMap to ensure correctness under concurrent access. --- .../main/java/io/apitomy/hub/api/codegen/OpenApi2JaxRs.java | 4 ++-- .../main/java/io/apitomy/codegen/maven/GenerateCodeMojo.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/io/apitomy/hub/api/codegen/OpenApi2JaxRs.java b/core/src/main/java/io/apitomy/hub/api/codegen/OpenApi2JaxRs.java index d45d31f5..9e2c1684 100755 --- a/core/src/main/java/io/apitomy/hub/api/codegen/OpenApi2JaxRs.java +++ b/core/src/main/java/io/apitomy/hub/api/codegen/OpenApi2JaxRs.java @@ -33,9 +33,9 @@ import java.util.Collections; import java.util.Comparator; import java.util.Date; -import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.Optional; import java.util.Properties; import java.util.Set; @@ -109,7 +109,7 @@ */ public class OpenApi2JaxRs { - static final Map> TYPE_CACHE = new HashMap<>(); + static final Map> TYPE_CACHE = new ConcurrentHashMap<>(); static final String OPENAPI_OPERATION_ANNOTATION = "org.eclipse.microprofile.openapi.annotations.Operation"; private static final String MEDIA_TYPE_CONSTANT_PREFIX = "MediaType."; diff --git a/maven-plugin/src/main/java/io/apitomy/codegen/maven/GenerateCodeMojo.java b/maven-plugin/src/main/java/io/apitomy/codegen/maven/GenerateCodeMojo.java index e3f80f31..2d07ea7d 100755 --- a/maven-plugin/src/main/java/io/apitomy/codegen/maven/GenerateCodeMojo.java +++ b/maven-plugin/src/main/java/io/apitomy/codegen/maven/GenerateCodeMojo.java @@ -25,7 +25,7 @@ * * @author eric.wittmann@gmail.com */ -@Mojo(name = "generate") +@Mojo(name = "generate", threadSafe = true) public class GenerateCodeMojo extends AbstractMojo { /**