| <?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> |
| |
| <artifactId>camel-quarkus-examples-jpa-idempotent-repository</artifactId> |
| <groupId>org.apache.camel.quarkus.examples</groupId> |
| <version>3.12.0-SNAPSHOT</version> |
| |
| <name>Camel Quarkus :: Examples :: JPA Idempotent Repository</name> |
| <description>Camel Quarkus Example :: JPA Idempotent Repository</description> |
| |
| <properties> |
| <quarkus.platform.version>3.12.0</quarkus.platform.version> |
| <camel-quarkus.platform.version>3.12.0-SNAPSHOT</camel-quarkus.platform.version> |
| |
| <quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id> |
| <quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id> |
| <camel-quarkus.platform.group-id>org.apache.camel.quarkus</camel-quarkus.platform.group-id> |
| <camel-quarkus.platform.artifact-id>camel-quarkus-bom</camel-quarkus.platform.artifact-id> |
| |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> |
| <maven.compiler.target>17</maven.compiler.target> |
| <maven.compiler.source>17</maven.compiler.source> |
| <maven.compiler.testTarget>${maven.compiler.target}</maven.compiler.testTarget> |
| <maven.compiler.testSource>${maven.compiler.source}</maven.compiler.testSource> |
| |
| <formatter-maven-plugin.version>2.24.1</formatter-maven-plugin.version> |
| <groovy-maven-plugin.version>2.1.1</groovy-maven-plugin.version> |
| <impsort-maven-plugin.version>1.10.0</impsort-maven-plugin.version> |
| <license-maven-plugin.version>4.5</license-maven-plugin.version> |
| <maven-compiler-plugin.version>3.13.0</maven-compiler-plugin.version> |
| <maven-jar-plugin.version>3.4.1</maven-jar-plugin.version> |
| <maven-resources-plugin.version>3.3.1</maven-resources-plugin.version> |
| <maven-surefire-plugin.version>3.3.0</maven-surefire-plugin.version> |
| </properties> |
| |
| <dependencyManagement> |
| <dependencies> |
| <!-- Import BOM --> |
| <dependency> |
| <groupId>${quarkus.platform.group-id}</groupId> |
| <artifactId>${quarkus.platform.artifact-id}</artifactId> |
| <version>${quarkus.platform.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <dependency> |
| <groupId>${camel-quarkus.platform.group-id}</groupId> |
| <artifactId>${camel-quarkus.platform.artifact-id}</artifactId> |
| <version>${camel-quarkus.platform.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.camel.quarkus</groupId> |
| <artifactId>camel-quarkus-bean</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.camel.quarkus</groupId> |
| <artifactId>camel-quarkus-file</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.camel.quarkus</groupId> |
| <artifactId>camel-quarkus-http</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.camel.quarkus</groupId> |
| <artifactId>camel-quarkus-jpa</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.camel.quarkus</groupId> |
| <artifactId>camel-quarkus-platform-http</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.camel.quarkus</groupId> |
| <artifactId>camel-quarkus-timer</artifactId> |
| </dependency> |
| |
| <!-- Use MariaDB for the database --> |
| <dependency> |
| <groupId>io.quarkus</groupId> |
| <artifactId>quarkus-jdbc-mariadb</artifactId> |
| </dependency> |
| |
| <!-- Flyway is used to set up the MariaDB database --> |
| <dependency> |
| <groupId>io.quarkus</groupId> |
| <artifactId>quarkus-flyway</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.flywaydb</groupId> |
| <artifactId>flyway-mysql</artifactId> |
| </dependency> |
| |
| <!-- Test --> |
| <dependency> |
| <groupId>io.quarkus</groupId> |
| <artifactId>quarkus-junit5</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.awaitility</groupId> |
| <artifactId>awaitility</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>io.rest-assured</groupId> |
| <artifactId>rest-assured</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.testcontainers</groupId> |
| <artifactId>testcontainers</artifactId> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.codehaus.gmaven</groupId> |
| <artifactId>groovy-maven-plugin</artifactId> |
| <version>${groovy-maven-plugin.version}</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>net.revelc.code.formatter</groupId> |
| <artifactId>formatter-maven-plugin</artifactId> |
| <version>${formatter-maven-plugin.version}</version> |
| <configuration> |
| <configFile>${maven.multiModuleProjectDirectory}/eclipse-formatter-config.xml</configFile> |
| <lineEnding>LF</lineEnding> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>net.revelc.code</groupId> |
| <artifactId>impsort-maven-plugin</artifactId> |
| <version>${impsort-maven-plugin.version}</version> |
| <configuration> |
| <groups>java.,javax.,org.w3c.,org.xml.,junit.</groups> |
| <removeUnused>true</removeUnused> |
| <staticAfter>true</staticAfter> |
| <staticGroups>java.,javax.,org.w3c.,org.xml.,junit.</staticGroups> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>${maven-compiler-plugin.version}</version> |
| <configuration> |
| <showDeprecation>true</showDeprecation> |
| <showWarnings>true</showWarnings> |
| <compilerArgs> |
| <arg>-Xlint:unchecked</arg> |
| </compilerArgs> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>${maven-surefire-plugin.version}</version> |
| <configuration> |
| <failIfNoTests>false</failIfNoTests> |
| <systemPropertyVariables> |
| <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager> |
| </systemPropertyVariables> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>${quarkus.platform.group-id}</groupId> |
| <artifactId>quarkus-maven-plugin</artifactId> |
| <version>${quarkus.platform.version}</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <version>${maven-surefire-plugin.version}</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <version>${maven-jar-plugin.version}</version> |
| </plugin> |
| |
| <plugin> |
| <groupId>com.mycila</groupId> |
| <artifactId>license-maven-plugin</artifactId> |
| <version>${license-maven-plugin.version}</version> |
| <configuration> |
| <failIfUnknown>true</failIfUnknown> |
| <header>${maven.multiModuleProjectDirectory}/header.txt</header> |
| <excludes> |
| <exclude>**/*.adoc</exclude> |
| <exclude>**/*.odp</exclude> |
| <exclude>**/*.txt</exclude> |
| <exclude>**/LICENSE.txt</exclude> |
| <exclude>**/LICENSE</exclude> |
| <exclude>**/NOTICE.txt</exclude> |
| <exclude>**/NOTICE</exclude> |
| <exclude>**/README</exclude> |
| <exclude>**/pom.xml.versionsBackup</exclude> |
| </excludes> |
| <mapping> |
| <java>SLASHSTAR_STYLE</java> |
| <properties>CAMEL_PROPERTIES_STYLE</properties> |
| <kt>SLASHSTAR_STYLE</kt> |
| </mapping> |
| <headerDefinitions> |
| <headerDefinition>${maven.multiModuleProjectDirectory}/license-properties-headerdefinition.xml</headerDefinition> |
| </headerDefinitions> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| |
| <plugins> |
| <plugin> |
| <groupId>${quarkus.platform.group-id}</groupId> |
| <artifactId>quarkus-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>build</id> |
| <goals> |
| <goal>build</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>net.revelc.code.formatter</groupId> |
| <artifactId>formatter-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>format</id> |
| <goals> |
| <goal>format</goal> |
| </goals> |
| <phase>process-sources</phase> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>net.revelc.code</groupId> |
| <artifactId>impsort-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>sort-imports</id> |
| <goals> |
| <goal>sort</goal> |
| </goals> |
| <phase>process-sources</phase> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.codehaus.gmaven</groupId> |
| <artifactId>groovy-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>sync-k8s-resource-versions</id> |
| <inherited>false</inherited> |
| <goals> |
| <goal>execute</goal> |
| </goals> |
| <phase>process-sources</phase> |
| <configuration> |
| <source> |
| import java.util.regex.Matcher |
| import java.util.regex.Pattern |
| |
| Pattern pattern = Pattern.compile("app.kubernetes.io/version: .*") |
| |
| ["kubernetes", "openshift"].each { k8sResource -> |
| String sanitizedBasedir = project.basedir.path.replace('\\', '/') |
| File file = new File("${sanitizedBasedir}/src/main/kubernetes/${k8sResource}.yml") |
| String content = file.text |
| Matcher matcher = pattern.matcher(content) |
| |
| if (matcher.find()) { |
| String updatedContent = matcher.replaceAll("app.kubernetes.io/version: ${project.version}") |
| if (updatedContent != content) { |
| log.info("Updating app.kubernetes.io/version label to ${project.version} in ${file.path}") |
| file.write(updatedContent) |
| } |
| } |
| } |
| </source> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <profiles> |
| <profile> |
| <id>native</id> |
| <activation> |
| <property> |
| <name>native</name> |
| </property> |
| </activation> |
| <properties> |
| <quarkus.native.enabled>true</quarkus.native.enabled> |
| </properties> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <executions> |
| <execution> |
| <goals> |
| <goal>integration-test</goal> |
| <goal>verify</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>kubernetes</id> |
| <activation> |
| <activeByDefault>true</activeByDefault> |
| <property> |
| <name>kubernetes</name> |
| </property> |
| </activation> |
| <dependencies> |
| <dependency> |
| <groupId>io.quarkus</groupId> |
| <artifactId>quarkus-kubernetes</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.quarkus</groupId> |
| <artifactId>quarkus-container-image-jib</artifactId> |
| </dependency> |
| </dependencies> |
| </profile> |
| <profile> |
| <id>openshift</id> |
| <activation> |
| <property> |
| <name>openshift</name> |
| </property> |
| </activation> |
| <dependencies> |
| <dependency> |
| <groupId>io.quarkus</groupId> |
| <artifactId>quarkus-openshift</artifactId> |
| </dependency> |
| </dependencies> |
| </profile> |
| <profile> |
| <id>skip-testcontainers-tests</id> |
| <activation> |
| <property> |
| <name>skip-testcontainers-tests</name> |
| </property> |
| </activation> |
| <properties> |
| <skipTests>true</skipTests> |
| </properties> |
| </profile> |
| </profiles> |
| |
| </project> |