You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by pp...@apache.org on 2020/07/16 14:38:45 UTC
[camel-quarkus] 02/02: Fix #1403 quarkus-extension-processor race
conditions when modules are built in parallel
This is an automated email from the ASF dual-hosted git repository.
ppalaga pushed a commit to branch quarkus-master
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit 234e8c2dd48c3ff01030380c833a89b88882356b
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Thu Jun 25 14:35:20 2020 +0200
Fix #1403 quarkus-extension-processor race conditions when modules are built in parallel
---
.../quarkus/maven/UpdateExtensionDocPageMojo.java | 22 +++++++---------------
1 file changed, 7 insertions(+), 15 deletions(-)
diff --git a/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/UpdateExtensionDocPageMojo.java b/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/UpdateExtensionDocPageMojo.java
index debe16d..5563e21 100644
--- a/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/UpdateExtensionDocPageMojo.java
+++ b/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/UpdateExtensionDocPageMojo.java
@@ -17,7 +17,6 @@
package org.apache.camel.quarkus.maven;
import java.io.IOException;
-import java.io.InputStream;
import java.io.StringWriter;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
@@ -29,7 +28,6 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.Properties;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -42,6 +40,7 @@ import freemarker.template.TemplateModelException;
import io.quarkus.annotation.processor.Constants;
import io.quarkus.annotation.processor.generate_doc.ConfigDocItem;
import io.quarkus.annotation.processor.generate_doc.DocGeneratorUtil;
+import io.quarkus.annotation.processor.generate_doc.FsMap;
import org.apache.camel.catalog.Kind;
import org.apache.camel.tooling.model.ArtifactModel;
import org.apache.camel.tooling.model.BaseModel;
@@ -54,8 +53,6 @@ import org.apache.maven.plugins.annotations.Parameter;
@Mojo(name = "update-extension-doc-page", threadSafe = true)
public class UpdateExtensionDocPageMojo extends AbstractDocGeneratorMojo {
- private static List<String> list;
- private static List<String> list2;
private static final Map<String, Boolean> nativeSslActivators = new ConcurrentHashMap<>();
@Parameter(defaultValue = "false", property = "camel-quarkus.update-extension-doc-page.skip")
@@ -256,25 +253,20 @@ public class UpdateExtensionDocPageMojo extends AbstractDocGeneratorMojo {
if (configRootClasses.isEmpty()) {
return Collections.emptyList();
}
- final Path configRootsModelsPath = multiModuleProjectDirectory
- .resolve("target/asciidoc/generated/config/all-configuration-roots-generated-doc.properties");
- if (!Files.exists(configRootsModelsPath)) {
+ final Path configRootsModelsDir = multiModuleProjectDirectory
+ .resolve("target/asciidoc/generated/config/all-configuration-roots-generated-doc");
+ if (!Files.exists(configRootsModelsDir)) {
throw new IllegalStateException("You should run " + UpdateExtensionDocPageMojo.class.getSimpleName()
+ " after compileation with io.quarkus.annotation.processor.ExtensionAnnotationProcessor");
}
- final Properties configRootsModels = new Properties();
- try (InputStream in = Files.newInputStream(configRootsModelsPath)) {
- configRootsModels.load(in);
- } catch (IOException e) {
- throw new RuntimeException("Could not read from " + configRootsModelsPath);
- }
+ final FsMap configRootsModels = new FsMap(configRootsModelsDir);
final ObjectMapper mapper = new ObjectMapper();
final List<ConfigDocItem> configDocItems = new ArrayList<ConfigDocItem>();
for (String configRootClass : configRootClasses) {
- final String rawModel = configRootsModels.getProperty(configRootClass);
+ final String rawModel = configRootsModels.get(configRootClass);
if (rawModel == null) {
- throw new IllegalStateException("Could not find " + configRootClass + " in " + configRootsModelsPath);
+ throw new IllegalStateException("Could not find " + configRootClass + " in " + configRootsModelsDir);
}
try {
final List<ConfigDocItem> items = mapper.readValue(rawModel, Constants.LIST_OF_CONFIG_ITEMS_TYPE_REF);