<?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 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>23</version>
  </parent>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel</artifactId>
  <version>3.8.0</version>
  <packaging>pom</packaging>
  <name>Camel</name>
  <description>Camel Root POM</description>
  <licenses>
    <license>
      <name>Apache License, Version 2.0</name>
      <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  <properties>
    <jaxb-osgi-version>2.3.3</jaxb-osgi-version>
    <jaxb-impl-version>2.3.3</jaxb-impl-version>
    <gmavenplus-plugin-version>1.11.1</gmavenplus-plugin-version>
    <camel.javadoc.offline>false</camel.javadoc.offline>
    <maven-surefire-plugin-version>3.0.0-M5</maven-surefire-plugin-version>
    <jaxb-xjc-version>2.3.3</jaxb-xjc-version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <jaxb-core-version>2.3.0</jaxb-core-version>
    <groovy-version>3.0.7</groovy-version>
    <jaxb-api-version>2.3.1</jaxb-api-version>
    <errorprone-version>2.5</errorprone-version>
    <java-diff-utils-version>4.7</java-diff-utils-version>
    <maven-compiler-plugin-version>3.8.1</maven-compiler-plugin-version>
    <site-repo-url>scpexe://people.apache.org/www/camel.apache.org/maven/</site-repo-url>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <compiler.fork>false</compiler.fork>
    <maven-javadoc-plugin-version>3.2.0</maven-javadoc-plugin-version>
    <surefire.version>${maven-surefire-plugin-version}</surefire.version>
    <formatter-maven-plugin.version>2.13.0</formatter-maven-plugin.version>
    <jdk.version>1.8</jdk.version>
    <maven-bundle-plugin-version>4.2.1</maven-bundle-plugin-version>
    <mycila-license-version>3.0</mycila-license-version>
  </properties>
  <build>
    <defaultGoal>install</defaultGoal>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>${maven-javadoc-plugin-version}</version>
        </plugin>
        <plugin>
          <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>**/java9-maven-settings</exclude>
              <exclude>**/*.pfx</exclude>
              <exclude>**/src/main/java/org/json/simple/**</exclude>
              <exclude>**/src/styles/print.css</exclude>
              <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>**/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>**/spring-boot-auto-configure-options.mvel</exclude>
              <exclude>**/camel-NOTICE.txt</exclude>
              <exclude>**/spring-boot-starter-NOTICE.txt</exclude>
              <exclude>**/src/main/resources/META-INF/cxf/cxf.extension</exclude>
              <exclude>**/src/main/resources/META-INF/cxf/bus-extensions.txt</exclude>
              <exclude>**/src/signatures/*.txt</exclude>
              <exclude>**/CometDReplayExtension.java</exclude>
              <exclude>**/LICENSE-SALESFORCE.txt</exclude>
              <exclude>**/LICENSE-ICU4J.txt</exclude>
              <exclude>**/mdnDescription.vm</exclude>
              <exclude>**/src/main/resources/*.wid</exclude>
              <exclude>**/node/**</exclude>
              <exclude>**/node_modules/**</exclude>
              <exclude>**/user-manual/**</exclude>
              <exclude>**/yarn.lock</exclude>
              <exclude>**/fabric8/*.yaml</exclude>
              <exclude>**/src/main/data/*.patient</exclude>
              <exclude>**/src/main/data/*.csv</exclude>
              <exclude>**/src/main/resources/avro/*.avsc</exclude>
              <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>.mvn/**/*</exclude>
            </excludes>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-release-plugin</artifactId>
          <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>
            <arguments>-Prelease,apache-release,enable-schemagen,sourcecheck,hibernate</arguments>
            <autoVersionSubmodules>true</autoVersionSubmodules>
          </configuration>
        </plugin>
        <plugin>
          <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>
                <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>
    <plugins>
      <plugin>
        <artifactId>maven-enforcer-plugin</artifactId>
        <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>
  </build>
</project>
