|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<!--
|
|
|
|
Copyright (C) 2019, Matthias Sohn <matthias.sohn@sap.com>
|
|
|
|
and other copyright owners as documented in the project's IP log.
|
|
|
|
|
|
|
|
This program and the accompanying materials are made available
|
|
|
|
under the terms of the Eclipse Distribution License v1.0 which
|
|
|
|
accompanies this distribution, is reproduced below, and is
|
|
|
|
available at http://www.eclipse.org/org/documents/edl-v10.php
|
|
|
|
|
|
|
|
All rights reserved.
|
|
|
|
|
|
|
|
Redistribution and use in source and binary forms, with or
|
|
|
|
without modification, are permitted provided that the following
|
|
|
|
conditions are met:
|
|
|
|
|
|
|
|
- Redistributions of source code must retain the above copyright
|
|
|
|
notice, this list of conditions and the following disclaimer.
|
|
|
|
|
|
|
|
- Redistributions in binary form must reproduce the above
|
|
|
|
copyright notice, this list of conditions and the following
|
|
|
|
disclaimer in the documentation and/or other materials provided
|
|
|
|
with the distribution.
|
|
|
|
|
|
|
|
- Neither the name of the Eclipse Foundation, Inc. nor the
|
|
|
|
names of its contributors may be used to endorse or promote
|
|
|
|
products derived from this software without specific prior
|
|
|
|
written permission.
|
|
|
|
|
|
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
|
|
|
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
|
|
|
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
|
|
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
|
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
|
|
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
|
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
|
|
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
|
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
|
|
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
|
|
|
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
|
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
|
|
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
-->
|
|
|
|
<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">
|
|
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
|
|
|
|
<groupId>org.eclipse.jgit</groupId>
|
|
|
|
<version>5.5.2-SNAPSHOT</version>
|
|
|
|
<artifactId>org.eclipse.jgit.benchmarks</artifactId>
|
|
|
|
<packaging>jar</packaging>
|
|
|
|
|
|
|
|
<name>JGit - JMH based benchmarks</name>
|
|
|
|
|
|
|
|
<properties>
|
|
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
|
|
<javac.target>1.8</javac.target>
|
|
|
|
<jmh.version>1.21</jmh.version>
|
|
|
|
<uberjar.name>benchmarks</uberjar.name>
|
|
|
|
</properties>
|
|
|
|
|
|
|
|
<dependencies>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.openjdk.jmh</groupId>
|
|
|
|
<artifactId>jmh-core</artifactId>
|
|
|
|
<version>${jmh.version}</version>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.openjdk.jmh</groupId>
|
|
|
|
<artifactId>jmh-generator-annprocess</artifactId>
|
|
|
|
<version>${jmh.version}</version>
|
|
|
|
<scope>provided</scope>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.eclipse.jgit</groupId>
|
|
|
|
<artifactId>org.eclipse.jgit</artifactId>
|
|
|
|
<version>${project.version}</version>
|
|
|
|
</dependency>
|
|
|
|
</dependencies>
|
|
|
|
|
|
|
|
<build>
|
|
|
|
<sourceDirectory>src/</sourceDirectory>
|
|
|
|
<plugins>
|
|
|
|
<plugin>
|
|
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
|
|
<version>3.8.1</version>
|
|
|
|
<configuration>
|
|
|
|
<compilerVersion>${javac.target}</compilerVersion>
|
|
|
|
<source>${javac.target}</source>
|
|
|
|
<target>${javac.target}</target>
|
|
|
|
<generatedSourcesDirectory>.apt_generated</generatedSourcesDirectory>
|
|
|
|
</configuration>
|
|
|
|
<executions>
|
|
|
|
<execution>
|
|
|
|
<id>compile-with-errorprone</id>
|
|
|
|
<phase>compile</phase>
|
|
|
|
<goals>
|
|
|
|
<goal>compile</goal>
|
|
|
|
</goals>
|
|
|
|
<configuration>
|
|
|
|
<compilerId>javac-with-errorprone</compilerId>
|
|
|
|
<forceJavacCompilerUse>true</forceJavacCompilerUse>
|
|
|
|
<compilerArgs>
|
|
|
|
<arg>-Xep:ExpectedExceptionChecker:ERROR</arg>
|
|
|
|
</compilerArgs>
|
|
|
|
</configuration>
|
|
|
|
</execution>
|
|
|
|
</executions>
|
|
|
|
<dependencies>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.codehaus.plexus</groupId>
|
|
|
|
<artifactId>plexus-compiler-javac</artifactId>
|
|
|
|
<version>2.8.5</version>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.codehaus.plexus</groupId>
|
|
|
|
<artifactId>plexus-compiler-javac-errorprone</artifactId>
|
|
|
|
<version>2.8.5</version>
|
|
|
|
</dependency>
|
|
|
|
<!-- override plexus-compiler-javac-errorprone's dependency on
|
|
|
|
Error Prone with the latest version -->
|
|
|
|
<dependency>
|
|
|
|
<groupId>com.google.errorprone</groupId>
|
|
|
|
<artifactId>error_prone_core</artifactId>
|
|
|
|
<version>2.3.3</version>
|
|
|
|
</dependency>
|
|
|
|
</dependencies>
|
|
|
|
</plugin>
|
|
|
|
<plugin>
|
|
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
|
|
<artifactId>maven-shade-plugin</artifactId>
|
|
|
|
<executions>
|
|
|
|
<execution>
|
|
|
|
<phase>package</phase>
|
|
|
|
<goals>
|
|
|
|
<goal>shade</goal>
|
|
|
|
</goals>
|
|
|
|
<configuration>
|
|
|
|
<finalName>${uberjar.name}</finalName>
|
|
|
|
<transformers>
|
|
|
|
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
|
|
|
<mainClass>org.openjdk.jmh.Main</mainClass>
|
|
|
|
</transformer>
|
|
|
|
</transformers>
|
|
|
|
<filters>
|
|
|
|
<filter>
|
|
|
|
<!-- Shading signed JARs will fail without this.
|
|
|
|
http://stackoverflow.com/questions/999489/invalid-signature-file-when-attempting-to-run-a-jar -->
|
|
|
|
<artifact>*:*</artifact>
|
|
|
|
<excludes>
|
|
|
|
<exclude>META-INF/*.SF</exclude>
|
|
|
|
<exclude>META-INF/*.DSA</exclude>
|
|
|
|
<exclude>META-INF/*.RSA</exclude>
|
|
|
|
</excludes>
|
|
|
|
</filter>
|
|
|
|
</filters>
|
|
|
|
</configuration>
|
|
|
|
</execution>
|
|
|
|
</executions>
|
|
|
|
</plugin>
|
|
|
|
</plugins>
|
|
|
|
<pluginManagement>
|
|
|
|
<plugins>
|
|
|
|
<!--This plugin's configuration is used to store Eclipse m2e settings only.
|
|
|
|
It has no influence on the Maven build itself. -->
|
|
|
|
<plugin>
|
|
|
|
<groupId>org.eclipse.m2e</groupId>
|
|
|
|
<artifactId>lifecycle-mapping</artifactId>
|
|
|
|
<version>1.0.0</version>
|
|
|
|
<configuration>
|
|
|
|
<lifecycleMappingMetadata>
|
|
|
|
<pluginExecutions>
|
|
|
|
<pluginExecution>
|
|
|
|
<pluginExecutionFilter>
|
|
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
|
|
<versionRange>[1.8,)</versionRange>
|
|
|
|
<goals>
|
|
|
|
<goal>run</goal>
|
|
|
|
</goals>
|
|
|
|
</pluginExecutionFilter>
|
|
|
|
<action>
|
|
|
|
<ignore></ignore>
|
|
|
|
</action>
|
|
|
|
</pluginExecution>
|
|
|
|
</pluginExecutions>
|
|
|
|
</lifecycleMappingMetadata>
|
|
|
|
</configuration>
|
|
|
|
</plugin>
|
|
|
|
<plugin>
|
|
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
|
|
<artifactId>maven-site-plugin</artifactId>
|
|
|
|
<version>3.8.2</version>
|
|
|
|
<dependencies>
|
|
|
|
<dependency><!-- add support for ssh/scp -->
|
|
|
|
<groupId>org.apache.maven.wagon</groupId>
|
|
|
|
<artifactId>wagon-ssh</artifactId>
|
|
|
|
<version>3.3.4</version>
|
|
|
|
</dependency>
|
|
|
|
</dependencies>
|
|
|
|
</plugin>
|
|
|
|
<plugin>
|
|
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
|
|
<artifactId>maven-surefire-report-plugin</artifactId>
|
|
|
|
<version>3.0.0-M3</version>
|
|
|
|
</plugin>
|
|
|
|
<plugin>
|
|
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
|
|
<artifactId>maven-jxr-plugin</artifactId>
|
|
|
|
<version>3.0.0</version>
|
|
|
|
</plugin>
|
|
|
|
<plugin>
|
|
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
|
|
<artifactId>maven-project-info-reports-plugin</artifactId>
|
|
|
|
<version>3.0.0</version>
|
|
|
|
</plugin>
|
|
|
|
</plugins>
|
|
|
|
</pluginManagement>
|
|
|
|
</build>
|
|
|
|
<distributionManagement>
|
|
|
|
<repository>
|
|
|
|
<id>repo.eclipse.org</id>
|
|
|
|
<name>JGit Maven Repository - Releases</name>
|
|
|
|
<url>https://repo.eclipse.org/content/repositories/jgit-releases/</url>
|
|
|
|
</repository>
|
|
|
|
<snapshotRepository>
|
|
|
|
<id>repo.eclipse.org</id>
|
|
|
|
<name>JGit Maven Repository - Snapshots</name>
|
|
|
|
<url>https://repo.eclipse.org/content/repositories/jgit-snapshots/</url>
|
|
|
|
<uniqueVersion>true</uniqueVersion>
|
|
|
|
</snapshotRepository>
|
|
|
|
<site>
|
|
|
|
<id>jgit.website</id>
|
|
|
|
<name>JGit Website</name>
|
|
|
|
<url>${jgit.website.url}</url>
|
|
|
|
</site>
|
|
|
|
</distributionManagement>
|
|
|
|
</project>
|