<?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" child.project.url.inherit.append.path="false" 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>38</version>
  </parent>

  <groupId>org.apache.arrow</groupId>
  <artifactId>arrow-java-root</artifactId>
  <version>20.0.0-SNAPSHOT</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>

  <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://lists.apache.org/list.html?dev@arrow.apache.org</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://lists.apache.org/list.html?commits@arrow.apache.org</archive>
    </mailingList>
    <mailingList>
      <name>Issues List</name>
      <subscribe>issues-subscribe@arrow.apache.org</subscribe>
      <unsubscribe>issues-unsubscribe@arrow.apache.org</unsubscribe>
      <archive>https://lists.apache.org/list.html?issues@arrow.apache.org</archive>
    </mailingList>
    <mailingList>
      <name>GitHub List</name>
      <subscribe>github-subscribe@arrow.apache.org</subscribe>
      <unsubscribe>github-unsubscribe@arrow.apache.org</unsubscribe>
      <archive>https://lists.apache.org/list.html?github@arrow.apache.org</archive>
    </mailingList>
  </mailingLists>

  <modules>
    <module>bom</module>
    <module>format</module>
    <module>memory</module>
    <module>arrow-variant</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>

  <scm child.scm.connection.inherit.append.path="false" child.scm.developerConnection.inherit.append.path="false" child.scm.url.inherit.append.path="false">
    <connection>scm:git:https://github.com/apache/arrow-java.git</connection>
    <developerConnection>scm:git:https://github.com/apache/arrow-java.git</developerConnection>
    <tag>main</tag>
    <url>https://github.com/apache/arrow-java/tree/${project.scm.tag}</url>
  </scm>

  <issueManagement>
    <system>GitHub</system>
    <url>https://github.com/apache/arrow-java/issues</url>
  </issueManagement>

  <properties>
    <project.build.outputTimestamp>1773644827</project.build.outputTimestamp>
    <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>6.1.1</dep.junit.jupiter.version>
    <dep.slf4j.version>2.0.18</dep.slf4j.version>
    <dep.guava-bom.version>33.6.0-jre</dep.guava-bom.version>
    <dep.netty-bom.version>4.2.15.Final</dep.netty-bom.version>
    <dep.grpc-bom.version>1.82.1</dep.grpc-bom.version>
    <dep.protobuf-bom.version>4.35.1</dep.protobuf-bom.version>
    <dep.jackson-bom.version>2.22.0</dep.jackson-bom.version>
    <dep.hadoop.version>3.5.0</dep.hadoop.version>
    <dep.fbs.version>25.2.10</dep.fbs.version>
    <dep.avro.version>1.12.1</dep.avro.version>
    <dep.parquet.version>1.17.1</dep.parquet.version>
    <dep.mockito-bom.version>5.23.0</dep.mockito-bom.version>
    <arrow.vector.classifier/>
    <forkCount>2</forkCount>
    <checkstyle.version>10.23.0</checkstyle.version>
    <checkstyle.failOnViolation>true</checkstyle.failOnViolation>
    <error_prone_core.version>2.42.0</error_prone_core.version>
    <checker.framework.version>4.2.1</checker.framework.version>
    <logback.version>1.5.37</logback.version>
    <doclint>none</doclint>
    <additionalparam>-Xdoclint:none</additionalparam>
    <!-- List of add-opens arg line arguments for tests -->
    <surefire.add-opens.argLine>--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED</surefire.add-opens.argLine>
    <!-- org.apache:apache overrides -->
    <minimalJavaBuildVersion>17</minimalJavaBuildVersion>
    <maven.compiler.source>17</maven.compiler.source>
    <maven.compiler.target>17</maven.compiler.target>
    <maven.compiler.release>17</maven.compiler.release>
    <!--
      Downgrade maven-jar-plugin until https://github.com/codehaus-plexus/plexus-archiver/issues/332
      is addressed
      maven-jar-plugin 4.0.0-beta-2-SNAPSHOT upgraded to plexus-archive 4.10.2 fixing the issue.
      We have to wait new maven-jar-plugin release, and a new Apache POM release providing it
    -->
    <version.maven-jar-plugin>3.2.2</version.maven-jar-plugin>
  </properties>

  <dependencyManagement>
    <dependencies>
      <!-- Utilize the bill of materials in sub-modules -->
      <dependency>
        <groupId>org.apache.arrow</groupId>
        <artifactId>arrow-bom</artifactId>
        <version>${project.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.checkerframework</groupId>
        <artifactId>checker-qual</artifactId>
        <version>${checker.framework.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.google.flatbuffers</groupId>
        <artifactId>flatbuffers-java</artifactId>
        <version>${dep.fbs.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.errorprone</groupId>
        <artifactId>error_prone_annotations</artifactId>
        <version>${error_prone_core.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${dep.slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-jdk14</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.27.7</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.immutables</groupId>
        <artifactId>value-annotations</artifactId>
        <version>2.12.2</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest</artifactId>
        <version>3.0</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>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-bom</artifactId>
        <version>${dep.mockito-bom.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>${logback.version}</version>
      </dependency>
      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-core</artifactId>
        <version>${logback.version}</version>
      </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.jupiter</groupId>
      <artifactId>junit-jupiter-params</artifactId>
      <version>${dep.junit.jupiter.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>${logback.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>de.huxhorn.lilith</groupId>
      <artifactId>de.huxhorn.lilith.logback.appender.multiplex-classic</artifactId>
      <version>8.3.0</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <configuration>
            <fork>true</fork>
            <useModulePath>false</useModulePath>
            <annotationProcessorPaths>
              <path>
                <groupId>org.immutables</groupId>
                <artifactId>value</artifactId>
                <version>2.12.2</version>
              </path>
            </annotationProcessorPaths>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <configuration>
            <argLine>${surefire.add-opens.argLine}</argLine>
            <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. Using 2MB - 1byte to simulate the defaul limit of 2^31 - 1 bytes. -->
              <arrow.vector.max_allocation_bytes>2097151</arrow.vector.max_allocation_bytes>
            </systemPropertyVariables>
            <useModulePath>false</useModulePath>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-failsafe-plugin</artifactId>
          <configuration>
            <argLine>${surefire.add-opens.argLine}</argLine>
            <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.15</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.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <versionRange>[0,)</versionRange>
                    <goals>
                      <goal>check</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore/>
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.drill.tools</groupId>
                    <artifactId>drill-fmpp-maven-plugin</artifactId>
                    <versionRange>[1.0,)</versionRange>
                    <goals>
                      <goal>generate</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute>
                      <runOnIncremental>false</runOnIncremental>
                      <runOnConfiguration>true</runOnConfiguration>
                    </execute>
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <configuration>
            <sourceFileExcludes>
              <sourceFileExclude>**/module-info.java</sourceFileExclude>
            </sourceFileExcludes>
            <skippedModules>arrow-memory-netty-buffer-patch,arrow-memory-netty,flight-sql-jdbc-core,flight-integration-tests,arrow-performance</skippedModules>
          </configuration>
        </plugin>
        <plugin>
          <groupId>com.gradle</groupId>
          <artifactId>develocity-maven-extension</artifactId>
          <configuration>
            <develocity>
              <normalization>
                <runtimeClassPath>
                  <ignoredFiles>
                    <ignoredFile>arrow-git.properties</ignoredFile>
                    <ignoredFile>properties/flight.properties</ignoredFile>
                  </ignoredFiles>
                </runtimeClassPath>
              </normalization>
              <plugins>
                <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-surefire-plugin</artifactId>
                  <inputs>
                    <fileSets>
                      <fileSet>
                        <name>testingData</name>
                        <paths>
                          <path>${arrow.test.dataRoot}</path>
                        </paths>
                      </fileSet>
                    </fileSets>
                  </inputs>
                </plugin>
              </plugins>
            </develocity>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.xolstice.maven.plugins</groupId>
          <artifactId>protobuf-maven-plugin</artifactId>
          <version>0.6.1</version>
          <configuration>
            <protocArtifact>com.google.protobuf:protoc:${dep.protobuf-bom.version}:exe:${os.detected.classifier}</protocArtifact>
            <pluginId>grpc-java</pluginId>
            <pluginArtifact>io.grpc:protoc-gen-grpc-java:${dep.grpc-bom.version}:exe:${os.detected.classifier}</pluginArtifact>
            <pluginParameter>@generated=omit</pluginParameter>
          </configuration>
        </plugin>
        <plugin>
          <groupId>com.diffplug.spotless</groupId>
          <artifactId>spotless-maven-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>3.6.1</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>properties-maven-plugin</artifactId>
          <version>1.3.0</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>exec-maven-plugin</artifactId>
          <version>3.6.3</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>versions-maven-plugin</artifactId>
          <version>2.21.0</version>
        </plugin>
        <plugin>
          <groupId>pl.project13.maven</groupId>
          <artifactId>git-commit-id-plugin</artifactId>
          <version>4.9.10</version>
        </plugin>
        <plugin>
          <groupId>org.cyclonedx</groupId>
          <artifactId>cyclonedx-maven-plugin</artifactId>
          <version>2.9.2</version>
        </plugin>
        <plugin>
          <groupId>org.apache.drill.tools</groupId>
          <artifactId>drill-fmpp-maven-plugin</artifactId>
          <version>1.22.0</version>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <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>
            <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-compiler-plugin</artifactId>
        <configuration>
          <maxmem>2048m</maxmem>
          <fork>true</fork>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-enforcer-plugin</artifactId>
        <executions>
          <execution>
            <id>avoid_bad_dependencies</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <phase>verify</phase>
            <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>
                    <!-- Do not include annotation processors. Use the annotations-only artifacts -->
                    <exclude>org.immutables:value</exclude>
                    <exclude>org.checkerframework:checker</exclude>
                    <!-- Exclude all JUnit 4 dependencies -->
                    <exclude>junit:junit:4.*</exclude>
                    <exclude>org.junit.vintage:junit-vintage-engine</exclude>
                  </excludes>
                </bannedDependencies>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>pl.project13.maven</groupId>
        <artifactId>git-commit-id-plugin</artifactId>
        <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>
        <executions>
          <execution>
            <id>for-jars</id>
            <goals>
              <goal>revision</goal>
            </goals>
            <inherited>true</inherited>
            <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>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <configuration>
          <excludes>**/module-info.java</excludes>
          <configLocation>dev/checkstyle/checkstyle.xml</configLocation>
          <headerLocation>dev/license/asf-java.license</headerLocation>
          <suppressionsLocation>dev/checkstyle/suppressions.xml</suppressionsLocation>
          <includeTestSourceDirectory>true</includeTestSourceDirectory>
          <inputEncoding>UTF-8</inputEncoding>
          <consoleOutput>true</consoleOutput>
          <failsOnError>${checkstyle.failOnViolation}</failsOnError>
          <failOnViolation>${checkstyle.failOnViolation}</failOnViolation>
          <violationSeverity>warning</violationSeverity>
          <outputFileFormat>xml</outputFileFormat>
          <outputFile>${project.build.directory}/test/checkstyle-errors.xml</outputFile>
          <linkXRef>false</linkXRef>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>com.puppycrawl.tools</groupId>
            <artifactId>checkstyle</artifactId>
            <version>${checkstyle.version}</version>
          </dependency>
          <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <version>${dep.slf4j.version}</version>
          </dependency>
        </dependencies>
        <executions>
          <execution>
            <id>validate</id>
            <goals>
              <goal>check</goal>
            </goals>
            <phase>validate</phase>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>analyze</id>
            <goals>
              <goal>analyze-only</goal>
            </goals>
            <phase>verify</phase>
            <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>
        <executions>
          <execution>
            <goals>
              <goal>makeBom</goal>
            </goals>
            <phase>package</phase>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>com.diffplug.spotless</groupId>
        <artifactId>spotless-maven-plugin</artifactId>
        <configuration>
          <pom>
            <licenseHeader>
              <file>${maven.multiModuleProjectDirectory}/dev/license/asf-xml.license</file>
              <delimiter>(&lt;configuration|&lt;project)</delimiter>
            </licenseHeader>
            <sortPom/>
          </pom>
          <java>
            <googleJavaFormat>
              <version>1.17.0</version>
              <style>GOOGLE</style>
            </googleJavaFormat>
            <licenseHeader>
              <file>${maven.multiModuleProjectDirectory}/dev/license/asf-java.license</file>
              <delimiter>package</delimiter>
            </licenseHeader>
            <excludes>
              <exclude>**/Preconditions.java</exclude>
              <exclude>**/IntObjectMap.java</exclude>
              <exclude>**/IntObjectHashMap.java</exclude>
            </excludes>
          </java>
        </configuration>
        <executions>
          <execution>
            <id>spotless-check</id>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
    <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.1</version>
      </extension>
    </extensions>
  </build>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <configuration>
          <sourceFileExcludes>
            <sourceFileExclude>**/module-info.java</sourceFileExclude>
          </sourceFileExcludes>
          <skippedModules>arrow-memory-netty-buffer-patch,arrow-memory-netty,flight-sql-jdbc-core,flight-integration-tests,arrow-performance</skippedModules>
        </configuration>
        <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>
            <!-- don't run aggregate in child modules -->
            <reports>
              <report>aggregate</report>
            </reports>
            <inherited>false</inherited>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
      </plugin>
    </plugins>
  </reporting>

  <profiles>
    <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>
      <!--
           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
      -->
      <id>error-prone</id>
      <activation>
        <jdk>[17,)</jdk>
        <property>
          <name>!m2e.version</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
              <compilerArgs combine.children="append">
                <arg>-XDcompilePolicy=simple</arg>
                <arg>-Xplugin:ErrorProne -XepExcludedPaths:.*/(target/generated-source|format/src/main/java/org/apache/arrow/flatbuf)/.*</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>
                <arg>--should-stop=ifError=FLOW</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>
        </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>
            <reportSets>
              <reportSet>
                <!-- don't run aggregate in child modules -->
                <reports>
                  <!-- select non-aggregate reports -->
                  <report>report</report>
                </reports>
                <inherited>false</inherited>
              </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>
            <executions>
              <execution>
                <id>cdata-cmake</id>
                <goals>
                  <goal>exec</goal>
                </goals>
                <phase>generate-resources</phase>
                <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_PREFIX=${arrow.c.jni.dist.dir}</commandlineArgs>
                  <workingDirectory>../</workingDirectory>
                </configuration>
              </execution>
              <execution>
                <id>cdata-build</id>
                <goals>
                  <goal>exec</goal>
                </goals>
                <phase>generate-resources</phase>
                <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>
            <executions>
              <execution>
                <id>jni-cpp-cmake</id>
                <goals>
                  <goal>exec</goal>
                </goals>
                <phase>generate-resources</phase>
                <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_PREFIX=java-dist
                    -DCMAKE_UNITY_BUILD=ON</commandlineArgs>
                  <workingDirectory>../</workingDirectory>
                  <skip>${cpp.dependencies.builded}</skip>
                </configuration>
              </execution>
              <execution>
                <id>jni-cpp-build</id>
                <goals>
                  <goal>exec</goal>
                </goals>
                <phase>generate-resources</phase>
                <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>
                <goals>
                  <goal>exec</goal>
                </goals>
                <phase>generate-resources</phase>
                <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_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>
                <goals>
                  <goal>exec</goal>
                </goals>
                <phase>generate-resources</phase>
                <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>
            <executions>
              <execution>
                <id>jni-cpp-cmake</id>
                <goals>
                  <goal>exec</goal>
                </goals>
                <phase>generate-resources</phase>
                <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_PREFIX=java-dist
                    -DCMAKE_UNITY_BUILD=ON
                    -GNinja</commandlineArgs>
                  <workingDirectory>../</workingDirectory>
                  <skip>${cpp.dependencies.builded}</skip>
                </configuration>
              </execution>
              <execution>
                <id>jni-cpp-build</id>
                <goals>
                  <goal>exec</goal>
                </goals>
                <phase>generate-resources</phase>
                <configuration>
                  <executable>ninja</executable>
                  <commandlineArgs>install</commandlineArgs>
                  <workingDirectory>../cpp-jni</workingDirectory>
                  <skip>${cpp.dependencies.builded}</skip>
                </configuration>
              </execution>
              <execution>
                <id>jni-cmake</id>
                <goals>
                  <goal>exec</goal>
                </goals>
                <phase>generate-resources</phase>
                <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_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>
                <goals>
                  <goal>exec</goal>
                </goals>
                <phase>generate-resources</phase>
                <configuration>
                  <executable>cmake</executable>
                  <commandlineArgs>--build java-jni --target install --config Release</commandlineArgs>
                  <workingDirectory>../</workingDirectory>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <!-- Cross java version test profiles -->
    <profile>
      <id>cross-jdk-testing</id>
      <activation>
        <property>
          <name>arrow.test.jdk-version</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-enforcer-plugin</artifactId>
            <executions>
              <execution>
                <id>check-jdk-version-property</id>
                <goals>
                  <goal>enforce</goal>
                </goals>
                <phase>validate</phase>
                <configuration>
                  <rules>
                    <requireProperty>
                      <property>arrow.test.jdk-version</property>
                      <message>"JDK version used for test must be specified."</message>
                      <regex>^\d{2,}</regex>
                      <regexMessage>"JDK version used for test must be 17, 21, ..."</regexMessage>
                    </requireProperty>
                  </rules>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
              <jdkToolchain>
                <version>${arrow.test.jdk-version}</version>
              </jdkToolchain>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <configuration>
              <jdkToolchain>
                <version>${arrow.test.jdk-version}</version>
              </jdkToolchain>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
