protected void executeComponentsReadme()

in tooling/camel-kafka-connector-catalog-descriptor-maven-plugin/src/main/java/org/apache/camel/kafkaconnector/maven/catalog/descriptor/CollectConnectorDescriptorMojo.java [72:101]


    protected void executeComponentsReadme() throws IOException {
        getLog().info("About to scan all projects in" + connectorsDir + " in order to gather descriptors files");
        if (connectorsDir != null && connectorsDir.isDirectory()) {
            File[] files = connectorsDir.listFiles();
            getLog().info("Found " + (files != null ? String.valueOf(files.length) : "0") + "directories:");
            if (files != null) {
                Arrays.sort(files);
                Stream.of(files).filter(f -> f.isDirectory()).forEach(f -> getLog().info(f.getPath()));
                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < files.length; i++) {
                    File file = files[i];
                    if (file.isDirectory()) {
                        fillStringBuilderWithContentOf(sb, file, "src/generated/descriptors/connector-source.properties");
                        fillStringBuilderWithContentOf(sb, file, "src/generated/descriptors/connector-sink.properties");
                    }
                }
                File file = FileUtils.getFile(catalogDescriptorDir, "connectors.properties");
                getLog().info("About to write descriptor to: " + catalogDescriptorDir);
                if (!file.exists()) {
                    // Create the structure
                    File parent = file.getParentFile();
                    parent.mkdirs();
                }
                file.createNewFile();
                try (BufferedWriter writer = new BufferedWriter(new FileWriter(file))) {
                    writer.write(sb.toString());
                }
            }
        }
    }