blob: 5cfb2d9c976e4bb248f4512110b7f7cda5176df3 [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>32</version>
</parent>
<groupId>org.apache.camel</groupId>
<artifactId>camel</artifactId>
<version>4.6.0-SNAPSHOT</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>
<module>apache-camel</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>HEAD</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>
<!-- 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>
<minimalJavaBuildVersion>${jdk.version}</minimalJavaBuildVersion>
<!-- reproduceable builds: https://maven.apache.org/guides/mini/guide-reproducible-builds.html -->
<project.build.outputTimestamp>2024-02-17T17:17:18Z</project.build.outputTimestamp>
<cyclonedx-maven-plugin-version>2.8.0</cyclonedx-maven-plugin-version>
<flatten-maven-plugin-version>1.6.0</flatten-maven-plugin-version>
<gmavenplus-plugin-version>2.1.0</gmavenplus-plugin-version>
<license-maven-plugin-version>4.3</license-maven-plugin-version>
<maven-assembly-plugin-version>3.7.1</maven-assembly-plugin-version>
<maven-compiler-plugin-version>3.13.0</maven-compiler-plugin-version>
<maven-dependency-plugin-version>3.6.1</maven-dependency-plugin-version>
<maven-enforcer-plugin-version>3.4.1</maven-enforcer-plugin-version>
<maven-invoker-plugin-version>3.6.1</maven-invoker-plugin-version>
<maven-javadoc-plugin-version>3.6.3</maven-javadoc-plugin-version>
<maven-release-plugin-version>3.0.1</maven-release-plugin-version>
<maven-remote-resources-plugin-version>3.2.0</maven-remote-resources-plugin-version>
<maven-surefire-plugin-version>3.2.5</maven-surefire-plugin-version>
<versions-maven-plugin-version>2.16.2</versions-maven-plugin-version>
<camel.javadoc.offline>false</camel.javadoc.offline>
<invoker.skip>${skipTests}</invoker.skip>
</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>
</repositories>
<build>
<defaultGoal>install</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-maven-version</id>
<phase>none
</phase><!-- unbound here to speedup -Dquickly build; bound to a phase in the full profile -->
</execution>
<execution>
<id>enforce-java-version</id>
<phase>none
</phase><!-- unbound here to speedup -Dquickly build; bound to a phase in the full profile -->
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-remote-resources-plugin</artifactId>
<executions>
<execution>
<id>process-resource-bundles</id>
<phase>none
</phase><!-- unbound here to speedup -Dquickly build; bound to a phase in the full profile -->
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<executions>
<execution>
<id>default-test</id>
<phase>none
</phase><!-- unbound here to speedup -Dquickly build; bound to a phase in the full profile -->
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<executions>
<execution>
<id>attach-descriptor</id>
<phase>none</phase><!-- skip to save time -->
</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>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>${license-maven-plugin-version}</version>
<configuration>
<failIfUnknown>true</failIfUnknown>
<licenseSets>
<licenseSet>
<header>
${maven.multiModuleProjectDirectory}/buildingtools/src/main/resources/header.txt
</header>
<excludes>
<exclude>release.properties</exclude>
<exclude>**/pom.xml.tag</exclude>
<exclude>**/pom.xml.releaseBackup</exclude>
<exclude>**/*.MockMaker</exclude>
<exclude>**/*.adm</exclude>
<exclude>**/*.adoc.template</exclude>
<exclude>**/*.adoc</exclude>
<exclude>**/*.arff</exclude>
<exclude>**/*.asn1</exclude>
<exclude>**/*.avpr</exclude>
<exclude>**/*.avsc</exclude>
<exclude>**/*.bin</exclude>
<exclude>**/*.cat</exclude>
<exclude>**/*.cer</exclude>
<exclude>**/*.chtml</exclude>
<exclude>**/*.csv</exclude>
<exclude>**/*.gif</exclude>
<exclude>**/*.gpg</exclude>
<exclude>**/*.graphql*</exclude>
<exclude>**/*.ics</exclude>
<exclude>**/*.joor</exclude>
<exclude>**/*.jpeg</exclude>
<exclude>**/*.jpg</exclude>
<exclude>**/*.jslt</exclude>
<exclude>**/*.key</exclude>
<exclude>**/*.keystore</exclude>
<exclude>**/*.model</exclude>
<exclude>**/*.mp3</exclude>
<exclude>**/*.mp4</exclude>
<exclude>**/*.p12</exclude>
<exclude>**/*.params</exclude>
<exclude>**/*.parquet</exclude>
<exclude>**/*.pem</exclude>
<exclude>**/*.pfx</exclude>
<exclude>**/*.pgp</exclude>
<exclude>**/*.tm</exclude>
<exclude>**/*.truststore</exclude>
<exclude>**/*.tt</exclude>
<exclude>**/*.txt</exclude>
<exclude>**/*.webp</exclude>
<exclude>**/*.xquery</exclude>
<exclude>**/*utf16.ftl</exclude>
<exclude>**/*utf16.vm</exclude>
<exclude>**/.eslint*</exclude>
<exclude>**/.pnp*</exclude>
<exclude>**/*.jte</exclude>
<exclude>**/.yarn/**</exclude>
<exclude>**/.yarnrc.yml</exclude>
<exclude>**/CamelJBang.java</exclude>
<exclude>**/LICENSE.txt</exclude>
<exclude>**/LICENSE</exclude>
<exclude>**/META-INF/cxf/**</exclude>
<exclude>**/META-INF/groovy/**</exclude>
<exclude>**/META-INF/kotlin/**</exclude>
<exclude>**/META-INF/persistence*.xsd</exclude>
<exclude>**/MySecondBarConfigurer.java</exclude>
<exclude>**/MySecondFooConfigurer.java</exclude>
<exclude>**/NOTICE.txt</exclude>
<exclude>**/NOTICE</exclude>
<exclude>**/README</exclude>
<exclude>**/TestImpl*</exclude>
<exclude>**/archetype-resources/**</exclude>
<exclude>**/ca-openssl.cnf</exclude>
<exclude>**/cacerts</exclude>
<exclude>**/cxf.extension</exclude>
<exclude>**/dhis.conf</exclude>
<exclude>**/driver.conf</exclude>
<exclude>**/expressions.spec</exclude>
<exclude>**/git.config</exclude>
<exclude>**/id_file</exclude>
<exclude>**/id_rsa</exclude>
<exclude>**/ignite/**</exclude>
<exclude>**/it/resources/*.connectedApp</exclude>
<exclude>**/it/resources/salesforce/**</exclude>
<exclude>**/javamail.default.*</exclude>
<exclude>**/kafka*.config</exclude>
<exclude>**/known_hosts*</exclude>
<exclude>**/leveldb.dat/**</exclude>
<exclude>**/mosquitto.conf</exclude>
<exclude>**/myjaas.config</exclude>
<exclude>**/node_modules/**</exclude>
<exclude>**/salesforce/dto/generated/**</exclude>
<exclude>**/src/generated/**</exclude>
<exclude>**/src/generated/**</exclude>
<exclude>**/src/main/resources/templates/*.tmpl</exclude>
<exclude>**/src/test/resources/generated/**</exclude>
<exclude>**/test-kerb5.conf</exclude>
<exclude>**/yarn.lock</exclude>
<exclude>**/zkserver*.conf</exclude>
<exclude>**/*.wasm</exclude>
<exclude>**/*.lock</exclude>
<exclude>.mvn/**</exclude>
<exclude>.sdkmanrc</exclude>
<exclude>KEYS</exclude>
<exclude>camel-sbom/*.xml</exclude>
<exclude>doap.rdf</exclude>
<exclude>mvnw*</exclude>
</excludes>
</licenseSet>
</licenseSets>
<mapping>
<Adapter>CAMEL_PROPERTIES_STYLE</Adapter>
<conf>SCRIPT_STYLE</conf>
<Dockerfile.jvm>SCRIPT_STYLE</Dockerfile.jvm>
<Dockerfile.legacy-jar>SCRIPT_STYLE</Dockerfile.legacy-jar>
<Dockerfile.native-micro>SCRIPT_STYLE</Dockerfile.native-micro>
<Dockerfile.native>SCRIPT_STYLE</Dockerfile.native>
<Dockerfile>SCRIPT_STYLE</Dockerfile>
<Jenkinsfile>SLASHSTAR_STYLE</Jenkinsfile>
<Jenkinsfile.deploy>SLASHSTAR_STYLE</Jenkinsfile.deploy>
<Jenkinsfile.dryrun>SLASHSTAR_STYLE</Jenkinsfile.dryrun>
<atom>XML_STYLE</atom>
<bpmn>XML_STYLE</bpmn>
<camel-eclipse-pmd>XML_STYLE</camel-eclipse-pmd>
<cql>DOUBLEDASHES_STYLE</cql>
<ds>SLASHSTAR_STYLE</ds>
<gdsl>SLASHSTAR_STYLE</gdsl>
<ini>SCRIPT_STYLE</ini>
<java>SLASHSTAR_STYLE</java>
<javamail.providers>CAMEL_PROPERTIES_STYLE</javamail.providers>
<jaxb.index>CAMEL_PROPERTIES_STYLE</jaxb.index>
<jj>DOUBLESLASH_STYLE</jj>
<jsh>SLASHSTAR_STYLE</jsh>
<kts>SLASHSTAR_STYLE</kts>
<ldif>LDIF_STYLE</ldif>
<libsonnet>SLASHSTAR_STYLE</libsonnet>
<motd>SCRIPT_STYLE</motd>
<mvel>MVEL_STYLE</mvel>
<properties>CAMEL_PROPERTIES_STYLE</properties>
<proto>SLASHSTAR_STYLE</proto>
<qf.cfg>CAMEL_PROPERTIES_STYLE</qf.cfg>
<robot>SCRIPT_STYLE</robot>
<rs>DOUBLESLASH_STYLE</rs>
<sch>XML_STYLE</sch>
<spring.factories>CAMEL_PROPERTIES_STYLE</spring.factories>
<spring.handlers>CAMEL_PROPERTIES_STYLE</spring.handlers>
<spring.provides>CAMEL_PROPERTIES_STYLE</spring.provides>
<spring.schemas>CAMEL_PROPERTIES_STYLE</spring.schemas>
<sql>DOUBLEDASHES_STYLE</sql>
<thrift>JAVADOC_STYLE</thrift>
<toml>SCRIPT_STYLE</toml>
<unrealircd.conf>SLASHSTAR_STYLE</unrealircd.conf>
<vm>CAMEL_PROPERTIES_STYLE</vm>
</mapping>
<headerDefinitions>
<headerDefinition>
${maven.multiModuleProjectDirectory}/buildingtools/src/main/resources/license-properties-headerdefinition.xml
</headerDefinition>
<headerDefinition>
${maven.multiModuleProjectDirectory}/buildingtools/src/main/resources/ldif-properties-headerdefinition.xml
</headerDefinition>
</headerDefinitions>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>${maven-assembly-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>${maven-dependency-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>${maven-enforcer-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin-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-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-remote-resources-plugin</artifactId>
<version>${maven-remote-resources-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<configuration>
<excludeSubProjects>false</excludeSubProjects>
<excludes>
<exclude>**/generated/**</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>
<version>${maven-release-plugin-version}</version>
<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</arguments>
<autoVersionSubmodules>true</autoVersionSubmodules>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>${versions-maven-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<version>${flatten-maven-plugin-version}</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>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-invoker-plugin</artifactId>
<version>${maven-invoker-plugin-version}</version>
<configuration>
<skipInstallation>${invoker.skip}</skipInstallation>
<skipInvocation>${invoker.skip}</skipInvocation>
<mavenOpts>-Xmx64m -XshowSettings</mavenOpts>
<showVersion>true</showVersion>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<profiles>
<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-no-fork</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-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>release</id>
<activation>
<property>
<name>release</name>
</property>
</activation>
<properties>
<skipTests>true</skipTests>
</properties>
<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-no-fork</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>
<skipTests>true</skipTests>
</configuration>
<executions>
<execution>
<id>default-test</id>
<phase>none</phase><!-- No need to even load the plugin during releases -->
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<executions>
<execution>
<id>license-format</id>
<goals>
<goal>format</goal>
</goals>
<phase>none</phase><!-- No need to even load the plugin during releases -->
</execution>
</executions>
</plugin>
<plugin>
<groupId>net.revelc.code.formatter</groupId>
<artifactId>formatter-maven-plugin</artifactId>
<executions>
<execution>
<id>code-format</id>
<goals>
<goal>format</goal>
</goals>
<phase>none</phase><!-- No need to even load the plugin during releases -->
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.cyclonedx</groupId>
<artifactId>cyclonedx-maven-plugin</artifactId>
<version>${cyclonedx-maven-plugin-version}</version>
<inherited>false</inherited>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>makeAggregateBom</goal>
</goals>
</execution>
</executions>
<configuration>
<outputName>${project.artifactId}-${project.version}-sbom</outputName>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>cleanrepo</id>
<build>
<defaultGoal>build-helper:remove-project-artifact</defaultGoal>
</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>
<excludeArtifactId>camel-allcomponents</excludeArtifactId>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>makeAggregateBom</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>apache-snapshots</id>
<repositories>
<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>
</profile>
<profile>
<!-- The full profile contains mojos *not* essential for the quick build. -->
<!-- These are typically various source checks and code generations whose result is stored in git anyway. -->
<!-- Pass -Dquickly to skip these non-essential plugin executions. -->
<!-- -Dquickly suits primarily the situation when building from a state that passed all checks on the CI. -->
<id>full</id>
<activation>
<property>
<name>!quickly</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<executions>
<execution>
<id>license-format</id>
<goals>
<goal>format</goal>
</goals>
<phase>process-sources</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-maven-version</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>3.5.0</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<executions>
<execution>
<id>default-test</id>
<phase>test</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>