xref: /JGit/org.eclipse.jgit.benchmarks/pom.xml (revision d36488ad2e54f50d1ee78ba28385d4845b34488a)
19a638b08SMatthias Sohn<?xml version="1.0" encoding="UTF-8"?>
29a638b08SMatthias Sohn<!--
39a638b08SMatthias Sohn   Copyright (C) 2019, Matthias Sohn <matthias.sohn@sap.com>
49a638b08SMatthias Sohn   and other copyright owners as documented in the project's IP log.
59a638b08SMatthias Sohn
69a638b08SMatthias Sohn   This program and the accompanying materials are made available
79a638b08SMatthias Sohn   under the terms of the Eclipse Distribution License v1.0 which
89a638b08SMatthias Sohn   accompanies this distribution, is reproduced below, and is
99a638b08SMatthias Sohn   available at http://www.eclipse.org/org/documents/edl-v10.php
109a638b08SMatthias Sohn
119a638b08SMatthias Sohn   All rights reserved.
129a638b08SMatthias Sohn
139a638b08SMatthias Sohn   Redistribution and use in source and binary forms, with or
149a638b08SMatthias Sohn   without modification, are permitted provided that the following
159a638b08SMatthias Sohn   conditions are met:
169a638b08SMatthias Sohn
179a638b08SMatthias Sohn   - Redistributions of source code must retain the above copyright
189a638b08SMatthias Sohn     notice, this list of conditions and the following disclaimer.
199a638b08SMatthias Sohn
209a638b08SMatthias Sohn   - Redistributions in binary form must reproduce the above
219a638b08SMatthias Sohn     copyright notice, this list of conditions and the following
229a638b08SMatthias Sohn     disclaimer in the documentation and/or other materials provided
239a638b08SMatthias Sohn     with the distribution.
249a638b08SMatthias Sohn
259a638b08SMatthias Sohn   - Neither the name of the Eclipse Foundation, Inc. nor the
269a638b08SMatthias Sohn     names of its contributors may be used to endorse or promote
279a638b08SMatthias Sohn     products derived from this software without specific prior
289a638b08SMatthias Sohn     written permission.
299a638b08SMatthias Sohn
309a638b08SMatthias Sohn   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
319a638b08SMatthias Sohn   CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
329a638b08SMatthias Sohn   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
339a638b08SMatthias Sohn   OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
349a638b08SMatthias Sohn   ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
359a638b08SMatthias Sohn   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
369a638b08SMatthias Sohn   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
379a638b08SMatthias Sohn   NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
389a638b08SMatthias Sohn   LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
399a638b08SMatthias Sohn   CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
409a638b08SMatthias Sohn   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
419a638b08SMatthias Sohn   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
429a638b08SMatthias Sohn   ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
439a638b08SMatthias Sohn-->
44*d36488adSMatthias Sohn<project xmlns="http://maven.apache.org/POM/4.0.0"
45*d36488adSMatthias Sohn  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
46*d36488adSMatthias Sohn  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
479a638b08SMatthias Sohn  <modelVersion>4.0.0</modelVersion>
489a638b08SMatthias Sohn
499a638b08SMatthias Sohn  <groupId>org.eclipse.jgit</groupId>
509a638b08SMatthias Sohn  <version>5.1.13-SNAPSHOT</version>
519a638b08SMatthias Sohn  <artifactId>org.eclipse.jgit.benchmarks</artifactId>
529a638b08SMatthias Sohn  <packaging>jar</packaging>
539a638b08SMatthias Sohn
549a638b08SMatthias Sohn  <name>JGit - JMH based benchmarks</name>
559a638b08SMatthias Sohn
569a638b08SMatthias Sohn  <properties>
579a638b08SMatthias Sohn    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
589a638b08SMatthias Sohn    <javac.target>1.8</javac.target>
599a638b08SMatthias Sohn    <jmh.version>1.21</jmh.version>
609a638b08SMatthias Sohn    <uberjar.name>benchmarks</uberjar.name>
619a638b08SMatthias Sohn  </properties>
629a638b08SMatthias Sohn
639a638b08SMatthias Sohn  <dependencies>
649a638b08SMatthias Sohn    <dependency>
659a638b08SMatthias Sohn      <groupId>org.openjdk.jmh</groupId>
669a638b08SMatthias Sohn      <artifactId>jmh-core</artifactId>
679a638b08SMatthias Sohn      <version>${jmh.version}</version>
689a638b08SMatthias Sohn    </dependency>
699a638b08SMatthias Sohn    <dependency>
709a638b08SMatthias Sohn      <groupId>org.openjdk.jmh</groupId>
719a638b08SMatthias Sohn      <artifactId>jmh-generator-annprocess</artifactId>
729a638b08SMatthias Sohn      <version>${jmh.version}</version>
739a638b08SMatthias Sohn      <scope>provided</scope>
749a638b08SMatthias Sohn    </dependency>
759a638b08SMatthias Sohn    <dependency>
769a638b08SMatthias Sohn      <groupId>org.eclipse.jgit</groupId>
779a638b08SMatthias Sohn      <artifactId>org.eclipse.jgit</artifactId>
789a638b08SMatthias Sohn      <version>${project.version}</version>
799a638b08SMatthias Sohn    </dependency>
809a638b08SMatthias Sohn  </dependencies>
819a638b08SMatthias Sohn
829a638b08SMatthias Sohn  <build>
839a638b08SMatthias Sohn    <sourceDirectory>src/</sourceDirectory>
849a638b08SMatthias Sohn    <plugins>
859a638b08SMatthias Sohn      <plugin>
869a638b08SMatthias Sohn        <groupId>org.apache.maven.plugins</groupId>
879a638b08SMatthias Sohn        <artifactId>maven-compiler-plugin</artifactId>
889a638b08SMatthias Sohn        <version>3.8.1</version>
899a638b08SMatthias Sohn        <configuration>
909a638b08SMatthias Sohn          <compilerVersion>${javac.target}</compilerVersion>
919a638b08SMatthias Sohn          <source>${javac.target}</source>
929a638b08SMatthias Sohn          <target>${javac.target}</target>
939a638b08SMatthias Sohn          <generatedSourcesDirectory>.apt_generated</generatedSourcesDirectory>
949a638b08SMatthias Sohn        </configuration>
959a638b08SMatthias Sohn        <executions>
969a638b08SMatthias Sohn          <execution>
979a638b08SMatthias Sohn            <id>compile-with-errorprone</id>
989a638b08SMatthias Sohn            <phase>compile</phase>
999a638b08SMatthias Sohn            <goals>
1009a638b08SMatthias Sohn              <goal>compile</goal>
1019a638b08SMatthias Sohn            </goals>
1029a638b08SMatthias Sohn            <configuration>
1039a638b08SMatthias Sohn              <compilerId>javac-with-errorprone</compilerId>
1049a638b08SMatthias Sohn              <forceJavacCompilerUse>true</forceJavacCompilerUse>
1059a638b08SMatthias Sohn              <compilerArgs>
1069a638b08SMatthias Sohn                <arg>-Xep:ExpectedExceptionChecker:ERROR</arg>
1079a638b08SMatthias Sohn              </compilerArgs>
1089a638b08SMatthias Sohn            </configuration>
1099a638b08SMatthias Sohn          </execution>
1109a638b08SMatthias Sohn        </executions>
1119a638b08SMatthias Sohn        <dependencies>
1129a638b08SMatthias Sohn          <dependency>
1139a638b08SMatthias Sohn            <groupId>org.codehaus.plexus</groupId>
1149a638b08SMatthias Sohn            <artifactId>plexus-compiler-javac</artifactId>
1159a638b08SMatthias Sohn            <version>2.8.5</version>
1169a638b08SMatthias Sohn          </dependency>
1179a638b08SMatthias Sohn          <dependency>
1189a638b08SMatthias Sohn            <groupId>org.codehaus.plexus</groupId>
1199a638b08SMatthias Sohn            <artifactId>plexus-compiler-javac-errorprone</artifactId>
1209a638b08SMatthias Sohn            <version>2.8.5</version>
1219a638b08SMatthias Sohn          </dependency>
1229a638b08SMatthias Sohn          <!-- override plexus-compiler-javac-errorprone's dependency on
1239a638b08SMatthias Sohn               Error Prone with the latest version -->
1249a638b08SMatthias Sohn          <dependency>
1259a638b08SMatthias Sohn            <groupId>com.google.errorprone</groupId>
1269a638b08SMatthias Sohn            <artifactId>error_prone_core</artifactId>
1279a638b08SMatthias Sohn            <version>2.3.3</version>
1289a638b08SMatthias Sohn          </dependency>
1299a638b08SMatthias Sohn        </dependencies>
1309a638b08SMatthias Sohn      </plugin>
1319a638b08SMatthias Sohn      <plugin>
1329a638b08SMatthias Sohn        <groupId>org.apache.maven.plugins</groupId>
1339a638b08SMatthias Sohn        <artifactId>maven-shade-plugin</artifactId>
1349a638b08SMatthias Sohn        <executions>
1359a638b08SMatthias Sohn          <execution>
1369a638b08SMatthias Sohn            <phase>package</phase>
1379a638b08SMatthias Sohn            <goals>
1389a638b08SMatthias Sohn              <goal>shade</goal>
1399a638b08SMatthias Sohn            </goals>
1409a638b08SMatthias Sohn            <configuration>
1419a638b08SMatthias Sohn              <finalName>${uberjar.name}</finalName>
1429a638b08SMatthias Sohn              <transformers>
1439a638b08SMatthias Sohn                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
1449a638b08SMatthias Sohn                  <mainClass>org.openjdk.jmh.Main</mainClass>
1459a638b08SMatthias Sohn                </transformer>
1469a638b08SMatthias Sohn              </transformers>
1479a638b08SMatthias Sohn              <filters>
1489a638b08SMatthias Sohn                <filter>
149*d36488adSMatthias Sohn                  <!-- Shading signed JARs will fail without this.
150*d36488adSMatthias Sohn                       http://stackoverflow.com/questions/999489/invalid-signature-file-when-attempting-to-run-a-jar -->
1519a638b08SMatthias Sohn                  <artifact>*:*</artifact>
1529a638b08SMatthias Sohn                  <excludes>
1539a638b08SMatthias Sohn                    <exclude>META-INF/*.SF</exclude>
1549a638b08SMatthias Sohn                    <exclude>META-INF/*.DSA</exclude>
1559a638b08SMatthias Sohn                    <exclude>META-INF/*.RSA</exclude>
1569a638b08SMatthias Sohn                  </excludes>
1579a638b08SMatthias Sohn                </filter>
1589a638b08SMatthias Sohn              </filters>
1599a638b08SMatthias Sohn            </configuration>
1609a638b08SMatthias Sohn          </execution>
1619a638b08SMatthias Sohn        </executions>
1629a638b08SMatthias Sohn      </plugin>
1639a638b08SMatthias Sohn    </plugins>
1649a638b08SMatthias Sohn    <pluginManagement>
1659a638b08SMatthias Sohn      <plugins>
1669a638b08SMatthias Sohn        <!--This plugin's configuration is used to store Eclipse m2e settings only.
1679a638b08SMatthias Sohn            It has no influence on the Maven build itself. -->
1689a638b08SMatthias Sohn        <plugin>
1699a638b08SMatthias Sohn          <groupId>org.eclipse.m2e</groupId>
1709a638b08SMatthias Sohn          <artifactId>lifecycle-mapping</artifactId>
1719a638b08SMatthias Sohn          <version>1.0.0</version>
1729a638b08SMatthias Sohn          <configuration>
1739a638b08SMatthias Sohn            <lifecycleMappingMetadata>
1749a638b08SMatthias Sohn              <pluginExecutions>
1759a638b08SMatthias Sohn                <pluginExecution>
1769a638b08SMatthias Sohn                  <pluginExecutionFilter>
1779a638b08SMatthias Sohn                    <groupId>org.apache.maven.plugins</groupId>
1789a638b08SMatthias Sohn                    <artifactId>maven-antrun-plugin</artifactId>
1799a638b08SMatthias Sohn                    <versionRange>[1.8,)</versionRange>
1809a638b08SMatthias Sohn                    <goals>
1819a638b08SMatthias Sohn                      <goal>run</goal>
1829a638b08SMatthias Sohn                    </goals>
1839a638b08SMatthias Sohn                  </pluginExecutionFilter>
1849a638b08SMatthias Sohn                  <action>
1859a638b08SMatthias Sohn                    <ignore></ignore>
1869a638b08SMatthias Sohn                  </action>
1879a638b08SMatthias Sohn                </pluginExecution>
1889a638b08SMatthias Sohn              </pluginExecutions>
1899a638b08SMatthias Sohn            </lifecycleMappingMetadata>
1909a638b08SMatthias Sohn          </configuration>
1919a638b08SMatthias Sohn        </plugin>
1929a638b08SMatthias Sohn      </plugins>
1939a638b08SMatthias Sohn    </pluginManagement>
1949a638b08SMatthias Sohn  </build>
195*d36488adSMatthias Sohn  <distributionManagement>
196*d36488adSMatthias Sohn    <repository>
197*d36488adSMatthias Sohn      <id>repo.eclipse.org</id>
198*d36488adSMatthias Sohn      <name>JGit Maven Repository - Releases</name>
199*d36488adSMatthias Sohn      <url>https://repo.eclipse.org/content/repositories/jgit-releases/</url>
200*d36488adSMatthias Sohn    </repository>
201*d36488adSMatthias Sohn    <snapshotRepository>
202*d36488adSMatthias Sohn      <id>repo.eclipse.org</id>
203*d36488adSMatthias Sohn      <name>JGit Maven Repository - Snapshots</name>
204*d36488adSMatthias Sohn      <url>https://repo.eclipse.org/content/repositories/jgit-snapshots/</url>
205*d36488adSMatthias Sohn      <uniqueVersion>true</uniqueVersion>
206*d36488adSMatthias Sohn    </snapshotRepository>
207*d36488adSMatthias Sohn    <site>
208*d36488adSMatthias Sohn      <id>jgit.website</id>
209*d36488adSMatthias Sohn      <name>JGit Website</name>
210*d36488adSMatthias Sohn      <url>${jgit.website.url}</url>
211*d36488adSMatthias Sohn    </site>
212*d36488adSMatthias Sohn  </distributionManagement>
2139a638b08SMatthias Sohn</project>
214