META-INF.maven.org.graylog2.graylog2-server.pom.xml Maven / Gradle / Ivy
<?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> <parent> <groupId>org.graylog</groupId> <artifactId>graylog-project-parent</artifactId> <version>4.3.15</version> <relativePath>../graylog-project-parent</relativePath> </parent> <groupId>org.graylog2</groupId> <artifactId>graylog2-server</artifactId> <packaging>jar</packaging> <name>Graylog</name> <description>Graylog</description> <inceptionYear>2012</inceptionYear> <issueManagement> <system>GitHub Issues</system> <url>https://github.com/Graylog2/graylog2-server/issues</url> </issueManagement> <ciManagement> <system>Travis CI</system> <url>https://travis-ci.org/Graylog2/graylog2-server</url> </ciManagement> <mailingLists> <mailingList> <name>Graylog User List</name> <subscribe>[email protected]</subscribe> <unsubscribe>[email protected]</unsubscribe> <post>[email protected]</post> <archive>https://groups.google.com/forum/#!forum/graylog2</archive> </mailingList> </mailingLists> <properties> <mainClass>org.graylog2.bootstrap.Main</mainClass> <webInterface.path>../graylog2-web-interface</webInterface.path> <skip.web.build>false</skip.web.build> <maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format> <!-- to work around filtering bug, which makes maven.build.timestamp inaccessible --> <build.timestamp>${maven.build.timestamp}</build.timestamp> </properties> <dependencies> <dependency> <groupId>com.github.rvesse</groupId> <artifactId>airline</artifactId> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> </dependency> <dependency> <groupId>com.github.ben-manes.caffeine</groupId> <artifactId>caffeine</artifactId> </dependency> <dependency> <groupId>com.github.rholder</groupId> <artifactId>guava-retrying</artifactId> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> </dependency> <dependency> <groupId>org.apache.directory.api</groupId> <artifactId>api-all</artifactId> </dependency> <dependency> <groupId>com.google.inject</groupId> <artifactId>guice</artifactId> </dependency> <dependency> <groupId>com.google.inject.extensions</groupId> <artifactId>guice-assistedinject</artifactId> </dependency> <dependency> <groupId>javax.inject</groupId> <artifactId>javax.inject</artifactId> </dependency> <dependency> <groupId>com.github.joschi</groupId> <artifactId>jadconfig</artifactId> </dependency> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver</artifactId> </dependency> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-legacy</artifactId> </dependency> <dependency> <groupId>org.mongojack</groupId> <artifactId>mongojack</artifactId> </dependency> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.jaxrs</groupId> <artifactId>jackson-jaxrs-base</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-guava</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jdk8</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jsr310</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-joda</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.module</groupId> <artifactId>jackson-module-jsonSchema</artifactId> </dependency> <dependency> <!-- Workaround for https://github.com/FasterXML/jackson-bom/pull/38 --> <groupId>com.fasterxml.jackson.module</groupId> <artifactId>jackson-module-scala_2.13</artifactId> <version>2.9.10</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.jaxrs</groupId> <artifactId>jackson-jaxrs-json-provider</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-yaml</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-csv</artifactId> </dependency> <dependency> <groupId>io.dropwizard.metrics</groupId> <artifactId>metrics-annotation</artifactId> </dependency> <dependency> <groupId>io.dropwizard.metrics</groupId> <artifactId>metrics-core</artifactId> </dependency> <dependency> <groupId>io.dropwizard.metrics</groupId> <artifactId>metrics-log4j2</artifactId> </dependency> <dependency> <groupId>io.dropwizard.metrics</groupId> <artifactId>metrics-jvm</artifactId> </dependency> <dependency> <groupId>io.dropwizard.metrics</groupId> <artifactId>metrics-jmx</artifactId> </dependency> <dependency> <groupId>io.dropwizard.metrics</groupId> <artifactId>metrics-json</artifactId> </dependency> <dependency> <groupId>io.prometheus</groupId> <artifactId>simpleclient_dropwizard</artifactId> </dependency> <dependency> <groupId>io.prometheus</groupId> <artifactId>simpleclient_hotspot</artifactId> </dependency> <dependency> <groupId>io.prometheus</groupId> <artifactId>simpleclient_httpserver</artifactId> </dependency> <dependency> <groupId>org.cryptomator</groupId> <artifactId>siv-mode</artifactId> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-email</artifactId> </dependency> <dependency> <groupId>commons-validator</groupId> <artifactId>commons-validator</artifactId> </dependency> <dependency> <groupId>org.glassfish.jersey.inject</groupId> <artifactId>jersey-hk2</artifactId> </dependency> <dependency> <groupId>org.glassfish.jersey.ext</groupId> <artifactId>jersey-bean-validation</artifactId> <exclusions> <!-- Exclude the old org.hibernate:hibernate-validator transitive dependency from jersey-bean-validation to make sure jersey is using the newer org.hibernate.validator:hibernate-validator (changed groupId) one. This fixes validation of objects in our REST API. See: https://github.com/Graylog2/graylog2-server/issues/5402 (This can probably be removed once we use a newer jersey version that depends on a more recent hibernate-validator) --> <exclusion> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-multipart</artifactId> </dependency> <dependency> <groupId>org.glassfish.jersey.containers</groupId> <artifactId>jersey-container-grizzly2-http</artifactId> </dependency> <dependency> <groupId>org.glassfish.hk2</groupId> <artifactId>guice-bridge</artifactId> </dependency> <dependency> <groupId>org.glassfish.hk2</groupId> <artifactId>hk2-api</artifactId> </dependency> <dependency> <groupId>org.glassfish.hk2</groupId> <artifactId>hk2-locator</artifactId> </dependency> <dependency> <groupId>javax.ws.rs</groupId> <artifactId>javax.ws.rs-api</artifactId> </dependency> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> </dependency> <dependency> <groupId>org.reflections</groupId> <artifactId>reflections</artifactId> </dependency> <dependency> <groupId>net.sf.opencsv</groupId> <artifactId>opencsv</artifactId> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> </dependency> <dependency> <groupId>com.joestelmach</groupId> <artifactId>natty</artifactId> </dependency> <dependency> <groupId>com.floreysoft</groupId> <artifactId>jmte</artifactId> </dependency> <dependency> <groupId>com.lmax</groupId> <artifactId>disruptor</artifactId> </dependency> <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> </dependency> <dependency> <groupId>org.graylog2.repackaged</groupId> <artifactId>uuid</artifactId> </dependency> <dependency> <groupId>de.huxhorn.sulky</groupId> <artifactId>de.huxhorn.sulky.ulid</artifactId> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> </dependency> <dependency> <groupId>org.graylog2.repackaged</groupId> <artifactId>grok</artifactId> </dependency> <dependency> <groupId>org.graylog2</groupId> <artifactId>gelfclient</artifactId> </dependency> <dependency> <groupId>io.swagger</groupId> <artifactId>swagger-annotations</artifactId> </dependency> <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcpkix-jdk15on</artifactId> <version>${bouncycastle.version}</version> </dependency> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-queryparser</artifactId> <version>${lucene.version}</version> </dependency> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-analyzers-common</artifactId> <version>${lucene.version}</version> </dependency> <!-- Logging dependencies --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>log4j-over-slf4j</artifactId> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-jul</artifactId> </dependency> <dependency> <groupId>io.rest-assured</groupId> <artifactId>rest-assured</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>io.rest-assured</groupId> <artifactId>json-path</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-joda-time</artifactId> </dependency> <dependency> <groupId>com.revinate</groupId> <artifactId>assertj-json</artifactId> </dependency> <dependency> <groupId>org.testcontainers</groupId> <artifactId>testcontainers</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.testcontainers</groupId> <artifactId>elasticsearch</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.testcontainers</groupId> <artifactId>junit-jupiter</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.jukito</groupId> <artifactId>jukito</artifactId> </dependency> <dependency> <groupId>org.mindrot</groupId> <artifactId>jbcrypt</artifactId> </dependency> <dependency> <groupId>org.apache.directory.server</groupId> <artifactId>apacheds-test-framework</artifactId> </dependency> <dependency> <groupId>org.apache.directory.server</groupId> <artifactId>ldap-client-test</artifactId> </dependency> <dependency> <groupId>com.unboundid</groupId> <artifactId>unboundid-ldapsdk</artifactId> </dependency> <dependency> <groupId>com.squareup.retrofit2</groupId> <artifactId>retrofit</artifactId> </dependency> <dependency> <groupId>com.squareup.retrofit2</groupId> <artifactId>converter-jackson</artifactId> </dependency> <dependency> <groupId>org.graylog.repackaged</groupId> <artifactId>os-platform-finder</artifactId> </dependency> <dependency> <groupId>javax.el</groupId> <artifactId>javax.el-api</artifactId> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty-common</artifactId> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty-buffer</artifactId> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty-handler</artifactId> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty-codec</artifactId> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty-codec-dns</artifactId> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty-codec-http</artifactId> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty-resolver-dns</artifactId> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty-transport-native-epoll</artifactId> <classifier>linux-x86_64</classifier> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty-transport-native-kqueue</artifactId> <classifier>osx-x86_64</classifier> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty-tcnative-boringssl-static</artifactId> <classifier>osx-x86_64</classifier> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty-tcnative-boringssl-static</artifactId> <classifier>linux-x86_64</classifier> </dependency> <dependency> <groupId>javax.annotation</groupId> <artifactId>javax.annotation-api</artifactId> </dependency> <dependency> <groupId>org.hdrhistogram</groupId> <artifactId>HdrHistogram</artifactId> </dependency> <dependency> <groupId>com.github.oshi</groupId> <artifactId>oshi-core</artifactId> </dependency> <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> </dependency> <dependency> <groupId>org.graylog.shaded</groupId> <artifactId>kafka09_2.11</artifactId> </dependency> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka_2.13</artifactId> </dependency> <dependency> <groupId>org.graylog2</groupId> <artifactId>syslog4j</artifactId> </dependency> <dependency> <groupId>com.jayway.jsonpath</groupId> <artifactId>json-path</artifactId> </dependency> <dependency> <groupId>com.github.zafarkhaja</groupId> <artifactId>java-semver</artifactId> </dependency> <dependency> <groupId>org.graylog.repackaged</groupId> <artifactId>semver4j</artifactId> </dependency> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> </dependency> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> </dependency> <dependency> <groupId>com.maxmind.geoip2</groupId> <artifactId>geoip2</artifactId> </dependency> <dependency> <groupId>org.graylog.cef</groupId> <artifactId>cef-parser</artifactId> </dependency> <dependency> <groupId>org.antlr</groupId> <artifactId>antlr4-runtime</artifactId> </dependency> <dependency> <groupId>org.jooq</groupId> <artifactId>jool-java-8</artifactId> </dependency> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>${freemarker.version}</version> </dependency> <dependency> <groupId>nl.jqno.equalsverifier</groupId> <artifactId>equalsverifier</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.github.stefanbirkner</groupId> <artifactId>system-rules</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>mockwebserver</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> <!-- used for sanity --> <dependency> <groupId>net.jcip</groupId> <artifactId>jcip-annotations</artifactId> </dependency> <dependency> <groupId>com.google.auto.value</groupId> <artifactId>auto-value-annotations</artifactId> </dependency> <dependency> <groupId>com.google.auto.value</groupId> <artifactId>auto-value</artifactId> </dependency> <dependency> <groupId>org.graylog.autovalue</groupId> <artifactId>auto-value-javabean</artifactId> </dependency> <dependency> <groupId>info.leadinglight</groupId> <artifactId>jdot</artifactId> </dependency> <dependency> <groupId>one.util</groupId> <artifactId>streamex</artifactId> </dependency> <!-- our basic test libraries, please only add infrastructure dependencies here --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> </dependency> <dependency> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-junit-jupiter</artifactId> </dependency> <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> </dependency> <dependency> <groupId>org.awaitility</groupId> <artifactId>awaitility</artifactId> </dependency> <dependency> <groupId>io.pkts</groupId> <artifactId>pkts-core</artifactId> </dependency> <dependency> <groupId>org.glassfish.jersey.test-framework</groupId> <artifactId>jersey-test-framework-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.glassfish.jersey.test-framework.providers</groupId> <artifactId>jersey-test-framework-provider-grizzly2</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.glassfish.jersey.test-framework.providers</groupId> <artifactId>jersey-test-framework-provider-inmemory</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.skyscreamer</groupId> <artifactId>jsonassert</artifactId> <version>1.5.0</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>graylog</finalName> <resources> <resource> <directory>${webInterface.path}/target/web/build</directory> <targetPath>web-interface/assets</targetPath> </resource> <resource> <directory>src/main/resources</directory> <excludes> <exclude>**/*.properties</exclude> </excludes> </resource> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> <includes> <include>**/*.properties</include> </includes> </resource> </resources> <testResources> <testResource> <directory>src/test/resources</directory> <filtering>true</filtering> <includes> <include>**/*.properties</include> </includes> </testResource> <testResource> <directory>src/test/resources</directory> <filtering>false</filtering> <excludes> <exclude>**/*.properties</exclude> </excludes> </testResource> </testResources> <pluginManagement> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>3.0.0</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>1.4</version> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" /> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>${mainClass}</mainClass> </transformer> </transformers> <shadedArtifactAttached>true</shadedArtifactAttached> <minimizeJar>false</minimizeJar> <filters> <!-- Bouncycastle's JARs are signed. When building a shaded JAR, either remove the signatures, or add dependency to the main JAR's manifest. Otherwise running the application will fail. --> <filter> <artifact>org.bouncycastle:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <mainClass>${mainClass}</mainClass> </manifest> </archive> </configuration> <executions> <execution> <goals> <!-- Building a test-jar allows us to share common test infrastructure classes like ~ elasticsearch test base classes in other maven modules. (e.g. plugins) ~ ~ A module that wants to use the test-jar classes needs to define an additional ~ graylog2-server dependency in it's pom.xml: ~ ~ <dependency> ~ <groupId>org.graylog2</groupId> ~ <artifactId>graylog2-server</artifactId> ~ <version>${graylog.version}</version> ~ <type>test-jar</type> ~ <scope>test</scope> ~ </dependency> ~ ~ One problem with this is, that transitive test-scoped dependencies will be lost so ~ the module's pom.xml needs to explicitly add them. ~ ~ More details: ~ - https://maven.apache.org/plugins/maven-jar-plugin/examples/create-test-jar.html ~ (don't use the "<classifier>" though) ~ - https://stackoverflow.com/a/174670 --> <goal>test-jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>parse-version</id> <phase>generate-resources</phase> <goals> <goal>parse-version</goal> </goals> <configuration> <propertyPrefix>maven</propertyPrefix> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <executions> <execution> <phase>validate</phase> <goals> <goal>create</goal> </goals> </execution> </executions> <configuration> <useLastCommittedRevision>true</useLastCommittedRevision> </configuration> </plugin> <plugin> <groupId>com.mycila</groupId> <artifactId>license-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.antlr</groupId> <artifactId>antlr4-maven-plugin</artifactId> <executions> <execution> <id>antlr</id> <goals> <goal>antlr4</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> </plugin> </plugins> </build> <profiles> <profile> <id>release</id> <build> <finalName>graylog-${project.version}</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <quiet>true</quiet> </configuration> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>web-interface-build</id> <activation> <property> <name>!skip.web.build</name> </property> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-clean-plugin</artifactId> <configuration> <filesets> <fileset> <directory>${webInterface.path}</directory> <includes> <include>target/**/*</include> <include>node_modules/**/*</include> </includes> <followSymlinks>false</followSymlinks> </fileset> </filesets> </configuration> </plugin> <plugin> <groupId>com.github.eirslett</groupId> <artifactId>frontend-maven-plugin</artifactId> <configuration> <workingDirectory>${webInterface.path}</workingDirectory> <nodeVersion>${nodejs.version}</nodeVersion> <yarnVersion>${yarn.version}</yarnVersion> </configuration> <executions> <execution> <id>install node and yarn</id> <goals> <goal>install-node-and-yarn</goal> </goals> </execution> <execution> <id>yarn install</id> <goals> <goal>yarn</goal> </goals> <!-- Optional configuration which provides for running any npm command --> <configuration> <arguments>install</arguments> </configuration> </execution> <execution> <id>yarn run build</id> <goals> <goal>yarn</goal> </goals> <configuration> <arguments>run build</arguments> </configuration> </execution> <execution> <id>yarn run check-production-build</id> <goals> <goal>yarn</goal> </goals> <phase>test</phase> <configuration> <arguments>run check-production-build</arguments> </configuration> </execution> <execution> <id>yarn test</id> <goals> <goal>yarn</goal> </goals> <phase>test</phase> <configuration> <arguments>test</arguments> </configuration> </execution> <execution> <id>yarn test:integration</id> <goals> <goal>yarn</goal> </goals> <phase>test</phase> <configuration> <arguments>test:integration</arguments> </configuration> </execution> <execution> <id>yarn tsc</id> <goals> <goal>yarn</goal> </goals> <phase>test</phase> <configuration> <arguments>tsc</arguments> </configuration> </execution> </executions> </plugin> <plugin> <groupId>com.googlecode.maven-download-plugin</groupId> <artifactId>download-maven-plugin</artifactId> <version>${download-maven-plugin.version}</version> <executions> <execution> <id>install-headless-shell</id> <phase>process-test-resources</phase> <goals> <goal>wget</goal> </goals> <configuration> <url> https://packages.graylog2.org/releases/graylog-plugin-artifacts/report/chrome/72.0.3583.1/headless_shell </url> <unpack>false</unpack> <outputDirectory>${project.basedir}/../graylog2-web-interface/test/bin</outputDirectory> <md5>22e07d7f108fcf6cb3e296d9802a9897</md5> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>integration-tests-elasticsearch</id> <activation> <property> <name>it.es</name> </property> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <configuration> <forkCount>1</forkCount> <skip>false</skip> <!-- prevent ForkedBooter from stealing window focus on Mac OS --> <argLine>-Djava.awt.headless=true</argLine> </configuration> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>