<?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>13.0.0</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.16</error_prone_core.version>
    <maven-compiler-plugin.version>3.10.1</maven-compiler-plugin.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_CSV>ON</ARROW_CSV>
        <ARROW_ORC>ON</ARROW_ORC>
        <ARROW_PARQUET>ON</ARROW_PARQUET>
        <ARROW_GANDIVA>OFF</ARROW_GANDIVA>
        <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_CSV}
                    -DARROW_DATASET=ON
                    -DARROW_DEPENDENCY_SOURCE=BUNDLED
                    -DARROW_DEPENDENCY_USE_SHARED=OFF
                    -DARROW_FILESYSTEM=ON
                    -DARROW_GANDIVA=${ARROW_GANDIVA}
                    -DARROW_GANDIVA_STATIC_LIBSTDCPP=ON
                    -DARROW_ORC=${ARROW_ORC}
                    -DARROW_PARQUET=${ARROW_PARQUET}
                    -DARROW_S3=ON
                    -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
                  </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_CSV>ON</ARROW_CSV>
        <ARROW_ORC>OFF</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>OFF</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_CSV}
                    -DARROW_DATASET=ON
                    -DARROW_DEPENDENCY_USE_SHARED=OFF
                    -DARROW_FILESYSTEM=ON
                    -DARROW_ORC=${ARROW_ORC}
                    -DARROW_PARQUET=${ARROW_PARQUET}
                    -DARROW_S3=ON
                    -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>
