diff --git a/accumulo/pom.xml b/accumulo/pom.xml index c8d6f3f3486a4718a513c64049349b0f34004270..22569d70c613ac9b8107e21c705e89e6f5d4b400 100644 --- a/accumulo/pom.xml +++ b/accumulo/pom.xml @@ -3,8 +3,9 @@ <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.yahoo.ycsb</groupId> - <artifactId>root</artifactId> + <artifactId>binding-parent</artifactId> <version>0.2.0-SNAPSHOT</version> + <relativePath>../binding-parent</relativePath> </parent> <artifactId>accumulo-binding</artifactId> <name>Accumulo DB Binding</name> @@ -33,65 +34,16 @@ <artifactId>zookeeper</artifactId> <version>3.3.1</version> </dependency> - <dependency> - <groupId>log4j</groupId> - <artifactId>log4j</artifactId> - <version>1.2.16</version> - </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.8.1</version> - <scope>test</scope> - </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-core</artifactId> <version>0.20.203.0</version> </dependency> - <dependency> - <groupId>mysql</groupId> - <artifactId>mysql-connector-java</artifactId> - <version>5.1.14</version> - </dependency> - <dependency> - <groupId>com.google.guava</groupId> - <artifactId>guava</artifactId> - <version>15.0</version> - </dependency> <dependency> <groupId>com.yahoo.ycsb</groupId> <artifactId>core</artifactId> <version>${project.version}</version> + <scope>provided</scope> </dependency> </dependencies> - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <version>${maven.assembly.version}</version> - <configuration> - <descriptorRefs> - <descriptorRef>jar-with-dependencies</descriptorRef> - </descriptorRefs> - <appendAssemblyId>false</appendAssemblyId> - </configuration> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - <repositories> - <repository> - <id>apache</id> - <url>http://repository.apache.org/snapshots</url> - </repository> - </repositories> </project> diff --git a/binding-parent/datastore-specific-descriptor/pom.xml b/binding-parent/datastore-specific-descriptor/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..fe7b2f02dc1fffac61ba47f5ed486b2f82758ed3 --- /dev/null +++ b/binding-parent/datastore-specific-descriptor/pom.xml @@ -0,0 +1,28 @@ +<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>com.yahoo.ycsb</groupId> + <artifactId>root</artifactId> + <version>0.2.0-SNAPSHOT</version> + <relativePath>../../</relativePath> + </parent> + + <artifactId>datastore-specific-descriptor</artifactId> + <name>Per Datastore Binding descriptor</name> + <packaging>jar</packaging> + + <description> + This module contains the assembly descriptor used by the individual components + to build binding-specific distributions. + </description> + <dependencies> + <dependency> + <groupId>com.yahoo.ycsb</groupId> + <artifactId>core</artifactId> + <version>${project.version}</version> + </dependency> + </dependencies> +</project> + diff --git a/binding-parent/datastore-specific-descriptor/src/main/resources/assemblies/datastore-specific-assembly.xml b/binding-parent/datastore-specific-descriptor/src/main/resources/assemblies/datastore-specific-assembly.xml new file mode 100644 index 0000000000000000000000000000000000000000..66a90ca0097b80c45d296bbe3951edc9fbe4d9cd --- /dev/null +++ b/binding-parent/datastore-specific-descriptor/src/main/resources/assemblies/datastore-specific-assembly.xml @@ -0,0 +1,60 @@ +<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> + <id>dist</id> + <includeBaseDirectory>true</includeBaseDirectory> + <baseDirectory>ycsb-${artifactId}-${version}</baseDirectory> + <files> + <file> + <source>README.md</source> + <outputDirectory></outputDirectory> + </file> + </files> + <fileSets> + <fileSet> + <directory>..</directory> + <outputDirectory></outputDirectory> + <fileMode>0644</fileMode> + <includes> + <include>CHANGELOG</include> + <include>LICENSE.txt</include> + <include>NOTICE.txt</include> + </includes> + </fileSet> + <fileSet> + <directory>../bin</directory> + <outputDirectory>bin</outputDirectory> + <fileMode>0755</fileMode> + <includes> + <include>ycsb</include> + </includes> + </fileSet> + <fileSet> + <directory>../workloads</directory> + <outputDirectory>workloads</outputDirectory> + <fileMode>0644</fileMode> + </fileSet> + <fileSet> + <directory>src/main/conf</directory> + <outputDirectory>conf</outputDirectory> + <fileMode>0644</fileMode> + </fileSet> + </fileSets> + <dependencySets> + <dependencySet> + <outputDirectory>lib</outputDirectory> + <includes> + <include>com.yahoo.ycsb:core</include> + </includes> + <scope>provided</scope> + </dependencySet> + <dependencySet> + <outputDirectory>lib</outputDirectory> + <includes> + <include>*:jar:*</include> + </includes> + <excludes> + <exclude>*:sources</exclude> + </excludes> + </dependencySet> + </dependencySets> +</assembly> diff --git a/binding-parent/pom.xml b/binding-parent/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..2c1af27b0c5dbe9757cb2ff218cfba3d2b811cf4 --- /dev/null +++ b/binding-parent/pom.xml @@ -0,0 +1,103 @@ +<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>com.yahoo.ycsb</groupId> + <artifactId>root</artifactId> + <version>0.2.0-SNAPSHOT</version> + </parent> + + <artifactId>binding-parent</artifactId> + <name>YCSB Datastore Binding Parent</name> + <packaging>pom</packaging> + + <description> + This module acts as the parent for new datastore bindings. + It creates a datastore specific binary artifact. + </description> + + <modules> + <module>datastore-specific-descriptor</module> + </modules> + + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-assembly-plugin</artifactId> + <version>${maven.assembly.version}</version> + <dependencies> + <dependency> + <groupId>com.yahoo.ycsb</groupId> + <artifactId>datastore-specific-descriptor</artifactId> + <version>${project.version}</version> + </dependency> + </dependencies> + <configuration> + <descriptorRefs> + <descriptorRef>datastore-specific-assembly</descriptorRef> + </descriptorRefs> + <finalName>ycsb-${project.artifactId}-${project.version}</finalName> + <formats> + <format>tar.gz</format> + </formats> + <appendAssemblyId>false</appendAssemblyId> + </configuration> + <executions> + <execution> + <phase>package</phase> + <goals> + <goal>single</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <version>${maven.dependency.version}</version> + </plugin> + </plugins> + </pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <executions> + <execution> + <id>stage-dependencies</id> + <phase>package</phase> + <goals> + <goal>copy-dependencies</goal> + </goals> + <configuration> + <includeScope>runtime</includeScope> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + <profiles> + <!-- If the binding defines a README, presume we should make an assembly. --> + <profile> + <id>datastore-binding</id> + <activation> + <file> + <exists>README.md</exists> + </file> + </activation> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-assembly-plugin</artifactId> + </plugin> + </plugins> + </build> + </profile> + </profiles> +</project> + diff --git a/cassandra/pom.xml b/cassandra/pom.xml index c348cee7412a8660210a076ba29be90addab102f..b72d7b88369b2fe25d0ae3b93661e9ffda6b5b8d 100644 --- a/cassandra/pom.xml +++ b/cassandra/pom.xml @@ -3,8 +3,9 @@ <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.yahoo.ycsb</groupId> - <artifactId>root</artifactId> + <artifactId>binding-parent</artifactId> <version>0.2.0-SNAPSHOT</version> + <relativePath>../binding-parent</relativePath> </parent> <artifactId>cassandra-binding</artifactId> @@ -27,31 +28,7 @@ <groupId>com.yahoo.ycsb</groupId> <artifactId>core</artifactId> <version>${project.version}</version> + <scope>provided</scope> </dependency> </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <version>${maven.assembly.version}</version> - <configuration> - <descriptorRefs> - <descriptorRef>jar-with-dependencies</descriptorRef> - </descriptorRefs> - <appendAssemblyId>false</appendAssemblyId> - </configuration> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - </project> diff --git a/checkstyle.xml b/checkstyle.xml index 5b25fe2cb5aca5cf53407c195307c82f6af0e911..eda4a4716365eb7cd15300223261375eea4a8023 100644 --- a/checkstyle.xml +++ b/checkstyle.xml @@ -134,7 +134,6 @@ <!-- Checks for common coding problems --> <!-- See http://checkstyle.sf.net/config_coding.html --> <!-- module name="AvoidInlineConditionals"/--> - <module name="DoubleCheckedLocking"/> <module name="EmptyStatement"/> <module name="EqualsHashCode"/> <module name="HiddenField"> diff --git a/couchbase/pom.xml b/couchbase/pom.xml index ed5b27e142f5c4b0789341749d943c11fe612505..a3a6dc21713190b3da96f996d05936febb02fea6 100644 --- a/couchbase/pom.xml +++ b/couchbase/pom.xml @@ -3,8 +3,9 @@ <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.yahoo.ycsb</groupId> - <artifactId>root</artifactId> + <artifactId>binding-parent</artifactId> <version>0.2.0-SNAPSHOT</version> + <relativePath>../binding-parent</relativePath> </parent> <artifactId>couchbase-binding</artifactId> @@ -21,12 +22,17 @@ <groupId>com.yahoo.ycsb</groupId> <artifactId>core</artifactId> <version>${project.version}</version> + <scope>provided</scope> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.2.2</version> </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + </dependency> </dependencies> <repositories> @@ -36,29 +42,4 @@ <url>http://files.couchbase.com/maven2/</url> </repository> </repositories> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <version>${maven.assembly.version}</version> - <configuration> - <descriptorRefs> - <descriptorRef>jar-with-dependencies</descriptorRef> - </descriptorRefs> - <appendAssemblyId>false</appendAssemblyId> - </configuration> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - </project> diff --git a/distribution/pom.xml b/distribution/pom.xml index 81f2638f549a4d4a96b0cf969cae9c6c844c7b41..4b732f929f70ba2174a80e07ba544b88cf362f14 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -17,7 +17,88 @@ It is only used by the build process and does not contain any real code of itself. </description> - + <dependencies> + <dependency> + <groupId>com.yahoo.ycsb</groupId> + <artifactId>core</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>com.yahoo.ycsb</groupId> + <artifactId>accumulo-binding</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>com.yahoo.ycsb</groupId> + <artifactId>cassandra-binding</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>com.yahoo.ycsb</groupId> + <artifactId>couchbase-binding</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>com.yahoo.ycsb</groupId> + <artifactId>dynamodb-binding</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>com.yahoo.ycsb</groupId> + <artifactId>elasticsearch-binding</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>com.yahoo.ycsb</groupId> + <artifactId>gemfire-binding</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>com.yahoo.ycsb</groupId> + <artifactId>hbase-binding</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>com.yahoo.ycsb</groupId> + <artifactId>hypertable-binding</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>com.yahoo.ycsb</groupId> + <artifactId>infinispan-binding</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>com.yahoo.ycsb</groupId> + <artifactId>jdbc-binding</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>com.yahoo.ycsb</groupId> + <artifactId>mongodb-binding</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>com.yahoo.ycsb</groupId> + <artifactId>orientdb-binding</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>com.yahoo.ycsb</groupId> + <artifactId>redis-binding</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>com.yahoo.ycsb</groupId> + <artifactId>tarantool-binding</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>com.yahoo.ycsb</groupId> + <artifactId>voldemort-binding</artifactId> + <version>${project.version}</version> + </dependency> + </dependencies> <build> <plugins> <plugin> diff --git a/distribution/src/main/assembly/distribution.xml b/distribution/src/main/assembly/distribution.xml index 4715e71fc1801fda2e315686530e263330bf2995..e75302a87b600dbae486211708be17f01a6b73d6 100644 --- a/distribution/src/main/assembly/distribution.xml +++ b/distribution/src/main/assembly/distribution.xml @@ -21,6 +21,9 @@ <directory>../bin</directory> <outputDirectory>bin</outputDirectory> <fileMode>0755</fileMode> + <includes> + <include>ycsb</include> + </includes> </fileSet> <fileSet> <directory>../workloads</directory> @@ -28,36 +31,52 @@ <fileMode>0644</fileMode> </fileSet> </fileSets> + <dependencySets> + <dependencySet> + <outputDirectory>lib</outputDirectory> + <includes> + <include>com.yahoo.ycsb:core</include> + </includes> + <scope>runtime</scope> + <useProjectArtifact>false</useProjectArtifact> + <useProjectAttachments>false</useProjectAttachments> + <useTransitiveDependencies>true</useTransitiveDependencies> + <useTransitiveFiltering>true</useTransitiveFiltering> + </dependencySet> + </dependencySets> <moduleSets> <moduleSet> <useAllReactorProjects>true</useAllReactorProjects> <includeSubModules>true</includeSubModules> + <excludes> + <exclude>com.yahoo.ycsb:core</exclude> + <exclude>com.yahoo.ycsb:binding-parent</exclude> + <exclude>com.yahoo.ycsb:datastore-specific-descriptor</exclude> + <exclude>com.yahoo.ycsb:ycsb</exclude> + <exclude>com.yahoo.ycsb:root</exclude> + </excludes> <sources> - <includeModuleDirectory>true</includeModuleDirectory> - <fileSets> <fileSet> - <directory>.</directory> - <fileMode>0644</fileMode> - <includes> - <include>README</include> + <includes> + <include>README.md</include> </includes> </fileSet> <fileSet> - <directory>src/main/conf</directory> <outputDirectory>conf</outputDirectory> - <fileMode>0644</fileMode> + <directory>src/main/conf</directory> </fileSet> - <fileSet> + <fileSet> <outputDirectory>lib</outputDirectory> - <directory>target</directory> - <includes> - <include>*.jar</include> - </includes> - <fileMode>0644</fileMode> + <directory>target/dependency</directory> </fileSet> </fileSets> </sources> + <binaries> + <includeDependencies>false</includeDependencies> + <outputDirectory>${module.artifactId}/lib</outputDirectory> + <unpack>false</unpack> + </binaries> </moduleSet> </moduleSets> </assembly> diff --git a/dynamodb/pom.xml b/dynamodb/pom.xml index f0aad16b0271ed2faf6fc6f61d15298f910ac19d..5d5aed969490f69f20823515f7d354949f1619b0 100644 --- a/dynamodb/pom.xml +++ b/dynamodb/pom.xml @@ -3,8 +3,9 @@ <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.yahoo.ycsb</groupId> - <artifactId>root</artifactId> + <artifactId>binding-parent</artifactId> <version>0.2.0-SNAPSHOT</version> + <relativePath>../binding-parent</relativePath> </parent> <artifactId>dynamodb-binding</artifactId> @@ -25,31 +26,7 @@ <groupId>com.yahoo.ycsb</groupId> <artifactId>core</artifactId> <version>${project.version}</version> + <scope>provided</scope> </dependency> </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <version>${maven.assembly.version}</version> - <configuration> - <descriptorRefs> - <descriptorRef>jar-with-dependencies</descriptorRef> - </descriptorRefs> - <appendAssemblyId>false</appendAssemblyId> - </configuration> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - </project> diff --git a/elasticsearch/pom.xml b/elasticsearch/pom.xml index 307e68672992a65a5e4dd2369b63318fb5f76d2b..3c039252fbccdec3ec79553b7fa5bae9b12afa1a 100644 --- a/elasticsearch/pom.xml +++ b/elasticsearch/pom.xml @@ -3,8 +3,9 @@ <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.yahoo.ycsb</groupId> - <artifactId>root</artifactId> + <artifactId>binding-parent</artifactId> <version>0.2.0-SNAPSHOT</version> + <relativePath>../binding-parent</relativePath> </parent> <artifactId>elasticsearch-binding</artifactId> @@ -16,7 +17,7 @@ <repositories> <repository> <id>sonatype-nexus-snapshots</id> - <name>Sonatype Nexus Snapshots</name> + <name>Sonatype releases</name> <url>https://oss.sonatype.org/content/repositories/releases</url> </repository> </repositories> @@ -25,6 +26,7 @@ <groupId>com.yahoo.ycsb</groupId> <artifactId>core</artifactId> <version>${project.version}</version> + <scope>provided</scope> </dependency> <dependency> <groupId>org.elasticsearch</groupId> @@ -37,35 +39,5 @@ <version>6.1.1</version> <scope>test</scope> </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-nop</artifactId> - <version>1.6.4</version> - </dependency> </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <version>${maven.assembly.version}</version> - <configuration> - <descriptorRefs> - <descriptorRef>jar-with-dependencies</descriptorRef> - </descriptorRefs> - <appendAssemblyId>false</appendAssemblyId> - </configuration> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - </project> diff --git a/gemfire/pom.xml b/gemfire/pom.xml index 42d6e0c9d01f2ba2e0d95d9b3172f02b2d1aff82..0aca71a342d69de05ae34fb546d6c9e9984dee60 100644 --- a/gemfire/pom.xml +++ b/gemfire/pom.xml @@ -3,8 +3,9 @@ <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.yahoo.ycsb</groupId> - <artifactId>root</artifactId> + <artifactId>binding-parent</artifactId> <version>0.2.0-SNAPSHOT</version> + <relativePath>../binding-parent</relativePath> </parent> <artifactId>gemfire-binding</artifactId> @@ -21,6 +22,7 @@ <groupId>com.yahoo.ycsb</groupId> <artifactId>core</artifactId> <version>${project.version}</version> + <scope>provided</scope> </dependency> </dependencies> @@ -30,29 +32,4 @@ <url>http://dist.gemstone.com.s3.amazonaws.com/maven/release</url> </repository> </repositories> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <version>${maven.assembly.version}</version> - <configuration> - <descriptorRefs> - <descriptorRef>jar-with-dependencies</descriptorRef> - </descriptorRefs> - <appendAssemblyId>false</appendAssemblyId> - </configuration> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - </project> diff --git a/hbase/pom.xml b/hbase/pom.xml index 044b0f2999eeca2c55aa5afe78b7178302efdb19..3a8d2d7cd26ced392ae931ee7f7a46d51653aaf3 100644 --- a/hbase/pom.xml +++ b/hbase/pom.xml @@ -3,8 +3,9 @@ <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.yahoo.ycsb</groupId> - <artifactId>root</artifactId> + <artifactId>binding-parent</artifactId> <version>0.2.0-SNAPSHOT</version> + <relativePath>../binding-parent/</relativePath> </parent> <artifactId>hbase-binding</artifactId> @@ -20,31 +21,7 @@ <groupId>com.yahoo.ycsb</groupId> <artifactId>core</artifactId> <version>${project.version}</version> + <scope>provided</scope> </dependency> </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <version>${maven.assembly.version}</version> - <configuration> - <descriptorRefs> - <descriptorRef>jar-with-dependencies</descriptorRef> - </descriptorRefs> - <appendAssemblyId>false</appendAssemblyId> - </configuration> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - </project> diff --git a/hypertable/pom.xml b/hypertable/pom.xml index c2b1211eb25a5aef101c2a4d8667c30fb6d2d44e..8ba33a06fac8fca52cd39defaf2461d3f1374baa 100644 --- a/hypertable/pom.xml +++ b/hypertable/pom.xml @@ -3,8 +3,9 @@ <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.yahoo.ycsb</groupId> - <artifactId>root</artifactId> + <artifactId>binding-parent</artifactId> <version>0.2.0-SNAPSHOT</version> + <relativePath>../binding-parent</relativePath> </parent> <artifactId>hypertable-binding</artifactId> @@ -16,6 +17,7 @@ <groupId>com.yahoo.ycsb</groupId> <artifactId>core</artifactId> <version>${project.version}</version> + <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.thrift</groupId> @@ -35,29 +37,4 @@ <url>http://clojars.org/repo</url> </repository> </repositories> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <version>${maven.assembly.version}</version> - <configuration> - <descriptorRefs> - <descriptorRef>jar-with-dependencies</descriptorRef> - </descriptorRefs> - <appendAssemblyId>false</appendAssemblyId> - </configuration> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - </project> diff --git a/infinispan/pom.xml b/infinispan/pom.xml index 2f292ccf395428ab3aff3b6fc54e694a39a8f4d2..8ce1064707ff130150a7c4cb286c9238aedcecf8 100644 --- a/infinispan/pom.xml +++ b/infinispan/pom.xml @@ -3,8 +3,9 @@ <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.yahoo.ycsb</groupId> - <artifactId>root</artifactId> + <artifactId>binding-parent</artifactId> <version>0.2.0-SNAPSHOT</version> + <relativePath>../binding-parent</relativePath> </parent> <artifactId>infinispan-binding</artifactId> @@ -21,31 +22,7 @@ <groupId>com.yahoo.ycsb</groupId> <artifactId>core</artifactId> <version>${project.version}</version> + <scope>provided</scope> </dependency> </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <version>${maven.assembly.version}</version> - <configuration> - <descriptorRefs> - <descriptorRef>jar-with-dependencies</descriptorRef> - </descriptorRefs> - <appendAssemblyId>false</appendAssemblyId> - </configuration> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - </project> diff --git a/jdbc/pom.xml b/jdbc/pom.xml index ab8fc73524f932261d22b0a68e58575aa9923f59..a5a7a340cc3609070a3675107e76534d5c623d77 100644 --- a/jdbc/pom.xml +++ b/jdbc/pom.xml @@ -3,8 +3,9 @@ <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.yahoo.ycsb</groupId> - <artifactId>root</artifactId> + <artifactId>binding-parent</artifactId> <version>0.2.0-SNAPSHOT</version> + <relativePath>../binding-parent</relativePath> </parent> <artifactId>jdbc-binding</artifactId> @@ -21,31 +22,7 @@ <groupId>com.yahoo.ycsb</groupId> <artifactId>core</artifactId> <version>${project.version}</version> + <scope>provided</scope> </dependency> </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <version>${maven.assembly.version}</version> - <configuration> - <descriptorRefs> - <descriptorRef>jar-with-dependencies</descriptorRef> - </descriptorRefs> - <appendAssemblyId>false</appendAssemblyId> - </configuration> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - </project> diff --git a/mapkeeper/pom.xml b/mapkeeper/pom.xml index 4d51631a0bd42f56b3dd5d8e3dd6cb885e25ce98..31ad4d78f92872fbc12449da978ea9ac2e855b28 100644 --- a/mapkeeper/pom.xml +++ b/mapkeeper/pom.xml @@ -3,8 +3,9 @@ <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.yahoo.ycsb</groupId> - <artifactId>root</artifactId> + <artifactId>binding-parent</artifactId> <version>0.2.0-SNAPSHOT</version> + <relativePath>../binding-parent</relativePath> </parent> <artifactId>mapkeeper-binding</artifactId> @@ -21,33 +22,9 @@ <groupId>com.yahoo.ycsb</groupId> <artifactId>core</artifactId> <version>${project.version}</version> + <scope>provided</scope> </dependency> </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <version>${maven.assembly.version}</version> - <configuration> - <descriptorRefs> - <descriptorRef>jar-with-dependencies</descriptorRef> - </descriptorRefs> - <appendAssemblyId>false</appendAssemblyId> - </configuration> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - <repositories> <repository> <id>mapkeeper-releases</id> diff --git a/mongodb/pom.xml b/mongodb/pom.xml index 96f6e6582e1f3ed577f8721f8446c8f93d950310..d22f2e3f9d1eb17fea2f257461aba3882ac23f2f 100644 --- a/mongodb/pom.xml +++ b/mongodb/pom.xml @@ -6,8 +6,9 @@ <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.yahoo.ycsb</groupId> - <artifactId>root</artifactId> + <artifactId>binding-parent</artifactId> <version>0.2.0-SNAPSHOT</version> + <relativePath>../binding-parent</relativePath> </parent> <artifactId>mongodb-binding</artifactId> @@ -29,11 +30,13 @@ <groupId>com.yahoo.ycsb</groupId> <artifactId>core</artifactId> <version>${project.version}</version> + <scope>provided</scope> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.1.2</version> + <scope>runtime</scope> </dependency> <dependency> @@ -43,30 +46,6 @@ <scope>test</scope> </dependency> </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <version>${maven.assembly.version}</version> - <configuration> - <descriptorRefs> - <descriptorRef>jar-with-dependencies</descriptorRef> - </descriptorRefs> - <appendAssemblyId>false</appendAssemblyId> - </configuration> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> <repositories> <repository> <releases> diff --git a/nosqldb/pom.xml b/nosqldb/pom.xml index f1e02c86bf0b0433855284369ec5d42814480e20..054e43ba9aeead2fcdc2dad8e959f5b24d1a13c3 100644 --- a/nosqldb/pom.xml +++ b/nosqldb/pom.xml @@ -3,8 +3,9 @@ <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.yahoo.ycsb</groupId> - <artifactId>root</artifactId> + <artifactId>binding-parent</artifactId> <version>0.2.0-SNAPSHOT</version> + <relativePath>../binding-parent</relativePath> </parent> <artifactId>nosqldb-binding</artifactId> @@ -20,37 +21,7 @@ <groupId>com.yahoo.ycsb</groupId> <artifactId>core</artifactId> <version>${project.version}</version> + <scope>provided</scope> </dependency> </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <version>${maven.assembly.version}</version> - <configuration> - <descriptorRefs> - <descriptorRef>jar-with-dependencies</descriptorRef> - </descriptorRefs> - <appendAssemblyId>false</appendAssemblyId> - </configuration> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - - <repositories> - <repository> - <id>central</id> - <url>file:///Users/michi/.m2/repository</url> - </repository> - </repositories> </project> diff --git a/orientdb/pom.xml b/orientdb/pom.xml index c11a063b0131d80f40f728a09425600ec64b8ad2..563004ba428d782ee57b8f91a375309891b3687e 100644 --- a/orientdb/pom.xml +++ b/orientdb/pom.xml @@ -3,8 +3,9 @@ <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.yahoo.ycsb</groupId> - <artifactId>root</artifactId> + <artifactId>binding-parent</artifactId> <version>0.2.0-SNAPSHOT</version> + <relativePath>../binding-parent</relativePath> </parent> <artifactId>orientdb-binding</artifactId> @@ -22,6 +23,7 @@ <groupId>com.yahoo.ycsb</groupId> <artifactId>core</artifactId> <version>${project.version}</version> + <scope>provided</scope> </dependency> <dependency> <groupId>com.orientechnologies</groupId> @@ -29,29 +31,4 @@ <version>1.0.1</version> </dependency> </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <version>${maven.assembly.version}</version> - <configuration> - <descriptorRefs> - <descriptorRef>jar-with-dependencies</descriptorRef> - </descriptorRefs> - <appendAssemblyId>false</appendAssemblyId> - </configuration> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - </project> diff --git a/pom.xml b/pom.xml index 8194600197e0d1efa5eb37cdf3fda225fcdc0326..1231c4e7d38e4310c834e8ae0028692e88d8ced1 100644 --- a/pom.xml +++ b/pom.xml @@ -19,37 +19,40 @@ <tag>master</tag> <url>https://github.com/brianfrankcooper/YCSB</url> </scm> - <dependencies> - <!-- voldemort --> - <dependency> - <groupId>checkstyle</groupId> - <artifactId>checkstyle</artifactId> - <version>5.0</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> + <dependencies> + <!-- voldemort --> + <dependency> + <groupId>checkstyle</groupId> + <artifactId>checkstyle</artifactId> + <version>5.0</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.2.1</maven.assembly.version> + <maven.assembly.version>2.5.5</maven.assembly.version> + <maven.dependency.version>2.10</maven.dependency.version> <hbase.version>1.0.0</hbase.version> <accumulo.version>1.6.0</accumulo.version> <cassandra.version>1.2.9</cassandra.version> @@ -71,26 +74,28 @@ </properties> <modules> - <!--module>build-tools</module--> - <module>cassandra</module> + <!-- our internals --> <module>core</module> - <module>hbase</module> - <module>hypertable</module> + <module>binding-parent</module> + <!-- all the datastore bindings, lex sorted please --> <module>accumulo</module> + <module>cassandra</module> + <module>couchbase</module> + <module>distribution</module> <module>dynamodb</module> <module>elasticsearch</module> <module>gemfire</module> + <module>hbase</module> + <module>hypertable</module> <module>infinispan</module> <module>jdbc</module> + <!--<module>mapkeeper</module>--> <module>mongodb</module> + <!--module>nosqldb</module--> <module>orientdb</module> <module>redis</module> - <module>voldemort</module> - <!--<module>mapkeeper</module>--> - <!--module>nosqldb</module--> - <module>couchbase</module> <module>tarantool</module> - <module>distribution</module> + <module>voldemort</module> </modules> <build> @@ -98,7 +103,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> - <version>2.3.2</version> + <version>3.3</version> <configuration> <source>1.6</source> <target>1.6</target> @@ -107,7 +112,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> - <version>2.6</version> + <version>2.15</version> <configuration> <consoleOutput>true</consoleOutput> <configLocation>checkstyle.xml</configLocation> diff --git a/redis/pom.xml b/redis/pom.xml index ee06e31dc2ea74a2aac825637fad354c39d91e34..739d6ce57788f3a65e9b6f2f150d767237ab75cb 100644 --- a/redis/pom.xml +++ b/redis/pom.xml @@ -3,8 +3,9 @@ <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.yahoo.ycsb</groupId> - <artifactId>root</artifactId> + <artifactId>binding-parent</artifactId> <version>0.2.0-SNAPSHOT</version> + <relativePath>../binding-parent</relativePath> </parent> <artifactId>redis-binding</artifactId> @@ -21,32 +22,7 @@ <groupId>com.yahoo.ycsb</groupId> <artifactId>core</artifactId> <version>${project.version}</version> + <scope>provided</scope> </dependency> </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <version>${maven.assembly.version}</version> - <configuration> - <descriptorRefs> - <descriptorRef>jar-with-dependencies</descriptorRef> - </descriptorRefs> - <appendAssemblyId>false</appendAssemblyId> - </configuration> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - - </project> diff --git a/tarantool/pom.xml b/tarantool/pom.xml index 90514f3e1315b26094cba806cd687f297996a955..052439df8afa6f92312568d6231639a90dcc14da 100644 --- a/tarantool/pom.xml +++ b/tarantool/pom.xml @@ -4,8 +4,9 @@ <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.yahoo.ycsb</groupId> - <artifactId>root</artifactId> + <artifactId>binding-parent</artifactId> <version>0.2.0-SNAPSHOT</version> + <relativePath>../binding-parent/</relativePath> </parent> <artifactId>tarantool-binding</artifactId> @@ -22,6 +23,7 @@ <groupId>com.yahoo.ycsb</groupId> <artifactId>core</artifactId> <version>${project.version}</version> + <scope>provided</scope> </dependency> </dependencies> @@ -33,27 +35,4 @@ </repository> </repositories> - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <version>${maven.assembly.version}</version> - <configuration> - <descriptorRefs> - <descriptorRef>jar-with-dependencies</descriptorRef> - </descriptorRefs> - <appendAssemblyId>false</appendAssemblyId> - </configuration> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> </project> diff --git a/voldemort/pom.xml b/voldemort/pom.xml index 8313b5c92ba94633566c8cebd081a5359b303cb2..da071d8500b02fb559a2bd7942e9514e576629f8 100644 --- a/voldemort/pom.xml +++ b/voldemort/pom.xml @@ -4,8 +4,9 @@ <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.yahoo.ycsb</groupId> - <artifactId>root</artifactId> + <artifactId>binding-parent</artifactId> <version>0.2.0-SNAPSHOT</version> + <relativePath>../binding-parent</relativePath> </parent> <artifactId>voldemort-binding</artifactId> @@ -27,6 +28,7 @@ <groupId>com.yahoo.ycsb</groupId> <artifactId>core</artifactId> <version>${project.version}</version> + <scope>provided</scope> </dependency> </dependencies> @@ -36,30 +38,4 @@ <url>http://clojars.org/repo</url> </repository> </repositories> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <version>${maven.assembly.version}</version> - <configuration> - <descriptorRefs> - <descriptorRef>jar-with-dependencies</descriptorRef> - </descriptorRefs> - <appendAssemblyId>false</appendAssemblyId> - </configuration> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - - </project>