You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by pt...@apache.org on 2017/01/25 11:39:26 UTC
[4/6] ignite git commit: IGNITE-4212 Ignite Benchmarking
Simplification and Automation
IGNITE-4212 Ignite Benchmarking Simplification and Automation
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/eed9d669
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/eed9d669
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/eed9d669
Branch: refs/heads/ignite-2.0
Commit: eed9d669353d51774afdac6d99b01ebd569b8708
Parents: 128ba07
Author: oleg-ostanin <oo...@gridgain.com>
Authored: Wed Jan 25 14:08:00 2017 +0300
Committer: Anton Vinogradov <av...@apache.org>
Committed: Wed Jan 25 14:08:00 2017 +0300
----------------------------------------------------------------------
DEVNOTES.txt | 3 +
assembly/dependencies-fabric-lgpl.xml | 1 +
assembly/dependencies-fabric.xml | 1 +
modules/yardstick/DEVNOTES.txt | 16 +++
modules/yardstick/README.txt | 10 +-
modules/yardstick/pom-standalone.xml | 209 +++++++++++++++++++++++++++++
modules/yardstick/pom.xml | 10 +-
pom.xml | 95 ++++++++++++-
8 files changed, 342 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/eed9d669/DEVNOTES.txt
----------------------------------------------------------------------
diff --git a/DEVNOTES.txt b/DEVNOTES.txt
index e920b79..6a275fc 100644
--- a/DEVNOTES.txt
+++ b/DEVNOTES.txt
@@ -12,6 +12,9 @@ With LGPL dependencies:
With LGPL dependencies and Scala 2.10:
mvn clean package -DskipTests -Prelease,lgpl -Dignite.edition=fabric-lgpl -Dscala-2.10
+With LGPL dependencies and Scala 2.10 and Ignite-Yardstick:
+ mvn clean package -DskipTests -Prelease,lgpl,yardstick -Dignite.edition=fabric-lgpl -Dscala-2.10
+
With Apache Ignite.NET:
Build Apache Ignite.NET as described at modules/platforms/dotnet/DEVNOTES.txt.
http://git-wip-us.apache.org/repos/asf/ignite/blob/eed9d669/assembly/dependencies-fabric-lgpl.xml
----------------------------------------------------------------------
diff --git a/assembly/dependencies-fabric-lgpl.xml b/assembly/dependencies-fabric-lgpl.xml
index 82f63d8..6d547c4 100644
--- a/assembly/dependencies-fabric-lgpl.xml
+++ b/assembly/dependencies-fabric-lgpl.xml
@@ -133,6 +133,7 @@
<exclude>org.apache.ignite:ignite-appserver-test</exclude>
<exclude>org.apache.ignite:ignite-websphere-test</exclude>
<exclude>org.apache.ignite:ignite-cassandra</exclude>
+ <exclude>org.apache.ignite:ignite-yardstick</exclude>
</excludes>
<sources>
<includeModuleDirectory>true</includeModuleDirectory>
http://git-wip-us.apache.org/repos/asf/ignite/blob/eed9d669/assembly/dependencies-fabric.xml
----------------------------------------------------------------------
diff --git a/assembly/dependencies-fabric.xml b/assembly/dependencies-fabric.xml
index 63e6ac8..d4000d6 100644
--- a/assembly/dependencies-fabric.xml
+++ b/assembly/dependencies-fabric.xml
@@ -136,6 +136,7 @@
<exclude>org.apache.ignite:ignite-appserver-test</exclude>
<exclude>org.apache.ignite:ignite-websphere-test</exclude>
<exclude>org.apache.ignite:ignite-cassandra</exclude>
+ <exclude>org.apache.ignite:ignite-yardstick</exclude>
</excludes>
<sources>
<includeModuleDirectory>true</includeModuleDirectory>
http://git-wip-us.apache.org/repos/asf/ignite/blob/eed9d669/modules/yardstick/DEVNOTES.txt
----------------------------------------------------------------------
diff --git a/modules/yardstick/DEVNOTES.txt b/modules/yardstick/DEVNOTES.txt
new file mode 100644
index 0000000..6921243
--- /dev/null
+++ b/modules/yardstick/DEVNOTES.txt
@@ -0,0 +1,16 @@
+Yardstick Ignite Maven Build Instructions
+=========================================
+
+Yardstick can be build from standalone sources using following maven command:
+
+mvn clean package
+
+Artifacts can be found in /target/assembly directory.
+
+To build yardstick from Apache Ignite sources use:
+
+mvn clean package -Pyardstick -pl modules/yardstick -am -DskipTests
+
+in Apache Ignite root directory
+
+Artifacts can be found in modules/yardstick/target/assembly directory.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/eed9d669/modules/yardstick/README.txt
----------------------------------------------------------------------
diff --git a/modules/yardstick/README.txt b/modules/yardstick/README.txt
index 0b8e678..353ddd8 100644
--- a/modules/yardstick/README.txt
+++ b/modules/yardstick/README.txt
@@ -8,7 +8,7 @@ Visit Yardstick Repository (https://github.com/gridgain/yardstick) for detailed
The documentation below describes configuration parameters in addition to standard Yardstick parameters.
-Installation
+Building from Ignite sources
============
1. Create a local clone of Ignite repository
2. Run
@@ -17,6 +17,14 @@ mvn package
command for Yardstick Ignite POM
+Building from standalone sources
+=====================
+Run
+
+mvn package
+
+command for Yardstick Ignite POM
+
Provided Benchmarks
===================
The following benchmarks are provided:
http://git-wip-us.apache.org/repos/asf/ignite/blob/eed9d669/modules/yardstick/pom-standalone.xml
----------------------------------------------------------------------
diff --git a/modules/yardstick/pom-standalone.xml b/modules/yardstick/pom-standalone.xml
new file mode 100644
index 0000000..0bd5a0f
--- /dev/null
+++ b/modules/yardstick/pom-standalone.xml
@@ -0,0 +1,209 @@
+<?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.
+-->
+
+<!--
+ POM 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>org.apache.ignite</groupId>
+ <artifactId>ignite-yardstick</artifactId>
+ <version>to_be_replaced_by_ignite_version</version>
+ <url>http://ignite.apache.org</url>
+
+ <properties>
+ <yardstick.version>0.8.0</yardstick.version>
+ <spring.version>4.1.0.RELEASE</spring.version>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.ignite</groupId>
+ <artifactId>ignite-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.ignite</groupId>
+ <artifactId>ignite-spring</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.ignite</groupId>
+ <artifactId>ignite-indexing</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.ignite</groupId>
+ <artifactId>ignite-log4j</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.yardstickframework</groupId>
+ <artifactId>yardstick</artifactId>
+ <version>${yardstick.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.beust</groupId>
+ <artifactId>jcommander</artifactId>
+ <version>1.32</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-core</artifactId>
+ <version>${spring.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-beans</artifactId>
+ <version>${spring.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-context</artifactId>
+ <version>${spring.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-expression</artifactId>
+ <version>${spring.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-aop</artifactId>
+ <version>${spring.version}</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>com.mycila</groupId>
+ <artifactId>license-maven-plugin</artifactId>
+ <version>2.8</version>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.1</version>
+ <configuration>
+ <source>1.7</source>
+ <target>1.7</target>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>2.8</version>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>copy-dependencies</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>${basedir}/target/assembly/libs</outputDirectory>
+ <excludeTypes>pom</excludeTypes>
+ </configuration>
+ </execution>
+ <execution>
+ <id>unpack</id>
+ <phase>package</phase>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.yardstickframework</groupId>
+ <artifactId>yardstick</artifactId>
+ <version>${yardstick.version}</version>
+ <type>zip</type>
+ <classifier>resources</classifier>
+ <outputDirectory>${basedir}/target/assembly</outputDirectory>
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.4</version>
+ <configuration>
+ <outputDirectory>${basedir}/target/assembly/libs</outputDirectory>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.9.1</version>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>1.7</version>
+ <executions>
+ <execution>
+ <id>copy-yardstick-cfg-ignite</id>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <phase>validate</phase>
+ <configuration>
+ <target>
+ <copy todir="${basedir}/target/assembly/config">
+ <fileset dir="${basedir}/config" />
+ </copy>
+ </target>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>2.8.2</version>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/eed9d669/modules/yardstick/pom.xml
----------------------------------------------------------------------
diff --git a/modules/yardstick/pom.xml b/modules/yardstick/pom.xml
index 970348b..4c4d138 100644
--- a/modules/yardstick/pom.xml
+++ b/modules/yardstick/pom.xml
@@ -36,6 +36,7 @@
<properties>
<yardstick.version>0.8.0</yardstick.version>
+ <spring.version>4.1.0.RELEASE</spring.version>
</properties>
<dependencies>
@@ -108,7 +109,6 @@
<build>
<plugins>
-
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
@@ -202,6 +202,14 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>2.8.2</version>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ </plugin>
</plugins>
</build>
</project>
http://git-wip-us.apache.org/repos/asf/ignite/blob/eed9d669/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 4be1bcb..790cd4b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -458,10 +458,103 @@
</profile>
<profile>
+ <id>yardstick</id>
+ <modules>
+ <module>modules/yardstick</module>
+ </modules>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>1.7</version>
+ <inherited>false</inherited>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.ignite</groupId>
+ <artifactId>ignite-tools</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+ <executions>
+ <execution>
+ <id>release-yardstick</id>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <phase>prepare-package</phase>
+ <configuration>
+ <target>
+ <mkdir dir="${basedir}/target/release-package/benchmarks" />
+
+ <copy todir="${basedir}/target/release-package/benchmarks/">
+ <fileset dir="${basedir}/modules/yardstick/target/assembly/"/>
+ </copy>
+
+ <!--todo: only required jars should be exported to /benchmarks/libs during compilation-->
+ <delete>
+ <fileset dir="${basedir}/target/release-package/benchmarks/libs/">
+ <include name="junit-*.jar" />
+ <include name="ignite-apache-license-gen-*.jar" />
+ <include name="hamcrest-core-*.jar" />
+ <include name="tools-*.jar" />
+ </fileset>
+ </delete>
+
+ <!--todo: config structure should be refactored to be the same at "sources" and "released sources"-->
+ <delete>
+ <fileset dir="${basedir}/target/release-package/benchmarks/config/">
+ <include name="*.*" />
+ <exclude name="benchmark.properties"/>
+ <exclude name="benchmark-multicast.properties"/>
+ <exclude name="ignite-base-config.xml"/>
+ <exclude name="ignite-localhost-config.xml"/>
+ <exclude name="ignite-multicast-config.xml"/>
+ </fileset>
+ </delete>
+
+ <mkdir dir="${basedir}/target/release-package/benchmarks/sources/src" />
+
+ <copy todir="${basedir}/target/release-package/benchmarks/sources/src/">
+ <fileset dir="${basedir}/modules/yardstick/src"/>
+ </copy>
+
+ <mkdir dir="${basedir}/target/release-package/benchmarks/sources/config" />
+
+ <copy todir="${basedir}/target/release-package/benchmarks/sources/config/">
+ <fileset dir="${basedir}/target/release-package/benchmarks/config"/>
+ </copy>
+
+ <copy file="${basedir}/modules/yardstick/pom-standalone.xml"
+ tofile="${basedir}/target/release-package/benchmarks/sources/pom.xml"/>
+
+ <replaceregexp byline="true">
+ <regexp pattern="to_be_replaced_by_ignite_version"/>
+ <substitution expression="${project.version}"/>
+ <fileset dir="${basedir}/target/release-package/benchmarks/sources/" >
+ <include name="pom.xml"/>
+ </fileset>
+ </replaceregexp>
+
+ <copy file="${basedir}/modules/yardstick/README.txt"
+ tofile="${basedir}/target/release-package/benchmarks/README.txt" overwrite="true">
+ </copy>
+
+ <copy file="${basedir}/modules/yardstick/DEVNOTES.txt"
+ tofile="${basedir}/target/release-package/benchmarks/sources/DEVNOTES.txt"/>
+ </target>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ <profile>
<id>benchmarks</id>
<modules>
<module>modules/benchmarks</module>
- <module>modules/yardstick</module>
</modules>
</profile>