in tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/UpdateExtensionDocPageMojo.java [465:501]
static List<ConfigItem> listConfigOptions(Path runtimeModuleDir, Path deploymentModuleDir,
Path multiModuleProjectDirectory, String artifactIdBase) {
final List<ConfigProperty> result = new ArrayList<>();
final List<Path> targetDirectories = Stream.of(runtimeModuleDir, deploymentModuleDir)
.map(p -> p.resolve("target"))
.filter(Files::isDirectory)
.collect(Collectors.toList());
final JavadocRepository javadocRepository = JavadocMerger.mergeJavadocElements(targetDirectories);
final MergedModel mergedModel = ModelMerger.mergeModel(targetDirectories);
for (Entry<Extension, Map<ConfigRootKey, ConfigRoot>> extensionConfigRootsEntry : mergedModel.getConfigRoots()
.entrySet()) {
for (Entry<ConfigRootKey, ConfigRoot> configRootEntry : extensionConfigRootsEntry.getValue().entrySet()) {
final ConfigRoot configRoot = configRootEntry.getValue();
for (AbstractConfigItem configItem : configRoot.getItems()) {
if (configItem instanceof ConfigProperty) {
result.add((ConfigProperty) configItem);
}
}
}
}
for (Entry<String, ConfigRoot> configRootEntry : mergedModel.getConfigRootsInSpecificFile().entrySet()) {
final ConfigRoot configRoot = configRootEntry.getValue();
for (AbstractConfigItem configItem : configRoot.getItems()) {
if (configItem instanceof ConfigProperty) {
result.add((ConfigProperty) configItem);
}
}
}
Collections.sort(result);
return result.stream()
.map(cp -> ConfigItem.of(cp, javadocRepository, artifactIdBase))
.collect(Collectors.toList());
}