pom.xml revision 04ccd56d
1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3  ~ Copyright (c) 2016 Cisco and/or its affiliates.
4  ~
5  ~ Licensed under the Apache License, Version 2.0 (the "License");
6  ~ you may not use this file except in compliance with the License.
7  ~ You may obtain a copy of the License at:
8  ~
9  ~     http://www.apache.org/licenses/LICENSE-2.0
10  ~
11  ~ Unless required by applicable law or agreed to in writing, software
12  ~ distributed under the License is distributed on an "AS IS" BASIS,
13  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  ~ See the License for the specific language governing permissions and
15  ~ limitations under the License.
16  -->
17
18<project xmlns="http://maven.apache.org/POM/4.0.0"
19         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
20         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
21    <!-- Parent set as common script to use all groovy dependency versions, etc-->
22    <parent>
23        <groupId>io.fd.honeycomb.common</groupId>
24        <artifactId>honeycomb-parent</artifactId>
25        <version>1.18.07-SNAPSHOT</version>
26        <relativePath>../../../common/honeycomb-parent</relativePath>
27    </parent>
28    <modelVersion>4.0.0</modelVersion>
29
30    <groupId>io.fd.honeycomb.it</groupId>
31    <artifactId>memory-benchmark</artifactId>
32    <name>${project.artifactId}</name>
33    <!-- Static version, we don't want it to be deployed anyway-->
34    <version>1.0.0</version>
35    <properties>
36        <commons-csv.version>1.4</commons-csv.version>
37        <honeycomb.version>1.18.07-SNAPSHOT</honeycomb.version>
38        <maven.groovy.version>2.0</maven.groovy.version>
39        <groovy.version>2.4.7</groovy.version>
40        <groovy.eclipse.compiler.version>2.9.2-01</groovy.eclipse.compiler.version>
41        <groovy.eclipse.batch.version>2.4.3-01</groovy.eclipse.batch.version>
42    </properties>
43    <!-- to be runnable from command line -->
44    <packaging>jar</packaging>
45
46    <dependencies>
47        <dependency>
48            <groupId>io.fd.honeycomb.it</groupId>
49            <artifactId>memory-benchmark-api</artifactId>
50            <version>${honeycomb.version}</version>
51        </dependency>
52
53        <dependency>
54            <groupId>io.fd.honeycomb</groupId>
55            <artifactId>minimal-distribution</artifactId>
56            <version>${honeycomb.version}</version>
57        </dependency>
58
59        <dependency>
60            <groupId>io.fd.honeycomb.it</groupId>
61            <artifactId>management</artifactId>
62            <version>${honeycomb.version}</version>
63        </dependency>
64
65        <dependency>
66            <groupId>org.apache.commons</groupId>
67            <artifactId>commons-csv</artifactId>
68            <version>${commons-csv.version}</version>
69        </dependency>
70
71        <dependency>
72            <groupId>org.codehaus.groovy</groupId>
73            <artifactId>groovy-all</artifactId>
74            <version>${groovy.version}</version>
75        </dependency>
76
77        <dependency>
78            <groupId>junit</groupId>
79            <artifactId>junit</artifactId>
80            <scope>test</scope>
81        </dependency>
82        <dependency>
83            <groupId>org.mockito</groupId>
84            <artifactId>mockito-core</artifactId>
85            <scope>test</scope>
86        </dependency>
87    </dependencies>
88
89    <build>
90        <plugins>
91
92            <!-- Skip deploy -->
93            <plugin>
94                <groupId>org.apache.maven.plugins</groupId>
95                <artifactId>maven-deploy-plugin</artifactId>
96                <configuration>
97                    <skip>true</skip>
98                </configuration>
99            </plugin>
100
101            <!-- skips test by default but compile them -->
102            <plugin>
103                <groupId>org.apache.maven.plugins</groupId>
104                <artifactId>maven-surefire-plugin</artifactId>
105                <version>2.19.1</version>
106                <configuration>
107                    <skipTests>true</skipTests>
108                </configuration>
109            </plugin>
110
111            <!-- assemble jar with all dependencies and test classes -->
112            <plugin>
113                <artifactId>maven-assembly-plugin</artifactId>
114                <version>2.3</version>
115                <configuration>
116                    <descriptor>src/main/assembly/assembly.xml</descriptor>
117                </configuration>
118                <executions>
119                    <execution>
120                        <id>make-assembly</id>
121                        <phase>package</phase>
122                        <goals>
123                            <goal>single</goal>
124                        </goals>
125                    </execution>
126                </executions>
127            </plugin>
128
129            <!-- generate scripts for benchmarks -->
130            <plugin>
131                <groupId>org.codehaus.gmaven</groupId>
132                <artifactId>groovy-maven-plugin</artifactId>
133                <executions>
134                    <!-- script for on-rest memory benchmark -->
135                    <execution>
136                        <id>generate-on-rest-benchmark-script</id>
137                        <phase>package</phase>
138                        <goals>
139                            <goal>execute</goal>
140                        </goals>
141                        <!-- 0 data samples == empty config file, therefore same as honeycomb on rest -->
142                        <configuration>
143                            <source>
144                            io.fd.honeycomb.benchmark.script.MemoryBenchmarkStartupScriptGenerator.generateWithDataScript(project, log, "memory-benchmark-on-rest-out", 0)
145                            </source>
146                        </configuration>
147                    </execution>
148                    <!-- script for memory benchmark with 1000 nodes in config data-->
149                    <execution>
150                        <id>generate-with-data-1000-benchmark-script</id>
151                        <phase>package</phase>
152                        <goals>
153                            <goal>execute</goal>
154                        </goals>
155                        <configuration>
156                            <source>
157                            io.fd.honeycomb.benchmark.script.MemoryBenchmarkStartupScriptGenerator.generateWithDataScript(project, log, "memory-benchmark-with-data-out", 1000)
158                            </source>
159                        </configuration>
160                    </execution>
161                    <!-- script for memory benchmark with 10000 nodes in config data-->
162                    <execution>
163                        <id>generate-with-data-10000-benchmark-script</id>
164                        <phase>package</phase>
165                        <goals>
166                            <goal>execute</goal>
167                        </goals>
168                        <configuration>
169                            <source>
170                            io.fd.honeycomb.benchmark.script.MemoryBenchmarkStartupScriptGenerator.generateWithDataScript(project, log, "memory-benchmark-with-data-out", 10000)
171                            </source>
172                        </configuration>
173                    </execution>
174                </executions>
175                <dependencies>
176                    <dependency>
177                        <groupId>io.fd.honeycomb.it</groupId>
178                        <artifactId>benchmark-scripts</artifactId>
179                        <version>1.18.07-SNAPSHOT</version>
180                    </dependency>
181                </dependencies>
182            </plugin>
183        </plugins>
184    </build>
185</project>