Skip to content
Snippets Groups Projects
  • Clemens Lieb's avatar
    2218649a
    [core] changes to enable folding YCSB-TS back into YCSB (#1095) · 2218649a
    Clemens Lieb authored
    * [core] Drop JDK 7 Support
    
    Sets compiler target to 1.8
    Additionally removes openjdk7 from travis build-matrix
    Fixes #1033
    
    Additionally includes lexicographic reordering of binding-dependency properties in root pom
    
    * [core] introduce baseclass for timeseries database bindings
    
    This base-class parses the queries generated by TimeSeriesWorkload into a format
    that's usable for simple consumption.
    The format has been defined through the work done by Andreas Bader (@baderas) in
    https://github.com/TSDBBench/YCSB-TS.
    
    * [core] parse debug and test properties for all Timeseries databases
    
    * [core] Add method to define possible tagKeys for Timeseries Workloads
    
    Some TimeSeries Databases require a "schema" up front.
    To generate said schema, the tag keys used by the workload are required.
    This method should be centrally available for maintainability
    
    * [core] Provide default implementation for  operation
    
    TimeSeries databases only rarely support deleting data. As such we can generally assume
    the operation to always return a Status.NOT_IMPLEMENTED. Similarly to updating that trivial
    implementation does not need to be repeated in every TimeSeriesDatabase implementation
    
    * [core] Address review
    
    This adds a copyright header and significant amounts of javadoc for TimeseriesDB
    Furthermore occurrences of Long have been largely replaced with the primitive long
    Finally an overload for signed integer values has been added for insertions
    2218649a
    History
    [core] changes to enable folding YCSB-TS back into YCSB (#1095)
    Clemens Lieb authored
    * [core] Drop JDK 7 Support
    
    Sets compiler target to 1.8
    Additionally removes openjdk7 from travis build-matrix
    Fixes #1033
    
    Additionally includes lexicographic reordering of binding-dependency properties in root pom
    
    * [core] introduce baseclass for timeseries database bindings
    
    This base-class parses the queries generated by TimeSeriesWorkload into a format
    that's usable for simple consumption.
    The format has been defined through the work done by Andreas Bader (@baderas) in
    https://github.com/TSDBBench/YCSB-TS.
    
    * [core] parse debug and test properties for all Timeseries databases
    
    * [core] Add method to define possible tagKeys for Timeseries Workloads
    
    Some TimeSeries Databases require a "schema" up front.
    To generate said schema, the tag keys used by the workload are required.
    This method should be centrally available for maintainability
    
    * [core] Provide default implementation for  operation
    
    TimeSeries databases only rarely support deleting data. As such we can generally assume
    the operation to always return a Status.NOT_IMPLEMENTED. Similarly to updating that trivial
    implementation does not need to be repeated in every TimeSeriesDatabase implementation
    
    * [core] Address review
    
    This adds a copyright header and significant amounts of javadoc for TimeseriesDB
    Furthermore occurrences of Long have been largely replaced with the primitive long
    Finally an overload for signed integer values has been added for insertions
pom.xml 7.29 KiB
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2012 - 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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.yahoo.ycsb</groupId>
  <artifactId>root</artifactId>
  <version>0.14.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>YCSB Root</name>

  <description>
    This is the top level project that builds, packages the core and all the DB bindings for YCSB infrastructure.
  </description>

  <scm>
    <connection>scm:git:git://github.com/brianfrankcooper/YCSB.git</connection>
    <tag>master</tag>
    <url>https://github.com/brianfrankcooper/YCSB</url>
  </scm>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.puppycrawl.tools</groupId>
        <artifactId>checkstyle</artifactId>
        <version>7.7.1</version>
      </dependency>
      <dependency>
        <groupId>org.jdom</groupId>
        <artifactId>jdom</artifactId>
        <version>1.1</version>
      </dependency>
      <dependency>
        <groupId>com.google.collections</groupId>
        <artifactId>google-collections</artifactId>
        <version>1.0</version>
      </dependency>
      <!--
      Nail down slf4j version to 1.6 so that it defaults to no-op logger.
      http://www.slf4j.org/codes.html#StaticLoggerBinder
      -->
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.6.4</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <!-- Properties Management -->
  <properties>
    <maven.assembly.version>2.5.5</maven.assembly.version>
    <maven.dependency.version>2.10</maven.dependency.version>

    <!-- datastore binding versions, lex sorted -->
    <accumulo.1.6.version>1.6.6</accumulo.1.6.version>
    <accumulo.1.7.version>1.7.3</accumulo.1.7.version>
    <accumulo.1.8.version>1.8.1</accumulo.1.8.version>
    <aerospike.version>3.1.2</aerospike.version>
    <arangodb.version>2.7.3</arangodb.version>
    <arangodb3.version>4.1.7</arangodb3.version>
    <asynchbase.version>1.7.1</asynchbase.version>
    <azuredocumentdb.version>1.8.1</azuredocumentdb.version>
    <azurestorage.version>4.0.0</azurestorage.version>
    <cassandra.cql.version>3.0.0</cassandra.cql.version>
    <cloudspanner.version>0.24.0-beta</cloudspanner.version>
    <couchbase.version>1.4.10</couchbase.version>
    <couchbase2.version>2.3.1</couchbase2.version>
    <elasticsearch5-version>5.5.1</elasticsearch5-version>
    <geode.version>1.2.0</geode.version>
    <googlebigtable.version>0.9.7</googlebigtable.version>
    <hbase098.version>0.98.14-hadoop2</hbase098.version>
    <hbase10.version>1.0.2</hbase10.version>
    <hbase12.version>1.2.5</hbase12.version>
    <hypertable.version>0.9.5.6</hypertable.version>
    <infinispan.version>7.2.2.Final</infinispan.version>
    <kudu.version>1.1.0</kudu.version>
    <!--<mapkeeper.version>1.0</mapkeeper.version>-->
    <mongodb.version>3.0.3</mongodb.version>
    <mongodb.async.version>2.0.1</mongodb.async.version>
    <openjpa.jdbc.version>2.1.1</openjpa.jdbc.version>
    <orientdb.version>2.2.10</orientdb.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <redis.version>2.0.0</redis.version>
    <riak.version>2.0.5</riak.version>
    <s3.version>1.10.20</s3.version>
    <solr.version>5.5.3</solr.version>
    <solr6.version>6.4.1</solr6.version>
    <tarantool.version>1.6.5</tarantool.version>
    <thrift.version>0.8.0</thrift.version>
    <voldemort.version>0.81</voldemort.version>
  </properties>

  <modules>
    <!-- our internals -->
    <module>core</module>
    <module>binding-parent</module>
    <module>distribution</module>
    <!-- all the datastore bindings, lex sorted please -->
    <module>accumulo1.6</module>
    <module>accumulo1.7</module>
    <module>accumulo1.8</module>
    <module>aerospike</module>
    <module>arangodb</module>
    <module>arangodb3</module>
    <module>asynchbase</module>
    <module>azuredocumentdb</module>
    <module>azuretablestorage</module>
    <module>cassandra</module>
    <module>cloudspanner</module>
    <module>couchbase</module>
    <module>couchbase2</module>
    <module>dynamodb</module>
    <module>elasticsearch</module>
    <module>elasticsearch5</module>
    <module>geode</module>
    <module>googlebigtable</module>
    <module>googledatastore</module>
    <module>hbase098</module>
    <module>hbase10</module>
    <module>hbase12</module>
    <module>hypertable</module>
    <module>infinispan</module>
    <module>jdbc</module>
    <module>kudu</module>
    <!--<module>mapkeeper</module>-->
    <module>memcached</module>
    <module>mongodb</module>
    <module>nosqldb</module>
    <module>orientdb</module>
    <module>rados</module>
    <module>redis</module>
    <module>rest</module>
    <module>riak</module>
    <module>s3</module>
    <module>solr</module>
    <module>solr6</module>
    <module>tarantool</module>
    <!--<module>voldemort</module>-->
  </modules>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>2.16</version>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>3.0.0-M1</version>
        <executions>
          <execution>
            <id>enforce-maven</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireMavenVersion>
                  <version>3.1.0</version>
                </requireMavenVersion>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.7.0</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <executions>
          <execution>
            <id>validate</id>
            <phase>validate</phase>
            <goals>
              <goal>check</goal>
            </goals>
            <configuration>
              <configLocation>checkstyle.xml</configLocation>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>