This is an automated email from the ASF dual-hosted git repository. jamesnetherton pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-quarkus-examples.git
commit 981e0ed366be1979338ca2c16e28a2ac02033264 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>
