fix build
[yosql.git] / yosql-benchmarks / yosql-benchmarks-jdbc / pom.xml
blob30c8f194efd1613803cac01a75b7d54b22ecaec6
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   ~ This file is part of yosql. It is subject to the license terms in the LICENSE file found in the top-level
4   ~ directory of this distribution and at https://creativecommons.org/publicdomain/zero/1.0/. No part of yosql,
5   ~ including this file, may be copied, modified, propagated, or distributed except according to the terms contained
6   ~ in the LICENSE file.
7   -->
8 <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9          xmlns="http://maven.apache.org/POM/4.0.0"
10          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
11     <modelVersion>4.0.0</modelVersion>
13     <!-- ordering follows https://maven.apache.org/developers/conventions/code.html#POM_Code_Convention -->
15     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
16     <!--                                 PARENT                                  -->
17     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
18     <!-- https://maven.apache.org/pom.html#Inheritance -->
19     <parent>
20         <groupId>wtf.metio.yosql.benchmarks</groupId>
21         <artifactId>yosql-benchmarks</artifactId>
22         <version>0.0.0-SNAPSHOT</version>
23     </parent>
25     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
26     <!--                               COORDINATES                               -->
27     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
28     <!-- https://maven.apache.org/pom.html#Maven_Coordinates -->
30     <artifactId>yosql-benchmarks-jdbc</artifactId>
32     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
33     <!--                               INFORMATIONS                              -->
34     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
35     <!-- https://maven.apache.org/pom.html#More_Project_Information -->
36     <name>YoSQL :: Benchmarks :: JDBC</name>
38     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
39     <!--                               DEPENDENCIES                              -->
40     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
41     <!-- https://maven.apache.org/pom.html#Dependencies -->
42     <dependencies>
43         <dependency>
44             <groupId>wtf.metio.yosql.testing</groupId>
45             <artifactId>yosql-testing-sql-files</artifactId>
46             <version>${project.version}</version>
47         </dependency>
48         <dependency>
49             <groupId>wtf.metio.yosql.benchmarks</groupId>
50             <artifactId>yosql-benchmarks-common-scenarios</artifactId>
51             <version>${project.version}</version>
52         </dependency>
53         <dependency>
54             <groupId>org.openjdk.jmh</groupId>
55             <artifactId>jmh-core</artifactId>
56         </dependency>
57         <dependency>
58             <groupId>org.openjdk.jmh</groupId>
59             <artifactId>jmh-generator-annprocess</artifactId>
60             <scope>provided</scope>
61         </dependency>
62         <dependency>
63             <groupId>com.zaxxer</groupId>
64             <artifactId>HikariCP</artifactId>
65         </dependency>
66         <dependency>
67             <groupId>com.h2database</groupId>
68             <artifactId>h2</artifactId>
69         </dependency>
70         <dependency>
71             <groupId>io.reactivex.rxjava2</groupId>
72             <artifactId>rxjava</artifactId>
73         </dependency>
74         <dependency>
75             <groupId>io.smallrye.reactive</groupId>
76             <artifactId>mutiny</artifactId>
77         </dependency>
78         <dependency>
79             <groupId>io.projectreactor</groupId>
80             <artifactId>reactor-core</artifactId>
81         </dependency>
82         <dependency>
83             <groupId>org.apache.logging.log4j</groupId>
84             <artifactId>log4j-api</artifactId>
85         </dependency>
86         <dependency>
87             <groupId>org.apache.logging.log4j</groupId>
88             <artifactId>log4j-core</artifactId>
89         </dependency>
90         <dependency>
91             <groupId>ch.qos.logback</groupId>
92             <artifactId>logback-classic</artifactId>
93         </dependency>
94         <dependency>
95             <groupId>org.tinylog</groupId>
96             <artifactId>tinylog-impl</artifactId>
97         </dependency>
98     </dependencies>
100     <build>
101         <plugins>
102             <plugin>
103                 <groupId>wtf.metio.yosql.tooling</groupId>
104                 <artifactId>yosql-tooling-maven</artifactId>
105                 <version>${project.version}</version>
106                 <configuration>
107                     <files>
108                         <skipLines>6</skipLines>
109                     </files>
110                     <java>
111                         <apiVersion>16</apiVersion>
112                     </java>
113                 </configuration>
114                 <executions>
115                     <execution>
116                         <id>jul</id>
117                         <phase>generate-sources</phase>
118                         <goals>
119                             <goal>generate</goal>
120                         </goals>
121                         <configuration>
122                             <api>
123                                 <loggingApi>JUL</loggingApi>
124                             </api>
125                             <files>
126                                 <outputBaseDirectory>target/generated-sources/jul</outputBaseDirectory>
127                             </files>
128                             <repositories>
129                                 <basePackageName>wtf.metio.yosql.benchmark.jdbc.jul.persistence</basePackageName>
130                             </repositories>
131                             <converter>
132                                 <converterPackageName>wtf.metio.yosql.benchmark.jdbc.jul.persistence.util</converterPackageName>
133                             </converter>
134                         </configuration>
135                     </execution>
136                     <execution>
137                         <id>log4j</id>
138                         <phase>generate-sources</phase>
139                         <goals>
140                             <goal>generate</goal>
141                         </goals>
142                         <configuration>
143                             <api>
144                                 <loggingApi>LOG4J</loggingApi>
145                             </api>
146                             <files>
147                                 <outputBaseDirectory>target/generated-sources/log4j</outputBaseDirectory>
148                             </files>
149                             <repositories>
150                                 <basePackageName>wtf.metio.yosql.benchmark.jdbc.log4j.persistence</basePackageName>
151                             </repositories>
152                             <converter>
153                                 <converterPackageName>wtf.metio.yosql.benchmark.jdbc.log4j.persistence.util</converterPackageName>
154                             </converter>
155                         </configuration>
156                     </execution>
157                     <execution>
158                         <id>noop</id>
159                         <phase>generate-sources</phase>
160                         <goals>
161                             <goal>generate</goal>
162                         </goals>
163                         <configuration>
164                             <api>
165                                 <loggingApi>NONE</loggingApi>
166                             </api>
167                             <files>
168                                 <outputBaseDirectory>target/generated-sources/noop</outputBaseDirectory>
169                             </files>
170                             <repositories>
171                                 <basePackageName>wtf.metio.yosql.benchmark.jdbc.noop.persistence</basePackageName>
172                             </repositories>
173                             <converter>
174                                 <converterPackageName>wtf.metio.yosql.benchmark.jdbc.noop.persistence.util</converterPackageName>
175                             </converter>
176                         </configuration>
177                     </execution>
178                     <execution>
179                         <id>slf4j</id>
180                         <phase>generate-sources</phase>
181                         <goals>
182                             <goal>generate</goal>
183                         </goals>
184                         <configuration>
185                             <api>
186                                 <loggingApi>SLF4J</loggingApi>
187                             </api>
188                             <files>
189                                 <outputBaseDirectory>target/generated-sources/slf4j</outputBaseDirectory>
190                             </files>
191                             <repositories>
192                                 <basePackageName>wtf.metio.yosql.benchmark.jdbc.slf4j.persistence</basePackageName>
193                             </repositories>
194                             <converter>
195                                 <converterPackageName>wtf.metio.yosql.benchmark.jdbc.slf4j.persistence.util</converterPackageName>
196                             </converter>
197                         </configuration>
198                     </execution>
199                     <execution>
200                         <id>tinylog</id>
201                         <phase>generate-sources</phase>
202                         <goals>
203                             <goal>generate</goal>
204                         </goals>
205                         <configuration>
206                             <api>
207                                 <loggingApi>TINYLOG</loggingApi>
208                             </api>
209                             <files>
210                                 <outputBaseDirectory>target/generated-sources/tinylog</outputBaseDirectory>
211                             </files>
212                             <repositories>
213                                 <basePackageName>wtf.metio.yosql.benchmark.jdbc.tinylog.persistence</basePackageName>
214                             </repositories>
215                             <converter>
216                                 <converterPackageName>wtf.metio.yosql.benchmark.jdbc.tinylog.persistence.util</converterPackageName>
217                             </converter>
218                         </configuration>
219                     </execution>
220                 </executions>
221             </plugin>
222             <plugin>
223                 <groupId>org.codehaus.mojo</groupId>
224                 <artifactId>build-helper-maven-plugin</artifactId>
225                 <version>3.3.0</version>
226                 <executions>
227                     <execution>
228                         <id>add-source</id>
229                         <phase>generate-sources</phase>
230                         <goals>
231                             <goal>add-source</goal>
232                         </goals>
233                         <configuration>
234                             <sources>
235                                 <source>${project.build.directory}/generated-sources/jul</source>
236                                 <source>${project.build.directory}/generated-sources/log4j</source>
237                                 <source>${project.build.directory}/generated-sources/noop</source>
238                                 <source>${project.build.directory}/generated-sources/slf4j</source>
239                                 <source>${project.build.directory}/generated-sources/tinylog</source>
240                             </sources>
241                         </configuration>
242                     </execution>
243                 </executions>
244             </plugin>
245         </plugins>
246     </build>
248     <profiles>
249         <profile>
250             <id>benchmarks</id>
251             <build>
252                 <plugins>
253                     <plugin>
254                         <groupId>com.baidu.maven</groupId>
255                         <artifactId>jmh-maven-plugin</artifactId>
256                         <version>1.0.3</version>
257                         <executions>
258                             <execution>
259                                 <phase>verify</phase>
260                                 <goals>
261                                     <goal>jmh</goal>
262                                 </goals>
263                             </execution>
264                         </executions>
265                         <configuration>
266                             <forks>1</forks>
267                             <warmupForks>1</warmupForks>
268                             <threads>1</threads>
269                             <mode>avgt</mode>
270                             <timeUnit>us</timeUnit>
271                             <measurementTime>1s</measurementTime>
272                             <warmupTime>1s</warmupTime>
273                             <resultFormat>json</resultFormat>
274                             <resultFile>yosql-benchmarks-jdbc.json</resultFile>
275                         </configuration>
276                     </plugin>
277                 </plugins>
278             </build>
279         </profile>
280     </profiles>
282 </project>