| <?xml version="1.0"?> |
| <!-- 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> |
| <!-- |
| Note: Do not inherit from the Arrow parent POM as plugins can be referenced |
| during the parent POM, introducing circular dependencies. |
| --> |
| <groupId>org.apache.arrow.maven.plugins</groupId> |
| <artifactId>arrow-maven-plugins</artifactId> |
| <version>16.1.0</version> |
| <name>Arrow Maven Plugins</name> |
| <packaging>pom</packaging> |
| |
| <modules> |
| <module>module-info-compiler-maven-plugin</module> |
| </modules> |
| |
| <properties> |
| <checkstyle.failOnViolation>true</checkstyle.failOnViolation> |
| </properties> |
| |
| <build> |
| <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> |
| <encoding>UTF-8</encoding> |
| <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.29</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>jcl-over-slf4j</artifactId> |
| <version>2.0.11</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> |
| <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> |
| </plugin> |
| <plugin> |
| <groupId>org.cyclonedx</groupId> |
| <artifactId>cyclonedx-maven-plugin</artifactId> |
| <version>2.7.11</version> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>makeBom</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- |
| Generate custom Arrow Java Maven Plugin for module-info.java compiler. |
| Needed to pass GitHub CI validation `$ mvn assembly:single` |
| --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>single</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <descriptorRefs> |
| <descriptorRef>src</descriptorRef> |
| </descriptorRefs> |
| </configuration> |
| </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> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-project-info-reports-plugin</artifactId> |
| <version>3.5.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-site-plugin</artifactId> |
| <version>3.12.1</version> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| |
| <reporting> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-project-info-reports-plugin</artifactId> |
| <version>3.5.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-site-plugin</artifactId> |
| <version>3.12.1</version> |
| </plugin> |
| </plugins> |
| </reporting> |
| </project> |