static List listConfigOptions()

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());
    }