This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch gen-trans
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 2225fb806402f43fb95944d2e5735daf46ade45c
Author: Claus Ibsen <[email protected]>
AuthorDate: Thu Feb 15 08:48:37 2024 +0100

    CAMEL-20419: Generate json metadata for @DataTypeTransformer
---
 .../org/apache/camel/transformer/transformers.json | 12 ---------
 .../org/apache/camel/transformer/transformers.json | 12 ---------
 .../org/apache/camel/transformer/transformers.json | 12 ---------
 .../org/apache/camel/transformer/transformers.json | 12 ---------
 .../org/apache/camel/transformer/transformers.json | 13 ----------
 .../org/apache/camel/transformer/transformers.json | 12 ---------
 .../org/apache/camel/transformer/transformers.json | 19 --------------
 .../org/apache/camel/transformer/transformers.json | 12 ---------
 .../org/apache/camel/transformer/transformers.json | 12 ---------
 .../org/apache/camel/transformer/transformers.json | 26 -------------------
 .../org/apache/camel/transformer/transformers.json | 26 -------------------
 .../org/apache/camel/transformer/transformers.json | 26 -------------------
 .../packaging/GenerateDataTypeTransformerMojo.java | 29 ++++++++++++----------
 13 files changed, 16 insertions(+), 207 deletions(-)

diff --git 
a/components/camel-aws/camel-aws-cloudtrail/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
 
b/components/camel-aws/camel-aws-cloudtrail/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
deleted file mode 100644
index 92149c5f501..00000000000
--- 
a/components/camel-aws/camel-aws-cloudtrail/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-  "transformers": [
-    {
-      "groupId": "org.apache.camel",
-      "artifactId": "camel-aws-cloudtrail",
-      "version": "4.4.0-SNAPSHOT",
-      "className": 
"org.apache.camel.component.aws.cloudtrail.transform.CloudtrailCloudEventDataTypeTransformer",
-      "name": "aws-cloudtrail:application-cloudevents"
-    }
-  ]
-}
-
diff --git 
a/components/camel-aws/camel-aws2-ddb/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
 
b/components/camel-aws/camel-aws2-ddb/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
deleted file mode 100644
index 05683a173a0..00000000000
--- 
a/components/camel-aws/camel-aws2-ddb/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-  "transformers": [
-    {
-      "groupId": "org.apache.camel",
-      "artifactId": "camel-aws2-ddb",
-      "version": "4.4.0-SNAPSHOT",
-      "className": 
"org.apache.camel.component.aws2.ddb.transform.Ddb2JsonDataTypeTransformer",
-      "name": "aws2-ddb:application-json"
-    }
-  ]
-}
-
diff --git 
a/components/camel-aws/camel-aws2-s3/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
 
b/components/camel-aws/camel-aws2-s3/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
deleted file mode 100644
index 05351be4914..00000000000
--- 
a/components/camel-aws/camel-aws2-s3/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-  "transformers": [
-    {
-      "groupId": "org.apache.camel",
-      "artifactId": "camel-aws2-s3",
-      "version": "4.4.0-SNAPSHOT",
-      "className": 
"org.apache.camel.component.aws2.s3.transform.AWS2S3CloudEventDataTypeTransformer",
-      "name": "aws2-s3:application-cloudevents"
-    }
-  ]
-}
-
diff --git 
a/components/camel-aws/camel-aws2-sqs/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
 
b/components/camel-aws/camel-aws2-sqs/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
deleted file mode 100644
index bf674ef942d..00000000000
--- 
a/components/camel-aws/camel-aws2-sqs/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-  "transformers": [
-    {
-      "groupId": "org.apache.camel",
-      "artifactId": "camel-aws2-sqs",
-      "version": "4.4.0-SNAPSHOT",
-      "className": 
"org.apache.camel.component.aws2.sqs.transform.AWS2SQSCloudEventDataTypeTransformer",
-      "name": "aws2-sqs:application-cloudevents"
-    }
-  ]
-}
-
diff --git 
a/components/camel-azure/camel-azure-storage-blob/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
 
b/components/camel-azure/camel-azure-storage-blob/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
deleted file mode 100644
index 2657cc484c1..00000000000
--- 
a/components/camel-azure/camel-azure-storage-blob/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  "transformers": [
-    {
-      "groupId": "org.apache.camel",
-      "artifactId": "camel-azure-storage-blob",
-      "version": "4.4.0-SNAPSHOT",
-      "className": 
"org.apache.camel.component.azure.storage.blob.transform.AzureStorageBlobCloudEventDataTypeTransformer",
-      "name": "azure-storage-blob:application-cloudevents",
-      "description": "Adds CloudEvent headers to the Camel message with Azure 
Store Blob information"
-    }
-  ]
-}
-
diff --git 
a/components/camel-azure/camel-azure-storage-queue/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
 
b/components/camel-azure/camel-azure-storage-queue/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
deleted file mode 100644
index d406bbb7edf..00000000000
--- 
a/components/camel-azure/camel-azure-storage-queue/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-  "transformers": [
-    {
-      "groupId": "org.apache.camel",
-      "artifactId": "camel-azure-storage-queue",
-      "version": "4.4.0-SNAPSHOT",
-      "className": 
"org.apache.camel.component.azure.storage.queue.transform.AzureStorageQueueCloudEventDataTypeTransformer",
-      "name": "azure-storage-queue:application-cloudevents"
-    }
-  ]
-}
-
diff --git 
a/components/camel-cloudevents/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
 
b/components/camel-cloudevents/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
deleted file mode 100644
index a503f812528..00000000000
--- 
a/components/camel-cloudevents/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-  "transformers": [
-    {
-      "groupId": "org.apache.camel",
-      "artifactId": "camel-cloudevents",
-      "version": "4.4.0-SNAPSHOT",
-      "className": 
"org.apache.camel.component.cloudevents.transformer.CloudEventJsonDataTypeTransformer",
-      "name": "application-cloudevents+json"
-    },
-    {
-      "groupId": "org.apache.camel",
-      "artifactId": "camel-cloudevents",
-      "version": "4.4.0-SNAPSHOT",
-      "className": 
"org.apache.camel.component.cloudevents.transformer.CloudEventHttpDataTypeTransformer",
-      "name": "http:application-cloudevents"
-    }
-  ]
-}
-
diff --git 
a/components/camel-google/camel-google-sheets/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
 
b/components/camel-google/camel-google-sheets/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
deleted file mode 100644
index 8d99875fdee..00000000000
--- 
a/components/camel-google/camel-google-sheets/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-  "transformers": [
-    {
-      "groupId": "org.apache.camel",
-      "artifactId": "camel-google-sheets",
-      "version": "4.4.0-SNAPSHOT",
-      "className": 
"org.apache.camel.component.google.sheets.transform.GoogleSheetsJsonStructDataTypeTransformer",
-      "name": "google-sheets:application-x-struct"
-    }
-  ]
-}
-
diff --git 
a/components/camel-google/camel-google-storage/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
 
b/components/camel-google/camel-google-storage/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
deleted file mode 100644
index 0559fb9bc54..00000000000
--- 
a/components/camel-google/camel-google-storage/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-  "transformers": [
-    {
-      "groupId": "org.apache.camel",
-      "artifactId": "camel-google-storage",
-      "version": "4.4.0-SNAPSHOT",
-      "className": 
"org.apache.camel.component.google.storage.transform.GoogleStorageCloudEventDataTypeTransformer",
-      "name": "google-storage:application-cloudevents"
-    }
-  ]
-}
-
diff --git 
a/components/camel-jackson-avro/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
 
b/components/camel-jackson-avro/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
deleted file mode 100644
index cb542f2ba3f..00000000000
--- 
a/components/camel-jackson-avro/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-  "transformers": [
-    {
-      "groupId": "org.apache.camel",
-      "artifactId": "camel-jackson-avro",
-      "version": "4.4.0-SNAPSHOT",
-      "className": 
"org.apache.camel.component.jackson.avro.transform.AvroBinaryDataTypeTransformer",
-      "name": "avro-binary"
-    },
-    {
-      "groupId": "org.apache.camel",
-      "artifactId": "camel-jackson-avro",
-      "version": "4.4.0-SNAPSHOT",
-      "className": 
"org.apache.camel.component.jackson.avro.transform.AvroPojoDataTypeTransformer",
-      "name": "avro-x-java-object"
-    },
-    {
-      "groupId": "org.apache.camel",
-      "artifactId": "camel-jackson-avro",
-      "version": "4.4.0-SNAPSHOT",
-      "className": 
"org.apache.camel.component.jackson.avro.transform.AvroStructDataTypeTransformer",
-      "name": "avro-x-struct"
-    }
-  ]
-}
-
diff --git 
a/components/camel-jackson-protobuf/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
 
b/components/camel-jackson-protobuf/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
deleted file mode 100644
index 072d546106d..00000000000
--- 
a/components/camel-jackson-protobuf/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-  "transformers": [
-    {
-      "groupId": "org.apache.camel",
-      "artifactId": "camel-jackson-protobuf",
-      "version": "4.4.0-SNAPSHOT",
-      "className": 
"org.apache.camel.component.jackson.protobuf.transform.ProtobufBinaryDataTypeTransformer",
-      "name": "protobuf-binary"
-    },
-    {
-      "groupId": "org.apache.camel",
-      "artifactId": "camel-jackson-protobuf",
-      "version": "4.4.0-SNAPSHOT",
-      "className": 
"org.apache.camel.component.jackson.protobuf.transform.ProtobufPojoDataTypeTransformer",
-      "name": "protobuf-x-java-object"
-    },
-    {
-      "groupId": "org.apache.camel",
-      "artifactId": "camel-jackson-protobuf",
-      "version": "4.4.0-SNAPSHOT",
-      "className": 
"org.apache.camel.component.jackson.protobuf.transform.ProtobufStructDataTypeTransformer",
-      "name": "protobuf-x-struct"
-    }
-  ]
-}
-
diff --git 
a/components/camel-jackson/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
 
b/components/camel-jackson/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
deleted file mode 100644
index a21a042dafa..00000000000
--- 
a/components/camel-jackson/src/generated/resources/META-INF/services/org/apache/camel/transformer/transformers.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-  "transformers": [
-    {
-      "groupId": "org.apache.camel",
-      "artifactId": "camel-jackson",
-      "version": "4.4.0-SNAPSHOT",
-      "className": 
"org.apache.camel.component.jackson.transform.JsonDataTypeTransformer",
-      "name": "application-json"
-    },
-    {
-      "groupId": "org.apache.camel",
-      "artifactId": "camel-jackson",
-      "version": "4.4.0-SNAPSHOT",
-      "className": 
"org.apache.camel.component.jackson.transform.JsonPojoDataTypeTransformer",
-      "name": "application-x-java-object"
-    },
-    {
-      "groupId": "org.apache.camel",
-      "artifactId": "camel-jackson",
-      "version": "4.4.0-SNAPSHOT",
-      "className": 
"org.apache.camel.component.jackson.transform.JsonStructDataTypeTransformer",
-      "name": "application-x-struct"
-    }
-  ]
-}
-
diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDataTypeTransformerMojo.java
 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDataTypeTransformerMojo.java
index 480e4faa6c1..97652da44fe 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDataTypeTransformerMojo.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDataTypeTransformerMojo.java
@@ -22,7 +22,6 @@ import java.util.Comparator;
 import java.util.List;
 
 import org.apache.camel.maven.packaging.generics.PackagePluginUtils;
-import org.apache.camel.util.json.JsonArray;
 import org.apache.camel.util.json.JsonObject;
 import org.apache.camel.util.json.Jsoner;
 import org.apache.maven.plugin.MojoExecutionException;
@@ -150,20 +149,18 @@ public class GenerateDataTypeTransformerMojo extends 
AbstractGeneratorMojo {
 
         if (!models.isEmpty()) {
             try {
-                JsonArray arr = new JsonArray();
                 for (var model : models) {
                     JsonObject jo = asJsonObject(model);
-                    arr.add(jo);
+                    String json = jo.toJson();
+                    json = Jsoner.prettyPrint(json, 2);
+                    String fn = sanitizeFileName(model.getName()) + ".json";
+                    boolean updated = 
updateResource(resourcesOutputDir.toPath(),
+                            "META-INF/services/org/apache/camel/transformer/" 
+ fn,
+                            json + NL);
+                    if (updated) {
+                        getLog().info("Updated transformer json: " + 
model.getName());
+                    }
                 }
-                JsonObject root = new JsonObject();
-                root.put("transformers", arr);
-                String json = root.toJson();
-                json = Jsoner.prettyPrint(json, 2);
-
-                // we need to store in META-INF to avoid confusing with 
component json
-                updateResource(resourcesOutputDir.toPath(),
-                        
"META-INF/services/org/apache/camel/transformer/transformers.json",
-                        json + NL);
             } catch (Exception e) {
                 throw new MojoExecutionException(e);
             }
@@ -187,7 +184,13 @@ public class GenerateDataTypeTransformerMojo extends 
AbstractGeneratorMojo {
         if (model.getDescription() != null) {
             jo.put("description", model.getDescription());
         }
-        return jo;
+        JsonObject root = new JsonObject();
+        root.put("transformer", jo);
+        return root;
+    }
+
+    private String sanitizeFileName(String fileName) {
+        return fileName.replaceAll("[^A-Za-z0-9-]", "-");
     }
 
 }

Reply via email to