| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Copyright (C) 2019, Matthias Sohn <matthias.sohn@sap.com> and others |
| |
| This program and the accompanying materials are made available under the |
| terms of the Eclipse Distribution License v. 1.0 which is available at |
| http://www.eclipse.org/org/documents/edl-v10.php. |
| |
| SPDX-License-Identifier: BSD-3-Clause |
| --> |
| <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> |
| |
| <parent> |
| <groupId>org.eclipse.jgit</groupId> |
| <artifactId>org.eclipse.jgit-parent</artifactId> |
| <version>6.10.0.202405212237-m3</version> |
| </parent> |
| |
| <artifactId>org.eclipse.jgit.benchmarks</artifactId> |
| <packaging>jar</packaging> |
| |
| <name>JGit - JMH based benchmarks</name> |
| |
| <properties> |
| <java.version>11</java.version> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <jmh.version>1.37</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> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jgit</groupId> |
| <artifactId>org.eclipse.jgit</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.jgit</groupId> |
| <artifactId>org.eclipse.jgit.junit</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <sourceDirectory>src/</sourceDirectory> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>enforce-maven</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <requireMavenVersion> |
| <version>3.6.3</version> |
| </requireMavenVersion> |
| </rules> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>${maven-compiler-plugin-version}</version> |
| <configuration> |
| <encoding>UTF-8</encoding> |
| <release>${java.version}</release> |
| <fork>true</fork> |
| <compilerArgs> |
| <arg>-XDcompilePolicy=simple</arg> |
| <arg>-Xplugin:ErrorProne</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg> |
| <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg> |
| <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg> |
| </compilerArgs> |
| <annotationProcessorPaths> |
| <path> |
| <groupId>org.openjdk.jmh</groupId> |
| <artifactId>jmh-generator-annprocess</artifactId> |
| <version>${jmh.version}</version> |
| </path> |
| <path> |
| <groupId>com.google.errorprone</groupId> |
| <artifactId>error_prone_core</artifactId> |
| <version>2.9.0</version> |
| </path> |
| </annotationProcessorPaths> |
| <generatedSourcesDirectory>.apt_generated</generatedSourcesDirectory> |
| </configuration> |
| </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> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <configuration> |
| <!-- We check javadoc when compiling with ecj (option -Pecj) and configurations |
| set in .settings/org.eclipse.jdt.core.prefs. This allows more fine grained |
| configuration and fails the build on missing javadoc for protected and |
| public but not for private classes, methods and fields. We don't want |
| to check javadoc on tests. We can reconsider to configure this on javadoc |
| when it starts supporting access specifiers so that we can set |
| -Xdoclint:all,-missing/private --> |
| <additionalJOption>-Xdoclint:none</additionalJOption> |
| <encoding>${project.build.sourceEncoding}</encoding> |
| <quiet>true</quiet> |
| <failOnWarnings>false</failOnWarnings> |
| </configuration> |
| <executions> |
| <execution> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| </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> |
| <dependencies> |
| <dependency><!-- add support for ssh/scp --> |
| <groupId>org.apache.maven.wagon</groupId> |
| <artifactId>wagon-ssh-external</artifactId> |
| <version>3.5.3</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-report-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jxr-plugin</artifactId> |
| <version>${maven-jxr-plugin-version}</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-project-info-reports-plugin</artifactId> |
| <version>${maven-project-info-reports-plugin-version}</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> |