<?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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.apache</groupId>
        <artifactId>apache</artifactId>
        <version>23</version>
    </parent>

    <groupId>org.apache.camel.kamelets</groupId>
    <artifactId>camel-kamelets-parent</artifactId>
    <packaging>pom</packaging>
    <version>0.5.0</version>
    <name>Camel Kamelets Parent</name>
    <description>Camel Kamelets Library Parent</description>

    <modules>
        <module>library/camel-kamelets</module>
        <module>library/camel-kamelets-catalog</module>
        <module>library/camel-kamelets-utils</module>
    </modules>

    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>

        <failIfNoTests>false</failIfNoTests>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven-gpg-plugin.version>3.0.1</maven-gpg-plugin.version>
        <maven-deploy-plugin.version>3.0.0-M1</maven-deploy-plugin.version>
        <maven-surefire-plugin.version>3.0.0-M4</maven-surefire-plugin.version>
        <maven-javadoc-plugin.version>3.3.0</maven-javadoc-plugin.version>
        <maven-assembly-plugin.version>3.3.0</maven-assembly-plugin.version>
        <maven-source-plugin.version>3.2.1</maven-source-plugin.version>
        <maven-checksum-maven-plugin.version>1.11</maven-checksum-maven-plugin.version>
        <maven-antrun-plugin.version>3.0.0</maven-antrun-plugin.version>
        <apache-rat-plugin.version>0.13</apache-rat-plugin.version>

        <camel.version>3.12.0</camel.version>
        <slf4j.version>1.7.30</slf4j.version>
        <log4j.version>2.13.3</log4j.version>
        <jackson.version>2.12.5</jackson.version>
        <camel.k.extension.version>5.9.0</camel.k.extension.version>
        <commons.io.version>2.11.0</commons.io.version>
        <junit.jupiter.version>5.8.1</junit.jupiter.version>
        <classgraph.version>4.8.131</classgraph.version>
    </properties>

    <developers>
        <developer>
            <name>The Apache Camel Team</name>
            <email>dev@camel.apache.org</email>
            <url>http://camel.apache.org</url>
            <organization>Apache Software Foundation</organization>
            <organizationUrl>http://apache.org/</organizationUrl>
            <properties>
                <picUrl>http://camel.apache.org/banner.data/apache-camel-7.png</picUrl>
            </properties>
        </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>

    <scm>
        <connection>scm:git:http://gitbox.apache.org/repos/asf/camel-kamelets.git</connection>
        <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/camel-kamelets.git</developerConnection>
        <url>https://gitbox.apache.org/repos/asf?p=camel-kamelets.git;a=summary</url>
        <tag>v0.5.0</tag>
    </scm>

    <issueManagement>
        <system>GitHub</system>
        <url>https://github.com/apache/camel-kamelets/issues</url>
    </issueManagement>

    <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>

    <build>
        <defaultGoal>install</defaultGoal>

        <pluginManagement>
            <plugins>

                <plugin>
                    <groupId>org.apache.rat</groupId>
                    <artifactId>apache-rat-plugin</artifactId>
                    <version>${apache-rat-plugin.version}</version>
                    <configuration>
                        <excludeSubProjects>false</excludeSubProjects>
                        <excludes>
                            <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>**/java9-maven-settings</exclude>
                            <exclude>**/*.pfx</exclude>
                            <!-- tooling json-simple parser -->
                            <exclude>**/src/main/java/org/json/simple/**</exclude>
                            <!-- tooling/camel-manual/src/styles/print.css use a different license -->
                            <exclude>**/src/styles/print.css</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>**/eip-options.mvel</exclude>
                            <exclude>**/language-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>**/spring-boot-auto-configure-options.mvel</exclude>
                            <exclude>**/camel-NOTICE.txt</exclude>
                            <exclude>**/spring-boot-starter-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>
                            <!-- 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>
                            <!-- examples -->
                            <exclude>**/fabric8/*.yaml</exclude>
                            <exclude>**/src/main/data/*.patient</exclude>
                            <exclude>**/src/main/data/*.csv</exclude>
                            <exclude>**/src/main/resources/avro/*.avsc</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>
                            <!-- Maven Wrapper -->
                            <exclude>.mvn/**/*</exclude>
                        </excludes>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${maven-surefire-plugin.version}</version>
                    <configuration>
                        <failIfNoTests>false</failIfNoTests>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>8</source>
                        <target>8</target>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>${maven-antrun-plugin.version}</version>
                <inherited>false</inherited>
                <executions>
                    <execution>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <target>
                                <ant antfile="update-kamelets.xml">
                                    <target name="update.kamelets" />
                                </ant>
                            </target>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <profiles>
        <profile>
            <id>release</id>
            <activation>
                <property>
                    <name>release</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-release-plugin</artifactId>
                        <configuration>
                            <arguments>-Papache-release -Dmaven.antrun.skip ${arguments}</arguments>
                        </configuration>
                    </plugin>
                    <!-- 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>
                        <version>${maven-deploy-plugin.version}</version>
                        <configuration>
                            <updateReleaseInfo>true</updateReleaseInfo>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <version>${maven-source-plugin.version}</version>
                        <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>
                        <version>${maven-javadoc-plugin.version}</version>
                        <executions>
                            <execution>
                                <id>attach-javadocs</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <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>
                        <version>${maven-gpg-plugin.version}</version>
                        <configuration>
                            <passphrase>${gpg.passphrase}</passphrase>
                            <useAgent>${gpg.useagent}</useAgent>
                        </configuration>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>net.nicoulaj.maven.plugins</groupId>
                        <artifactId>checksum-maven-plugin</artifactId>
                        <version>${maven-checksum-maven-plugin.version}</version>
                        <executions>
                            <execution>
                                <id>source-release-checksum</id>
                                <goals>
                                    <goal>files</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <algorithms>
                                <algorithm>SHA-512</algorithm>
                                <algorithm>SHA-256</algorithm>
                                <algorithm>SHA-1</algorithm>
                                <algorithm>MD5</algorithm>
                            </algorithms>
                            <csvSummary>false</csvSummary>
                            <fileSets>
                                <fileSet>
                                    <directory>${project.build.directory}</directory>
                                    <includes>
                                        <include>${project.artifactId}-${project.version}-sources.jar</include>
                                        <include>${project.artifactId}-${project.version}-package.tar.gz</include>
                                        <!--XXX: keep this in sync with distribution/pom.xml <finalName> tag-->
                                        <!-- include>camel-kafka-connector-${project.version}-src.zip</include-->
                                    </includes>
                                </fileSet>
                            </fileSets>
                            <failIfNoFiles>false
                            </failIfNoFiles><!-- usually, no file to do checksum: don't consider error -->
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>
