perf-test-2.4.0.RC2.pom

A Java-based performance testing tool for RabbitMQ.

Checksums

MD5 2c5b24269515e0126d953178a2577dd0
SHA1 e4664674c6e2520bad48a9aafaf726a30f226ba7
SHA256 c4ccfaf12ec3a172aaed7122d670b49d412b975b6987a72f18223abcde232fe6
SHA512 3f1dfbd3f63ccb9d2c953db54ba98698fd88c2f1eccc10c710ad2161376a6dfdf6ad0a3ba44acede7c6c57053615bafe6fc20c289e5e09d4672b23b4a0a21711

POM

<?xml version="1.0"?>
<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>com.rabbitmq</groupId>
  <artifactId>perf-test</artifactId>
  <version>2.4.0.RC2</version>
  <packaging>jar</packaging>

  <name>RabbitMQ Performance Testing Tool</name>
  <description>A Java-based performance testing tool for RabbitMQ.</description>
  <url>http://www.rabbitmq.com</url>

  <licenses>
    <license>
      <name>ASL 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
      <distribution>repo</distribution>
    </license>
    <license>
      <name>GPL v2</name>
      <url>http://www.gnu.org/licenses/gpl-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
    <license>
      <name>MPL 1.1</name>
      <url>http://www.mozilla.org/MPL/MPL-1.1.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <developers>
    <developer>
      <email>info@rabbitmq.com</email>
      <name>Team RabbitMQ</name>
      <organization>Pivotal Software, Inc.</organization>
      <organizationUrl>https://rabbitmq.com</organizationUrl>
    </developer>
  </developers>

  <scm>
    <url>https://github.com/rabbitmq/rabbitmq-perf-test</url>
    <connection>scm:git:git://github.com/rabbitmq/rabbitmq-perf-test.git</connection>
    <developerConnection>scm:git:git@github.com:rabbitmq/rabbitmq-perf-test.git</developerConnection>
    <tag>v2.4.0.RC2</tag>
  </scm>

  <organization>
    <name>Pivotal Software, Inc.</name>
    <url>http://www.rabbitmq.com</url>
  </organization>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

    <rabbitmq.version>5.5.1</rabbitmq.version>
    <commons-cli.version>1.1</commons-cli.version>
    <metrics.version>4.0.3</metrics.version>
    <micrometer.version>1.1.1</micrometer.version>
    <logback.version>1.2.3</logback.version>
    <jetty.version>9.4.14.v20181114</jetty.version>
    <junit.jupiter.version>5.3.2</junit.jupiter.version>
    <mockito.version>2.23.4</mockito.version>
    <hamcrest.version>2.0.0.0</hamcrest.version>
    <commons-lang3.version>3.8.1</commons-lang3.version>
    <jmh.version>1.20</jmh.version>

    <!-- to sign artifacts when releasing -->
    <gpg.keyname>6026DFCA</gpg.keyname>

    <maven.compiler.plugin.version>3.8.0</maven.compiler.plugin.version>
    <versions.maven.plugin.version>2.3</versions.maven.plugin.version>
    <maven.release.plugin.version>2.5.3</maven.release.plugin.version>
    <maven.source.plugin.version>3.0.1</maven.source.plugin.version>
    <maven.javadoc.plugin.version>3.0.1</maven.javadoc.plugin.version>
    <maven.gpg.plugin.version>1.6</maven.gpg.plugin.version>
    <maven.assembly.plugin.version>3.1.0</maven.assembly.plugin.version>
    <maven.install.plugin.version>2.5.2</maven.install.plugin.version>
    <maven.jar.plugin.version>3.0.2</maven.jar.plugin.version>
    <buildnumber.plugin.version>1.4</buildnumber.plugin.version>
    <maven.surefire.plugin.version>2.22.1</maven.surefire.plugin.version>
    <maven.failsafe.plugin.version>2.22.1</maven.failsafe.plugin.version>
    <maven.packagecloud.wagon.version>0.0.6</maven.packagecloud.wagon.version>
    <checksum.maven.plugin.version>1.8</checksum.maven.plugin.version>

    <!-- because of https://issues.apache.org/jira/browse/MRESOURCES-99 -->
    <build.timestamp>${maven.build.timestamp}</build.timestamp>
    <maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ss'Z'</maven.build.timestamp.format>

    <finalName>rabbitmq-${project.build.finalName}</finalName>

    <asciidoctor.maven.plugin.version>1.5.7.1</asciidoctor.maven.plugin.version>
    <asciidoctorj.version>1.5.7</asciidoctorj.version>
    <jruby.version>9.1.17.0</jruby.version>
    <!-- For GraalVM native image -->
    <maven-assembly-plugin.version>3.1.0</maven-assembly-plugin.version>
    <maven-jar-plugin.version>3.1.0</maven-jar-plugin.version>
    <slf4j.version>1.7.25</slf4j.version>
    <graal-sdk.version>1.0.0-rc9</graal-sdk.version>
    <build-helper-maven-plugin.version>3.0.0</build-helper-maven-plugin.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>com.rabbitmq</groupId>
      <artifactId>amqp-client</artifactId>
      <version>${rabbitmq.version}</version>
    </dependency>
    <dependency>
      <groupId>commons-cli</groupId>
      <artifactId>commons-cli</artifactId>
      <version>${commons-cli.version}</version>
    </dependency>
    <dependency>
      <groupId>io.dropwizard.metrics</groupId>
      <artifactId>metrics-core</artifactId>
      <version>${metrics.version}</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-servlet</artifactId>
      <version>${jetty.version}</version>
    </dependency>
    <dependency>
      <groupId>io.micrometer</groupId>
      <artifactId>micrometer-core</artifactId>
      <version>${micrometer.version}</version>
    </dependency>
    <dependency>
      <groupId>io.micrometer</groupId>
      <artifactId>micrometer-registry-datadog</artifactId>
      <version>${micrometer.version}</version>
    </dependency>
    <dependency>
      <groupId>io.micrometer</groupId>
      <artifactId>micrometer-registry-jmx</artifactId>
      <version>${micrometer.version}</version>
    </dependency>
    <dependency>
      <groupId>io.micrometer</groupId>
      <artifactId>micrometer-registry-prometheus</artifactId>
      <version>${micrometer.version}</version>
    </dependency>

    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>${logback.version}</version>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-core</artifactId>
      <version>${logback.version}</version>
      <optional>true</optional>
    </dependency>

    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-engine</artifactId>
      <version>${junit.jupiter.version}</version>
      <scope>test</scope>
    </dependency>
    <!-- To avoid compiler warnings about @API annotations in JUnit code -->
    <dependency>
      <groupId>org.apiguardian</groupId>
      <artifactId>apiguardian-api</artifactId>
      <version>1.0.0</version>
      <scope>test</scope>
    </dependency>

    <!-- to support JUnit 4 rules -->
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-migrationsupport</artifactId>
      <version>${junit.jupiter.version}</version>
      <exclusions>
        <exclusion>
          <groupId>org.hamcrest</groupId>
          <artifactId>hamcrest-core</artifactId>
        </exclusion>
      </exclusions>
      <scope>test</scope>
    </dependency>

    <!-- for parameterized tests -->
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-params</artifactId>
      <version>${junit.jupiter.version}</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <version>${mockito.version}</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest-junit</artifactId>
      <version>${hamcrest.version}</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
      <version>${commons-lang3.version}</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.openjdk.jmh</groupId>
      <artifactId>jmh-core</artifactId>
      <version>${jmh.version}</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.openjdk.jmh</groupId>
      <artifactId>jmh-generator-annprocess</artifactId>
      <version>${jmh.version}</version>
      <scope>test</scope>
    </dependency>

  </dependencies>

  <build>

    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
      </resource>
      <resource>
        <directory>html</directory>
        <includes>
          <include>perf.js</include>
          <include>perf.css</include>
          <include>lib/*</include>
        </includes>
        <targetPath>static</targetPath>
      </resource>

    </resources>

    <plugins>

      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>${maven.compiler.plugin.version}</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
          <compilerArgs>
            <arg>-Xlint:deprecation</arg>
            <arg>-Xlint:unchecked</arg>
          </compilerArgs>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>${maven.javadoc.plugin.version}</version>
        <configuration>
          <additionalOptions>${javadoc.opts}</additionalOptions>
          <additionalJOption>${javadoc.joption}</additionalJOption>
          <quiet>true</quiet>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>${maven.surefire.plugin.version}</version>
        <configuration>
          <includes>
            <include>**/*Test.java</include>
          </includes>
          <!--
            needed because of bug in OpenJDK 8 u181 on Debian distros
            see https://stackoverflow.com/questions/53010200/maven-surefire-could-not-find-forkedbooter-class
          -->
          <argLine>-Djdk.net.URLClassPath.disableClassPathURLCheck=true</argLine>
        </configuration>
      </plugin>

      <plugin>
        <artifactId>maven-failsafe-plugin</artifactId>
        <version>${maven.failsafe.plugin.version}</version>
        <configuration>
          <includes>
            <include>**/*IT.java</include>
          </includes>
          <encoding>UTF-8</encoding>
          <!--
            needed because of bug in OpenJDK 8 u181 on Debian distros
            see https://stackoverflow.com/questions/53010200/maven-surefire-could-not-find-forkedbooter-class
          -->
          <argLine>-Djdk.net.URLClassPath.disableClassPathURLCheck=true</argLine>
        </configuration>

        <executions>
          <execution>
            <goals>
              <goal>integration-test</goal>
              <goal>verify</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>versions-maven-plugin</artifactId>
        <version>${versions.maven.plugin.version}</version>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-release-plugin</artifactId>
        <version>${maven.release.plugin.version}</version>
        <configuration>
          <tagNameFormat>v@{project.version}</tagNameFormat>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>${maven.source.plugin.version}</version>
        <executions>
          <execution>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>${maven.jar.plugin.version}</version>
        <configuration>
          <archive>
            <manifest>
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
            </manifest>
            <manifestEntries>
              <Automatic-Module-Name>com.rabbitmq.perf</Automatic-Module-Name>
              <Implementation-Build>${buildNumber}</Implementation-Build>
              <Implementation-Build-Timestamp>${maven.build.timestamp}</Implementation-Build-Timestamp>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-install-plugin</artifactId>
        <version>${maven.install.plugin.version}</version>
        <configuration>
            <createChecksum>true</createChecksum>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>buildnumber-maven-plugin</artifactId>
        <version>${buildnumber.plugin.version}</version>
        <executions>
          <execution>
            <phase>validate</phase>
            <goals>
              <goal>create</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <doCheck>false</doCheck>
          <doUpdate>false</doUpdate>
          <revisionOnScmFailure>unknown</revisionOnScmFailure>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.asciidoctor</groupId>
        <artifactId>asciidoctor-maven-plugin</artifactId>
        <version>${asciidoctor.maven.plugin.version}</version>
        <configuration>
          <sourceDirectory>src/docs/asciidoc</sourceDirectory>
          <sourceDocumentName>index.adoc</sourceDocumentName>
          <!-- Attributes common to all output formats -->
          <backend>html5</backend>
          <sourceHighlighter>coderay</sourceHighlighter>
          <attributes>
            <endpoint-url>http://example.org</endpoint-url>
            <sourcedir>${project.build.sourceDirectory}</sourcedir>
            <project-version>${project.version}</project-version>
            <imagesdir>./images</imagesdir>
            <toc>left</toc>
            <icons>font</icons>
            <sectanchors>true</sectanchors>
            <!-- set the idprefix to blank -->
            <idprefix />
            <idseparator>-</idseparator>
            <docinfo1>true</docinfo1>
          </attributes>

        </configuration>
      </plugin>

    </plugins>
    <extensions>
      <extension>
        <groupId>io.packagecloud.maven.wagon</groupId>
        <artifactId>maven-packagecloud-wagon</artifactId>
        <version>${maven.packagecloud.wagon.version}</version>
      </extension>
    </extensions>
  </build>

  <profiles>

    <profile>
      <!--
      Java 8's Javadoc is way more sensible to documentation
      correctness. For now, disable all those errors until we fix them.
      -->
      <id>disable-java8-doclint</id>
      <activation>
        <jdk>[1.8,)</jdk>
      </activation>
      <properties>
        <javadoc.opts>-Xdoclint:none</javadoc.opts>
      </properties>
    </profile>

    <profile>
      <!--
      We need this option in Java 11+ to avoid an
      extra 'undefined' segment in the URL
      -->
      <id>javadoc-no-module-dir-java-11</id>
      <activation>
        <jdk>[11,)</jdk>
      </activation>
      <properties>
        <javadoc.joption>--no-module-directories</javadoc.joption>
      </properties>
    </profile>

    <!--
      The "bintray-release" Maven profile is used to push release artifacts to the
      Bintray Release Maven Repository.
    -->
    <profile>
      <id>bintray-release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>${maven.javadoc.plugin.version}</version>
            <configuration>
              <additionalOptions>${javadoc.opts}</additionalOptions>
              <additionalJOption>${javadoc.joption}</additionalJOption>
              <quiet>true</quiet>
            </configuration>
            <executions>
              <execution>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>

          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>${maven.gpg.plugin.version}</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>package</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
                <configuration>
                  <keyname>${gpg.keyname}</keyname>
                </configuration>
              </execution>
            </executions>
          </plugin>

        </plugins>
      </build>
      <distributionManagement>
        <repository>
          <id>bintray-rabbitmq-maven</id>
          <name>rabbitmq-maven</name>
          <url>https://api.bintray.com/maven/rabbitmq/maven/com.rabbitmq:perf-test/;publish=1</url>
        </repository>
      </distributionManagement>
    </profile>

    <!--
      The "milestone" Maven profile is used to push release artifacts to the
      PackageCloud Milestones Maven Repository.
    -->
    <profile>
      <id>milestone</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>${maven.javadoc.plugin.version}</version>
            <configuration>
              <additionalOptions>${javadoc.opts}</additionalOptions>
              <additionalJOption>${javadoc.joption}</additionalJOption>
              <quiet>true</quiet>
            </configuration>
            <executions>
              <execution>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>

          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>${maven.gpg.plugin.version}</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>package</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
                <configuration>
                  <keyname>${gpg.keyname}</keyname>
                </configuration>
              </execution>
            </executions>
          </plugin>

          <plugin>
            <groupId>net.nicoulaj.maven.plugins</groupId>
            <artifactId>checksum-maven-plugin</artifactId>
            <version>${checksum.maven.plugin.version}</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>package</phase>
                <goals>
                  <goal>files</goal>
                </goals>
                <configuration>
                  <fileSets>
                    <fileSet>
                      <directory>${project.build.directory}</directory>
                      <includes>
                        <include>*.jar</include>
                        <include>*.pom</include>
                      </includes>
                    </fileSet>
                  </fileSets>
                  <algorithms>
                    <algorithm>MD5</algorithm>
                    <algorithm>SHA-1</algorithm>
                  </algorithms>
                </configuration>
              </execution>
            </executions>
          </plugin>

        </plugins>
      </build>
      <distributionManagement>
        <repository>
          <id>packagecloud-rabbitmq-maven-milestones</id>
          <url>packagecloud+https://packagecloud.io/rabbitmq/maven-milestones</url>
        </repository>
      </distributionManagement>
    </profile>

    <profile>
      <!--
      The "assemblies" Maven profile is used to generate source
      and binary archives (to-be-uploaded on Github).
      -->
      <id>assemblies</id>
      <dependencies>

        <dependency>
          <groupId>ch.qos.logback</groupId>
          <artifactId>logback-classic</artifactId>
          <version>${logback.version}</version>
        </dependency>

        <dependency>
          <groupId>ch.qos.logback</groupId>
          <artifactId>logback-core</artifactId>
          <version>${logback.version}</version>
        </dependency>

      </dependencies>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>${maven.assembly.plugin.version}</version>
            <configuration>
              <finalName>${finalName}</finalName>
              <descriptors>
                <descriptor>src/assembly/dist-bin.xml</descriptor>
                <descriptor>src/assembly/dist-src.xml</descriptor>
              </descriptors>
            </configuration>

            <executions>
              <execution>
                <id>create-archive</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
              </execution>
            </executions>
          </plugin>

          <plugin>
            <groupId>net.nicoulaj.maven.plugins</groupId>
            <artifactId>checksum-maven-plugin</artifactId>
            <version>${checksum.maven.plugin.version}</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>package</phase>
                <goals>
                  <goal>files</goal>
                </goals>
                <configuration>
                  <fileSets>
                    <fileSet>
                      <directory>${project.build.directory}</directory>
                      <includes>
                        <include>*.tar.gz</include>
                        <include>*.zip</include>
                      </includes>
                    </fileSet>
                  </fileSets>
                  <algorithms>
                    <algorithm>MD5</algorithm>
                    <algorithm>SHA-256</algorithm>
                  </algorithms>
                </configuration>
              </execution>
            </executions>
          </plugin>

          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>${maven.gpg.plugin.version}</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>package</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
                <configuration>
                  <keyname>${gpg.keyname}</keyname>
                </configuration>
              </execution>
            </executions>
          </plugin>

        </plugins>
      </build>
    </profile>

    <profile>
      <id>java-packaging</id>
      <activation>
        <property>
          <name>!native-image</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <version>${build-helper-maven-plugin.version}</version>
            <executions>
              <execution>
                <id>add-source</id>
                <phase>generate-sources</phase>
                <goals>
                  <goal>add-source</goal>
                </goals>
                <configuration>
                  <sources>
                    <source>src/java-packaging/java</source>
                  </sources>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>native-image</id>
      <dependencies>

        <dependency>
          <groupId>org.graalvm.sdk</groupId>
          <artifactId>graal-sdk</artifactId>
          <version>${graal-sdk.version}</version>
        </dependency>

        <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-simple</artifactId>
          <version>${slf4j.version}</version>
        </dependency>

      </dependencies>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>${maven.compiler.plugin.version}</version>
            <configuration>
              <source>1.8</source>
              <target>1.8</target>
              <compilerArgs>
                <arg>-Xlint:deprecation</arg>
                <arg>-Xlint:unchecked</arg>
              </compilerArgs>
              <excludes>
                <exclude>com/rabbitmq/perf/WebServer.java</exclude>
              </excludes>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>${maven-assembly-plugin.version}</version>
            <configuration>
              <finalName>${project.artifactId}</finalName>
              <descriptors>
                <descriptor>src/assembly/jar-for-native-image.xml</descriptor>
              </descriptors>
              <appendAssemblyId>false</appendAssemblyId>
              <archive>
                <manifest>
                  <mainClass>com.rabbitmq.perf.NativePerfTest</mainClass>
                </manifest>
              </archive>
            </configuration>
            <executions>
              <execution>
                <id>assemble-all</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>${maven-jar-plugin.version}</version>
            <executions>
              <execution>
                <id>default-jar</id>
                <phase>none</phase>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <version>${build-helper-maven-plugin.version}</version>
            <executions>
              <execution>
                <id>add-source</id>
                <phase>generate-sources</phase>
                <goals>
                  <goal>add-source</goal>
                </goals>
                <configuration>
                  <sources>
                    <source>src/graalvm/java</source>
                  </sources>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>net.nicoulaj.maven.plugins</groupId>
            <artifactId>checksum-maven-plugin</artifactId>
            <version>${checksum.maven.plugin.version}</version>
            <configuration>
              <fileSets>
                <fileSet>
                  <directory>${project.build.directory}</directory>
                  <includes>
                    <include>perf-test_*</include>
                  </includes>
                </fileSet>
              </fileSets>
              <algorithms>
                <algorithm>MD5</algorithm>
                <algorithm>SHA-1</algorithm>
              </algorithms>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>${maven.gpg.plugin.version}</version>
            <configuration>
              <keyname>${gpg.keyname}</keyname>
              <excludes>
                  <exclude>*.jar</exclude>
                  <exclude>*.md5</exclude>
                  <exclude>*.sha1</exclude>
                  <exclude>*.asc</exclude>
              </excludes>
            </configuration>
          </plugin>
        </plugins>

      </build>
    </profile>

    <profile>
      <id>ossrh-release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>${maven.javadoc.plugin.version}</version>
            <configuration>
              <additionalOptions>${javadoc.opts}</additionalOptions>
              <additionalJOption>${javadoc.joption}</additionalJOption>
              <quiet>true</quiet>
            </configuration>
            <executions>
              <execution>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>

        </plugins>
      </build>
      <distributionManagement>
        <snapshotRepository>
          <id>ossrh</id>
          <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        </snapshotRepository>
      </distributionManagement>
    </profile>

  </profiles>

</project>