graylog-parent
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>org.graylog</groupId>
<artifactId>graylog-parent</artifactId>
<version>7.1.2</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2020 Graylog, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the Server Side Public License, version 1,
as published by MongoDB, Inc.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Server Side Public License for more details.
You should have received a copy of the Server Side Public License
along with this program. If not, see
<http://www.mongodb.com/licensing/server-side-public-license>.
-->
<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>
<modules>
<module>graylog-project-parent</module>
<module>graylog-plugin-parent</module>
<module>graylog-plugin-archetype</module>
<module>graylog-storage-elasticsearch7</module>
<module>graylog-storage-opensearch2</module>
<module>graylog-storage-opensearch3</module>
<module>distribution</module>
</modules>
<groupId>org.graylog</groupId>
<artifactId>graylog-parent</artifactId>
<version>7.1.2</version>
<packaging>pom</packaging>
<name>Graylog Parent POM</name>
<description>Graylog Parent POM</description>
<url>https://www.graylog.org/</url>
<licenses>
<license>
<name>Server Side Public License (SSPL) version 1</name>
<url>https://www.mongodb.com/licensing/server-side-public-license</url>
<distribution>repo</distribution>
</license>
</licenses>
<organization>
<name>Graylog, Inc.</name>
<url>https://www.graylog.org/</url>
</organization>
<developers>
<developer>
<name>${project.organization.name}</name>
<organization>${project.organization.name}</organization>
<organizationUrl>${project.organization.url}</organizationUrl>
</developer>
</developers>
<scm>
<connection>scm:git:git@github.com:Graylog2/graylog2-server.git</connection>
<developerConnection>scm:git:git@github.com:Graylog2/graylog2-server.git</developerConnection>
<url>https://github.com/Graylog2/graylog2-server</url>
<tag>HEAD</tag>
</scm>
<distributionManagement>
<snapshotRepository>
<id>sonatype-nexus-snapshots</id>
<name>Sonatype Nexus Snapshots</name>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
<repository>
<id>sonatype-nexus-staging</id>
<name>Nexus Release Repository</name>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.release>21</maven.compiler.release>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<maven.compiler.useIncrementalCompilation>false</maven.compiler.useIncrementalCompilation>
<!-- This property will be overridden during the release to collect all artifacts in a central location. -->
<local.repo.path>${project.build.directory}/local-maven-repo</local.repo.path>
<!-- See: "Explicitly setting up instrumentation for inline mocking (Java 21+)" at
https://javadoc.io/doc/org.mockito/mockito-core/latest/org.mockito/org/mockito/Mockito.html#0.3
We use the "@{}" property syntax to delay property resolution for the argLine config in surefire. -->
<common.surefire.args>-javaagent:@{org.mockito:mockito-core:jar} -Dio.netty.leakDetectionLevel=paranoid -Djava.awt.headless=true</common.surefire.args>
<common.failsafe.args>-Djava.awt.headless=true</common.failsafe.args>
<!-- Dependencies -->
<opensearch.shaded.version>2.19.3-1</opensearch.shaded.version>
<opensearch.client.version>3.2.0</opensearch.client.version>
<airline.version>3.2.0</airline.version>
<amqp-client.version>5.29.0</amqp-client.version>
<antlr.version>4.13.2</antlr.version>
<apache-directory-version>2.1.7</apache-directory-version>
<apache-httpclient.version>4.5.14</apache-httpclient.version>
<apache-httpclient5.version>5.5.1</apache-httpclient5.version>
<apache-httpcore.version>4.4.16</apache-httpcore.version>
<asm.version>9.9.1</asm.version>
<auto-service.version>1.1.1</auto-service.version>
<auto-value.version>1.11.1</auto-value.version>
<aws-java-sdk-1.version>1.12.797</aws-java-sdk-1.version>
<aws-java-sdk-2.version>2.42.32</aws-java-sdk-2.version>
<aws-kinesis-client.version>3.4.2</aws-kinesis-client.version>
<aws-msk-iam-auth.version>2.3.5</aws-msk-iam-auth.version>
<bouncycastle.version>1.84</bouncycastle.version>
<caffeine.version>3.2.3</caffeine.version>
<cef-parser.version>0.0.1.10</cef-parser.version>
<classgraph.version>4.8.184</classgraph.version>
<commons-codec.version>1.21.0</commons-codec.version>
<commons-csv.version>1.14.1</commons-csv.version>
<commons-email.version>1.6.0</commons-email.version>
<commons-exec.version>1.6.0</commons-exec.version>
<commons-lang3.version>3.20.0</commons-lang3.version>
<commons-net.version>3.13.0</commons-net.version>
<commons-validator.version>1.10.1</commons-validator.version>
<commons-io.version>2.21.0</commons-io.version>
<disruptor.version>4.0.0</disruptor.version>
<error-prone.version>2.49.0</error-prone.version>
<freemarker.version>2.3.34</freemarker.version>
<gcs.version>2.64.1</gcs.version>
<azure-blob-storage.version>12.33.3</azure-blob-storage.version>
<gelfclient.version>1.5.1</gelfclient.version>
<geoip2.version>5.0.2</geoip2.version>
<grizzly-websockets.version>4.0.2</grizzly-websockets.version> <!-- Should match the version used by Jersey -->
<grok.version>0.1.9-graylog-3</grok.version>
<grpc.version>1.80.0</grpc.version>
<guava-retrying.version>2.0.0</guava-retrying.version>
<guava.version>33.6.0-jre</guava.version>
<guice.version>7.0.0</guice.version>
<HdrHistogram.version>2.2.2</HdrHistogram.version>
<hamcrest.version>3.0</hamcrest.version>
<hibernate-validator.version>9.1.0.Final</hibernate-validator.version>
<hk2.version>3.1.1</hk2.version> <!-- The HK2 version should match the version being used by Jersey -->
<jackson.version>2.21.2</jackson.version>
<jadconfig.version>1.1.0</jadconfig.version>
<java-semver.version>0.10.2</java-semver.version>
<javax.annotation-api.version>1.3.2</javax.annotation-api.version>
<jakarta.annotation-api.version>3.0.0</jakarta.annotation-api.version>
<jakarta.inject.version>2.0.1</jakarta.inject.version>
<jakarta.ws.rs-api.version>4.0.0</jakarta.ws.rs-api.version>
<jakarta.servlet-api.version>6.1.0</jakarta.servlet-api.version>
<jaxb-api.version>2.3.1</jaxb-api.version>
<jbcrypt.version>0.4</jbcrypt.version>
<jersey.version>4.0.2</jersey.version>
<jmte.version>7.0.3</jmte.version>
<joda-time.version>2.14.1</joda-time.version>
<jool.version>0.9.15</jool.version>
<json-org.version>20251224</json-org.version>
<json-path.version>3.0.0</json-path.version>
<jsoup.version>1.22.1</jsoup.version>
<kafka.version>4.2.0</kafka.version>
<kafka09.version>0.9.0.1-7</kafka09.version>
<log4j.version>2.25.4</log4j.version>
<lucene.version>9.12.3</lucene.version>
<lz4.version>1.10.4</lz4.version>
<metrics.version>4.2.38</metrics.version>
<mongodb-driver.version>5.6.5</mongodb-driver.version>
<mongojack.version>5.1.0</mongojack.version>
<natty.version>0.13</natty.version>
<netty.version>4.2.13.Final</netty.version>
<netty-tcnative-boringssl-static.version>2.0.77.Final</netty-tcnative-boringssl-static.version>
<okhttp.version>5.3.2</okhttp.version>
<opencsv.version>2.3</opencsv.version>
<opentelemetry.version>1.60.1</opentelemetry.version>
<opentelemetry-instrumentation.version>2.26.1</opentelemetry-instrumentation.version>
<os-platform-finder.version>1.2.3</os-platform-finder.version>
<pkts.version>3.0.18</pkts.version>
<prometheus-client.version>0.16.0</prometheus-client.version>
<protobuf.version>4.34.1</protobuf.version>
<reflections.version>0.10.2</reflections.version>
<retrofit.version>3.0.0</retrofit.version>
<semver4j.version>2.2.0-graylog.1</semver4j.version>
<shiro.version>2.1.0</shiro.version>
<snakeyaml.version>2.6</snakeyaml.version>
<snappy-java.version>1.1.10.8</snappy-java.version>
<oshi.version>6.11.1</oshi.version>
<siv-mode.version>1.6.1</siv-mode.version>
<slf4j.version>2.0.17</slf4j.version>
<streamex.version>0.8.4</streamex.version>
<swagger.version>2.2.46</swagger.version>
<swagger-parser.version>2.1.39</swagger-parser.version>
<syslog4j.version>0.9.63</syslog4j.version>
<threeten-extra.version>1.8.0</threeten-extra.version>
<ulid.version>8.3.0</ulid.version>
<unboundid-ldap.version>7.0.4</unboundid-ldap.version>
<uuid.version>3.2.1</uuid.version>
<validation-api.version>3.1.1</validation-api.version>
<zstd.version>1.5.7-7</zstd.version>
<cron-utils.version>9.2.1</cron-utils.version>
<asciitable.version>0.3.2</asciitable.version>
<jjwt.version>0.13.0</jjwt.version>
<stateless4j.version>2.6.0</stateless4j.version>
<poi.version>5.5.1</poi.version>
<mcp-bom.version>1.1.1</mcp-bom.version>
<json-schema-generator.version>4.38.0</json-schema-generator.version>
<!-- Test dependencies -->
<apacheds-server.version>2.0.0.AM27</apacheds-server.version>
<assertj-core.version>3.27.7</assertj-core.version>
<assertj-joda-time.version>2.2.0</assertj-joda-time.version>
<awaitility.version>4.3.0</awaitility.version>
<equalsverifier.version>4.4.2</equalsverifier.version>
<guice-extension.version>1.2.1</guice-extension.version>
<junit-jupiter.version>6.0.3</junit-jupiter.version>
<mockito.version>5.23.0</mockito.version>
<restassured.version>6.0.0</restassured.version>
<testcontainers.version>2.0.4</testcontainers.version>
<testcontainers.opensearch.version>4.1.0</testcontainers.opensearch.version>
<graalvm.version>25.0.2</graalvm.version>
<!-- Nodejs dependencies -->
<nodejs.version>v24.13.0</nodejs.version>
<yarn.version>v1.22.22</yarn.version>
<!-- Plugin versions -->
<license-maven.version>5.0.0</license-maven.version>
<download-maven-plugin.version>1.6.8.1</download-maven-plugin.version>
<os-maven-plugin.version>1.7.1</os-maven-plugin.version>
<protobuf-maven-plugin.version>0.6.1</protobuf-maven-plugin.version>
</properties>
<!-- Ensure consistent versions across dependencies and transitive dependencies -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-bom</artifactId>
<version>${log4j.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>${apache-httpclient.version}</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents.client5</groupId>
<artifactId>httpclient5</artifactId>
<version>${apache-httpclient5.version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>${apache-httpclient.version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>${apache-httpcore.version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore-nio</artifactId>
<version>${apache-httpcore.version}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-bom</artifactId>
<version>${netty.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>bom</artifactId>
<version>${aws-java-sdk-2.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-bom</artifactId>
<version>${aws-java-sdk-1.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-storage</artifactId>
<version>${gcs.version}</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-storage-blob</artifactId>
<version>${azure-blob-storage.version}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-tcnative-classes</artifactId>
<version>${netty-tcnative-boringssl-static.version}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-tcnative-boringssl-static</artifactId>
<version>${netty-tcnative-boringssl-static.version}</version>
<classifier>osx-x86_64</classifier>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-tcnative-boringssl-static</artifactId>
<version>${netty-tcnative-boringssl-static.version}</version>
<classifier>osx-aarch_64</classifier>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-tcnative-boringssl-static</artifactId>
<version>${netty-tcnative-boringssl-static.version}</version>
<classifier>linux-x86_64</classifier>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-tcnative-boringssl-static</artifactId>
<version>${netty-tcnative-boringssl-static.version}</version>
<classifier>linux-aarch_64</classifier>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons-lang3.version}</version>
</dependency>
<dependency>
<groupId>com.github.luben</groupId>
<artifactId>zstd-jni</artifactId>
<version>${zstd.version}</version>
</dependency>
<dependency>
<groupId>at.yawk.lz4</groupId>
<artifactId>lz4-java</artifactId>
<version>${lz4.version}</version>
</dependency>
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
<version>${json-path.version}</version>
</dependency>
<!-- Manage json-smart to version >= 2.5.2 to address CVE-2024-57699. json-smart is only used as a
transitive dependency (e.g. for json-path), so when updating the version here, check if we still need
to manage the version ourselves. -->
<dependency>
<groupId>net.minidev</groupId>
<artifactId>json-smart</artifactId>
<version>2.6.0</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>${asm.version}</version>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>${joda-time.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson</groupId>
<artifactId>jackson-bom</artifactId>
<version>${jackson.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>${snakeyaml.version}</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>${json-org.version}</version>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-api</artifactId>
<version>${jjwt.version}</version>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-impl</artifactId>
<version>${jjwt.version}</version>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-jackson</artifactId>
<version>${jjwt.version}</version>
</dependency>
<dependency>
<groupId>org.xerial.snappy</groupId>
<artifactId>snappy-java</artifactId>
<version>${snappy-java.version}</version>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-bom</artifactId>
<version>${protobuf.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- Still needed because the protobuf compiler adds javax.annotation.Generated
annotations to generated classes -->
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>${javax.annotation-api.version}</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-bom</artifactId>
<version>${grpc.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.cronutils</groupId>
<artifactId>cron-utils</artifactId>
<version>${cron-utils.version}</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp-bom</artifactId>
<version>${okhttp.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp-jvm</artifactId><!-- This one is not in the bom as of 5.0.0 -->
<version>${okhttp.version}</version>
</dependency>
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>${jsoup.version}</version>
</dependency>
<!-- Explicitly manage avro to fix CVE-2023-39410. We are using this only as a transitive dependency in
plugins. Remove once its usages are updated and the fixed version is pulled in automatically. -->
<dependency>
<groupId>org.apache.avro</groupId>
<artifactId>avro</artifactId>
<version>1.12.1</version>
</dependency>
<!-- Explicitly manage commons-compress to fix CVE-2023-42503. We are using this only as a transitive
dependency in plugins. Remove once its usages are updated and the fixed version is pulled in
automatically. -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.28.0</version>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>${commons-net.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-exec</artifactId>
<version>${commons-exec.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-csv</artifactId>
<version>${commons-csv.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-bom</artifactId>
<version>${metrics.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- Always check mongojack dependencies to see if we need to adjust our mongodb-driver dependencies -->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>${mongodb-driver.version}</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-legacy</artifactId>
<version>${mongodb-driver.version}</version>
</dependency>
<dependency>
<groupId>org.mongojack</groupId>
<artifactId>mongojack</artifactId>
<version>${mongojack.version}</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk18on</artifactId>
<version>${bouncycastle.version}</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk18on</artifactId>
<version>${bouncycastle.version}</version>
</dependency>
<dependency>
<groupId>org.threeten</groupId>
<artifactId>threeten-extra</artifactId>
<version>${threeten-extra.version}</version>
</dependency>
<!-- test -->
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>${junit-jupiter.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-bom</artifactId>
<version>${mockito.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest</artifactId>
<version>${hamcrest.version}</version>
</dependency>
<dependency>
<groupId>org.awaitility</groupId>
<artifactId>awaitility</artifactId>
<version>${awaitility.version}</version>
</dependency>
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service-annotations</artifactId>
<version>${auto-service.version}</version>
</dependency>
<dependency>
<groupId>com.google.auto.value</groupId>
<artifactId>auto-value-annotations</artifactId>
<version>${auto-value.version}</version>
</dependency>
<!-- Explicitly manage mina-core to fix CVE-2024-52046. We are only using mina-core as a transitive
dependency for the Apache DS server in our tests. Remove once its usages are updated and the fixed
version is pulled in automatically. -->
<dependency>
<groupId>org.apache.mina</groupId>
<artifactId>mina-core</artifactId>
<version>2.2.5</version>
</dependency>
<dependency>
<groupId>io.modelcontextprotocol.sdk</groupId>
<artifactId>mcp-bom</artifactId>
<type>pom</type>
<version>${mcp-bom.version}</version>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.github.victools</groupId>
<artifactId>jsonschema-generator</artifactId>
<version>${json-schema-generator.version}</version>
</dependency>
<dependency>
<groupId>com.github.victools</groupId>
<artifactId>jsonschema-module-jackson</artifactId>
<version>${json-schema-generator.version}</version>
</dependency>
<dependency>
<groupId>com.github.victools</groupId>
<artifactId>jsonschema-module-jakarta-validation</artifactId>
<version>${json-schema-generator.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<extensions>
<extension>
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
<version>${os-maven-plugin.version}</version>
</extension>
</extensions>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.5.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>3.1.4</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.15.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.5.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.8.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.12.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.5.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.4.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.6.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>3.1.4</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>3.3.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.28.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>3.2.8</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.5.5</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>3.5.5</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>3.6.3</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.21.0</version>
</plugin>
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>4.9.8.3</version>
</plugin>
<plugin>
<groupId>de.thetaphi</groupId>
<artifactId>forbiddenapis</artifactId>
<version>3.10</version>
</plugin>
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<version>2.0.0</version>
</plugin>
<plugin>
<groupId>org.antlr</groupId>
<artifactId>antlr4-maven-plugin</artifactId>
<version>${antlr.version}</version>
</plugin>
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>${license-maven.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.6.2</version>
</plugin>
<plugin>
<groupId>org.cyclonedx</groupId>
<artifactId>cyclonedx-maven-plugin</artifactId>
<version>2.9.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<groupId>org.xolstice.maven.plugins</groupId>
<artifactId>protobuf-maven-plugin</artifactId>
<version>${protobuf-maven-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.openrewrite.maven</groupId>
<artifactId>rewrite-maven-plugin</artifactId>
<version>6.36.0</version>
<configuration>
<!-- do not set <configLocation> here, otherwise it cannot be overridden by a system property later -->
<exclusions>
<exclusion>**/target/**</exclusion>
<exclusion>**/build/**</exclusion>
<exclusion>**/node_modules/**</exclusion>
<exclusion>**/*.groovy</exclusion>
</exclusions>
<plainTextMasks>
<plainTextMask>**/*.groovy</plainTextMask>
</plainTextMasks>
</configuration>
<dependencies>
<dependency>
<groupId>org.openrewrite</groupId>
<artifactId>rewrite-java</artifactId>
<version>8.79.1</version>
</dependency>
<dependency>
<groupId>org.openrewrite.recipe</groupId>
<artifactId>rewrite-testing-frameworks</artifactId>
<version>3.34.0</version>
</dependency>
<dependency>
<groupId>org.openrewrite.recipe</groupId>
<artifactId>rewrite-migrate-java</artifactId>
<version>3.32.0</version>
</dependency>
<dependency>
<groupId>org.openrewrite.recipe</groupId>
<artifactId>rewrite-static-analysis</artifactId>
<version>2.32.0</version>
</dependency>
<dependency>
<groupId>org.openrewrite.recipe</groupId>
<artifactId>rewrite-joda</artifactId>
<version>0.8.0</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>test-compile</phase>
<goals>
<!-- Required to get Mockito's JAR path for the surefire argLine. -->
<goal>properties</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<trimStackTrace>false</trimStackTrace>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>${common.surefire.args}</argLine>
<excludes>
<exclude>**/*IntegrationTest.java</exclude>
<exclude>**/*IT.java</exclude>
</excludes>
<includes>
<include>**/*Spec.class</include>
<include>**/*Test.class</include>
</includes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<forkCount>1</forkCount>
<skip>false</skip>
<argLine>${common.failsafe.args}</argLine>
</configuration>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-versions</id>
<phase>validate</phase>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<fail>true</fail>
<failFast>false</failFast>
<rules>
<bannedDependencies>
<searchTransitive>true</searchTransitive>
<excludes>
<!-- We use log4j-over-slf4j, so we need to make sure we don't pull in
the actual log4j 1.x dependency to avoid conflicts. http://www.slf4j.org/legacy.html#log4j-over-slf4j -->
<exclude>log4j:log4j</exclude>
<!-- This dependency also pulls in log4j 1.x -->
<exclude>org.apache.log4j.wso2:log4j</exclude>
<!-- We use jcl-over-slf4j, so we need to make sure we don't pull in
the actual commons-logging dependency to avoid conflicts. http://www.slf4j.org/legacy.html#jclOverSLF4J -->
<exclude>commons-logging:commons-logging</exclude>
<!-- Make sure we don't pull in vulnerable log4j2 versions (CVE-2021-45046, CVE-2021-44228) -->
<exclude>org.apache.logging.log4j:*:(,2.16)</exclude>
<!-- Pulling in slf4j-simple creates warnings about multiple SLF4J bindings on server startup -->
<exclude>org.slf4j:slf4j-simple</exclude>
<!-- Newer asm versions are published under the org.ow2.asm groupId. Avoid conflicts by banning the old one. -->
<exclude>asm:asm</exclude>
<!-- Mockito should by now have all the features we need. -->
<exclude>org.powermock</exclude>
<!-- Ban AWS SDK bundle dependencies for v1 and v2. These would add hundreds of
megabytes to our production artifacts and must be avoided. -->
<exclude>com.amazonaws:aws-java-sdk-bundle</exclude>
<exclude>software.amazon.awssdk:bundle</exclude>
<!-- Ban some javax dependencies after the move to jakarta -->
<exclude>javax.inject:*</exclude>
<exclude>javax.ws.rs:javax.*</exclude>
<exclude>com.fasterxml.jackson.jaxrs:*</exclude>
<!-- Ban bouncycastle jdk15on dependencies. We are using jdk18on equivalents instead. -->
<exclude>org.bouncycastle:bcprov-jdk15on</exclude>
<exclude>org.bouncycastle:bcpkix-jdk15on</exclude>
<exclude>org.bouncycastle:bcutil-jdk15on</exclude>
<!-- Ban org.lz4:lz4-java because of CVE-2025-12183 (see: https://www.sonatype.com/security-advisories/cve-2025-12183)
The original repository is unmaintained, so we have to use the community fork at at.yawk.lz4:lz4-java
and exclude the original dependency everywhere. -->
<exclude>org.lz4:lz4-java</exclude>
</excludes>
</bannedDependencies>
<banDuplicatePomDependencyVersions/>
<banDynamicVersions>
<ignores>
<ignore>org.graylog2</ignore>
<ignore>org.graylog</ignore>
<ignore>org.graylog.plugins</ignore>
</ignores>
</banDynamicVersions>
<RestrictImports>
<groups>
<group>
<reason>Data Node packages must not be used outside the data-node/ module.</reason>
<bannedImports>
<bannedImport>org.graylog.datanode.**</bannedImport>
</bannedImports>
</group>
</groups>
</RestrictImports>
<requireMavenVersion>
<!-- Enforce the same version we define in the maven wrapper -->
<version>[3.9.6,3.99.99]</version>
</requireMavenVersion>
<requireJavaVersion>
<version>[21.0,21.99]</version>
</requireJavaVersion>
<requireOS>
<family>unix</family>
</requireOS>
</rules>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>de.skuzzle.enforcer</groupId>
<artifactId>restrict-imports-enforcer-rule</artifactId>
<version>3.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>de.thetaphi</groupId>
<artifactId>forbiddenapis</artifactId>
<configuration>
<suppressAnnotations>
<suppressAnnotation>org.graylog2.shared.SuppressForbidden</suppressAnnotation>
</suppressAnnotations>
<!-- if the used Java version is too new, don't fail, just do nothing: -->
<failOnUnsupportedJava>false</failOnUnsupportedJava>
<failOnViolation>true</failOnViolation>
<ignoreSignaturesOfMissingClasses>true</ignoreSignaturesOfMissingClasses>
<bundledSignatures>
<!-- We want to allow String#formatted without charset. -->
<bundledSignature>jdk-unsafe-14</bundledSignature>
<!-- This will automatically choose the right signatures based on 'maven.compiler.target': -->
<bundledSignature>jdk-deprecated</bundledSignature>
<bundledSignature>jdk-reflection</bundledSignature>
<!-- disallow undocumented classes like sun.misc.Unsafe: -->
<bundledSignature>jdk-non-portable</bundledSignature>
<bundledSignature>commons-io-unsafe-${commons-io.version}</bundledSignature>
</bundledSignatures>
<signatures>
<![CDATA[
org.jboss.netty.** @ Migrate to Netty 4.x
@defaultMessage Use a custom thread factory to ensure proper thread naming.
java.util.concurrent.Executors#defaultThreadFactory()
java.util.concurrent.Executors#newCachedThreadPool()
java.util.concurrent.Executors#newFixedThreadPool(int)
java.util.concurrent.Executors#newScheduledThreadPool(int)
java.util.concurrent.Executors#newSingleThreadExecutor()
java.util.concurrent.Executors#newSingleThreadScheduledExecutor()
java.util.concurrent.Executors#privilegedThreadFactory()
@defaultMessage Constructing a DateTime without a time zone is dangerous
org.joda.time.DateTime#<init>()
org.joda.time.DateTime#<init>(long)
org.joda.time.DateTime#<init>(int, int, int, int, int)
org.joda.time.DateTime#<init>(int, int, int, int, int, int)
org.joda.time.DateTime#<init>(int, int, int, int, int, int, int)
org.joda.time.DateTime#now()
org.joda.time.DateTimeZone#getDefault()
@defaultMessage Please do not try to stop the world
java.lang.System#gc()
java.lang.Character#codePointBefore(char[],int) @ Implicit start offset is error-prone when the char[] is a buffer and the first chars are random chars
java.lang.Character#codePointAt(char[],int) @ Implicit end offset is error-prone when the char[] is a buffer and the last chars are random chars
@defaultMessage Only use wait / notify when really needed try to use concurrency primitives, latches or callbacks instead.
java.lang.Object#wait()
java.lang.Object#wait(long)
java.lang.Object#wait(long,int)
java.lang.Object#notify()
java.lang.Object#notifyAll()
@defaultMessage Beware of the behavior of this method on MIN_VALUE
java.lang.Math#abs(int)
java.lang.Math#abs(long)
@defaultMessage Use Channels.* methods to write to channels. Do not read/write directly.
java.nio.channels.WritableByteChannel#write(java.nio.ByteBuffer)
java.nio.channels.FileChannel#write(java.nio.ByteBuffer, long)
java.nio.channels.GatheringByteChannel#write(java.nio.ByteBuffer[], int, int)
java.nio.channels.GatheringByteChannel#write(java.nio.ByteBuffer[])
java.nio.channels.ReadableByteChannel#read(java.nio.ByteBuffer)
java.nio.channels.ScatteringByteChannel#read(java.nio.ByteBuffer[])
java.nio.channels.ScatteringByteChannel#read(java.nio.ByteBuffer[], int, int)
java.nio.channels.FileChannel#read(java.nio.ByteBuffer, long)
@defaultMessage Convert to URI
java.net.URL#getPath()
java.net.URL#getFile()
@defaultMessage Use java.nio.file instead of java.io.File API
# java.util.jar.JarFile
# java.util.zip.ZipFile
# java.io.File
# java.io.FileInputStream
# java.io.FileOutputStream
java.io.PrintStream#<init>(java.lang.String,java.lang.String)
java.io.PrintWriter#<init>(java.lang.String,java.lang.String)
java.util.Formatter#<init>(java.lang.String,java.lang.String,java.util.Locale)
java.io.RandomAccessFile
# java.nio.file.Path#toFile()
@defaultMessage Specify a location for the temp file/directory instead.
java.nio.file.Files#createTempDirectory(java.lang.String,java.nio.file.attribute.FileAttribute[])
java.nio.file.Files#createTempFile(java.lang.String,java.lang.String,java.nio.file.attribute.FileAttribute[])
com.google.common.collect.Iterators#emptyIterator() @ Use Collections.emptyIterator instead
@defaultMessage Don't use java serialization - this can break BWC without noticing it
java.io.ObjectOutputStream
java.io.ObjectOutput
java.io.ObjectInputStream
java.io.ObjectInput
@defaultMessage avoid DNS lookups by accident: if you have a valid reason, then use SuppressWarnings with that reason so its completely clear
java.net.InetAddress#getHostName()
java.net.InetAddress#getCanonicalHostName()
java.net.InetSocketAddress#getHostName() @ Use getHostString() instead, which avoids a DNS lookup
@defaultMessage Avoid unchecked warnings by using Collections#empty(List|Map|Set) methods
java.util.Collections#EMPTY_LIST
java.util.Collections#EMPTY_MAP
java.util.Collections#EMPTY_SET
java.util.Collections#shuffle(java.util.List) @ Use java.util.Collections#shuffle(java.util.List, java.util.Random) with a reproducible source of randomness
com.google.common.base.Charsets @ Use java.nio.charset.StandardCharsets
@defaultMessage Don't use imports from shaded or denied dependencies
joptsimple.internal.**
org.testcontainers.shaded.**
edu.emory.mathcs.backport.java.util.**
org.apache.directory.api.util.**
org.apache.groovy.util.**
org.apache.logging.log4j.util.Strings
org.graylog.shaded.kafka09.joptsimple.**
org.assertj.core.util.**
org.bouncycastle.util.Strings
org.junit.jupiter.params.shadow.**
org.apache.http.util.**
io.trino.hadoop.$internal.**
autovalue.shaded.**
@defaultMessage Use jakarta.inject.
com.google.inject.Inject
com.google.inject.Scope
com.google.inject.Singleton
com.google.inject.Provider
com.google.inject.name.Named
javax.inject.**
javax.persistence.** @ Use jakarta.persistence.
@defaultMessage Use jakarta.annotation.
javax.annotation.sql.**
javax.annotation.security.**
javax.annotation.Resources
javax.annotation.Resource
javax.annotation.Resource$AuthenticationType
javax.annotation.ManagedBean
javax.annotation.Generated
javax.annotation.PreDestroy
javax.annotation.Priority
javax.annotation.PostConstruct
@defaultMessage Use jakarta.validation.
javax.validation.**
org.jetbrains.annotations.NotNull @ Use jakarta.annotation.Nonnull
org.jetbrains.annotations.Nullable @ Use jakarta.annotation.Nullable
org.checkerframework.checker.nullness.qual.** @ Use jakarta.annotation.**
com.mongodb.DuplicateKeyException @ Use org.graylog2.database.utils.MongoUtil#isDuplicateKeyError(MongoException)
@defaultMessage Use org.apache.lucene.
org.graylog.shaded.opensearch2.org.apache.lucene.index.**
org.graylog.shaded.opensearch2.org.apache.lucene.store.**
@defaultMessage Use JUnit 6 APIs
org.junit.Assert
org.junit.Test
io.swagger.annotations.** @ Use io.swagger.v3.oas.annotations.**
org.apache.shiro.authc.credential.AllowAllCredentialsMatcher @ Use ServiceValidatedCredentialsMatcher
]]>
</signatures>
</configuration>
<executions>
<execution>
<id>forbidden-apis-src</id>
<phase>compile</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
<execution>
<id>forbidden-apis-test</id>
<phase>test-compile</phase>
<goals>
<goal>testCheck</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
<compilerArgs>
<!-- Necessary only if building with JDK21: https://github.com/google/error-prone/issues/5426 -->
<arg>-XDaddTypeAnnotationsToSymbol=true</arg>
<arg>-XDcompilePolicy=simple</arg>
<arg>--should-stop=ifError=FLOW</arg>
<!--
We disabled checks that don't apply to us because we either don't use the platform or
library. (e.g., Android, Flogger) Disabling those checks improves compile times.
See available bug patterns: https://errorprone.info/bugpatterns
-->
<arg>
-Xplugin:ErrorProne
-Xep:DoNotMock:WARN
-XepDisableWarningsInGeneratedCode
-XepExcludedPaths:.*/target/generated-sources/.*
-Xep:AndroidInjectionBeforeSuper:OFF
-Xep:BugPatternNaming:OFF
-Xep:BundleDeserializationCast:OFF
-Xep:DaggerProvidesNull:OFF
-Xep:FloggerArgumentToString:OFF
-Xep:FloggerFormatString:OFF
-Xep:FloggerLogString:OFF
-Xep:FloggerLogVarargs:OFF
-Xep:FloggerLogWithCause:OFF
-Xep:FloggerMessageFormat:OFF
-Xep:FloggerPerWithoutRateLimit:OFF
-Xep:FloggerRedundantIsEnabled:OFF
-Xep:FloggerRequiredModifiers:OFF
-Xep:FloggerSplitLogStatement:OFF
-Xep:FloggerStringConcatenation:OFF
-Xep:FloggerWithCause:OFF
-Xep:FloggerWithoutCause:OFF
-Xep:FragmentInjection:OFF
-Xep:FragmentNotInstantiable:OFF
-Xep:ICCProfileGetInstance:OFF
-Xep:IsLoggableTagLength:OFF
-Xep:JUnit3FloatingPointComparisonWithoutDelta:OFF
-Xep:JUnit3TestNotRun:OFF
-Xep:JUnit4ClassUsedInJUnit3:OFF
-Xep:JUnitAmbiguousTestClass:OFF
-Xep:MislabeledAndroidString:OFF
-Xep:MissingRefasterAnnotation:OFF
-Xep:OutlineNone:OFF
-Xep:ParcelableCreator:OFF
-Xep:RectIntersectReturnValueIgnored:OFF
-Xep:RobolectricShadowDirectlyOn:OFF
-Xep:StringCaseLocaleUsage:OFF
-Xep:SwigMemoryLeak:OFF
-Xep:ArrayRecordComponent:ERROR
-Xep:DefaultCharset:ERROR
-Xep:DoubleCheckedLocking:ERROR
-Xep:InconsistentHashCode:ERROR
-Xep:IncrementInForLoopAndHeader:ERROR
-Xep:NonAtomicVolatileUpdate:ERROR
-Xep:PrimitiveAtomicReference:ERROR
-Xep:WildcardImport:ERROR
-Xep:JavaDurationGetSecondsToToSeconds:ERROR
-Xep:StreamResourceLeak:ERROR
-Xep:RecordAccessorInCompactConstructor:ERROR
</arg>
</compilerArgs>
<annotationProcessorPaths>
<path>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_core</artifactId>
<version>${error-prone.version}</version>
</path>
<path>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service</artifactId>
<version>${auto-service.version}</version>
</path>
<path>
<groupId>com.google.auto.value</groupId>
<artifactId>auto-value</artifactId>
<version>${auto-value.version}</version>
</path>
<path>
<groupId>org.graylog</groupId>
<artifactId>jadconfig</artifactId>
<version>${jadconfig.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<configuration>
<autoVersionSubmodules>true</autoVersionSubmodules>
<mavenExecutorId>forked-path</mavenExecutorId>
<tagNameFormat>@{project.version}</tagNameFormat>
<preparationGoals>clean test</preparationGoals>
<releaseProfiles>release-profile,release</releaseProfiles>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<attach>true</attach>
<appendAssemblyId>false</appendAssemblyId>
<!-- we don't care about assembling the parent, just run the goal on the project, pretty please -->
<ignoreMissingDescriptor>true</ignoreMissingDescriptor>
<tarLongFileMode>posix</tarLongFileMode>
</configuration>
</plugin>
<plugin>
<groupId>org.graylog.repackaged</groupId>
<artifactId>download-maven-plugin</artifactId>
<version>${download-maven-plugin.version}</version>
<configuration>
<!-- Avoid metadata problems with the cache directory of older plugin versions. Bump the rev when updating the download-maven-plugin. -->
<cacheDirectory>${settings.localRepository}/.cache/download-maven-plugin-rev1</cacheDirectory>
<followRedirects>true</followRedirects>
<retries>5</retries>
</configuration>
</plugin>
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<configuration>
<aggregate>false</aggregate>
<mapping>
<java>SLASHSTAR_STYLE</java>
<jsx>SLASHSTAR_STYLE</jsx>
<ts>SLASHSTAR_STYLE</ts>
<tsx>SLASHSTAR_STYLE</tsx>
</mapping>
<licenseSets>
<licenseSet>
<header>com/mycila/maven/plugin/license/templates/SSPL-1.txt</header>
<properties>
<year>2020</year>
<owner>Graylog, Inc.</owner>
</properties>
<keywords>
<keyword>Server Side Public License for more details</keyword>
</keywords>
<includes>
<include>**/src/main/java/**</include>
<include>**/src/test/java/**</include>
<include>**/pom.xml</include>
<include>*.js</include>
<include>src/web/**/*.js</include>
<include>src/web/**/*.jsx</include>
<include>src/web/**/*.ts</include>
<include>src/web/**/*.tsx</include>
<include>graylog2-web-interface/*.js</include>
<include>graylog2-web-interface/*.ts</include>
<include>graylog2-web-interface/config/**/*.js</include>
<include>graylog2-web-interface/config/**/*.ts</include>
<include>graylog2-web-interface/packages/**/*.js</include>
<include>graylog2-web-interface/packages/**/*.jsx</include>
<include>graylog2-web-interface/packages/**/*.ts</include>
<include>graylog2-web-interface/packages/**/*.tsx</include>
<include>graylog2-web-interface/src/**/*.js</include>
<include>graylog2-web-interface/src/**/*.jsx</include>
<include>graylog2-web-interface/src/**/*.ts</include>
<include>graylog2-web-interface/src/**/*.tsx</include>
<include>graylog2-web-interface/test/**/*.js</include>
<include>graylog2-web-interface/test/**/*.jsx</include>
<include>graylog2-web-interface/test/**/*.ts</include>
<include>graylog2-web-interface/test/**/*.tsx</include>
<include>graylog2-web-interface/webpack/**/*.js</include>
<include>graylog2-web-interface/webpack/**/*.ts</include>
</includes>
<excludes>
<exclude>**/resources/swagger/**</exclude>
</excludes>
</licenseSet>
</licenseSets>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>datanode</id>
<activation>
<property>
<name>!skip.datanode</name>
</property>
</activation>
<modules>
<module>data-node</module>
</modules>
</profile>
<profile>
<id>release</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<configuration>
<keyname>B1606F22</keyname>
</configuration>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<configuration>
<goals>deploy</goals>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<retryFailedDeploymentCount>5</retryFailedDeploymentCount>
<!-- We use a local repository for deployment because we handle Maven Central deployments
separately in a later step of the release process. -->
<altDeploymentRepository>local::file://${local.repo.path}</altDeploymentRepository>
<deployAtEnd>true</deployAtEnd>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>openrewrite</id>
<build>
<plugins>
<plugin>
<groupId>org.openrewrite.maven</groupId>
<artifactId>rewrite-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>