<?xml version="1.0" encoding="UTF-8"?> <!-- Copyright (c) 2017 YCSB contributors. All rights reserved. Licensed 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. See accompanying LICENSE file. --> <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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.yahoo.ycsb</groupId> <artifactId>binding-parent</artifactId> <version>0.14.0-SNAPSHOT</version> <relativePath>../binding-parent</relativePath> </parent> <properties> <!-- Skip tests by default. will be activated by jdk8 profile --> <skipTests>true</skipTests> <elasticsearch.groupid>org.elasticsearch.distribution.zip</elasticsearch.groupid> <!-- For integration tests using ANT --> <integ.http.port>9400</integ.http.port> <integ.transport.port>9500</integ.transport.port> <!-- If tests are skipped, skip ES spin up --> <es.skip>${skipTests}</es.skip> </properties> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.10</version> <executions> <execution> <id>integ-setup-dependencies</id> <phase>pre-integration-test</phase> <goals> <goal>copy</goal> </goals> <configuration> <skip>${skipTests}</skip> <artifactItems> <artifactItem> <groupId>${elasticsearch.groupid}</groupId> <artifactId>elasticsearch</artifactId> <version>${elasticsearch5-version}</version> <type>zip</type> </artifactItem> </artifactItems> <useBaseVersion>true</useBaseVersion> <outputDirectory>${project.build.directory}/integration-tests/binaries</outputDirectory> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.19</version> <executions> <execution> <id>default-test</id> <phase>none</phase> </execution> </executions> </plugin> <plugin> <groupId>com.carrotsearch.randomizedtesting</groupId> <artifactId>junit4-maven-plugin</artifactId> <version>2.3.3</version> <configuration> <assertions enableSystemAssertions="false"> <enable/> </assertions> <listeners> <report-text /> </listeners> </configuration> <executions> <execution> <id>unit-tests</id> <phase>test</phase> <goals> <goal>junit4</goal> </goals> <inherited>true</inherited> <configuration> <skipTests>${skipTests}</skipTests> <includes> <include>**/*Test.class</include> </includes> <excludes> <exclude>**/*$*</exclude> </excludes> </configuration> </execution> <execution> <id>integration-tests</id> <phase>integration-test</phase> <goals> <goal>junit4</goal> </goals> <inherited>true</inherited> <configuration> <skipTests>${skipTests}</skipTests> <includes> <include>**/*IT.class</include> </includes> <excludes> <exclude>**/*$*</exclude> </excludes> </configuration> </execution> </executions> </plugin> </plugins> </build> <artifactId>elasticsearch5-binding</artifactId> <name>Elasticsearch 5.x Binding</name> <packaging>jar</packaging> <dependencies> <dependency> <!-- jna is supported in ES and will be used when provided otherwise a fallback is used --> <groupId>org.elasticsearch</groupId> <artifactId>jna</artifactId> <version>4.4.0</version> </dependency> <dependency> <groupId>com.yahoo.ycsb</groupId> <artifactId>core</artifactId> <version>${project.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>transport</artifactId> <version>${elasticsearch5-version}</version> </dependency> <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>rest</artifactId> <version>${elasticsearch5-version}</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.8.2</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.8.2</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies> <profiles> <!-- Requires JDK8 to run, so none of our tests will work unless we're using jdk8. --> <profile> <id>jdk8-tests</id> <activation> <jdk>1.8</jdk> </activation> <build> <plugins> <plugin> <groupId>com.github.alexcojocaru</groupId> <artifactId>elasticsearch-maven-plugin</artifactId> <version>5.9</version> <configuration> <version>${elasticsearch5-version}</version> <clusterName>test</clusterName> <httpPort>9200</httpPort> <transportPort>9300</transportPort> </configuration> <executions> <execution> <id>start-elasticsearch</id> <phase>pre-integration-test</phase> <goals> <goal>runforked</goal> </goals> </execution> <execution> <id>stop-elasticsearch</id> <phase>post-integration-test</phase> <goals> <goal>stop</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <properties> <skipTests>false</skipTests> </properties> </profile> </profiles> </project>