blob: 62022060ba3a5423e0d9d19de03fca68f5ca1c47 [file] [log] [blame]
<?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.datasketches</groupId>
<artifactId>datasketches-memory-root</artifactId>
<version>2.1.0</version>
</parent>
<dependencies>
<dependency>
<groupId>org.apache.datasketches</groupId>
<artifactId>datasketches-memory</artifactId>
<version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<!-- Used for UTF8 testing -->
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<!-- Used for xxHash testing -->
<groupId>net.openhft</groupId>
<artifactId>zero-allocation-hashing</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<artifactId>datasketches-memory-resources</artifactId>
<name>${project.artifactId}</name>
<!-- The tests in the following profiles run against the assembled MR-JAR. Hence, they
only run during the Maven package phase. Different profiles are selected based on
the environment-specific version of Java that was used to run `mvn package`. This
is because the new JPMS runtime arguments result in a catastrophic system error whilst
using Java 8. Tests are scanned from dependency JARs using `dependenciesToScan`. -->
<profiles>
<profile>
<id>java8</id>
<activation>
<jdk>[1.8,1.9),8</jdk>
<property>
<name>environment</name>
<value>ci</value>
</property>
</activation>
<properties>
<jdk-toolchain.version>1.8</jdk-toolchain.version>
<java.version>8</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.datasketches</groupId>
<artifactId>datasketches-memory-java8-tests</artifactId>
<version>${project.version}</version>
<classifier>tests</classifier>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<!-- Apache Parent pom, pluginManagement-->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<executions>
<execution>
<id>package-test</id>
<phase>package</phase>
<goals>
<goal>test</goal>
</goals>
<!-- does not provide JPMS runtime arguments -->
<configuration>
<skip>false</skip>
<dependenciesToScan>
<dependency>org.apache.datasketches:datasketches-memory-java8-tests</dependency>
</dependenciesToScan>
<reportsDirectory>${project.build.directory}/test-output/${maven.build.timestamp}</reportsDirectory>
<argLine />
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>java11to13</id>
<activation>
<jdk>[11,14)</jdk>
<property>
<name>environment</name>
<value>ci</value>
</property>
</activation>
<properties>
<!--suppress UnresolvedMavenProperty -->
<jdk-toolchain.version>${matrix.jdk.version}</jdk-toolchain.version>
<!--suppress UnresolvedMavenProperty -->
<java.version>${matrix.jdk.version}</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.datasketches</groupId>
<artifactId>datasketches-memory-java8-tests</artifactId>
<version>${project.version}</version>
<classifier>tests</classifier>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<!-- Apache Parent pom, pluginManagement-->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<executions>
<execution>
<id>package-test</id>
<phase>package</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<skip>false</skip>
<argLine>
--add-exports java.base/jdk.internal.misc=ALL-UNNAMED
--add-exports java.base/jdk.internal.ref=ALL-UNNAMED
--add-opens java.base/java.nio=ALL-UNNAMED
--add-opens java.base/sun.nio.ch=ALL-UNNAMED
</argLine>
<dependenciesToScan>
<dependency>org.apache.datasketches:datasketches-memory-java8-tests</dependency>
</dependenciesToScan>
<reportsDirectory>${project.build.directory}/test-output/${maven.build.timestamp}</reportsDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>