xref: /JGit/org.eclipse.jgit.benchmarks/pom.xml (revision ffe55a80056552cbb8cb7c41349151d8d420e5b7)
1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3  Copyright (C) 2019, Matthias Sohn <matthias.sohn@sap.com> and others
4
5  This program and the accompanying materials are made available under the
6  terms of the Eclipse Distribution License v. 1.0 which is available at
7  http://www.eclipse.org/org/documents/edl-v10.php.
8
9  SPDX-License-Identifier: BSD-3-Clause
10-->
11<project xmlns="http://maven.apache.org/POM/4.0.0"
12  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
13  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
14  <modelVersion>4.0.0</modelVersion>
15
16  <groupId>org.eclipse.jgit</groupId>
17  <version>5.13.0-SNAPSHOT</version>
18  <artifactId>org.eclipse.jgit.benchmarks</artifactId>
19  <packaging>jar</packaging>
20
21  <name>JGit - JMH based benchmarks</name>
22
23  <properties>
24    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
25    <javac.target>1.8</javac.target>
26    <jmh.version>1.21</jmh.version>
27    <uberjar.name>benchmarks</uberjar.name>
28  </properties>
29
30  <dependencies>
31    <dependency>
32      <groupId>org.openjdk.jmh</groupId>
33      <artifactId>jmh-core</artifactId>
34      <version>${jmh.version}</version>
35    </dependency>
36    <dependency>
37      <groupId>org.openjdk.jmh</groupId>
38      <artifactId>jmh-generator-annprocess</artifactId>
39      <version>${jmh.version}</version>
40      <scope>provided</scope>
41    </dependency>
42    <dependency>
43      <groupId>org.eclipse.jgit</groupId>
44      <artifactId>org.eclipse.jgit</artifactId>
45      <version>${project.version}</version>
46    </dependency>
47  </dependencies>
48
49  <build>
50    <sourceDirectory>src/</sourceDirectory>
51    <plugins>
52      <plugin>
53        <groupId>org.apache.maven.plugins</groupId>
54        <artifactId>maven-enforcer-plugin</artifactId>
55        <version>3.0.0-M3</version>
56        <executions>
57          <execution>
58            <id>enforce-maven</id>
59            <goals>
60              <goal>enforce</goal>
61            </goals>
62            <configuration>
63              <rules>
64                <requireMavenVersion>
65                  <version>3.6.3</version>
66                </requireMavenVersion>
67              </rules>
68            </configuration>
69          </execution>
70        </executions>
71      </plugin>
72      <plugin>
73        <artifactId>maven-compiler-plugin</artifactId>
74        <configuration>
75          <encoding>UTF-8</encoding>
76          <source>1.8</source>
77          <target>1.8</target>
78          <generatedSourcesDirectory>.apt_generated</generatedSourcesDirectory>
79        </configuration>
80      </plugin>
81      <plugin>
82        <groupId>org.apache.maven.plugins</groupId>
83        <artifactId>maven-shade-plugin</artifactId>
84        <version>3.2.4</version>
85        <executions>
86          <execution>
87            <phase>package</phase>
88            <goals>
89              <goal>shade</goal>
90            </goals>
91            <configuration>
92              <finalName>${uberjar.name}</finalName>
93              <transformers>
94                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
95                  <mainClass>org.openjdk.jmh.Main</mainClass>
96                </transformer>
97              </transformers>
98              <filters>
99                <filter>
100                  <!-- Shading signed JARs will fail without this.
101                       http://stackoverflow.com/questions/999489/invalid-signature-file-when-attempting-to-run-a-jar -->
102                  <artifact>*:*</artifact>
103                  <excludes>
104                    <exclude>META-INF/*.SF</exclude>
105                    <exclude>META-INF/*.DSA</exclude>
106                    <exclude>META-INF/*.RSA</exclude>
107                  </excludes>
108                </filter>
109              </filters>
110            </configuration>
111          </execution>
112        </executions>
113      </plugin>
114    </plugins>
115    <pluginManagement>
116      <plugins>
117        <!--This plugin's configuration is used to store Eclipse m2e settings only.
118            It has no influence on the Maven build itself. -->
119        <plugin>
120          <groupId>org.eclipse.m2e</groupId>
121          <artifactId>lifecycle-mapping</artifactId>
122          <version>1.0.0</version>
123          <configuration>
124            <lifecycleMappingMetadata>
125              <pluginExecutions>
126                <pluginExecution>
127                  <pluginExecutionFilter>
128                    <groupId>org.apache.maven.plugins</groupId>
129                    <artifactId>maven-antrun-plugin</artifactId>
130                    <versionRange>[1.8,)</versionRange>
131                    <goals>
132                      <goal>run</goal>
133                    </goals>
134                  </pluginExecutionFilter>
135                  <action>
136                    <ignore></ignore>
137                  </action>
138                </pluginExecution>
139              </pluginExecutions>
140            </lifecycleMappingMetadata>
141          </configuration>
142        </plugin>
143        <plugin>
144          <groupId>org.apache.maven.plugins</groupId>
145          <artifactId>maven-site-plugin</artifactId>
146          <version>3.9.1</version>
147          <dependencies>
148            <dependency><!-- add support for ssh/scp -->
149              <groupId>org.apache.maven.wagon</groupId>
150              <artifactId>wagon-ssh</artifactId>
151              <version>3.4.3</version>
152            </dependency>
153          </dependencies>
154        </plugin>
155        <plugin>
156          <groupId>org.apache.maven.plugins</groupId>
157          <artifactId>maven-surefire-report-plugin</artifactId>
158          <version>3.0.0-M5</version>
159        </plugin>
160        <plugin>
161          <groupId>org.apache.maven.plugins</groupId>
162          <artifactId>maven-jxr-plugin</artifactId>
163          <version>3.1.1</version>
164        </plugin>
165        <plugin>
166          <groupId>org.apache.maven.plugins</groupId>
167          <artifactId>maven-project-info-reports-plugin</artifactId>
168          <version>3.1.2</version>
169        </plugin>
170      </plugins>
171    </pluginManagement>
172  </build>
173  <distributionManagement>
174    <repository>
175      <id>repo.eclipse.org</id>
176      <name>JGit Maven Repository - Releases</name>
177      <url>https://repo.eclipse.org/content/repositories/jgit-releases/</url>
178    </repository>
179    <snapshotRepository>
180      <id>repo.eclipse.org</id>
181      <name>JGit Maven Repository - Snapshots</name>
182      <url>https://repo.eclipse.org/content/repositories/jgit-snapshots/</url>
183      <uniqueVersion>true</uniqueVersion>
184    </snapshotRepository>
185    <site>
186      <id>jgit.website</id>
187      <name>JGit Website</name>
188      <url>${jgit.website.url}</url>
189    </site>
190  </distributionManagement>
191</project>
192