Ctrl K
ComunidadGuías…

pom.xml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>io.cryostat</groupId>
  <artifactId>cryostat</artifactId>
  <version>5.0.0-SNAPSHOT</version>

  <repositories>
    <repository>
      <id>central.sonatype.com-snapshot</id>
      <url>https://central.sonatype.com/repository/maven-snapshots/</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
        <updatePolicy>always</updatePolicy>
      </snapshots>
    </repository>
    <repository>
      <id>jitpack.io</id>
      <url>https://jitpack.io</url>
    </repository>
  </repositories>

  <properties>
    <quarkus.application.version>${cryostat.imageVersionLower}</quarkus.application.version>
    <java.version>25</java.version>
    <maven.compiler.release>${java.version}</maven.compiler.release>
    <maven.compiler.source>${java.version}</maven.compiler.source>
    <maven.compiler.target>${java.version}</maven.compiler.target>
    <compiler-plugin.version>3.16.0</compiler-plugin.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

    <build.arch>amd64</build.arch>

    <io.cryostat.core.version>5.0.0-SNAPSHOT</io.cryostat.core.version>

    <org.apache.commons.collections.version>4.5.0</org.apache.commons.collections.version>
    <org.apache.commons.validator.version>1.10.1</org.apache.commons.validator.version>
    <org.projectnessie.cel.bom.version>0.5.2</org.projectnessie.cel.bom.version>
    <com.google.protobuf-java.version>4.35.1</com.google.protobuf-java.version>
    <com.nimbusds.jose.jwt.version>10.7</com.nimbusds.jose.jwt.version>
    <org.testcontainers.bom.version>2.0.5</org.testcontainers.bom.version>
    <jfr-analytics.version>352daa673e</jfr-analytics.version>
    <org.apache.calcite.version>1.34.0</org.apache.calcite.version>
    <quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
    <quarkus.platform.group-id>io.quarkus.platform</quarkus.platform.group-id>
    <quarkus.platform.version>3.40.1.2</quarkus.platform.version>
    <quarkus-quinoa.version>2.9.3</quarkus-quinoa.version>
    <org.hibernate.orm.hibernate.jfr.version>7.4.9.Final</org.hibernate.orm.hibernate.jfr.version>
    <org.codehaus.mojo.build.helper.plugin.version>3.6.2</org.codehaus.mojo.build.helper.plugin.version>
    <org.codehaus.mojo.exec.plugin.version>3.6.4</org.codehaus.mojo.exec.plugin.version>
    <assembly-plugin.version>3.8.0</assembly-plugin.version>
    <org.codehaus.gmavenplus.plugin.version>5.1.0</org.codehaus.gmavenplus.plugin.version>
    <org.apache.groovy.version>5.1.3</org.apache.groovy.version>
    <org.apache.ivy.version>2.6.0</org.apache.ivy.version>

    <com.github.spotbugs.plugin.version>4.10.5.0</com.github.spotbugs.plugin.version>
    <com.diffplug.spotless.maven.plugin.version>3.10.4</com.diffplug.spotless.maven.plugin.version>
    <com.google.java-format.version>1.35.0</com.google.java-format.version>
    <com.mycila.license.maven.plugin.version>5.1.2</com.mycila.license.maven.plugin.version>
    <surefire-plugin.version>3.6.1</surefire-plugin.version>
    <surefire.rerunFailingTestsCount>2</surefire.rerunFailingTestsCount>
    <skip.surefire.tests>${skipTests}</skip.surefire.tests>
    <failsafe-plugin.version>3.6.1</failsafe-plugin.version>
    <failsafe.rerunFailingTestsCount>${surefire.rerunFailingTestsCount}</failsafe.rerunFailingTestsCount>
  </properties>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>io.cryostat</groupId>
        <artifactId>cryostat-core-bom</artifactId>
        <version>${io.cryostat.core.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>${quarkus.platform.group-id}</groupId>
        <artifactId>${quarkus.platform.artifact-id}</artifactId>
        <version>${quarkus.platform.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>${quarkus.platform.group-id}</groupId>
        <artifactId>quarkus-amazon-services-bom</artifactId>
        <version>${quarkus.platform.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.projectnessie.cel</groupId>
        <artifactId>cel-bom</artifactId>
        <version>${org.projectnessie.cel.bom.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.testcontainers</groupId>
        <artifactId>testcontainers-bom</artifactId>
        <version>${org.testcontainers.bom.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <dependencies>
    <!--
      jfr-analytics is distributed only through JitPack. Upstream
      moditect/jfr-analytics publishes no Maven Central artifact and has no
      tags, so the version property above is a git commit SHA rather than a
      release version.
    -->
    <dependency>
      <groupId>com.github.moditect</groupId>
      <artifactId>jfr-analytics</artifactId>
      <version>${jfr-analytics.version}</version>
    </dependency>
    <!--
      Calcite with targeted exclusions not required for jfr-analytics functionality.

      Required dependencies (pulled in transitively):
      - calcite-linq4j: Core query processing
      - avatica-core: JDBC driver implementation
      - jts-core: Spatial type system support (required by Calcite's type system)
      - json-path: JSONPath support (required by BuiltInMethod)
      - janino + commons-compiler: Runtime code generation
      - commons-math3: Mathematical operations (required by TimeFrames)
      - guava, jackson-*, slf4j-api, commons-lang3, commons-io: Already managed by Quarkus/Cryostat

      Excluded dependencies (not needed for JFR analytics):
      - jts-io-common: GIS I/O operations
      - proj4j: Coordinate transformation
      - jackson-dataformat-yaml: YAML support
      - uzaygezen-core: Space-filling curves
      - sketches-core: Approximate algorithms
      - aggdesigner-algorithm: Aggregate designer
      - commons-dbcp2: Connection pooling (using in-memory JDBC)
    -->
    <dependency>
      <groupId>org.apache.calcite</groupId>
      <artifactId>calcite-core</artifactId>
      <version>${org.apache.calcite.version}</version>
      <exclusions>
        <exclusion>
          <groupId>org.locationtech.jts.io</groupId>
          <artifactId>jts-io-common</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.locationtech.proj4j</groupId>
          <artifactId>proj4j</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.fasterxml.jackson.dataformat</groupId>
          <artifactId>jackson-dataformat-yaml</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.google.uzaygezen</groupId>
          <artifactId>uzaygezen-core</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.yahoo.datasketches</groupId>
          <artifactId>sketches-core</artifactId>
        </exclusion>
        <exclusion>
          <groupId>net.hydromatic</groupId>
          <artifactId>aggdesigner-algorithm</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.commons</groupId>
          <artifactId>commons-dbcp2</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>io.cryostat</groupId>
      <artifactId>cryostat-core</artifactId>
    </dependency>
    <dependency>
      <groupId>io.cryostat</groupId>
      <artifactId>libcryostat</artifactId>
    </dependency>
    <dependency>
      <groupId>org.openjdk.jmc</groupId>
      <artifactId>common</artifactId>
    </dependency>
    <dependency>
      <groupId>org.openjdk.jmc</groupId>
      <artifactId>flightrecorder</artifactId>
    </dependency>
    <dependency>
      <groupId>org.openjdk.jmc</groupId>
      <artifactId>flightrecorder.configuration</artifactId>
    </dependency>
    <dependency>
      <groupId>org.openjdk.jmc</groupId>
      <artifactId>flightrecorder.rules</artifactId>
    </dependency>
    <dependency>
      <groupId>org.openjdk.jmc</groupId>
      <artifactId>flightrecorder.rules.jdk</artifactId>
    </dependency>
    <dependency>
      <groupId>org.openjdk.jmc</groupId>
      <artifactId>jdp</artifactId>
    </dependency>
    <dependency>
      <groupId>org.openjdk.jmc</groupId>
      <artifactId>rjmx.common</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-arc</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-rest-jackson</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-vertx</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-netty</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-smallrye-openapi</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-smallrye-graphql</artifactId>
    </dependency>
    <dependency>
      <groupId>io.smallrye.reactive</groupId>
      <artifactId>smallrye-mutiny-vertx-web-client</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkiverse.quinoa</groupId>
      <artifactId>quarkus-quinoa</artifactId>
      <version>${quarkus-quinoa.version}</version>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-container-image-podman</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-container-image-docker</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-websockets</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-rest-client-jackson</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-cache</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-quartz</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-hibernate-orm-panache</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-hibernate-validator</artifactId>
    </dependency>
    <dependency>
      <groupId>org.hibernate.orm</groupId>
      <artifactId>hibernate-jfr</artifactId>
      <version>${org.hibernate.orm.hibernate.jfr.version}</version>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-jdbc-postgresql</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkiverse.amazonservices</groupId>
      <artifactId>quarkus-amazon-s3</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkiverse.amazonservices</groupId>
      <artifactId>quarkus-amazon-s3-transfer-manager</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-kubernetes-client</artifactId>
    </dependency>
    <dependency>
      <groupId>software.amazon.awssdk</groupId>
      <artifactId>apache-client</artifactId>
    </dependency>
    <dependency>
      <groupId>software.amazon.awssdk</groupId>
      <artifactId>netty-nio-client</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
    </dependency>
    <dependency>
      <groupId>org.flywaydb</groupId>
      <artifactId>flyway-database-postgresql</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-collections4</artifactId>
      <version>${org.apache.commons.collections.version}</version>
    </dependency>
    <dependency>
      <groupId>org.projectnessie.cel</groupId>
      <artifactId>cel-tools</artifactId>
    </dependency>
    <dependency>
      <groupId>org.projectnessie.cel</groupId>
      <artifactId>cel-jackson</artifactId>
    </dependency>
    <!-- FIXME this is a forced version override of the protobuf required by projectnessie -->
    <dependency>
      <groupId>com.google.protobuf</groupId>
      <artifactId>protobuf-java</artifactId>
      <version>${com.google.protobuf-java.version}</version>
    </dependency>
    <dependency>
      <groupId>commons-validator</groupId>
      <artifactId>commons-validator</artifactId>
      <version>${org.apache.commons.validator.version}</version>
    </dependency>
    <dependency>
      <groupId>com.nimbusds</groupId>
      <artifactId>nimbus-jose-jwt</artifactId>
      <version>${com.nimbusds.jose.jwt.version}</version>
    </dependency>
    <dependency>
      <groupId>com.google.googlejavaformat</groupId>
      <artifactId>google-java-format</artifactId>
      <version>${com.google.java-format.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>me.bechberger</groupId>
      <artifactId>jthreaddump</artifactId>
      <version>0.5.8</version>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-flyway</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-jfr</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-smallrye-fault-tolerance</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-hibernate-envers</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-security</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-junit</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-junit-mockito</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-test-security</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.github.spotbugs</groupId>
      <artifactId>spotbugs-annotations</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>io.rest-assured</groupId>
      <artifactId>rest-assured</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.testcontainers</groupId>
      <artifactId>testcontainers</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.testcontainers</groupId>
      <artifactId>testcontainers-junit-jupiter</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.tngtech.archunit</groupId>
      <artifactId>archunit-junit5</artifactId>
      <version>1.5.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>${quarkus.platform.group-id}</groupId>
        <artifactId>quarkus-maven-plugin</artifactId>
        <version>${quarkus.platform.version}</version>
        <extensions>true</extensions>
        <executions>
          <execution>
            <id>build</id>
            <goals>
              <goal>build</goal>
              <goal>generate-code</goal>
              <goal>generate-code-tests</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <jvmArgs>--add-exports jdk.jfr/jdk.jfr.internal.query=ALL-UNNAMED --add-exports jdk.jfr/jdk.jfr.internal.util=ALL-UNNAMED -Dcryostat.discovery.jdp.enabled=true -Dcryostat.discovery.podman.enabled=true -XX:StartFlightRecording=filename=/tmp/,name=onstart,settings=default,disk=true,maxage=5m -Dcom.sun.management.jmxremote.autodiscovery=true -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9091 -Dcom.sun.management.jmxremote.rmi.port=9091 -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=false</jvmArgs>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>${compiler-plugin.version}</version>
        <configuration>
          <!-- Empty release so source/target (not the release flag) are used; add-exports below
               is rejected by javac when compiling with the release flag for a system module. -->
          <release combine.self="override"></release>
          <compilerArgs>
            <arg>-parameters</arg>
            <arg>--add-exports</arg><arg>jdk.jfr/jdk.jfr.internal.query=ALL-UNNAMED</arg>
            <arg>--add-exports</arg><arg>jdk.jfr/jdk.jfr.internal.util=ALL-UNNAMED</arg>
          </compilerArgs>
          <annotationProcessorPaths></annotationProcessorPaths>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>resolve-hibernate-core-version</id>
            <phase>process-sources</phase>
            <goals>
              <goal>list</goal>
            </goals>
            <configuration>
              <includes>org.hibernate.orm:hibernate-core</includes>
              <outputFile>${project.build.directory}/hibernate-core-resolved.txt</outputFile>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.gmavenplus</groupId>
        <artifactId>gmavenplus-plugin</artifactId>
        <version>${org.codehaus.gmavenplus.plugin.version}</version>
        <executions>
          <execution>
            <id>validate-hibernate-version-alignment</id>
            <phase>process-sources</phase>
            <goals>
              <goal>execute</goal>
            </goals>
            <configuration>
              <includeClasspath>PLUGIN_ONLY</includeClasspath>
              <scripts>
                <script>file:///${project.basedir}/check-hibernate-version.groovy</script>
              </scripts>
            </configuration>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>org.apache.groovy</groupId>
            <artifactId>groovy</artifactId>
            <version>${org.apache.groovy.version}</version>
          </dependency>
          <dependency>
            <groupId>org.apache.groovy</groupId>
            <artifactId>groovy-ant</artifactId>
            <version>${org.apache.groovy.version}</version>
          </dependency>
          <dependency>
            <groupId>org.apache.ivy</groupId>
            <artifactId>ivy</artifactId>
            <version>${org.apache.ivy.version}</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>${org.codehaus.mojo.exec.plugin.version}</version>
        <executions>
          <execution>
            <id>generate-git-version</id>
            <phase>generate-resources</phase>
            <goals>
              <goal>exec</goal>
            </goals>
            <configuration>
              <executable>git</executable>
              <arguments>
                <argument>rev-parse</argument>
                <argument>--verify</argument>
                <argument>HEAD</argument>
              </arguments>
              <outputFile>${project.build.directory}/classes/META-INF/gitinfo</outputFile>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>${org.codehaus.mojo.build.helper.plugin.version}</version>
        <executions>
          <execution>
            <id>image-tag-to-lower</id>
            <phase>validate</phase>
            <goals>
              <goal>regex-property</goal>
            </goals>
            <configuration>
              <name>cryostat.imageVersionLower</name>
              <regex>^.*$</regex>
              <value>${project.version}</value>
              <replacement>${project.version}</replacement>
              <toLowerCase>true</toLowerCase>
              <failIfNoMatch>false</failIfNoMatch>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>com.diffplug.spotless</groupId>
        <artifactId>spotless-maven-plugin</artifactId>
        <version>${com.diffplug.spotless.maven.plugin.version}</version>
        <executions>
          <execution>
            <id>spotless</id>
            <phase>process-sources</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <java>
            <googleJavaFormat>
              <version>${com.google.java-format.version}</version>
              <style>AOSP</style>
              <reflowLongStrings>true</reflowLongStrings>
            </googleJavaFormat>
            <trimTrailingWhitespace />
            <endWithNewline />
            <importOrder>
              <order>java,javax,org.openjdk.jmc,io.cryostat,</order>
            </importOrder>
            <removeUnusedImports />
          </java>
        </configuration>
      </plugin>
      <plugin>
        <groupId>com.github.spotbugs</groupId>
        <artifactId>spotbugs-maven-plugin</artifactId>
        <version>${com.github.spotbugs.plugin.version}</version>
        <executions>
          <execution>
            <id>spotbugs</id>
            <phase>verify</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <excludeFilterFile>spotbugs-excludes.xml</excludeFilterFile>
        </configuration>
      </plugin>
      <plugin>
        <groupId>com.mycila</groupId>
        <artifactId>license-maven-plugin</artifactId>
        <version>${com.mycila.license.maven.plugin.version}</version>
        <executions>
          <execution>
            <id>update-license</id>
            <phase>process-sources</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <licenseSets>
            <licenseSet>
              <header>LICENSE</header>
              <includes>
                <include>src/main/**/*.java</include>
                <include>src/test/**/*.java</include>
              </includes>
            </licenseSet>
          </licenseSets>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>${surefire-plugin.version}</version>
        <configuration>
          <systemPropertyVariables>
            <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
            <maven.home>${maven.home}</maven.home>
            <quarkus.test.network-alias>cryostat</quarkus.test.network-alias>
            <quarkus.test.arg-line>--network-alias=${quarkus.test.network-alias}</quarkus.test.arg-line>
          </systemPropertyVariables>
          <skipTests>${skip.surefire.tests}</skipTests>
          <argLine>@{argLine} --add-exports jdk.jfr/jdk.jfr.internal.query=ALL-UNNAMED --add-exports jdk.jfr/jdk.jfr.internal.util=ALL-UNNAMED</argLine>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-failsafe-plugin</artifactId>
        <version>${failsafe-plugin.version}</version>
        <executions>
          <execution>
            <goals>
              <goal>integration-test</goal>
              <goal>verify</goal>
            </goals>
            <configuration>
              <skipTests>${skipTests}</skipTests>
              <skipITs>${skipITs}</skipITs>
              <systemPropertyVariables>
                <native.image.path>${project.build.directory}/${project.build.finalName}-runner</native.image.path>
                <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
                <maven.home>${maven.home}</maven.home>
                <quarkus.test.network-alias>cryostat</quarkus.test.network-alias>
                <quarkus.test.arg-line>--network-alias=${quarkus.test.network-alias}</quarkus.test.arg-line>
              </systemPropertyVariables>
            </configuration>
          </execution>
        </executions>
        <configuration>
          <argLine>@{argLine}</argLine>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <reporting />
  <profiles>
    <profile>
      <id>native</id>
      <activation>
        <property>
          <name>native</name>
        </property>
      </activation>
      <properties>
        <skipITs>false</skipITs>
        <quarkus.native.enabled>true</quarkus.native.enabled>
        <quarkus.package.jar.enabled>false</quarkus.package.jar.enabled>
      </properties>
    </profile>

    <profile>
      <id>jacoco</id>
      <activation>
        <property>
          <name>jacoco</name>
        </property>
      </activation>
      <dependencies>
        <dependency>
          <groupId>io.quarkus</groupId>
          <artifactId>quarkus-jacoco</artifactId>
          <scope>test</scope>
        </dependency>
      </dependencies>
    </profile>

    <profile>
      <id>default-arch</id>
      <activation>
        <property>
          <name>!build.arch</name>
        </property>
      </activation>
      <properties>
        <io.netty.netty-transport-native-epoll.classifier>linux-x86_64</io.netty.netty-transport-native-epoll.classifier>
        <io.netty.netty-transport-native-epoll.scope>compile</io.netty.netty-transport-native-epoll.scope>
      </properties>
    </profile>
    <profile>
      <id>amd64</id>
      <activation>
        <property>
          <name>build.arch</name>
          <value>amd64</value>
        </property>
      </activation>
      <properties>
        <io.netty.netty-transport-native-epoll.classifier>linux-x86_64</io.netty.netty-transport-native-epoll.classifier>
        <io.netty.netty-transport-native-epoll.scope>compile</io.netty.netty-transport-native-epoll.scope>
      </properties>
    </profile>
    <profile>
      <id>arm64</id>
      <activation>
        <property>
          <name>build.arch</name>
          <value>arm64</value>
        </property>
      </activation>
      <properties>
        <io.netty.netty-transport-native-epoll.classifier>linux-aarch_64</io.netty.netty-transport-native-epoll.classifier>
        <io.netty.netty-transport-native-epoll.scope>compile</io.netty.netty-transport-native-epoll.scope>
      </properties>
    </profile>
    <profile>
      <id>with-epoll</id>
      <activation>
        <property>
          <name>!build.exclude-epoll</name>
        </property>
      </activation>
      <properties>
        <io.netty.netty-transport-native-epoll.scope>compile</io.netty.netty-transport-native-epoll.scope>
      </properties>
      <dependencies>
        <dependency>
          <groupId>io.netty</groupId>
          <artifactId>netty-transport-native-epoll</artifactId>
          <classifier>${io.netty.netty-transport-native-epoll.classifier}</classifier>
          <scope>${io.netty.netty-transport-native-epoll.scope}</scope>
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>no-epoll</id>
      <activation>
        <property>
          <name>build.exclude-epoll</name>
        </property>
      </activation>
      <properties>
        <io.netty.netty-transport-native-epoll.classifier>linux-x86_64</io.netty.netty-transport-native-epoll.classifier>
        <io.netty.netty-transport-native-epoll.scope>provided</io.netty.netty-transport-native-epoll.scope>
      </properties>
      <dependencies>
        <dependency>
          <groupId>io.netty</groupId>
          <artifactId>netty-transport-native-epoll</artifactId>
          <classifier>${io.netty.netty-transport-native-epoll.classifier}</classifier>
          <scope>${io.netty.netty-transport-native-epoll.scope}</scope>
        </dependency>
      </dependencies>
    </profile>

    <profile>
      <id>dist</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>${assembly-plugin.version}</version>
            <configuration>
              <descriptors>
                <descriptor>src/assembly/quarkus-app.xml</descriptor>
              </descriptors>
              <tarLongFileMode>posix</tarLongFileMode>
            </configuration>
            <executions>
              <execution>
                <id>assemble-quarkus-app</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>