blob: 6ed7a052f948577136c3e8134deabe3e92311924 [file] [log] [blame]
<?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>
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>29</version>
</parent>
<groupId>org.apache.camel</groupId>
<artifactId>camel</artifactId>
<version>4.0.0-M3</version>
<packaging>pom</packaging>
<name>Camel</name>
<description>Camel Root POM</description>
<url>https://camel.apache.org</url>
<inceptionYear>2007</inceptionYear>
<developers>
<developer>
<name>The Apache Camel Team</name>
<email>dev@camel.apache.org</email>
<url>https://camel.apache.org</url>
<organization>Apache Software Foundation</organization>
<organizationUrl>http://apache.org/</organizationUrl>
</developer>
</developers>
<mailingLists>
<mailingList>
<name>Development List</name>
<subscribe>dev-subscribe@camel.apache.org</subscribe>
<unsubscribe>dev-unsubscribe@camel.apache.org</unsubscribe>
<post>dev@camel.apache.org</post>
</mailingList>
<mailingList>
<name>User List</name>
<subscribe>users-subscribe@camel.apache.org</subscribe>
<unsubscribe>users-unsubscribe@camel.apache.org</unsubscribe>
<post>users@camel.apache.org</post>
</mailingList>
<mailingList>
<name>Commits List</name>
<subscribe>commits-subscribe@camel.apache.org</subscribe>
<unsubscribe>commits-unsubscribe@camel.apache.org</unsubscribe>
<post>commits@camel.apache.org</post>
</mailingList>
</mailingLists>
<modules>
<module>parent</module>
<module>etc</module>
<module>bom</module>
<module>buildingtools</module>
<module>tooling</module>
<module>core</module>
<module>test-infra</module>
<module>components</module>
<module>catalog</module>
<module>camel-dependencies</module>
<module>dsl</module>
<module>archetypes</module>
<module>tests</module>
<module>docs</module>
</modules>
<scm>
<connection>scm:git:http://gitbox.apache.org/repos/asf/camel.git</connection>
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/camel.git</developerConnection>
<url>https://gitbox.apache.org/repos/asf?p=camel.git;a=summary</url>
<tag>camel-4.0.0-M3</tag>
</scm>
<issueManagement>
<system>jira</system>
<url>https://issues.apache.org/jira/browse/CAMEL</url>
</issueManagement>
<distributionManagement>
<site>
<id>apache.website</id>
<url>${site-repo-url}</url>
</site>
</distributionManagement>
<properties>
<!-- unify the encoding for all the modules -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<site-repo-url>scpexe://people.apache.org/www/camel.apache.org/maven/</site-repo-url>
<jdk.version>17</jdk.version>
<compiler.fork>false</compiler.fork>
<!-- These two are here only to prevent the versions for the Apache parent pom from leaking-->
<maven.compiler.source>${jdk.version}</maven.compiler.source>
<maven.compiler.target>${jdk.version}</maven.compiler.target>
<maven.compiler.release>${jdk.version}</maven.compiler.release>
<!-- reproduceable builds: https://maven.apache.org/guides/mini/guide-reproducible-builds.html -->
<project.build.outputTimestamp>1</project.build.outputTimestamp>
<maven-compiler-plugin-version>3.11.0</maven-compiler-plugin-version>
<maven-javadoc-plugin-version>3.2.0</maven-javadoc-plugin-version>
<maven-surefire-plugin-version>3.0.0</maven-surefire-plugin-version>
<maven-failsafe-plugin-version>3.0.0</maven-failsafe-plugin-version>
<!-- we need to override the version inherited from Apache POM for modules that use this POM as parent -->
<surefire.version>${maven-surefire-plugin-version}</surefire.version>
<java-diff-utils-version>4.7</java-diff-utils-version>
<maven-enforcer-plugin-version>3.1.0</maven-enforcer-plugin-version>
<maven-dependency-plugin-version>3.4.0</maven-dependency-plugin-version>
<!-- eclipse plugin need the jaxb in this pom.xml file -->
<!-- Make sure to keep JAXB version up to date in parent/pom.xml in the bottom of the file -->
<jakarta-xml-bind-api-version>4.0.0</jakarta-xml-bind-api-version>
<jaxb-core-version>4.0.1</jaxb-core-version>
<jaxb-impl-version>4.0.1</jaxb-impl-version>
<jaxb-osgi-version>4.0.1</jaxb-osgi-version>
<jaxb-xjc-version>4.0.1</jaxb-xjc-version>
<jaxb-jxc-version>4.0.1</jaxb-jxc-version>
<errorprone-version>2.5</errorprone-version>
<mycila-license-version>3.0</mycila-license-version>
<gmavenplus-plugin-version>2.1.0</gmavenplus-plugin-version>
<groovy-version>4.0.11</groovy-version>
<cyclonedx-maven-plugin-version>2.7.7</cyclonedx-maven-plugin-version>
<camel.javadoc.offline>false</camel.javadoc.offline>
</properties>
<!-- Comment out the snapshot repositories as we don't need them now -->
<repositories>
<repository>
<id>central</id>
<url>https://repo1.maven.org/maven2/</url>
<name>Maven Central</name>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<!-- camel-jira -->
<repository>
<id>atlassian-public</id>
<url>https://packages.atlassian.com/maven-external</url>
<name>Atlassian Public Repo</name>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<!-- camel-hyperledger-aries, camel-weka -->
<repository>
<id>jboss.thirdparty</id>
<name>JBoss Thirdparty Repository</name>
<url>https://repository.jboss.org/nexus/service/local/repositories/thirdparty-releases/content/</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>apache.snapshots</id>
<url>https://repository.apache.org/snapshots/</url>
<name>Apache Snapshot Repo</name>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>apache.snapshots</id>
<url>https://repository.apache.org/snapshots/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</pluginRepository>
</pluginRepositories>
<build>
<defaultGoal>install</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>${maven-enforcer-plugin-version}</version>
<executions>
<execution>
<id>enforce-maven</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>3.5.0</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<configuration>
<outputDirectory>target</outputDirectory>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.10</version>
<dependencies>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-buildtools</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<configuration>
<downloadSources>true</downloadSources>
<downloadJavadocs>false</downloadJavadocs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<configuration>
<excludeSubProjects>false</excludeSubProjects>
<excludes>
<exclude>**/generated/**</exclude>
<exclude>**/camel-dependencies/**</exclude>
<exclude>**/generated.txt</exclude>
<exclude>**/*.json</exclude>
<exclude>**/README</exclude>
<exclude>**/README.txt</exclude>
<exclude>**/README.md</exclude>
<exclude>**/ReadMe.md</exclude>
<exclude>**/resources/**/*.xsd</exclude>
<exclude>**/webapp/js/**/*</exclude>
<exclude>**/test/resources/**/*</exclude>
<exclude>**/test/data*/**/*</exclude>
<exclude>.gitignore</exclude>
<exclude>.git/**/*</exclude>
<exclude>**/*.adoc</exclude>
<exclude>**/*.adoc.template</exclude>
<exclude>**/*.md</exclude>
<exclude>**/*.sh</exclude>
<exclude>**/*.bat</exclude>
<exclude>**/*.tmpl</exclude>
<exclude>**/java9-maven-settings</exclude>
<exclude>**/*.pfx</exclude>
<!-- tooling for component docs -->
<exclude>**/component-header.mvel</exclude>
<exclude>**/component-options.mvel</exclude>
<exclude>**/endpoint-options.mvel</exclude>
<exclude>**/dataformat-options.mvel</exclude>
<exclude>**/annotation-options.mvel</exclude>
<exclude>**/eip-options.mvel</exclude>
<exclude>**/language-options.mvel</exclude>
<exclude>**/main-options.mvel</exclude>
<exclude>**/website-components-list.mvel</exclude>
<exclude>**/website-languages-list.mvel</exclude>
<exclude>**/website-others-list.mvel</exclude>
<exclude>**/website-dataformats-list.mvel</exclude>
<exclude>**/readme-examples.mvel</exclude>
<exclude>**/camel-NOTICE.txt</exclude>
<!-- cxf does not handle comments here -->
<exclude>**/src/main/resources/META-INF/cxf/cxf.extension</exclude>
<exclude>**/src/main/resources/META-INF/cxf/bus-extensions.txt</exclude>
<!-- ignore the api signatures files -->
<exclude>**/src/signatures/*.txt</exclude>
<!-- camel-salesforce BSD license from salesforce developers -->
<exclude>**/CometDReplayExtension.java</exclude>
<exclude>**/LICENSE-SALESFORCE.txt</exclude>
<exclude>**/LICENSE-ICU4J.txt</exclude>
<!-- camel-as2 -->
<exclude>**/mdnDescription.vm</exclude>
<!-- camel-jbpm -->
<exclude>**/src/main/resources/*.wid</exclude>
<!-- camel website and user-manual -->
<exclude>**/node/**</exclude>
<exclude>**/node_modules/**</exclude>
<exclude>**/user-manual/**</exclude>
<exclude>**/yarn.lock</exclude>
<exclude>**/docs/**/*</exclude>
<exclude>**/yarn*.cjs</exclude>
<exclude>**/build-state.yml</exclude>
<!-- generated files -->
<exclude>**/target/**/*</exclude>
<exclude>**/eclipse-classes/**/*</exclude>
<exclude>**/.*</exclude>
<exclude>**/.settings/**/*</exclude>
<exclude>**/*.iml</exclude>
<exclude>**/.idea/**/*</exclude>
<exclude>**/avro/**/*.avpr</exclude>
<exclude>**/OSGI-INF/bundle.info</exclude>
<exclude>**/test_rsa*</exclude>
<exclude>**/data*/**/*.xml</exclude>
<exlucde>**/*.log</exlucde>
<exclude>**/id_file</exclude>
<exclude>**/dependency-reduced-pom.xml</exclude>
<exclude>**/Dropbox_API_Terms_and_Conditions.txt</exclude>
<exclude>**/MerchandiseRestResource.apxc</exclude>
<exclude>**/file-sig-api.txt</exclude>
<exclude>**/Tasks__c.java</exclude>
<exclude>**/*.proto</exclude>
<exclude>**/src/main/resources/META-INF/services/org.kie.server.services.api.KieServerExtension</exclude>
<exclude>**/META-INF/MANIFEST.MF</exclude>
<exclude>**/openapi.yaml</exclude>
<exclude>**/ignite/work/**/*</exclude>
<exclude>**/MySecondFooConfigurer.java</exclude>
<exclude>**/MySecondBarConfigurer.java</exclude>
<exclude>**/stockquote-response.xml</exclude>
<exclude>**/org.apache.camel.dsl.kotlin.KotlinDSL.classname</exclude>
<exclude>**/quarkus-pom.ftl</exclude>
<exclude>**/quarkus-docker/*</exclude>
<exclude>.github/**/*</exclude>
<!-- Maven Wrapper -->
<exclude>.mvn/**/*</exclude>
<exclude>**/maven-wrapper/*</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<!-- see https://issues.apache.org/jira/browse/MRELEASE-812 -->
<version>2.4.2</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-gitexe</artifactId>
<version>1.9</version>
</dependency>
</dependencies>
<configuration>
<localCheckout>true</localCheckout>
<pushChanges>true</pushChanges>
<tagNameFormat>@{project.artifactId}-@{project.version}</tagNameFormat>
<useReleaseProfile>false</useReleaseProfile>
<preparationGoals>clean install</preparationGoals>
<goals>deploy</goals>
<!-- The profile we want to use when doing the release -->
<arguments>-Prelease,apache-release,sourcecheck,hibernate</arguments>
<autoVersionSubmodules>true</autoVersionSubmodules>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-remote-resources-plugin</artifactId>
<executions>
<execution>
<id>process-resource-bundles</id>
<phase>disabled</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.8.1</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<version>1.2.5</version>
<executions>
<execution>
<id>default-cli</id>
<phase>process-resources</phase>
<goals>
<goal>flatten</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
<flattenedPomFilename>${project.artifactId}-${project.version}.pom</flattenedPomFilename>
<updatePomFile>true</updatePomFile>
<pomElements>
<build>keep</build>
<dependencyManagement>keep</dependencyManagement>
<description>keep</description>
<name>keep</name>
<parent>expand</parent>
<pluginManagement>keep</pluginManagement>
<profiles>remove</profiles>
<properties>keep</properties>
</pomElements>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-invoker-plugin</artifactId>
<configuration>
<skipInstallation>${invoker.skip}</skipInstallation>
<skipInvocation>${invoker.skip}</skipInvocation>
<mavenOpts>-Xmx64m -XshowSettings</mavenOpts>
<showVersion>true</showVersion>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<profiles>
<profile>
<id>assembly</id>
<activation>
<property>
<name>!noassembly</name>
</property>
</activation>
<modules>
<module>apache-camel</module>
</modules>
</profile>
<profile>
<!-- When not on the Mac, we need to add tools.jar to the antrun plugin
for schemagen to work -->
<id>not-mac</id>
<activation>
<os>
<family>!mac</family>
</os>
</activation>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<dependencies>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
<version>${jaxb-core-version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>${jaxb-impl-version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-jxc</artifactId>
<version>${jaxb-xjc-version}</version>
</dependency>
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.12.2</version>
</dependency>
<dependency>
<groupId>ant-contrib</groupId>
<artifactId>ant-contrib</artifactId>
<version>1.0b3</version>
<exclusions>
<exclusion>
<groupId>ant</groupId>
<artifactId>ant</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-trax</artifactId>
<version>1.8.0</version>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-nodeps</artifactId>
<version>1.8.1</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<profile>
<id>deploy</id>
<build>
<defaultGoal>deploy</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<source>11</source>
<doclint>none</doclint>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>source-jar</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>release</id>
<activation>
<property>
<name>release</name>
</property>
</activation>
<build>
<plugins>
<!-- We want to deploy the artifact to a staging location for perusal -->
<plugin>
<inherited>true</inherited>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<updateReleaseInfo>true</updateReleaseInfo>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<source>8</source>
<additionalOptions>${javadoc.opts}</additionalOptions>
<!-- disable Javadoc linting for buildung the release with Java 11 -->
<doclint>none</doclint>
</configuration>
</plugin>
<!-- We want to sign the artifact, the POM, and all attached artifacts -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<configuration>
<passphrase>${gpg.passphrase}</passphrase>
<useAgent>${gpg.useagent}</useAgent>
</configuration>
<executions>
<execution>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<failIfNoSpecifiedTests>false</failIfNoSpecifiedTests>
<failIfNoTests>false</failIfNoTests>
<skipITs>true</skipITs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<failIfNoSpecifiedTests>false</failIfNoSpecifiedTests>
<failIfNoTests>false</failIfNoTests>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>cleanrepo</id>
<build>
<defaultGoal>build-helper:remove-project-artifact</defaultGoal>
</build>
</profile>
<profile>
<id>license</id>
<build>
<defaultGoal>license:format</defaultGoal>
<plugins>
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>${mycila-license-version}</version>
<configuration>
<header>header.txt</header>
<excludes>
<exclude>KEYS</exclude>
<exclude>**/NOTICE</exclude>
<exclude>**/LICENSE</exclude>
<exclude>**/NOTICE.txt</exclude>
<exclude>**/LICENSE.txt</exclude>
<exclude>doap.rdf</exclude>
<exclude>**/README</exclude>
<exclude>**/*.adoc</exclude>
<exclude>**/node_modules/**</exclude>
<exclude>**/cacerts</exclude>
<exclude>**/*.p12</exclude>
<exclude>**/*.txt</exclude>
<exclude>**/*.mp3</exclude>
<exclude>**/*.mp4</exclude>
<exclude>.mvn/**</exclude>
<exclude>mvnw*</exclude>
<exclude>**/META-INF/persistence*.xsd</exclude>
</excludes>
<mapping>
<java>SLASHSTAR_STYLE</java>
<properties>CAMEL_PROPERTIES_STYLE</properties>
<spring.factories>CAMEL_PROPERTIES_STYLE</spring.factories>
<spring.provides>CAMEL_PROPERTIES_STYLE</spring.provides>
</mapping>
<headerDefinitions>
<headerDefinition>license-properties-headerdefinition.xml</headerDefinition>
</headerDefinitions>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-buildtools</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>sbom</id>
<build>
<plugins>
<plugin>
<groupId>org.cyclonedx</groupId>
<artifactId>cyclonedx-maven-plugin</artifactId>
<version>${cyclonedx-maven-plugin-version}</version>
<inherited>false</inherited>
<configuration>
<outputName>camel-sbom</outputName>
<outputDirectory>${project.basedir}/camel-sbom/</outputDirectory>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>makeAggregateBom</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>