xref: /JGit/org.eclipse.jgit.benchmarks/pom.xml (revision 9a638b08d30f219f35b3bb0a704b8bbaad665920)
1*9a638b08SMatthias Sohn<?xml version="1.0" encoding="UTF-8"?>
2*9a638b08SMatthias Sohn<!--
3*9a638b08SMatthias Sohn   Copyright (C) 2019, Matthias Sohn <matthias.sohn@sap.com>
4*9a638b08SMatthias Sohn   and other copyright owners as documented in the project's IP log.
5*9a638b08SMatthias Sohn
6*9a638b08SMatthias Sohn   This program and the accompanying materials are made available
7*9a638b08SMatthias Sohn   under the terms of the Eclipse Distribution License v1.0 which
8*9a638b08SMatthias Sohn   accompanies this distribution, is reproduced below, and is
9*9a638b08SMatthias Sohn   available at http://www.eclipse.org/org/documents/edl-v10.php
10*9a638b08SMatthias Sohn
11*9a638b08SMatthias Sohn   All rights reserved.
12*9a638b08SMatthias Sohn
13*9a638b08SMatthias Sohn   Redistribution and use in source and binary forms, with or
14*9a638b08SMatthias Sohn   without modification, are permitted provided that the following
15*9a638b08SMatthias Sohn   conditions are met:
16*9a638b08SMatthias Sohn
17*9a638b08SMatthias Sohn   - Redistributions of source code must retain the above copyright
18*9a638b08SMatthias Sohn     notice, this list of conditions and the following disclaimer.
19*9a638b08SMatthias Sohn
20*9a638b08SMatthias Sohn   - Redistributions in binary form must reproduce the above
21*9a638b08SMatthias Sohn     copyright notice, this list of conditions and the following
22*9a638b08SMatthias Sohn     disclaimer in the documentation and/or other materials provided
23*9a638b08SMatthias Sohn     with the distribution.
24*9a638b08SMatthias Sohn
25*9a638b08SMatthias Sohn   - Neither the name of the Eclipse Foundation, Inc. nor the
26*9a638b08SMatthias Sohn     names of its contributors may be used to endorse or promote
27*9a638b08SMatthias Sohn     products derived from this software without specific prior
28*9a638b08SMatthias Sohn     written permission.
29*9a638b08SMatthias Sohn
30*9a638b08SMatthias Sohn   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
31*9a638b08SMatthias Sohn   CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
32*9a638b08SMatthias Sohn   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
33*9a638b08SMatthias Sohn   OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
34*9a638b08SMatthias Sohn   ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
35*9a638b08SMatthias Sohn   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
36*9a638b08SMatthias Sohn   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
37*9a638b08SMatthias Sohn   NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
38*9a638b08SMatthias Sohn   LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
39*9a638b08SMatthias Sohn   CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
40*9a638b08SMatthias Sohn   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
41*9a638b08SMatthias Sohn   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
42*9a638b08SMatthias Sohn   ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
43*9a638b08SMatthias Sohn-->
44*9a638b08SMatthias Sohn<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">
45*9a638b08SMatthias Sohn    <modelVersion>4.0.0</modelVersion>
46*9a638b08SMatthias Sohn
47*9a638b08SMatthias Sohn    <groupId>org.eclipse.jgit</groupId>
48*9a638b08SMatthias Sohn    <version>5.1.13-SNAPSHOT</version>
49*9a638b08SMatthias Sohn    <artifactId>org.eclipse.jgit.benchmarks</artifactId>
50*9a638b08SMatthias Sohn    <packaging>jar</packaging>
51*9a638b08SMatthias Sohn
52*9a638b08SMatthias Sohn    <name>JGit - JMH based benchmarks</name>
53*9a638b08SMatthias Sohn
54*9a638b08SMatthias Sohn    <properties>
55*9a638b08SMatthias Sohn        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
56*9a638b08SMatthias Sohn        <javac.target>1.8</javac.target>
57*9a638b08SMatthias Sohn        <jmh.version>1.21</jmh.version>
58*9a638b08SMatthias Sohn        <uberjar.name>benchmarks</uberjar.name>
59*9a638b08SMatthias Sohn    </properties>
60*9a638b08SMatthias Sohn
61*9a638b08SMatthias Sohn    <dependencies>
62*9a638b08SMatthias Sohn        <dependency>
63*9a638b08SMatthias Sohn            <groupId>org.openjdk.jmh</groupId>
64*9a638b08SMatthias Sohn            <artifactId>jmh-core</artifactId>
65*9a638b08SMatthias Sohn            <version>${jmh.version}</version>
66*9a638b08SMatthias Sohn        </dependency>
67*9a638b08SMatthias Sohn        <dependency>
68*9a638b08SMatthias Sohn            <groupId>org.openjdk.jmh</groupId>
69*9a638b08SMatthias Sohn            <artifactId>jmh-generator-annprocess</artifactId>
70*9a638b08SMatthias Sohn            <version>${jmh.version}</version>
71*9a638b08SMatthias Sohn            <scope>provided</scope>
72*9a638b08SMatthias Sohn        </dependency>
73*9a638b08SMatthias Sohn        <dependency>
74*9a638b08SMatthias Sohn           <groupId>org.eclipse.jgit</groupId>
75*9a638b08SMatthias Sohn           <artifactId>org.eclipse.jgit</artifactId>
76*9a638b08SMatthias Sohn           <version>${project.version}</version>
77*9a638b08SMatthias Sohn        </dependency>
78*9a638b08SMatthias Sohn    </dependencies>
79*9a638b08SMatthias Sohn
80*9a638b08SMatthias Sohn    <build>
81*9a638b08SMatthias Sohn        <sourceDirectory>src/</sourceDirectory>
82*9a638b08SMatthias Sohn        <plugins>
83*9a638b08SMatthias Sohn            <plugin>
84*9a638b08SMatthias Sohn               <groupId>org.apache.maven.plugins</groupId>
85*9a638b08SMatthias Sohn               <artifactId>maven-compiler-plugin</artifactId>
86*9a638b08SMatthias Sohn               <version>3.8.1</version>
87*9a638b08SMatthias Sohn               <configuration>
88*9a638b08SMatthias Sohn                  <compilerVersion>${javac.target}</compilerVersion>
89*9a638b08SMatthias Sohn                  <source>${javac.target}</source>
90*9a638b08SMatthias Sohn                  <target>${javac.target}</target>
91*9a638b08SMatthias Sohn                  <generatedSourcesDirectory>.apt_generated</generatedSourcesDirectory>
92*9a638b08SMatthias Sohn               </configuration>
93*9a638b08SMatthias Sohn               <executions>
94*9a638b08SMatthias Sohn                  <execution>
95*9a638b08SMatthias Sohn                     <id>compile-with-errorprone</id>
96*9a638b08SMatthias Sohn                     <phase>compile</phase>
97*9a638b08SMatthias Sohn                     <goals>
98*9a638b08SMatthias Sohn                        <goal>compile</goal>
99*9a638b08SMatthias Sohn                     </goals>
100*9a638b08SMatthias Sohn                     <configuration>
101*9a638b08SMatthias Sohn                        <compilerId>javac-with-errorprone</compilerId>
102*9a638b08SMatthias Sohn                        <forceJavacCompilerUse>true</forceJavacCompilerUse>
103*9a638b08SMatthias Sohn                        <compilerArgs>
104*9a638b08SMatthias Sohn                           <arg>-Xep:ExpectedExceptionChecker:ERROR</arg>
105*9a638b08SMatthias Sohn                        </compilerArgs>
106*9a638b08SMatthias Sohn                     </configuration>
107*9a638b08SMatthias Sohn                  </execution>
108*9a638b08SMatthias Sohn               </executions>
109*9a638b08SMatthias Sohn               <dependencies>
110*9a638b08SMatthias Sohn                  <dependency>
111*9a638b08SMatthias Sohn                     <groupId>org.codehaus.plexus</groupId>
112*9a638b08SMatthias Sohn                     <artifactId>plexus-compiler-javac</artifactId>
113*9a638b08SMatthias Sohn                     <version>2.8.5</version>
114*9a638b08SMatthias Sohn                  </dependency>
115*9a638b08SMatthias Sohn                  <dependency>
116*9a638b08SMatthias Sohn                     <groupId>org.codehaus.plexus</groupId>
117*9a638b08SMatthias Sohn                     <artifactId>plexus-compiler-javac-errorprone</artifactId>
118*9a638b08SMatthias Sohn                     <version>2.8.5</version>
119*9a638b08SMatthias Sohn                  </dependency>
120*9a638b08SMatthias Sohn                  <!-- override plexus-compiler-javac-errorprone's dependency on
121*9a638b08SMatthias Sohn                       Error Prone with the latest version -->
122*9a638b08SMatthias Sohn                  <dependency>
123*9a638b08SMatthias Sohn                     <groupId>com.google.errorprone</groupId>
124*9a638b08SMatthias Sohn                     <artifactId>error_prone_core</artifactId>
125*9a638b08SMatthias Sohn                     <version>2.3.3</version>
126*9a638b08SMatthias Sohn                  </dependency>
127*9a638b08SMatthias Sohn               </dependencies>
128*9a638b08SMatthias Sohn            </plugin>
129*9a638b08SMatthias Sohn            <plugin>
130*9a638b08SMatthias Sohn                <groupId>org.apache.maven.plugins</groupId>
131*9a638b08SMatthias Sohn                <artifactId>maven-shade-plugin</artifactId>
132*9a638b08SMatthias Sohn                <executions>
133*9a638b08SMatthias Sohn                    <execution>
134*9a638b08SMatthias Sohn                        <phase>package</phase>
135*9a638b08SMatthias Sohn                        <goals>
136*9a638b08SMatthias Sohn                            <goal>shade</goal>
137*9a638b08SMatthias Sohn                        </goals>
138*9a638b08SMatthias Sohn                        <configuration>
139*9a638b08SMatthias Sohn                            <finalName>${uberjar.name}</finalName>
140*9a638b08SMatthias Sohn                            <transformers>
141*9a638b08SMatthias Sohn                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
142*9a638b08SMatthias Sohn                                    <mainClass>org.openjdk.jmh.Main</mainClass>
143*9a638b08SMatthias Sohn                                </transformer>
144*9a638b08SMatthias Sohn                            </transformers>
145*9a638b08SMatthias Sohn                            <filters>
146*9a638b08SMatthias Sohn                                <filter>
147*9a638b08SMatthias Sohn                                    <!--
148*9a638b08SMatthias Sohn                                        Shading signed JARs will fail without this.
149*9a638b08SMatthias Sohn                                        http://stackoverflow.com/questions/999489/invalid-signature-file-when-attempting-to-run-a-jar
150*9a638b08SMatthias Sohn                                    -->
151*9a638b08SMatthias Sohn                                    <artifact>*:*</artifact>
152*9a638b08SMatthias Sohn                                    <excludes>
153*9a638b08SMatthias Sohn                                        <exclude>META-INF/*.SF</exclude>
154*9a638b08SMatthias Sohn                                        <exclude>META-INF/*.DSA</exclude>
155*9a638b08SMatthias Sohn                                        <exclude>META-INF/*.RSA</exclude>
156*9a638b08SMatthias Sohn                                    </excludes>
157*9a638b08SMatthias Sohn                                </filter>
158*9a638b08SMatthias Sohn                            </filters>
159*9a638b08SMatthias Sohn                        </configuration>
160*9a638b08SMatthias Sohn                    </execution>
161*9a638b08SMatthias Sohn                </executions>
162*9a638b08SMatthias Sohn            </plugin>
163*9a638b08SMatthias Sohn        </plugins>
164*9a638b08SMatthias Sohn        <pluginManagement>
165*9a638b08SMatthias Sohn           <plugins>
166*9a638b08SMatthias Sohn              <!--This plugin's configuration is used to store Eclipse m2e settings only.
167*9a638b08SMatthias Sohn              It has no influence on the Maven build itself.-->
168*9a638b08SMatthias Sohn              <plugin>
169*9a638b08SMatthias Sohn                 <groupId>org.eclipse.m2e</groupId>
170*9a638b08SMatthias Sohn                 <artifactId>lifecycle-mapping</artifactId>
171*9a638b08SMatthias Sohn                 <version>1.0.0</version>
172*9a638b08SMatthias Sohn                 <configuration>
173*9a638b08SMatthias Sohn                    <lifecycleMappingMetadata>
174*9a638b08SMatthias Sohn                       <pluginExecutions>
175*9a638b08SMatthias Sohn                          <pluginExecution>
176*9a638b08SMatthias Sohn                             <pluginExecutionFilter>
177*9a638b08SMatthias Sohn                                <groupId>org.apache.maven.plugins</groupId>
178*9a638b08SMatthias Sohn                                <artifactId>maven-antrun-plugin</artifactId>
179*9a638b08SMatthias Sohn                                <versionRange>[1.8,)</versionRange>
180*9a638b08SMatthias Sohn                                <goals>
181*9a638b08SMatthias Sohn                                   <goal>run</goal>
182*9a638b08SMatthias Sohn                                </goals>
183*9a638b08SMatthias Sohn                             </pluginExecutionFilter>
184*9a638b08SMatthias Sohn                             <action>
185*9a638b08SMatthias Sohn                                <ignore></ignore>
186*9a638b08SMatthias Sohn                             </action>
187*9a638b08SMatthias Sohn                          </pluginExecution>
188*9a638b08SMatthias Sohn                       </pluginExecutions>
189*9a638b08SMatthias Sohn                    </lifecycleMappingMetadata>
190*9a638b08SMatthias Sohn                 </configuration>
191*9a638b08SMatthias Sohn              </plugin>
192*9a638b08SMatthias Sohn           </plugins>
193*9a638b08SMatthias Sohn        </pluginManagement>
194*9a638b08SMatthias Sohn    </build>
195*9a638b08SMatthias Sohn</project>
196