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

jamesnetherton pushed a commit to branch camel-quarkus-main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus-examples.git


The following commit(s) were added to refs/heads/camel-quarkus-main by this 
push:
     new eb153ea4 Add project root pom.xml to replace build scripts
eb153ea4 is described below

commit eb153ea441502ac7e1883530b83efcbc68352cc4
Author: James Netherton <[email protected]>
AuthorDate: Tue Jun 9 07:48:55 2026 +0100

    Add project root pom.xml to replace build scripts
    
    Co-authored-by: Claude Sonnet 4.6 <[email protected]>
---
 .github/generate-test-groups.groovy |   2 +-
 .github/workflows/ci-build.yaml     |   8 +--
 mvnd-for-each.sh                    |  20 ------
 mvnw-for-each.sh                    |  20 ------
 pom.xml                             | 119 ++++++++++++++++++++++++++++++++++++
 5 files changed, 124 insertions(+), 45 deletions(-)

diff --git a/.github/generate-test-groups.groovy 
b/.github/generate-test-groups.groovy
index 26d75f88..e4a7e7ec 100644
--- a/.github/generate-test-groups.groovy
+++ b/.github/generate-test-groups.groovy
@@ -22,7 +22,7 @@ int groupId = 0
 
 // Distribute example projects across a bounded set of test groups and output 
as JSON
 new File(".").eachFileRecurse { file ->
-    if (file.getName() == "pom.xml" && 
file.getParentFile().getParentFile().getName() == ".") {
+    if (file.getName() == "pom.xml" && 
file.getParentFile().getParentFile()?.getName() == ".") {
         if (file.getParentFile().getName() == "saga") {
             // saga is put into a dedicated group as it's a multi-module build
             return
diff --git a/.github/workflows/ci-build.yaml b/.github/workflows/ci-build.yaml
index 2e420720..6abe6588 100644
--- a/.github/workflows/ci-build.yaml
+++ b/.github/workflows/ci-build.yaml
@@ -76,13 +76,13 @@ jobs:
         run: mvn org.l2x6.cq:cq-maven-plugin:2.10.0:examples-check-platform
       - name: mvn ${MAVEN_ARGS} license:check formatter:validate impsort:check
         run: |
-          ./mvnw-for-each.sh ${MAVEN_ARGS} \
+          ./mvnw ${MAVEN_ARGS} \
             license:check \
             net.revelc.code.formatter:formatter-maven-plugin:validate \
             net.revelc.code:impsort-maven-plugin:check
       - name: Build Camel Quarkus Examples
         run: |
-          ./mvnw-for-each.sh ${MAVEN_ARGS} clean install -DskipTests 
-Dquarkus.build.skip
+          ./mvnw ${MAVEN_ARGS} clean install -DskipTests -Dquarkus.build.skip
       - name: Fail if there are uncommitted changes
         shell: bash
         run: |
@@ -191,7 +191,7 @@ jobs:
       - name: Integration Tests
         shell: bash
         run: |
-          ./mvnw-for-each.sh ${MAVEN_ARGS} clean test
+          ./mvnw ${MAVEN_ARGS} clean test
       - name: Fail if there are uncommitted changes
         shell: bash
         run: |
@@ -225,7 +225,7 @@ jobs:
       - name: Integration Tests
         shell: bash
         run: |
-          ./mvnw-for-each.sh ${MAVEN_ARGS} -Dskip-testcontainers-tests clean 
test
+          ./mvnw ${MAVEN_ARGS} -Dskip-testcontainers-tests clean test
       - name: Fail if there are uncommitted changes
         shell: bash
         run: |
diff --git a/mvnd-for-each.sh b/mvnd-for-each.sh
deleted file mode 100755
index 2129eaaa..00000000
--- a/mvnd-for-each.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/env bash
-
-# Iterates over all available examples and calls mvnd with the specified 
arguments for each of them
-
-set -x
-set -e
-
-pwd="$(pwd)"
-for moduleDir in $(ls -d */)
-do
-    if [ -f "${pwd}/${moduleDir}/pom.xml" ]; then
-        cd "${pwd}/${moduleDir}"
-        mvnd -1 "$@"
-        cp ../eclipse-formatter-config.xml .
-    fi
-done
-
-cd "${pwd}"
-mvnd org.l2x6.cq:cq-maven-plugin:0.33.0:update-examples-json -1
-
diff --git a/mvnw-for-each.sh b/mvnw-for-each.sh
deleted file mode 100755
index 6a879ff5..00000000
--- a/mvnw-for-each.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/env bash
-
-# Iterates over all available examples and calls mvnd with the specified 
arguments for each of them
-
-set -x
-set -e
-
-pwd="$(pwd)"
-for moduleDir in $(ls -d */)
-do
-    if [ -f "${pwd}/${moduleDir}/pom.xml" ]; then
-        cd "${pwd}/${moduleDir}"
-        ../mvnw "$@"
-        cp ../eclipse-formatter-config.xml .
-    fi
-done
-
-cd "${pwd}"
-./mvnw org.l2x6.cq:cq-maven-plugin:0.33.0:update-examples-json
-
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 00000000..01aa8cce
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>org.apache.camel.quarkus.examples</groupId>
+    <artifactId>camel-quarkus-examples</artifactId>
+    <version>3.37.0-SNAPSHOT</version>
+    <packaging>pom</packaging>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <cq-maven-plugin.version>4.25.0</cq-maven-plugin.version>
+        <formatter-maven-plugin.version>2.29.0</formatter-maven-plugin.version>
+        <impsort-maven-plugin.version>1.13.0</impsort-maven-plugin.version>
+        <license-maven-plugin.version>5.0.0</license-maven-plugin.version>
+    </properties>
+
+    <!-- Keep sorted alphabetically -->
+    <modules>
+        <module>amqp</module>
+        <module>artemis-elasticsearch</module>
+        <module>aws-lambda</module>
+        <module>aws2-s3</module>
+        <module>cluster-leader-election</module>
+        <module>cxf-soap</module>
+        <module>data-extract-langchain4j</module>
+        <module>fhir</module>
+        <module>file-bindy-ftp</module>
+        <module>file-split-log-xml</module>
+        <module>health</module>
+        <module>http-log</module>
+        <module>http-pqc-j17</module>
+        <module>http-pqc-j21</module>
+        <module>jdbc-datasource</module>
+        <module>jms-jpa</module>
+        <module>jpa-idempotent-repository</module>
+        <module>jta-jpa</module>
+        <module>kafka</module>
+        <module>kamelet-chucknorris</module>
+        <module>message-bridge</module>
+        <module>netty-custom-correlation</module>
+        <module>observability</module>
+        <module>openapi-contract-first</module>
+        <module>platform-http-security-keycloak</module>
+        <module>quarkus-rest-json</module>
+        <module>rest-json</module>
+        <module>saga</module>
+        <module>spring-redis</module>
+        <module>timer-log</module>
+        <module>timer-log-main</module>
+        <module>variables</module>
+        <module>vertx-websocket-chat</module>
+    </modules>
+
+    <build>
+        <plugins>
+            <!--
+                These plugins are configured in each individual example 
module. They are declared here
+                only to prevent them from running against the aggregator pom, 
which has no sources.
+            -->
+            <plugin>
+                <groupId>com.mycila</groupId>
+                <artifactId>license-maven-plugin</artifactId>
+                <version>${license-maven-plugin.version}</version>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>net.revelc.code.formatter</groupId>
+                <artifactId>formatter-maven-plugin</artifactId>
+                <version>${formatter-maven-plugin.version}</version>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>net.revelc.code</groupId>
+                <artifactId>impsort-maven-plugin</artifactId>
+                <version>${impsort-maven-plugin.version}</version>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.l2x6.cq</groupId>
+                <artifactId>cq-maven-plugin</artifactId>
+                <version>${cq-maven-plugin.version}</version>
+                <executions>
+                    <execution>
+                        <phase>verify</phase>
+                        <goals>
+                            <goal>update-examples-json</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>

Reply via email to