Honeycomb 1.19.04-RC2
[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.19.04-RC2</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.6</commons-csv.version>
37         <honeycomb.version>1.19.04-RC2</honeycomb.version>
38         <maven.groovy.version>1.6.2</maven.groovy.version>
39         <groovy.version>2.5.5</groovy.version>
40         <groovy.eclipse.compiler.version>3.3.0-01</groovy.eclipse.compiler.version>
41         <groovy.eclipse.batch.version>2.5.6-02</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             <type>pom</type>
76         </dependency>
77
78         <dependency>
79             <groupId>junit</groupId>
80             <artifactId>junit</artifactId>
81             <scope>test</scope>
82         </dependency>
83         <dependency>
84             <groupId>org.mockito</groupId>
85             <artifactId>mockito-core</artifactId>
86             <scope>test</scope>
87         </dependency>
88     </dependencies>
89
90     <build>
91         <plugins>
92
93             <!-- Skip deploy -->
94             <plugin>
95                 <groupId>org.apache.maven.plugins</groupId>
96                 <artifactId>maven-deploy-plugin</artifactId>
97                 <configuration>
98                     <skip>true</skip>
99                 </configuration>
100             </plugin>
101
102             <!-- skips test by default but compile them -->
103             <plugin>
104                 <groupId>org.apache.maven.plugins</groupId>
105                 <artifactId>maven-surefire-plugin</artifactId>
106                 <version>2.22.0</version>
107                 <configuration>
108                     <skipTests>true</skipTests>
109                     <!-- allow reflection for documentation -->
110                     <argLine>--illegal-access=permit</argLine>
111                 </configuration>
112             </plugin>
113
114             <!-- assemble jar with all dependencies and test classes -->
115             <plugin>
116                 <artifactId>maven-assembly-plugin</artifactId>
117                 <version>2.3</version>
118                 <configuration>
119                     <descriptor>src/main/assembly/assembly.xml</descriptor>
120                 </configuration>
121                 <executions>
122                     <execution>
123                         <id>make-assembly</id>
124                         <phase>package</phase>
125                         <goals>
126                             <goal>single</goal>
127                         </goals>
128                     </execution>
129                 </executions>
130             </plugin>
131
132             <!-- generate scripts for benchmarks -->
133             <plugin>
134                 <groupId>org.codehaus.gmavenplus</groupId>
135                 <artifactId>gmavenplus-plugin</artifactId>
136                 <executions>
137                     <!-- script for on-rest memory benchmark -->
138                     <execution>
139                         <id>generate-on-rest-benchmark-script</id>
140                         <phase>package</phase>
141                         <goals>
142                             <goal>execute</goal>
143                         </goals>
144                         <!-- 0 data samples == empty config file, therefore same as honeycomb on rest -->
145                         <configuration>
146                             <scripts>
147                                 <script>
148                                     <![CDATA[
149                                         import io.fd.honeycomb.benchmark.script.MemoryBenchmarkStartupScriptGenerator
150                                         MemoryBenchmarkStartupScriptGenerator.generateWithDataScript(project, log, "memory-benchmark-on-rest-out", 0)
151                                     ]]>
152                                 </script>
153                             </scripts>
154                         </configuration>
155                     </execution>
156                     <!-- script for memory benchmark with 1000 nodes in config data-->
157                     <execution>
158                         <id>generate-with-data-1000-benchmark-script</id>
159                         <phase>package</phase>
160                         <goals>
161                             <goal>execute</goal>
162                         </goals>
163                         <configuration>
164                             <scripts>
165                                 <script>
166                                     <![CDATA[
167                                         import io.fd.honeycomb.benchmark.script.MemoryBenchmarkStartupScriptGenerator
168                                         MemoryBenchmarkStartupScriptGenerator.generateWithDataScript(project, log, "memory-benchmark-with-data-out", 1000)
169                                     ]]>
170                                 </script>
171                             </scripts>
172                         </configuration>
173                     </execution>
174                     <!-- script for memory benchmark with 10000 nodes in config data-->
175                     <execution>
176                         <id>generate-with-data-10000-benchmark-script</id>
177                         <phase>package</phase>
178                         <goals>
179                             <goal>execute</goal>
180                         </goals>
181                         <configuration>
182                             <scripts>
183                                 <script>
184                                     <![CDATA[
185                                         import io.fd.honeycomb.benchmark.script.MemoryBenchmarkStartupScriptGenerator
186                                         MemoryBenchmarkStartupScriptGenerator.generateWithDataScript(project, log, "memory-benchmark-with-data-out", 10000)
187                                     ]]>
188                                 </script>
189                             </scripts>
190                         </configuration>
191                     </execution>
192                 </executions>
193                 <dependencies>
194                     <dependency>
195                         <groupId>io.fd.honeycomb.it</groupId>
196                         <artifactId>benchmark-scripts</artifactId>
197                         <version>1.19.04-RC2</version>
198                     </dependency>
199                 </dependencies>
200             </plugin>
201         </plugins>
202     </build>
203 </project>