in tooling/camel-catalog-generator-karaf-maven-plugin/src/main/java/org/apache/camel/karaf/maven/PrepareCatalogKarafMojo.java [139:220]
protected void executeFeatures(Set<String> features) throws MojoExecutionException, MojoFailureException {
// lets use sorted set/maps
Set<File> jsonFiles = new TreeSet<>();
if (componentsDir != null && componentsDir.isDirectory()) {
File[] files = componentsDir.listFiles();
if (files != null) {
for (File file : files) {
String name = stripExt(file);
if (features.contains("camel-" + name) || isCoreComponent(name)) {
jsonFiles.add(file);
}
}
}
}
// include paxlogging and eventadmin as regular components
jsonFiles.add(new File(karafComponentsDir, "camel-eventadmin/target/classes/org/apache/camel/component/eventadmin/eventadmin.json"));
jsonFiles.add(new File(karafComponentsDir, "camel-paxlogging/target/classes/org/apache/camel/component/paxlogging/paxlogging.json"));
if (!jsonFiles.isEmpty()) {
Path outDir = componentsOutDir.toPath();
copyFiles(outDir, jsonFiles);
generateJsonList(outDir, "../components.properties");
getLog().info("Copying " + jsonFiles.size() + " Camel component json descriptors");
}
jsonFiles.clear();
if (dataformatsDir != null && dataformatsDir.isDirectory()) {
File[] files = dataformatsDir.listFiles();
if (files != null) {
for (File file : files) {
// all dataformats are supported on karaf
jsonFiles.add(file);
}
}
}
if (!jsonFiles.isEmpty()) {
Path outDir = dataFormatsOutDir.toPath();
copyFiles(outDir, jsonFiles);
generateJsonList(outDir, "../dataformats.properties");
getLog().info("Copying " + jsonFiles.size() + " Camel dataformat json descriptors");
}
jsonFiles.clear();
if (languagesDir != null && languagesDir.isDirectory()) {
File[] files = languagesDir.listFiles();
if (files != null) {
for (File file : files) {
// all languages are supported on karaf
jsonFiles.add(file);
}
}
}
if (!jsonFiles.isEmpty()) {
Path outDir = languagesOutDir.toPath();
copyFiles(outDir, jsonFiles);
generateJsonList(outDir, "../languages.properties");
getLog().info("Copying " + jsonFiles.size() + " Camel language json descriptors");
}
jsonFiles.clear();
if (othersDir != null && othersDir.isDirectory()) {
File[] files = othersDir.listFiles();
if (files != null) {
for (File file : files) {
if (features.contains("camel-" + stripExt(file))) {
jsonFiles.add(file);
}
}
}
}
// include others that are in camel-karaf only
jsonFiles.add(new File(karafComponentsDir, "camel-blueprint/target/classes/blueprint.json"));
jsonFiles.add(new File(karafComponentsDir, "camel-kura/target/classes/kura.json"));
if (!jsonFiles.isEmpty()) {
Path outDir = othersOutDir.toPath();
copyFiles(outDir, jsonFiles);
generateJsonList(outDir, "../others.properties");
getLog().info("Copying " + jsonFiles.size() + " Camel other json descriptors");
}
}