You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ak...@apache.org on 2017/01/30 11:01:00 UTC

[02/16] 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-4436-2
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>