| <?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>21</version> |
| </parent> |
| <groupId>org.apache.calcite.avatica</groupId> |
| <artifactId>avatica-parent</artifactId> |
| <packaging>pom</packaging> |
| <version>1.15.0-SNAPSHOT</version> |
| <name>Apache Calcite Avatica Project</name> |
| <description>Avatica is a JDBC driver framework which is a part of Apache Calcite</description> |
| <url>https://calcite.apache.org/avatica</url> |
| <inceptionYear>2012</inceptionYear> |
| <organization> |
| <name>The Apache Software Foundation</name> |
| <url>https://www.apache.org</url> |
| </organization> |
| <licenses> |
| <license> |
| <name>Apache License, Version 2.0</name> |
| <url>https://www.apache.org/licenses/LICENSE-2.0</url> |
| </license> |
| </licenses> |
| <mailingLists> |
| <mailingList> |
| <name>Apache Calcite developers list</name> |
| <subscribe>dev-subscribe@calcite.apache.org</subscribe> |
| <unsubscribe>dev-unsubscribe@calcite.apache.org</unsubscribe> |
| <post>dev@calcite.apache.org</post> |
| <archive>https://lists.apache.org/list.html?dev@calcite.apache.org</archive> |
| </mailingList> |
| </mailingLists> |
| <properties> |
| <!-- Ensure that source and target version are overridden from base ASF POM. |
| This is also used by forbiddenapis to ensure correct signatures are loaded. --> |
| <maven.compiler.source>8</maven.compiler.source> |
| <maven.compiler.target>8</maven.compiler.target> |
| |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <top.dir>${project.basedir}</top.dir> |
| <avatica.release.version>${project.version}</avatica.release.version> |
| <version.major>1</version.major> |
| <version.minor>15</version.minor> |
| |
| <!-- This list is in alphabetical order. --> |
| <apache-rat-plugin.version>0.13</apache-rat-plugin.version> |
| <asm.version>7.1</asm.version> |
| <bouncycastle.version>1.60</bouncycastle.version> |
| <build-helper-maven-plugin.version>3.0.0</build-helper-maven-plugin.version> |
| <!-- Needed for JDK 10 javadoc for [LANG-1365] --> |
| <commons-lang3.version>3.8.1</commons-lang3.version> |
| <docker-maven-plugin.version>1.2.0</docker-maven-plugin.version> |
| <dropwizard-metrics.version>4.0.5</dropwizard-metrics.version> |
| <forbiddenapis.version>2.6</forbiddenapis.version> |
| <error_prone_core.version>2.3.3</error_prone_core.version> |
| <!-- We support guava versions as old as 14.0.1 (the version used by Hive) |
| but prefer more recent versions. --> |
| <guava.version>14.0.1</guava.version> |
| <h2.version>1.4.197</h2.version> |
| <hamcrest.version>1.3</hamcrest.version> |
| <hsqldb.version>2.4.1</hsqldb.version> |
| <httpclient.version>4.5.6</httpclient.version> |
| <httpcore.version>4.4.10</httpcore.version> |
| <hydromatic-toolbox.version>0.3</hydromatic-toolbox.version> |
| <jackson.version>2.9.8</jackson.version> |
| <!-- Default to html4 for JDK 8 but html5 on jdk9+ --> |
| <javadoc-additionalOptions /> |
| <javadoc-link>https://docs.oracle.com/javase/8/docs/api/</javadoc-link> |
| <jcip-annotations.version>1.0-1</jcip-annotations.version> |
| <jcommander.version>1.72</jcommander.version> |
| <jetty.version>9.4.15.v20190215</jetty.version> |
| <junit.version>4.12</junit.version> |
| <kerby.version>1.1.1</kerby.version> |
| <maven-assembly-plugin.version>3.1.1</maven-assembly-plugin.version> |
| <maven-checkstyle-plugin.version>3.0.0</maven-checkstyle-plugin.version> |
| <maven-compiler-plugin.version>3.8.0</maven-compiler-plugin.version> |
| <maven-enforcer-plugin.version>3.0.0-M2</maven-enforcer-plugin.version> |
| <maven-scm-api.version>1.10.0</maven-scm-api.version> |
| <maven-scm-provider.version>1.10.0</maven-scm-provider.version> |
| <!-- ASF 21 provides 3.1.1 but need 3.2.0 due to MSHADE-289 --> |
| <maven-shade-plugin.version>3.2.1</maven-shade-plugin.version> |
| <mockito.version>2.23.4</mockito.version> |
| <os-maven-plugin.version>1.6.1</os-maven-plugin.version> |
| <owasp-dependency-check.version>4.0.2</owasp-dependency-check.version> |
| <protobuf.version>3.6.1</protobuf.version> |
| <protobuf-maven-plugin.version>0.6.1</protobuf-maven-plugin.version> |
| <scott-data-hsqldb.version>0.1</scott-data-hsqldb.version> |
| <servlet.version>4.0.1</servlet.version> |
| <slf4j.version>1.7.25</slf4j.version> |
| <spotbugs.version>3.1.11</spotbugs.version> |
| <spotbugs-maven-plugin.version>3.1.10</spotbugs-maven-plugin.version> |
| </properties> |
| <issueManagement> |
| <system>Jira</system> |
| <url>https://issues.apache.org/jira/browse/CALCITE</url> |
| </issueManagement> |
| <ciManagement> |
| <system>Apache Jenkins</system> |
| <url>https://builds.apache.org/job/Calcite-Avatica-Master/</url> |
| </ciManagement> |
| <scm> |
| <connection>scm:git:https://gitbox.apache.org/repos/asf/calcite-avatica.git</connection> |
| <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/calcite-avatica.git</developerConnection> |
| <url>https://github.com/apache/calcite-avatica</url> |
| <tag>HEAD</tag> |
| </scm> |
| <modules> |
| <module>core</module> |
| <module>docker</module> |
| <module>metrics</module> |
| <module>metrics-dropwizardmetrics</module> |
| <module>noop-driver</module> |
| <module>server</module> |
| <module>tck</module> |
| <module>standalone-server</module> |
| <module>shaded/core</module> |
| </modules> |
| <!-- No dependencies here. Declare dependency VERSIONS in |
| dependencyManagement, below, and each dependency in the module that uses |
| it. --> |
| <dependencies /> |
| <dependencyManagement> |
| <dependencies> |
| <!-- Sorted by groupId, artifactId; avatica dependencies first. --> |
| <dependency> |
| <groupId>org.apache.calcite.avatica</groupId> |
| <artifactId>avatica</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.calcite.avatica</groupId> |
| <artifactId>avatica-core</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.calcite.avatica</groupId> |
| <artifactId>avatica-metrics</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.calcite.avatica</groupId> |
| <artifactId>avatica-noop-driver</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.calcite.avatica</groupId> |
| <artifactId>avatica-tck</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.calcite.avatica</groupId> |
| <artifactId>avatica-server</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.calcite.avatica</groupId> |
| <artifactId>avatica-standalone-server</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.calcite.avatica</groupId> |
| <artifactId>avatica-core</artifactId> |
| <version>${project.version}</version> |
| <type>test-jar</type> |
| </dependency> |
| |
| <!-- Now third-party dependencies, sorted by groupId and artifactId. --> |
| <dependency> |
| <groupId>com.beust</groupId> |
| <artifactId>jcommander</artifactId> |
| <version>${jcommander.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-core</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-annotations</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-databind</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.github.stephenc.jcip</groupId> |
| <artifactId>jcip-annotations</artifactId> |
| <version>${jcip-annotations.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| <version>${guava.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.protobuf</groupId> |
| <artifactId>protobuf-java</artifactId> |
| <version>${protobuf.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.h2database</groupId> |
| <artifactId>h2</artifactId> |
| <version>${h2.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>javax.servlet</groupId> |
| <artifactId>javax.servlet-api</artifactId> |
| <version>${servlet.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>${junit.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>net.hydromatic</groupId> |
| <artifactId>scott-data-hsqldb</artifactId> |
| <version>${scott-data-hsqldb.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.kerby</groupId> |
| <artifactId>kerb-client</artifactId> |
| <version>${kerby.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.kerby</groupId> |
| <artifactId>kerb-core</artifactId> |
| <version>${kerby.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.kerby</groupId> |
| <artifactId>kerb-simplekdc</artifactId> |
| <version>${kerby.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpclient</artifactId> |
| <version>${httpclient.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpcore</artifactId> |
| <version>${httpcore.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.bouncycastle</groupId> |
| <artifactId>bcpkix-jdk15on</artifactId> |
| <version>${bouncycastle.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.bouncycastle</groupId> |
| <artifactId>bcprov-jdk15on</artifactId> |
| <version>${bouncycastle.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-core</artifactId> |
| <version>${mockito.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.hamcrest</groupId> |
| <artifactId>hamcrest-core</artifactId> |
| <version>${hamcrest.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.hsqldb</groupId> |
| <artifactId>hsqldb</artifactId> |
| <version>${hsqldb.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-http</artifactId> |
| <version>${jetty.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-security</artifactId> |
| <version>${jetty.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-server</artifactId> |
| <version>${jetty.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jetty</groupId> |
| <artifactId>jetty-util</artifactId> |
| <version>${jetty.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| <build> |
| <extensions> |
| <extension> |
| <groupId>kr.motd.maven</groupId> |
| <artifactId>os-maven-plugin</artifactId> |
| <version>${os-maven-plugin.version}</version> |
| </extension> |
| </extensions> |
| <plugins> |
| <plugin> |
| <groupId>de.thetaphi</groupId> |
| <artifactId>forbiddenapis</artifactId> |
| <configuration> |
| <!-- if the used Java version is too new, don't fail, just do nothing: --> |
| <failOnUnsupportedJava>false</failOnUnsupportedJava> |
| <bundledSignatures> |
| <!-- |
| This will automatically choose the right |
| signatures based on 'maven.compiler.target': |
| --> |
| <bundledSignature>jdk-unsafe</bundledSignature> |
| <bundledSignature>jdk-deprecated</bundledSignature> |
| <!-- disallow undocumented classes like sun.misc.Unsafe: --> |
| <bundledSignature>jdk-non-portable</bundledSignature> |
| </bundledSignatures> |
| <signaturesFiles> |
| <signaturesFile>${top.dir}/src/main/config/forbidden-apis/signatures.txt</signaturesFile> |
| </signaturesFiles> |
| <excludes> |
| <exclude>**/org/apache/calcite/avatica/tck/Unsafe.class</exclude> |
| <exclude>**/org/apache/calcite/avatica/util/Unsafe.class</exclude> |
| </excludes> |
| </configuration> |
| <executions> |
| <execution> |
| <goals> |
| <goal>check</goal> |
| <goal>testCheck</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <version>${apache-rat-plugin.version}</version> |
| <configuration> |
| <excludes> |
| <!-- Do not exclude site/target; it should not exist |
| in any sandbox from which you are making a |
| release. Also, do not exclude site/.sass-cache. --> |
| <!-- Files generated by Jekyll. --> |
| <exclude>site/_includes/anchor_links.html</exclude> |
| <exclude>site/_includes/docs_contents.html</exclude> |
| <exclude>site/_includes/docs_contents_mobile.html</exclude> |
| <exclude>site/_includes/docs_option.html</exclude> |
| <exclude>site/_includes/docs_ul.html</exclude> |
| <exclude>site/_includes/footer.html</exclude> |
| <exclude>site/_includes/header.html</exclude> |
| <exclude>site/_includes/news_contents.html</exclude> |
| <exclude>site/_includes/news_contents_mobile.html</exclude> |
| <exclude>site/_includes/news_item.html</exclude> |
| <exclude>site/_includes/primary-nav-items.html</exclude> |
| <exclude>site/_includes/section_nav.html</exclude> |
| <exclude>site/_includes/top.html</exclude> |
| <exclude>site/_layouts/default.html</exclude> |
| <exclude>site/_layouts/docs.html</exclude> |
| <exclude>site/_layouts/external.html</exclude> |
| <exclude>site/_layouts/news.html</exclude> |
| <exclude>site/_layouts/news_item.html</exclude> |
| <exclude>site/_layouts/page.html</exclude> |
| <exclude>site/_sass/**</exclude> |
| <exclude>site/css/screen.scss</exclude> |
| <exclude>site/fonts/**</exclude> |
| <exclude>site/js/**</exclude> |
| <!-- Images --> |
| <exclude>site/img/*.png</exclude> |
| <exclude>site/favicon.ico</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>attach-sources</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>jar-no-fork</goal> |
| <goal>test-jar-no-fork</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <!-- If you are looking to change source/target, |
| change the maven.compiler.{source,target} property --> |
| <configuration> |
| <compilerArgs> |
| <arg>-Xlint:deprecation</arg> |
| </compilerArgs> |
| <failOnWarning>true</failOnWarning> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>validate</id> |
| <phase>validate</phase> |
| <configuration> |
| <configLocation>${top.dir}/src/main/config/checkstyle/checker.xml</configLocation> |
| <suppressionsLocation>${top.dir}/src/main/config/checkstyle/suppressions.xml</suppressionsLocation> |
| <consoleOutput>true</consoleOutput> |
| <headerLocation>${top.dir}/src/main/config/checkstyle/header.txt</headerLocation> |
| <failOnViolation>true</failOnViolation> |
| <includeTestSourceDirectory>true</includeTestSourceDirectory> |
| </configuration> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| <dependencies> |
| <dependency> |
| <groupId>net.hydromatic</groupId> |
| <artifactId>toolbox</artifactId> |
| <version>${hydromatic-toolbox.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <!-- checkstyle requires Guava 19 --> |
| </dependencies> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>analyze</id> |
| <goals> |
| <goal>analyze-only</goal> |
| </goals> |
| <configuration> |
| <failOnWarning>true</failOnWarning> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <!-- This is the configuration used by "mvn javadoc:javadoc". It is |
| configured strict, so that it shows errors such as broken links in |
| javadoc on private methods. The configuration for "mvn site" is |
| under "reporting", and is more lenient. --> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <configuration> |
| <additionalOptions>${javadoc-additionalOptions}</additionalOptions> |
| <links> |
| <link>${javadoc-link}</link> |
| </links> |
| <show>private</show> |
| </configuration> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-lang3</artifactId> |
| <version>${commons-lang3.version}</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| <plugin> |
| <!-- Override apache parent POM's definition of release |
| plugin. If we don't specify gitexe version, git doesn't |
| commit during release process. --> |
| <artifactId>maven-release-plugin</artifactId> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.maven.scm</groupId> |
| <artifactId>maven-scm-api</artifactId> |
| <version>${maven-scm-api.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.scm</groupId> |
| <artifactId>maven-scm-provider-gitexe</artifactId> |
| <version>${maven-scm-provider.version}</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| <plugin> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-maven-plugin</artifactId> |
| </plugin> |
| </plugins> |
| <pluginManagement> |
| <plugins> |
| <!-- Sorted by groupId, artifactId. --> |
| <plugin> |
| <groupId>com.spotify</groupId> |
| <artifactId>docker-maven-plugin</artifactId> |
| <version>${docker-maven-plugin.version}</version> |
| </plugin> |
| <plugin> |
| <groupId>de.thetaphi</groupId> |
| <artifactId>forbiddenapis</artifactId> |
| <version>${forbiddenapis.version}</version> |
| </plugin> |
| <plugin> |
| <groupId>net.nicoulaj.maven.plugins</groupId> |
| <artifactId>checksum-maven-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <version>${maven-assembly-plugin.version}</version> |
| </plugin> |
| <plugin> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <version>${maven-checkstyle-plugin.version}</version> |
| </plugin> |
| <plugin> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>${maven-compiler-plugin.version}</version> |
| </plugin> |
| <plugin> |
| <artifactId>maven-dependency-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <version>${maven-enforcer-plugin.version}</version> |
| <executions> |
| <execution> |
| <id>enforce-java</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <requireJavaVersion> |
| <version>[1.8,)</version> |
| </requireJavaVersion> |
| </rules> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>failsafe-integration-test</id> |
| <goals> |
| <goal>integration-test</goal> |
| </goals> |
| <phase>integration-test</phase> |
| <configuration> |
| <threadCount>6</threadCount> |
| <parallel>both</parallel> |
| <!-- work around https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=911925 --> |
| <argLine>-Xmx1024m -Djdk.net.URLClassPath.disableClassPathURLCheck=true</argLine> |
| </configuration> |
| </execution> |
| <execution> |
| <id>failsafe-verify</id> |
| <goals> |
| <goal>verify</goal> |
| </goals> |
| <phase>verify</phase> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| <version>${maven-shade-plugin.version}</version> |
| </plugin> |
| <plugin> |
| <artifactId>maven-source-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <!-- work around https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=911925 --> |
| <argLine>-Xmx1536m -XX:MaxPermSize=256m -Duser.timezone=${user.timezone} -Djdk.net.URLClassPath.disableClassPathURLCheck=true</argLine> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <version>${build-helper-maven-plugin.version}</version> |
| </plugin> |
| <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-checkstyle-plugin</artifactId> |
| <versionRange>[2.12.1,)</versionRange> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </pluginExecutionFilter> |
| <action> |
| <ignore /> |
| </action> |
| </pluginExecution> |
| <pluginExecution> |
| <pluginExecutionFilter> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-remote-resources-plugin</artifactId> |
| <versionRange>[1.0,)</versionRange> |
| <goals> |
| <goal>process</goal> |
| </goals> |
| </pluginExecutionFilter> |
| <action> |
| <ignore /> |
| </action> |
| </pluginExecution> |
| </pluginExecutions> |
| </lifecycleMappingMetadata> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.owasp</groupId> |
| <artifactId>dependency-check-maven</artifactId> |
| <version>${owasp-dependency-check.version}</version> |
| </plugin> |
| <plugin> |
| <groupId>org.xolstice.maven.plugins</groupId> |
| <artifactId>protobuf-maven-plugin</artifactId> |
| <version>${protobuf-maven-plugin.version}</version> |
| <configuration> |
| <protocArtifact>com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}</protocArtifact> |
| <protoSourceRoot>${basedir}/src/main/protobuf/</protoSourceRoot> |
| <outputDirectory>${basedir}/src/main/java/</outputDirectory> |
| <clearOutputDirectory>false</clearOutputDirectory> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-maven-plugin</artifactId> |
| <version>${spotbugs-maven-plugin.version}</version> |
| <configuration> |
| <threshold>High</threshold> |
| <failOnError>true</failOnError> |
| <excludeFilterFile>${top.dir}/src/main/config/spotbugs/spotbugs-filter.xml</excludeFilterFile> |
| </configuration> |
| <executions> |
| <execution> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| <dependencies> |
| <!-- overwrite dependency on spotbugs if you want to specify the version of spotbugs --> |
| <dependency> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs</artifactId> |
| <version>${spotbugs.version}</version> |
| </dependency> |
| <!-- Upgrade ASM to 7.1 to support JDK 13. Remove when spotbugs upgrades --> |
| <dependency> |
| <groupId>org.ow2.asm</groupId> |
| <artifactId>asm</artifactId> |
| <version>${asm.version}</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| <reporting> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <configuration> |
| <links> |
| <link>https://docs.oracle.com/javase/8/docs/api/</link> |
| </links> |
| <notimestamp>true</notimestamp> |
| <windowtitle>Apache Calcite Avatica API</windowtitle> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-maven-plugin</artifactId> |
| <version>${spotbugs-maven-plugin.version}</version> |
| </plugin> |
| </plugins> |
| </reporting> |
| <repositories> |
| <repository> |
| <id>central</id> |
| <name>Central Repository</name> |
| <url>http://repo.maven.apache.org/maven2</url> |
| <layout>default</layout> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| </repository> |
| </repositories> |
| <profiles> |
| <profile> |
| <!-- This profile adds/overrides few features of the 'apache-release' |
| profile in the parent pom. --> |
| <id>apache-release</id> |
| <build> |
| <plugins> |
| <!-- Apache-RAT checks for files without headers. |
| If run on a messy developer's sandbox, it will fail. |
| This serves as a reminder to only build a release in a clean |
| sandbox! --> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>verify</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- Override the parent assembly execution to customize the assembly |
| descriptor and final name. --> |
| <plugin> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>source-release-assembly</id> |
| <phase>none</phase> |
| </execution> |
| <execution> |
| <id>source-release-assembly-avatica</id> |
| <phase>package</phase> |
| <goals> |
| <goal>single</goal> |
| </goals> |
| <configuration> |
| <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot> |
| <appendAssemblyId>false</appendAssemblyId> |
| <descriptors> |
| <descriptor>${top.dir}/src/main/config/assemblies/source-assembly.xml</descriptor> |
| </descriptors> |
| <finalName>apache-calcite-avatica-${project.version}-src</finalName> |
| <tarLongFileMode>gnu</tarLongFileMode> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <artifactId>maven-remote-resources-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>root-resources</id> |
| <goals> |
| <goal>process</goal> |
| </goals> |
| <configuration> |
| <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot> |
| <resourceBundles> |
| <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle> |
| </resourceBundles> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>net.nicoulaj.maven.plugins</groupId> |
| <artifactId>checksum-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>source-release-checksum</id> |
| <goals> |
| <goal>artifacts</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <algorithms> |
| <algorithm>SHA-512</algorithm> |
| </algorithms> |
| <csvSummary>false</csvSummary> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>java9+</id> |
| <activation> |
| <jdk>[9,)</jdk> |
| </activation> |
| <properties> |
| <javadoc-additionalOptions>-html5</javadoc-additionalOptions> |
| <javadoc-link>https://docs.oracle.com/javase/9/docs/api/</javadoc-link> |
| </properties> |
| </profile> |
| <profile> |
| <!-- Extra checks that are disabled in the regular build, enabled for |
| releases and on demand. --> |
| <id>pedantic</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.owasp</groupId> |
| <artifactId>dependency-check-maven</artifactId> |
| <configuration> |
| <suppressionFiles> |
| <suppressionFile>${top.dir}/src/main/config/dependency-check/suppressions.xml</suppressionFile> |
| </suppressionFiles> |
| </configuration> |
| <executions> |
| <execution> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <!-- This profile requires JDK 9+. There is no way to enforce that currently. |
| https://errorprone.info/docs/installation has details why JDK 8 is not supported --> |
| <id>ErrorProne</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>${maven-compiler-plugin.version}</version> |
| <configuration> |
| <compilerArgs> |
| <arg>-Xlint:deprecation</arg> |
| <arg>-XDcompilePolicy=simple</arg> |
| <arg>-Xplugin:ErrorProne</arg> |
| </compilerArgs> |
| <failOnWarning>true</failOnWarning> |
| <annotationProcessorPaths> |
| <path> |
| <groupId>com.google.errorprone</groupId> |
| <artifactId>error_prone_core</artifactId> |
| <version>${error_prone_core.version}</version> |
| </path> |
| </annotationProcessorPaths> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |