Bump honeycomb version to 1.18.04-SNAPSHOT
[honeycomb.git] / infra / it / memory-benchmark / pom.xml
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.04-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     <!-- Static version, we don't want it to be deployed anyway-->
33     <version>1.0.0</version>
34     <properties>
35         <commons-csv.version>1.4</commons-csv.version>
36         <honeycomb.version>1.18.04-SNAPSHOT</honeycomb.version>
37         <maven.groovy.version>2.0</maven.groovy.version>
38         <groovy.version>2.4.7</groovy.version>
39         <groovy.eclipse.compiler.version>2.9.2-01</groovy.eclipse.compiler.version>
40         <groovy.eclipse.batch.version>2.4.3-01</groovy.eclipse.batch.version>
41     </properties>
42     <!-- to be runnable from command line -->
43     <packaging>jar</packaging>
44
45     <dependencies>
46         <dependency>
47             <groupId>io.fd.honeycomb.it</groupId>
48             <artifactId>memory-benchmark-api</artifactId>
49             <version>${honeycomb.version}</version>
50         </dependency>
51
52         <dependency>
53             <groupId>io.fd.honeycomb</groupId>
54             <artifactId>minimal-distribution</artifactId>
55             <version>${honeycomb.version}</version>
56         </dependency>
57
58         <dependency>
59             <groupId>io.fd.honeycomb.it</groupId>
60             <artifactId>management</artifactId>
61             <version>${honeycomb.version}</version>
62         </dependency>
63
64         <dependency>
65             <groupId>org.apache.commons</groupId>
66             <artifactId>commons-csv</artifactId>
67             <version>${commons-csv.version}</version>
68         </dependency>
69
70         <dependency>
71             <groupId>org.codehaus.groovy</groupId>
72             <artifactId>groovy-all</artifactId>
73             <version>${groovy.version}</version>
74         </dependency>
75
76         <dependency>
77             <groupId>junit</groupId>
78             <artifactId>junit</artifactId>
79             <scope>test</scope>
80         </dependency>
81         <dependency>
82             <groupId>org.mockito</groupId>
83             <artifactId>mockito-core</artifactId>
84             <scope>test</scope>
85         </dependency>
86     </dependencies>
87
88     <build>
89         <plugins>
90
91             <!-- Skip deploy -->
92             <plugin>
93                 <groupId>org.apache.maven.plugins</groupId>
94                 <artifactId>maven-deploy-plugin</artifactId>
95                 <configuration>
96                     <skip>true</skip>
97                 </configuration>
98             </plugin>
99
100             <!-- skips test by default but compile them -->
101             <plugin>
102                 <groupId>org.apache.maven.plugins</groupId>
103                 <artifactId>maven-surefire-plugin</artifactId>
104                 <version>2.19.1</version>
105                 <configuration>
106                     <skipTests>true</skipTests>
107                 </configuration>
108             </plugin>
109
110             <!-- assemble jar with all dependencies and test classes -->
111             <plugin>
112                 <artifactId>maven-assembly-plugin</artifactId>
113                 <version>2.3</version>
114                 <configuration>
115                     <descriptor>src/main/assembly/assembly.xml</descriptor>
116                 </configuration>
117                 <executions>
118                     <execution>
119                         <id>make-assembly</id>
120                         <phase>package</phase>
121                         <goals>
122                             <goal>single</goal>
123                         </goals>
124                     </execution>
125                 </executions>
126             </plugin>
127
128             <!-- generate scripts for benchmarks -->
129             <plugin>
130                 <groupId>org.codehaus.gmaven</groupId>
131                 <artifactId>groovy-maven-plugin</artifactId>
132                 <executions>
133                     <!-- script for on-rest memory benchmark -->
134                     <execution>
135                         <id>generate-on-rest-benchmark-script</id>
136                         <phase>package</phase>
137                         <goals>
138                             <goal>execute</goal>
139                         </goals>
140                         <!-- 0 data samples == empty config file, therefore same as honeycomb on rest -->
141                         <configuration>
142                             <source>
143                             io.fd.honeycomb.benchmark.script.MemoryBenchmarkStartupScriptGenerator.generateWithDataScript(project, log, "memory-benchmark-on-rest-out", 0)
144                             </source>
145                         </configuration>
146                     </execution>
147                     <!-- script for memory benchmark with 1000 nodes in config data-->
148                     <execution>
149                         <id>generate-with-data-1000-benchmark-script</id>
150                         <phase>package</phase>
151                         <goals>
152                             <goal>execute</goal>
153                         </goals>
154                         <configuration>
155                             <source>
156                             io.fd.honeycomb.benchmark.script.MemoryBenchmarkStartupScriptGenerator.generateWithDataScript(project, log, "memory-benchmark-with-data-out", 1000)
157                             </source>
158                         </configuration>
159                     </execution>
160                     <!-- script for memory benchmark with 10000 nodes in config data-->
161                     <execution>
162                         <id>generate-with-data-10000-benchmark-script</id>
163                         <phase>package</phase>
164                         <goals>
165                             <goal>execute</goal>
166                         </goals>
167                         <configuration>
168                             <source>
169                             io.fd.honeycomb.benchmark.script.MemoryBenchmarkStartupScriptGenerator.generateWithDataScript(project, log, "memory-benchmark-with-data-out", 10000)
170                             </source>
171                         </configuration>
172                     </execution>
173                 </executions>
174                 <dependencies>
175                     <dependency>
176                         <groupId>io.fd.honeycomb.it</groupId>
177                         <artifactId>benchmark-scripts</artifactId>
178                         <version>1.18.04-SNAPSHOT</version>
179                     </dependency>
180                 </dependencies>
181             </plugin>
182         </plugins>
183     </build>
184 </project>