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>