<?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>18</version>
  </parent>

  <groupId>org.apache.arrow</groupId>
  <artifactId>arrow-java-root</artifactId>
  <version>14.0.2</version>
  <packaging>pom</packaging>

  <name>Apache Arrow Java Root POM</name>
  <description>Apache Arrow is open source, in-memory columnar data structures and low-overhead messaging</description>
  <url>https://arrow.apache.org/</url>

  <properties>
    <target.gen.source.path>${project.build.directory}/generated-sources</target.gen.source.path>
    <dep.junit.platform.version>1.9.0</dep.junit.platform.version>
    <dep.junit.jupiter.version>5.9.0</dep.junit.jupiter.version>
    <dep.slf4j.version>1.7.25</dep.slf4j.version>
    <dep.guava-bom.version>31.1-jre</dep.guava-bom.version>
    <dep.netty-bom.version>4.1.96.Final</dep.netty-bom.version>
    <dep.grpc-bom.version>1.56.0</dep.grpc-bom.version>
    <dep.protobuf-bom.version>3.23.1</dep.protobuf-bom.version>
    <dep.jackson-bom.version>2.15.1</dep.jackson-bom.version>
    <dep.hadoop.version>2.7.1</dep.hadoop.version>
    <dep.fbs.version>1.12.0</dep.fbs.version>
    <dep.avro.version>1.10.0</dep.avro.version>
    <arrow.vector.classifier />
    <forkCount>2</forkCount>
    <checkstyle.failOnViolation>true</checkstyle.failOnViolation>
    <errorprone.javac.version>9+181-r4173-1</errorprone.javac.version>
    <error_prone_core.version>2.22.0</error_prone_core.version>
    <maven-compiler-plugin.version>3.10.1</maven-compiler-plugin.version>
    <mockito.core.version>5.5.0</mockito.core.version>
    <mockito.inline.version>5.2.0</mockito.inline.version>
  </properties>

  <scm>
    <connection>scm:git:https://github.com/apache/arrow.git</connection>
    <developerConnection>scm:git:https://github.com/apache/arrow.git</developerConnection>
    <url>https://github.com/apache/arrow</url>
    <tag>apache-arrow-2.0.0</tag>
  </scm>

  <mailingLists>
    <mailingList>
      <name>Developer List</name>
      <subscribe>dev-subscribe@arrow.apache.org</subscribe>
      <unsubscribe>dev-unsubscribe@arrow.apache.org</unsubscribe>
      <post>dev@arrow.apache.org</post>
      <archive>https://mail-archives.apache.org/mod_mbox/arrow-dev/</archive>
    </mailingList>
    <mailingList>
      <name>Commits List</name>
      <subscribe>commits-subscribe@arrow.apache.org</subscribe>
      <unsubscribe>commits-unsubscribe@arrow.apache.org</unsubscribe>
      <post>commits@arrow.apache.org</post>
      <archive>https://mail-archives.apache.org/mod_mbox/arrow-commits/</archive>
    </mailingList>
    <mailingList>
      <name>Issues List</name>
      <subscribe>issues-subscribe@arrow.apache.org</subscribe>
      <unsubscribe>issues-unsubscribe@arrow.apache.org</unsubscribe>
      <archive>https://mail-archives.apache.org/mod_mbox/arrow-issues/</archive>
    </mailingList>
  </mailingLists>

  <repositories>

  </repositories>

  <issueManagement>
    <system>Jira</system>
    <url>https://issues.apache.org/jira/browse/arrow</url>
  </issueManagement>

  <build>
    <extensions>
      <!-- provides os.detected.classifier (i.e. linux-x86_64, osx-x86_64) property -->
      <extension>
        <groupId>kr.motd.maven</groupId>
        <artifactId>os-maven-plugin</artifactId>
        <version>1.7.0</version>
      </extension>
    </extensions>

    <plugins>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <executions>
          <execution>
            <id>rat-checks</id>
            <phase>validate</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <excludeSubProjects>false</excludeSubProjects>
          <excludes>
            <exclude>**/dependency-reduced-pom.xml</exclude>
            <exclude>**/*.log</exclude>
            <exclude>**/*.css</exclude>
            <exclude>**/*.js</exclude>
            <exclude>**/*.md</exclude>
            <exclude>**/*.eps</exclude>
            <exclude>**/*.json</exclude>
            <exclude>**/*.seq</exclude>
            <exclude>**/*.parquet</exclude>
            <exclude>**/*.sql</exclude>
            <exclude>**/arrow-git.properties</exclude>
            <exclude>**/*.csv</exclude>
            <exclude>**/*.csvh</exclude>
            <exclude>**/*.csvh-test</exclude>
            <exclude>**/*.tsv</exclude>
            <exclude>**/*.txt</exclude>
            <exclude>**/*.ssv</exclude>
            <exclude>**/arrow-*.conf</exclude>
            <exclude>**/.buildpath</exclude>
            <exclude>**/*.proto</exclude>
            <exclude>**/*.fmpp</exclude>
            <exclude>**/target/**</exclude>
            <exclude>**/*.tdd</exclude>
            <exclude>**/*.project</exclude>
            <exclude>**/TAGS</exclude>
            <exclude>**/*.checkstyle</exclude>
            <exclude>**/.classpath</exclude>
            <exclude>**/.factorypath</exclude>
            <exclude>**/.settings/**</exclude>
            <exclude>.*/**</exclude>
            <exclude>**/*.patch</exclude>
            <exclude>**/*.pb.cc</exclude>
            <exclude>**/*.pb.h</exclude>
            <exclude>**/*.linux</exclude>
            <exclude>**/client/build/**</exclude>
            <exclude>**/*.tbl</exclude>
            <exclude>**/*.iml</exclude>
            <exclude>**/flight.properties</exclude>
            <exclude>**/*.idea/**</exclude>
          </excludes>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
          <excludes>
            <exclude>**/logging.properties</exclude>
            <exclude>**/logback-test.xml</exclude>
            <exclude>**/logback.out.xml</exclude>
            <exclude>**/logback.xml</exclude>
          </excludes>
          <archive>
            <index>true</index>
            <manifest>
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
            </manifest>
            <manifestEntries>
              <Extension-Name>org.apache.arrow</Extension-Name>
              <Built-By>${username}</Built-By>
              <url>https://arrow.apache.org/</url>
            </manifestEntries>
          </archive>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>test-jar</goal>
            </goals>
            <configuration>
              <skipIfEmpty>true</skipIfEmpty>
            </configuration>
          </execution>
        </executions>
      </plugin>


      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <configuration>
          <encoding>UTF-8</encoding>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
          <maxmem>2048m</maxmem>
          <useIncrementalCompilation>false</useIncrementalCompilation>
          <fork>true</fork>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-enforcer-plugin</artifactId>
        <executions>
          <execution>
            <id>validate_java_and_maven_version</id>
            <phase>verify</phase>
            <goals>
              <goal>enforce</goal>
            </goals>
            <inherited>false</inherited>
            <configuration>
              <rules>
                <requireMavenVersion>
                  <version>[3.3.0,4)</version>
                </requireMavenVersion>
              </rules>
            </configuration>
          </execution>
          <execution>
            <id>avoid_bad_dependencies</id>
            <phase>verify</phase>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <bannedDependencies>
                  <excludes>
                    <exclude>commons-logging</exclude>
                    <exclude>javax.servlet:servlet-api</exclude>
                    <exclude>org.mortbay.jetty:servlet-api</exclude>
                    <exclude>org.mortbay.jetty:servlet-api-2.5</exclude>
                    <exclude>log4j:log4j</exclude>
                  </excludes>
                </bannedDependencies>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>pl.project13.maven</groupId>
        <artifactId>git-commit-id-plugin</artifactId>
        <version>4.0.5</version>
        <executions>
          <execution>
            <id>for-jars</id>
            <inherited>true</inherited>
            <goals>
              <goal>revision</goal>
            </goals>
            <configuration>
              <generateGitPropertiesFilename>target/classes/arrow-git.properties</generateGitPropertiesFilename>
            </configuration>
          </execution>
          <execution>
            <id>for-source-tarball</id>
            <goals>
              <goal>revision</goal>
            </goals>
            <inherited>false</inherited>
            <configuration>
              <generateGitPropertiesFilename>./arrow-git.properties</generateGitPropertiesFilename>
            </configuration>
          </execution>
        </executions>

        <configuration>
          <dateFormat>dd.MM.yyyy '@' HH:mm:ss z</dateFormat>
          <verbose>false</verbose>
          <skipPoms>false</skipPoms>
          <generateGitPropertiesFile>true</generateGitPropertiesFile>
          <failOnNoGitDirectory>false</failOnNoGitDirectory>
          <gitDescribe>
            <skip>false</skip>
            <always>false</always>
            <abbrev>7</abbrev>
            <dirty>-dirty</dirty>
            <forceLongFormat>true</forceLongFormat>
          </gitDescribe>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>3.1.0</version>
        <dependencies>
          <dependency>
            <groupId>com.puppycrawl.tools</groupId>
            <artifactId>checkstyle</artifactId>
            <version>8.19</version>
          </dependency>
          <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <version>1.7.5</version>
          </dependency>
        </dependencies>
        <executions>
          <execution>
            <id>validate</id>
            <phase>validate</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <configLocation>dev/checkstyle/checkstyle.xml</configLocation>
          <headerLocation>dev/checkstyle/checkstyle.license</headerLocation>
          <suppressionsLocation>dev/checkstyle/suppressions.xml</suppressionsLocation>
          <includeTestSourceDirectory>true</includeTestSourceDirectory>
          <encoding>UTF-8</encoding>
          <consoleOutput>true</consoleOutput>
          <failsOnError>${checkstyle.failOnViolation}</failsOnError>
          <failOnViolation>${checkstyle.failOnViolation}</failOnViolation>
          <violationSeverity>warning</violationSeverity>
          <format>xml</format>
          <format>html</format>
          <outputFile>${project.build.directory}/test/checkstyle-errors.xml</outputFile>
          <linkXRef>false</linkXRef>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>analyze</id>
            <phase>verify</phase>
            <goals>
              <goal>analyze-only</goal>
            </goals>
            <configuration>
              <ignoreNonCompile>true</ignoreNonCompile>
              <failOnWarning>true</failOnWarning>
              <ignoredDependencies>
                <!-- source annotations (not kept in compiled code) -->
                <ignoredDependency>javax.annotation:javax.annotation-api:*</ignoredDependency>
                <ignoredDependency>org.apache.hadoop:hadoop-client-api</ignoredDependency>
              </ignoredDependencies>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.cyclonedx</groupId>
        <artifactId>cyclonedx-maven-plugin</artifactId>
        <version>2.7.6</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>makeBom</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>3.0.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
          <version>0.13</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>2.6</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>${maven-compiler-plugin.version}</version>
          <configuration>
            <annotationProcessorPaths>
              <path>
                <groupId>org.immutables</groupId>
                <artifactId>value</artifactId>
                <version>2.8.2</version>
              </path>
            </annotationProcessorPaths>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-enforcer-plugin</artifactId>
          <version>3.0.0-M2</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>3.0.0-M7</version>
          <dependencies>
            <dependency>
              <groupId>org.junit.jupiter</groupId>
              <artifactId>junit-jupiter-engine</artifactId>
              <version>${dep.junit.jupiter.version}</version>
            </dependency>
            <dependency>
              <groupId>org.apache.maven.surefire</groupId>
              <artifactId>surefire-junit-platform</artifactId>
              <version>3.0.0-M7</version>
            </dependency>
          </dependencies>
          <configuration>
            <enableAssertions>true</enableAssertions>
            <childDelegation>true</childDelegation>
            <forkCount>${forkCount}</forkCount>
            <reuseForks>true</reuseForks>
            <systemPropertyVariables>
              <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
              <io.netty.tryReflectionSetAccessible>true</io.netty.tryReflectionSetAccessible>
              <user.timezone>UTC</user.timezone>
              <!-- Note: changing the below configuration might increase the max allocation size for a vector
              which in turn can cause OOM. -->
              <arrow.vector.max_allocation_bytes>1048576</arrow.vector.max_allocation_bytes>
            </systemPropertyVariables>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>3.0.0-M7</version>
          <configuration>
            <systemPropertyVariables>
              <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
              <io.netty.tryReflectionSetAccessible>true</io.netty.tryReflectionSetAccessible>
              <user.timezone>UTC</user.timezone>
            </systemPropertyVariables>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.jacoco</groupId>
          <artifactId>jacoco-maven-plugin</artifactId>
          <version>0.8.7</version>
        </plugin>

        <!--This plugin's configuration is used to store Eclipse m2e settings
          only. It has no influence on the Maven build itself. -->
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <versionRange>[1.6,)</versionRange>
                    <goals>
                      <goal>run</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <versionRange>[1.2,)</versionRange>
                    <goals>
                      <goal>enforce</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>
                      maven-remote-resources-plugin
                    </artifactId>
                    <versionRange>[1.1,)</versionRange>
                    <goals>
                      <goal>process</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.rat</groupId>
                    <artifactId>apache-rat-plugin</artifactId>
                    <versionRange>[0.10,)</versionRange>
                    <goals>
                      <goal>check</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <versionRange>[0,)</versionRange>
                    <goals>
                      <goal>check</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.google.flatbuffers</groupId>
        <artifactId>flatbuffers-java</artifactId>
        <version>${dep.fbs.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.code.findbugs</groupId>
        <artifactId>jsr305</artifactId>
        <version>3.0.2</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${dep.slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.annotation</groupId>
        <artifactId>javax.annotation-api</artifactId>
        <version>1.3.2</version>
      </dependency>
      <dependency>
        <groupId>org.assertj</groupId>
        <artifactId>assertj-core</artifactId>
        <version>3.23.1</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.immutables</groupId>
        <artifactId>value</artifactId>
        <version>2.8.2</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest</artifactId>
        <version>2.2</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson</groupId>
        <artifactId>jackson-bom</artifactId>
        <version>${dep.jackson-bom.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava-bom</artifactId>
        <version>${dep.guava-bom.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-bom</artifactId>
        <version>${dep.netty-bom.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-bom</artifactId>
        <version>${dep.grpc-bom.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>com.google.protobuf</groupId>
        <artifactId>protobuf-bom</artifactId>
        <version>${dep.protobuf-bom.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <!-- Test Dependencies -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jul-to-slf4j</artifactId>
      <version>${dep.slf4j.version}</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jcl-over-slf4j</artifactId>
      <version>${dep.slf4j.version}</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>log4j-over-slf4j</artifactId>
      <version>${dep.slf4j.version}</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-engine</artifactId>
      <version>${dep.junit.jupiter.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-api</artifactId>
      <version>${dep.junit.jupiter.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.vintage</groupId>
      <artifactId>junit-vintage-engine</artifactId>
      <version>${dep.junit.jupiter.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-params</artifactId>
      <version>${dep.junit.jupiter.version}</version>
      <scope>test</scope>
    </dependency>
    <!-- Use to keep older tests running -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.13.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-junit-jupiter</artifactId>
      <version>2.25.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>1.2.3</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>de.huxhorn.lilith</groupId>
      <artifactId>de.huxhorn.lilith.logback.appender.multiplex-classic</artifactId>
      <version>0.9.44</version>
      <scope>test</scope>
    </dependency>

  </dependencies>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>3.0.0-M1</version>
        <reportSets>
          <reportSet><!-- by default, id = "default" -->
            <reports><!-- select non-aggregate reports -->
              <report>javadoc</report>
            </reports>
          </reportSet>
          <reportSet><!-- aggregate reportSet, to define in poms having modules -->
            <id>aggregate</id>
            <inherited>false</inherited><!-- don't run aggregate in child modules -->
            <reports>
              <report>aggregate</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
    </plugins>
  </reporting>

  <modules>
    <module>format</module>
    <module>memory</module>
    <module>vector</module>
    <module>tools</module>
    <module>adapter/jdbc</module>
    <module>flight</module>
    <module>performance</module>
    <module>algorithm</module>
    <module>adapter/avro</module>
    <module>compression</module>
  </modules>

  <profiles>
    <profile>
      <id>java-nodoclint</id>
      <activation>
        <jdk>[1.8,)</jdk>
      </activation>
      <properties>
        <doclint>none</doclint>
        <additionalparam>-Xdoclint:none</additionalparam>
      </properties>
    </profile>

    <profile>
      <!-- C data interface depends on building a native library -->
      <id>arrow-c-data</id>
      <modules>
        <module>c</module>
      </modules>
    </profile>

    <profile>
      <!-- orc java depends on arrow cpp, and arrow cpp isn't enabled by default yet -->
      <id>arrow-jni</id>
      <modules>
        <!-- these have dependency on cpp -->
        <module>adapter/orc</module>
        <module>gandiva</module>
        <module>dataset</module>
        <module>c</module>
      </modules>
    </profile>

    <profile>
      <!-- Use the version of arrow-vector that shades flatbuffers and packages format -->
      <id>shade-flatbuffers</id>
      <properties>
        <arrow.vector.classifier>shade-format-flatbuffers</arrow.vector.classifier>
      </properties>
    </profile>

    <profile>
      <id>error-prone-jdk8</id>
      <!--
           Do not activate Error Prone while running with Eclipse/M2E as it causes incompatibilities
           with other annotation processors.
           See https://github.com/jbosstools/m2e-apt/issues/62 for details
      -->
      <activation>
        <jdk>1.8</jdk>
        <property>
          <name>!m2e.version</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
              <fork>true</fork>
              <compilerArgs combine.children="append">
                <arg>-XDcompilePolicy=simple</arg>
                <arg>-Xplugin:ErrorProne</arg>
                <arg>-J-Xbootclasspath/p:${settings.localRepository}/com/google/errorprone/javac/${errorprone.javac.version}/javac-${errorprone.javac.version}.jar</arg>
              </compilerArgs>
              <annotationProcessorPaths combine.children="append">
                <path>
                  <groupId>com.google.errorprone</groupId>
                  <artifactId>error_prone_core</artifactId>
                  <version>2.4.0</version>
                </path>
              </annotationProcessorPaths>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>error-prone-jdk11+</id>
      <activation>
        <jdk>[11,]</jdk>
        <property>
          <name>!m2e.version</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
              <source>8</source>
              <target>8</target>
              <encoding>UTF-8</encoding>
              <compilerArgs combine.children="append">
                <arg>-XDcompilePolicy=simple</arg>
                <arg>-Xplugin:ErrorProne -XepExcludedPaths:.*/(target/generated-sources)/.*</arg>
                <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
                <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
                <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
                <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg>
                <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
                <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
                <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
                <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
                <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
                <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
              </compilerArgs>
              <annotationProcessorPaths combine.children="append">
                <path>
                  <groupId>com.google.errorprone</groupId>
                  <artifactId>error_prone_core</artifactId>
                  <version>${error_prone_core.version}</version>
                </path>
              </annotationProcessorPaths>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
              <argLine>--add-opens=java.base/java.nio=ALL-UNNAMED</argLine>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>code-coverage</id>
      <!--
        Use `mvn -Pcode-coverage install site` to capture and generate the code coverage report
        Alternatively, if you do not want to generate the full set of reports, use:
        `mvn -Pcode-coverage install org.jacoco:jacoco-maven-plugin:report org.jacoco:jacoco-maven-plugin:report-integration`

        Add `-Pintegration-tests` to the previous commandline to also capture integration tests coverage
      -->
      <build>
        <plugins>
          <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>default-prepare-agent</id>
                <goals>
                  <goal>prepare-agent</goal>
                </goals>
              </execution>
              <execution>
                <id>default-prepare-agent-integration</id>
                <goals>
                  <goal>prepare-agent-integration</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      <reporting>
        <plugins>
          <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.8.7</version>
            <reportSets>
              <reportSet>
                <inherited>false</inherited><!-- don't run aggregate in child modules -->
                <reports>
                  <!-- select non-aggregate reports -->
                  <report>report</report>
                </reports>
              </reportSet>
            </reportSets>
          </plugin>
        </plugins>
      </reporting>
    </profile>

    <profile>
      <id>windows</id>
      <activation>
        <jdk>[17,]</jdk>
        <os>
          <family>windows</family>
        </os>
      </activation>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
              <reuseForks>false</reuseForks>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>generate-libs-cdata-all-os</id>
      <properties>
        <arrow.c.jni.dist.dir>java-dist</arrow.c.jni.dist.dir>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>3.1.0</version>
            <executions>
              <execution>
                <id>cdata-cmake</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
                <configuration>
                  <executable>cmake</executable>
                  <commandlineArgs>
                    -S java
                    -B java-jni
                    -DARROW_JAVA_JNI_ENABLE_C=ON
                    -DARROW_JAVA_JNI_ENABLE_DEFAULT=OFF
                    -DBUILD_TESTING=OFF
                    -DCMAKE_BUILD_TYPE=Release
                    -DCMAKE_INSTALL_LIBDIR=lib/${os.detected.arch}
                    -DCMAKE_INSTALL_PREFIX=${arrow.c.jni.dist.dir}
                  </commandlineArgs>
                  <workingDirectory>../</workingDirectory>
                </configuration>
              </execution>
              <execution>
                <id>cdata-build</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
                <configuration>
                  <executable>cmake</executable>
                  <commandlineArgs>
                    --build java-jni --target install --config Release
                  </commandlineArgs>
                  <workingDirectory>../</workingDirectory>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>generate-libs-jni-macos-linux</id>
      <properties>
        <arrow.dataset.jni.dist.dir>java-dist</arrow.dataset.jni.dist.dir>
        <cpp.dependencies.builded>false</cpp.dependencies.builded>
        <ARROW_DATASET>ON</ARROW_DATASET>
        <ARROW_GANDIVA>ON</ARROW_GANDIVA>
        <ARROW_ORC>ON</ARROW_ORC>
        <ARROW_PARQUET>ON</ARROW_PARQUET>
        <ARROW_JAVA_JNI_ENABLE_C>OFF</ARROW_JAVA_JNI_ENABLE_C>
        <ARROW_JAVA_JNI_ENABLE_DATASET>ON</ARROW_JAVA_JNI_ENABLE_DATASET>
        <ARROW_JAVA_JNI_ENABLE_GANDIVA>ON</ARROW_JAVA_JNI_ENABLE_GANDIVA>
        <ARROW_JAVA_JNI_ENABLE_ORC>ON</ARROW_JAVA_JNI_ENABLE_ORC>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>3.1.0</version>
            <executions>
              <execution>
                <id>jni-cpp-cmake</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
                <configuration>
                  <executable>cmake</executable>
                  <commandlineArgs>
                    -S cpp
                    -B cpp-jni
                    -DARROW_BUILD_SHARED=OFF
                    -DARROW_CSV=${ARROW_DATASET}
                    -DARROW_DATASET=${ARROW_DATASET}
                    -DARROW_DEPENDENCY_SOURCE=BUNDLED
                    -DARROW_DEPENDENCY_USE_SHARED=OFF
                    -DARROW_FILESYSTEM=ON
                    -DARROW_GANDIVA=${ARROW_GANDIVA}
                    -DARROW_GANDIVA_STATIC_LIBSTDCPP=ON
                    -DARROW_JSON=${ARROW_DATASET}
                    -DARROW_ORC=${ARROW_ORC}
                    -DARROW_PARQUET=${ARROW_PARQUET}
                    -DARROW_S3=ON
                    -DARROW_SUBSTRAIT=${ARROW_DATASET}
                    -DARROW_USE_CCACHE=ON
                    -DCMAKE_BUILD_TYPE=Release
                    -DCMAKE_INSTALL_LIBDIR=lib/${os.detected.arch}
                    -DCMAKE_INSTALL_PREFIX=java-dist
                    -DCMAKE_UNITY_BUILD=ON
                  </commandlineArgs>
                  <workingDirectory>../</workingDirectory>
                  <skip>${cpp.dependencies.builded}</skip>
                </configuration>
              </execution>
              <execution>
                <id>jni-cpp-build</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
                <configuration>
                  <executable>cmake</executable>
                  <commandlineArgs>
                    --build cpp-jni --target install --config Release
                  </commandlineArgs>
                  <workingDirectory>../</workingDirectory>
                  <skip>${cpp.dependencies.builded}</skip>
                </configuration>
              </execution>
              <execution>
                <id>jni-cmake</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
                <configuration>
                  <executable>cmake</executable>
                  <commandlineArgs>
                    -S java
                    -B java-jni
                    -DARROW_JAVA_JNI_ENABLE_C=${ARROW_JAVA_JNI_ENABLE_C}
                    -DARROW_JAVA_JNI_ENABLE_DATASET=${ARROW_JAVA_JNI_ENABLE_DATASET}
                    -DARROW_JAVA_JNI_ENABLE_GANDIVA=${ARROW_JAVA_JNI_ENABLE_GANDIVA}
                    -DARROW_JAVA_JNI_ENABLE_ORC=${ARROW_JAVA_JNI_ENABLE_ORC}
                    -DARROW_JAVA_JNI_ENABLE_DEFAULT=ON
                    -DBUILD_TESTING=OFF
                    -DCMAKE_BUILD_TYPE=Release
                    -DCMAKE_INSTALL_LIBDIR=lib/${os.detected.arch}
                    -DCMAKE_INSTALL_PREFIX=${arrow.dataset.jni.dist.dir}
                    -DCMAKE_PREFIX_PATH=${project.basedir}/../java-dist/lib/${os.detected.arch}/cmake
                    -DProtobuf_USE_STATIC_LIBS=ON
                    -DProtobuf_ROOT=${project.basedir}/../cpp-jni/protobuf_ep-install
                  </commandlineArgs>
                  <workingDirectory>../</workingDirectory>
                </configuration>
              </execution>
              <execution>
                <id>jni-build</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
                <configuration>
                  <executable>cmake</executable>
                  <commandlineArgs>
                    --build java-jni --target install --config Release
                  </commandlineArgs>
                  <workingDirectory>../</workingDirectory>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>generate-libs-jni-windows</id>
      <properties>
        <arrow.dataset.jni.dist.dir>java-dist</arrow.dataset.jni.dist.dir>
        <cpp.dependencies.builded>false</cpp.dependencies.builded>
        <ARROW_DATASET>ON</ARROW_DATASET>
        <ARROW_GANDIVA>OFF</ARROW_GANDIVA>
        <ARROW_ORC>ON</ARROW_ORC>
        <ARROW_PARQUET>ON</ARROW_PARQUET>
        <ARROW_JAVA_JNI_ENABLE_C>OFF</ARROW_JAVA_JNI_ENABLE_C>
        <ARROW_JAVA_JNI_ENABLE_DATASET>ON</ARROW_JAVA_JNI_ENABLE_DATASET>
        <ARROW_JAVA_JNI_ENABLE_GANDIVA>OFF</ARROW_JAVA_JNI_ENABLE_GANDIVA>
        <ARROW_JAVA_JNI_ENABLE_ORC>ON</ARROW_JAVA_JNI_ENABLE_ORC>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>3.1.0</version>
            <executions>
              <execution>
                <id>jni-cpp-cmake</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
                <configuration>
                  <executable>cmake</executable>
                  <commandlineArgs>
                    -S cpp
                    -B cpp-jni
                    -DARROW_BUILD_SHARED=OFF
                    -DARROW_CSV=${ARROW_DATASET}
                    -DARROW_DATASET=${ARROW_DATASET}
                    -DARROW_DEPENDENCY_USE_SHARED=OFF
                    -DARROW_FILESYSTEM=ON
                    -DARROW_GANDIVA=${ARROW_GANDIVA}
                    -DARROW_JSON=${ARROW_DATASET}
                    -DARROW_ORC=${ARROW_ORC}
                    -DARROW_PARQUET=${ARROW_PARQUET}
                    -DARROW_S3=ON
                    -DARROW_SUBSTRAIT=${ARROW_DATASET}
                    -DARROW_USE_CCACHE=ON
                    -DARROW_WITH_BROTLI=ON
                    -DARROW_WITH_LZ4=ON
                    -DARROW_WITH_SNAPPY=ON
                    -DARROW_WITH_ZLIB=ON
                    -DARROW_WITH_ZSTD=ON
                    -DCMAKE_BUILD_TYPE=Release
                    -DCMAKE_INSTALL_LIBDIR=lib/${os.detected.arch}
                    -DCMAKE_INSTALL_PREFIX=java-dist
                    -DCMAKE_UNITY_BUILD=ON
                    -GNinja
                  </commandlineArgs>
                  <workingDirectory>../</workingDirectory>
                  <skip>${cpp.dependencies.builded}</skip>
                </configuration>
              </execution>
              <execution>
                <id>jni-cpp-build</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
                <configuration>
                  <executable>ninja</executable>
                  <commandlineArgs>
                    install
                  </commandlineArgs>
                  <workingDirectory>../cpp-jni</workingDirectory>
                  <skip>${cpp.dependencies.builded}</skip>
                </configuration>
              </execution>
              <execution>
                <id>jni-cmake</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
                <configuration>
                  <executable>cmake</executable>
                  <commandlineArgs>
                    -S java
                    -B java-jni
                    -DARROW_JAVA_JNI_ENABLE_C=${ARROW_JAVA_JNI_ENABLE_C}
                    -DARROW_JAVA_JNI_ENABLE_DATASET=${ARROW_JAVA_JNI_ENABLE_DATASET}
                    -DARROW_JAVA_JNI_ENABLE_GANDIVA=${ARROW_JAVA_JNI_ENABLE_GANDIVA}
                    -DARROW_JAVA_JNI_ENABLE_ORC=${ARROW_JAVA_JNI_ENABLE_ORC}
                    -DARROW_JAVA_JNI_ENABLE_DEFAULT=ON
                    -DBUILD_TESTING=OFF
                    -DCMAKE_BUILD_TYPE=Release
                    -DCMAKE_INSTALL_LIBDIR=lib/${os.detected.arch}
                    -DCMAKE_INSTALL_PREFIX=${arrow.dataset.jni.dist.dir}
                    -DCMAKE_PREFIX_PATH=${project.basedir}/../java-dist/lib/${os.detected.arch}/cmake
                  </commandlineArgs>
                  <workingDirectory>../</workingDirectory>
                </configuration>
              </execution>
              <execution>
                <id>jni-build</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
                <configuration>
                  <executable>cmake</executable>
                  <commandlineArgs>
                    --build java-jni --target install --config Release
                  </commandlineArgs>
                  <workingDirectory>../</workingDirectory>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

  </profiles>

</project>
