gpudb-api
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>com.gpudb</groupId>
<artifactId>gpudb-api</artifactId>
<version>7.2.3.24</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
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>
<groupId>com.gpudb</groupId>
<artifactId>gpudb-api</artifactId>
<version>7.2.3.24</version>
<packaging>jar</packaging>
<name>Kinetica Java API</name>
<description>Java-based client API for connecting to and managing a Kinetica database</description>
<url>https://github.com/kineticadb/kinetica-api-java</url>
<licenses>
<license>
<name>MIT License</name>
<url>https://opensource.org/license/mit</url>
</license>
</licenses>
<developers>
<developer>
<name>Kyle Sutton</name>
<email>ksutton@kinetica.com</email>
<organization>Kinetica DB Inc.</organization>
<organizationUrl>https://www.kinetica.com/</organizationUrl>
</developer>
</developers>
<scm>
<connection>scm:git:https://github.com/kineticadb/kinetica-api-java.git</connection>
<developerConnection>scm:git:https://github.com/kineticadb/kinetica-api-java.git</developerConnection>
<url>https://github.com/kineticadb/kinetica-api-java</url>
</scm>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<target.build.dir>target</target.build.dir> <!-- override on cmd-line -->
<!-- SECURITY: do not downgrade without checking advisories per version.
2.22.1 is the earliest release with no outstanding advisory against
jackson-core, -databind or -annotations. Notably it clears
GHSA-72hv-8253-57qq and its HIGH follow-up GHSA-r7wm-3cxj-wff9
(async parser maxNumberLength bypass). Avro 1.12.1 builds against
jackson-bom 2.20.0, which is affected by both; this deliberately
overrides Avro's transitive Jackson upward.
Deliberately not named "jackson.version": that name is also used by
build-extension plugins (central-publishing-maven-plugin), and a
-Djackson.version=... on the command line would bleed into their
dependency resolution and fail the build before the project is read. -->
<kinetica.jackson.version>2.22.1</kinetica.jackson.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- Pins every Jackson artifact (including Avro's transitive ones) to a
single consistent version. Do not add <version> to the individual
Jackson dependencies below; the BOM governs them. -->
<dependency>
<groupId>com.fasterxml.jackson</groupId>
<artifactId>jackson-bom</artifactId>
<version>${kinetica.jackson.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.avro</groupId>
<artifactId>avro</artifactId>
<version>1.12.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<!-- Used directly (JsonProperty, JsonInclude, JsonIgnoreProperties); declared
explicitly rather than relied upon transitively through jackson-databind. -->
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.26.2</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.18.0</version>
</dependency>
<dependency>
<groupId>org.xerial.snappy</groupId>
<artifactId>snappy-java</artifactId>
<version>1.1.10.8</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.17.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.13</version>
</dependency>
<!-- Default slf4j logger implementation is logback configured for stdout. -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.3.16</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents.client5/httpclient5 -->
<dependency>
<groupId>org.apache.httpcomponents.client5</groupId>
<artifactId>httpclient5</artifactId>
<version>5.6.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.json/json -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20260814</version>
</dependency>
</dependencies>
<profiles>
<profile>
<id>ConfigureTargetBuildDir</id>
<activation>
<property>
<name>target.build.dir</name>
</property>
</activation>
<build>
<directory>${target.build.dir}</directory>
</build>
</profile>
<profile>
<id>doclint-java8-disable</id>
<activation>
<jdk>[1.8,)</jdk>
</activation>
<properties>
<javadoc.opts>-Xdoclint:none -quiet</javadoc.opts>
</properties>
</profile>
<profile>
<id>compile-java9andup-bytecode-compatibility-java8</id>
<activation>
<jdk>[9,)</jdk>
</activation>
<properties>
<maven.compiler.release>11</maven.compiler.release>
</properties>
</profile>
</profiles>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.6.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
<filters>
<filter>
<excludes>
<exclude>
org/slf4j/impl/**
</exclude>
</excludes>
</filter>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>module-info.class</exclude> <!-- Silence warning from avro: "Discovered module-info.class. Shading will break its strong encapsulation" -->
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
<relocations>
<relocation>
<pattern>com.fasterxml</pattern>
<shadedPattern>com.gpudb.fasterxml</shadedPattern>
</relocation>
<relocation>
<pattern>org.apache</pattern>
<shadedPattern>com.gpudb.apache</shadedPattern>
</relocation>
<relocation>
<pattern>org.json</pattern>
<shadedPattern>com.gpudb.json</shadedPattern>
</relocation>
</relocations>
<shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>shaded</shadedClassifierName>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.code54.mojo</groupId>
<artifactId>buildversion-plugin</artifactId>
<version>1.0.3</version>
<executions>
<execution>
<goals>
<goal>set-properties</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.3.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<additionalOptions>
<additionalOption>${javadoc.opts}</additionalOption>
</additionalOptions>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>3.2.4</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>deploy</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>0.9.0</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>central</publishingServerId>
</configuration>
</plugin>
<!-- Check if version already exists on Maven Central before deploying -->
<!-- This prevents duplicate publishing from Maven and Gradle -->
<!-- Only runs during deploy phase, skip with: mvn deploy -Dskip.central.check=true -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>check-maven-central-version</id>
<phase>deploy</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<property name="artifact.url" value="https://repo1.maven.org/maven2/com/gpudb/gpudb-api/${project.version}/gpudb-api-${project.version}.pom"/>
<echo message=""/>
<echo message="=========================================================="/>
<echo message="Checking if version ${project.version} exists on Maven Central..."/>
<echo message="URL: ${artifact.url}"/>
<echo message="=========================================================="/>
<!-- Try to get the artifact; if it exists, fail the build -->
<condition property="version.exists">
<http url="${artifact.url}"/>
</condition>
<fail if="version.exists">
==========================================================
ERROR: Version ${project.version} already exists on Maven Central!
==========================================================
This version may have been published using Gradle or a previous Maven deploy.
Options:
1. Bump the version in pom.xml before deploying
2. If this is intentional, skip with: mvn deploy -Dskip.central.check=true
Maven Central URL: ${artifact.url}
==========================================================
</fail>
<echo message="Version ${project.version} not found on Maven Central. Safe to deploy."/>
<echo message=""/>
</target>
<skip>${skip.central.check}</skip>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/gpudb-api-build.properties</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
</project>