in tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/UpdateExtensionDocPageMojo.java [424:454]
static List<ConfigItem> listConfigOptions(Path basePath, Path multiModuleProjectDirectory) {
final List<String> configRootClasses = loadConfigRoots(basePath);
if (configRootClasses.isEmpty()) {
return Collections.emptyList();
}
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 compilation with io.quarkus.annotation.processor.ExtensionAnnotationProcessor");
}
final FsMap configRootsModels = new FsMap(configRootsModelsDir);
final ObjectMapper mapper = new ObjectMapper();
final List<ConfigDocItem> configDocItems = new ArrayList<>();
for (String configRootClass : configRootClasses) {
final String rawModel = configRootsModels.get(configRootClass);
if (rawModel == null) {
throw new IllegalStateException("Could not find " + configRootClass + " in " + configRootsModelsDir);
}
try {
final List<ConfigDocItem> items = mapper.readValue(rawModel, Constants.LIST_OF_CONFIG_ITEMS_TYPE_REF);
configDocItems.addAll(items);
} catch (JsonProcessingException e) {
throw new RuntimeException("Could not parse " + rawModel, e);
}
}
DocGeneratorUtil.sort(configDocItems);
return configDocItems.stream().map(ConfigItem::of).collect(Collectors.toList());
}