2016-10-14 00:12:59 -05:00
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ This file is part of Dependency-Track.
~
2017-10-28 14:29:07 -05:00
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
2016-10-14 00:12:59 -05:00
~
2019-05-06 09:28:47 -05:00
~ http://www.apache.org/licenses/LICENSE-2.0
2016-10-14 00:12:59 -05:00
~
2017-10-28 14:29:07 -05:00
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
~
2019-05-06 09:28:47 -05:00
~ SPDX-License-Identifier: Apache-2.0
2024-03-20 18:39:35 +01:00
~ Copyright (c) OWASP Foundation. All Rights Reserved.
2016-10-14 00:12:59 -05:00
-->
2022-02-23 23:14:51 -06:00
<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">
2017-02-16 22:52:34 -06:00
<parent >
<groupId > us.springett</groupId>
<artifactId > alpine-parent</artifactId>
2025-09-29 10:43:00 +02:00
<version > 3.3.0</version>
2017-02-16 22:52:34 -06:00
</parent>
2016-10-14 00:12:59 -05:00
<modelVersion > 4.0.0</modelVersion>
2018-08-11 15:35:27 -05:00
<groupId > org.dependencytrack</groupId>
2016-10-14 00:12:59 -05:00
<artifactId > dependency-track</artifactId>
<packaging > war</packaging>
2025-04-08 15:19:30 +02:00
<version > 4.14.0-SNAPSHOT</version>
2016-10-14 00:12:59 -05:00
<name > Dependency-Track</name>
2018-02-01 21:23:24 -06:00
<url > https://dependencytrack.org/</url>
2020-12-27 17:02:08 -06:00
<description > Dependency-Track is an intelligent component analysis platform that allows organizations to identify and reduce risk in the software supply chain.</description>
2016-10-14 00:12:59 -05:00
<inceptionYear > 2013</inceptionYear>
<organization >
<name > OWASP</name>
</organization>
2017-03-20 15:24:20 -05:00
<licenses >
<license >
2017-10-28 14:29:07 -05:00
<name > Apache-2.0</name>
<url > http://www.apache.org/licenses/LICENSE-2.0.txt</url>
2017-03-20 15:24:20 -05:00
<distribution > repo</distribution>
</license>
</licenses>
2016-10-14 00:12:59 -05:00
<developers >
<developer >
<name > Steve Springett</name>
<email > Steve.Springett@owasp.org</email>
<organization > OWASP</organization>
<organizationUrl > http://www.owasp.org/</organizationUrl>
<roles >
<role > Architect</role>
<role > Developer</role>
</roles>
</developer>
</developers>
2018-01-31 11:57:48 -06:00
<scm >
2018-06-19 22:24:00 -05:00
<connection > scm:git:git@github.com:DependencyTrack/dependency-track.git</connection>
<url > https://github.com/DependencyTrack/dependency-track.git</url>
<developerConnection > scm:git:git@github.com:DependencyTrack/dependency-track.git</developerConnection>
2018-01-31 11:57:48 -06:00
<tag > HEAD</tag>
</scm>
<issueManagement >
<system > github</system>
2018-06-19 22:24:00 -05:00
<url > https://github.com/DependencyTrack/dependency-track/issues</url>
2018-01-31 11:57:48 -06:00
</issueManagement>
<ciManagement >
2020-03-10 21:13:15 -05:00
<system > github-actions</system>
<url > https://github.com/DependencyTrack/dependency-track/actions</url>
2018-01-31 11:57:48 -06:00
</ciManagement>
2016-10-14 00:12:59 -05:00
<properties >
2024-05-07 22:04:18 +02:00
<!-- Java Version -->
<maven.compiler.source > 21</maven.compiler.source>
<maven.compiler.target > 21</maven.compiler.target>
2017-05-18 22:53:21 -05:00
<!-- Dependency Versions -->
2025-10-07 16:43:56 +02:00
<frontend.version > 4.13.5</frontend.version>
2018-07-30 22:19:31 -05:00
<lib.alpine.version > ${project.parent.version}</lib.alpine.version>
2025-04-02 12:20:48 +02:00
<lib.awaitility.version > 4.3.0</lib.awaitility.version>
2024-05-06 14:23:34 +02:00
<lib.brotli-decoder.version > 0.1.2</lib.brotli-decoder.version>
2025-10-13 08:47:06 +00:00
<lib.checkstyle.version > 12.0.1</lib.checkstyle.version>
2025-08-13 08:59:21 +00:00
<lib.cloud-sql-connector-jdbc-sqlserver.version > 1.25.3</lib.cloud-sql-connector-jdbc-sqlserver.version>
2025-09-29 12:41:13 +00:00
<lib.cloud-sql-mysql-socket-factory-connector-j-8.version > 1.25.3</lib.cloud-sql-mysql-socket-factory-connector-j-8.version>
2025-09-22 08:13:29 +00:00
<lib.cloud-sql-postgres-socket-factory.version > 1.25.3</lib.cloud-sql-postgres-socket-factory.version>
2025-03-12 08:38:49 +00:00
<lib.cpe-parser.version > 3.0.0</lib.cpe-parser.version>
2025-07-30 08:20:48 +00:00
<lib.commons-compress.version > 1.28.0</lib.commons-compress.version>
2025-07-25 08:48:18 +00:00
<lib.commons-text.version > 1.14.0</lib.commons-text.version>
2025-10-03 08:02:03 +00:00
<lib.ae-security.version > 0.145.2</lib.ae-security.version>
2022-12-15 10:56:36 +01:00
<lib.owasp-rr-calculator.version > 1.0.1</lib.owasp-rr-calculator.version>
2025-09-29 09:45:54 +02:00
<lib.cyclonedx-java.version > 11.0.0</lib.cyclonedx-java.version>
2025-09-18 08:01:59 +00:00
<lib.jakarta-validation.version > 3.1.1</lib.jakarta-validation.version>
2025-10-08 08:01:48 +00:00
<lib.greenmail.version > 2.1.7</lib.greenmail.version>
2025-05-19 08:08:48 +00:00
<lib.json-java.version > 20250517</lib.json-java.version>
2025-10-13 08:16:50 +00:00
<lib.json-unit.version > 5.0.0</lib.json-unit.version>
2025-04-25 20:16:13 +02:00
<lib.junit.version > 5.11.4</lib.junit.version>
2024-09-25 08:39:03 +00:00
<lib.lucene.version > 8.11.4</lib.lucene.version>
2025-07-16 08:11:57 +00:00
<lib.maven-artifact.version > 3.9.11</lib.maven-artifact.version>
2024-02-22 11:32:02 +01:00
<lib.mockserver-netty.version > 5.15.0</lib.mockserver-netty.version>
2025-09-15 08:28:38 +00:00
<lib.open-vulnerability-clients.version > 9.0.1</lib.open-vulnerability-clients.version>
2024-02-22 11:32:02 +01:00
<lib.packageurl.version > 1.5.0</lib.packageurl.version>
2025-04-05 20:35:22 +02:00
<lib.pebble.version > 3.2.4</lib.pebble.version>
2025-09-12 08:02:33 +00:00
<lib.protobuf-java.version > 4.32.1</lib.protobuf-java.version>
2025-09-28 14:38:00 +00:00
<lib.resilience4j.version > 2.3.0</lib.resilience4j.version>
2025-10-14 08:01:31 +00:00
<lib.swagger-parser.version > 2.1.35</lib.swagger-parser.version>
2025-04-25 20:16:13 +02:00
<lib.junit-pioneer.version > 2.3.0</lib.junit-pioneer.version>
2025-10-15 08:02:17 +00:00
<lib.testcontainers.version > 2.0.0</lib.testcontainers.version>
2024-05-06 14:23:34 +02:00
<lib.wiremock.version > 2.35.2</lib.wiremock.version>
2025-09-18 08:01:48 +00:00
<lib.woodstox.version > 7.1.1</lib.woodstox.version>
2023-02-20 12:17:49 +00:00
<lib.signpost-core.version > 2.1.1</lib.signpost-core.version>
<lib.httpclient.version > 4.5.14</lib.httpclient.version>
2025-09-30 08:02:08 +00:00
<lib.httpclient5.version > 5.5.1</lib.httpclient5.version>
2025-02-26 08:55:24 +00:00
<lib.log4j-over-slf4j.version > 2.0.17</lib.log4j-over-slf4j.version>
2025-09-19 08:01:52 +00:00
<lib.org-kohsuke-github-api.version > 1.330</lib.org-kohsuke-github-api.version>
2025-04-03 21:41:28 +02:00
<lib.com-asahaf-javacron.version > 1.4.0</lib.com-asahaf-javacron.version>
2021-01-25 21:44:41 -06:00
<!-- JDBC Drivers -->
2025-10-14 08:02:22 +00:00
<lib.jdbc-driver.mssql.version > 13.2.1.jre11</lib.jdbc-driver.mssql.version>
2024-10-01 15:23:37 +02:00
<lib.jdbc-driver.mysql.version > 8.2.0</lib.jdbc-driver.mysql.version>
2025-09-22 08:12:52 +00:00
<lib.jdbc-driver.postgresql.version > 42.7.8</lib.jdbc-driver.postgresql.version>
2018-07-30 22:19:31 -05:00
<!-- Maven Plugin Properties -->
2017-07-06 22:41:32 -05:00
<plugin.retirejs.breakOnFailure > false</plugin.retirejs.breakOnFailure>
2025-10-09 08:01:58 +00:00
<plugin.jetty.version > 12.1.2</plugin.jetty.version>
2024-09-01 19:42:31 +02:00
<plugin.protoc-jar.version > 3.11.4</plugin.protoc-jar.version>
2019-03-10 23:11:57 -05:00
<!-- SonarCloud properties -->
2019-03-10 23:55:33 -05:00
<sonar.exclusions > src/main/webapp/**</sonar.exclusions>
2022-12-15 10:29:32 +01:00
<!-- CycloneDX CLI -->
<cyclonedx-cli.path > cyclonedx</cyclonedx-cli.path>
<services.bom.merge.skip > true</services.bom.merge.skip>
2016-10-14 00:12:59 -05:00
</properties>
<dependencies >
2017-02-16 22:52:34 -06:00
<!-- Alpine -->
<dependency >
<groupId > us.springett</groupId>
2022-02-23 23:14:51 -06:00
<artifactId > alpine-common</artifactId>
<version > ${lib.alpine.version}</version>
</dependency>
<dependency >
<groupId > us.springett</groupId>
<artifactId > alpine-model</artifactId>
<version > ${lib.alpine.version}</version>
</dependency>
<dependency >
<groupId > us.springett</groupId>
<artifactId > alpine-infra</artifactId>
<version > ${lib.alpine.version}</version>
</dependency>
<dependency >
<groupId > us.springett</groupId>
<artifactId > alpine-server</artifactId>
2018-07-30 22:19:31 -05:00
<version > ${lib.alpine.version}</version>
2017-02-16 22:52:34 -06:00
</dependency>
2025-04-28 17:56:40 +02:00
<!-- AE Security -->
2017-05-11 00:12:25 -05:00
<dependency >
2025-04-28 17:56:40 +02:00
<groupId > org.metaeffekt.core</groupId>
<artifactId > ae-security</artifactId>
<version > ${lib.ae-security.version}</version>
2017-05-11 00:12:25 -05:00
</dependency>
2022-12-15 10:56:36 +01:00
<!-- OWASP Risk Rating calculator -->
<dependency >
<groupId > us.springett</groupId>
<artifactId > owasp-risk-rating-calculator</artifactId>
<version > ${lib.owasp-rr-calculator.version}</version>
</dependency>
2018-07-10 14:01:46 -05:00
<!-- CPE Parser -->
<dependency >
<groupId > us.springett</groupId>
<artifactId > cpe-parser</artifactId>
2018-07-30 22:19:31 -05:00
<version > ${lib.cpe-parser.version}</version>
2018-07-10 14:01:46 -05:00
</dependency>
2018-09-18 23:58:09 -05:00
<!-- CycloneDX -->
<dependency >
<groupId > org.cyclonedx</groupId>
<artifactId > cyclonedx-core-java</artifactId>
<version > ${lib.cyclonedx-java.version}</version>
</dependency>
2024-09-01 19:42:31 +02:00
2021-07-22 00:26:35 -05:00
<!-- org.json
This was previously transitively included with Unirest. However, Unirest v3.x removed reliance on org.json
in favor of their own API compatible replacement. Therefore, it was necessary to directly include org.json.
Removal of org.json is documented in https://github.com/DependencyTrack/dependency-track/issues/1113 -->
<dependency >
<groupId > org.json</groupId>
<artifactId > json</artifactId>
2024-05-06 14:23:34 +02:00
<version > ${lib.json-java.version}</version>
2021-07-22 00:26:35 -05:00
</dependency>
2024-02-22 11:32:02 +01:00
2024-05-29 12:22:12 +02:00
<dependency >
<groupId > jakarta.servlet</groupId>
<artifactId > jakarta.servlet-api</artifactId>
<scope > provided</scope>
</dependency>
2025-04-03 21:41:28 +02:00
<dependency >
<groupId > jakarta.validation</groupId>
<artifactId > jakarta.validation-api</artifactId>
<version > ${lib.jakarta-validation.version}</version>
</dependency>
2018-08-16 15:50:07 -05:00
<dependency >
<groupId > com.github.package-url</groupId>
<artifactId > packageurl-java</artifactId>
<version > ${lib.packageurl.version}</version>
</dependency>
2024-02-22 11:32:02 +01:00
2017-05-18 22:53:21 -05:00
<dependency >
<groupId > org.apache.lucene</groupId>
<artifactId > lucene-core</artifactId>
<version > ${lib.lucene.version}</version>
</dependency>
<dependency >
<groupId > org.apache.lucene</groupId>
<artifactId > lucene-analyzers-common</artifactId>
<version > ${lib.lucene.version}</version>
</dependency>
<dependency >
<groupId > org.apache.lucene</groupId>
<artifactId > lucene-queryparser</artifactId>
<version > ${lib.lucene.version}</version>
</dependency>
<dependency >
<groupId > org.apache.lucene</groupId>
<artifactId > lucene-queries</artifactId>
<version > ${lib.lucene.version}</version>
</dependency>
<dependency >
<groupId > org.apache.lucene</groupId>
<artifactId > lucene-sandbox</artifactId>
<version > ${lib.lucene.version}</version>
2016-10-14 00:12:59 -05:00
</dependency>
2023-10-21 20:09:23 +02:00
<dependency >
<groupId > io.github.jeremylong</groupId>
<artifactId > open-vulnerability-clients</artifactId>
<version > ${lib.open-vulnerability-clients.version}</version>
</dependency>
2018-07-10 23:34:15 -05:00
<dependency >
<groupId > io.pebbletemplates</groupId>
<artifactId > pebble</artifactId>
2018-07-30 22:19:31 -05:00
<version > ${lib.pebble.version}</version>
2018-07-10 23:34:15 -05:00
</dependency>
2023-02-20 12:17:49 +00:00
2024-09-01 19:42:31 +02:00
<dependency >
<groupId > com.google.protobuf</groupId>
<artifactId > protobuf-java</artifactId>
<version > ${lib.protobuf-java.version}</version>
</dependency>
<dependency >
<groupId > com.google.protobuf</groupId>
<artifactId > protobuf-java-util</artifactId>
<version > ${lib.protobuf-java.version}</version>
</dependency>
2024-05-16 22:21:23 +02:00
<dependency >
<groupId > io.swagger.core.v3</groupId>
2024-05-17 22:45:34 +02:00
<artifactId > swagger-jaxrs2-jakarta</artifactId>
2024-05-16 22:21:23 +02:00
<version > ${lib.swagger.version}</version>
</dependency>
2024-05-17 19:52:44 +02:00
<dependency >
<groupId > io.swagger.parser.v3</groupId>
<artifactId > swagger-parser</artifactId>
<version > ${lib.swagger-parser.version}</version>
<scope > test</scope>
</dependency>
2024-05-16 22:21:23 +02:00
2017-08-08 22:11:21 -05:00
<dependency >
2023-02-20 12:17:49 +00:00
<groupId > org.apache.httpcomponents</groupId>
<artifactId > httpclient</artifactId>
<version > ${lib.httpclient.version}</version>
2018-05-23 21:51:50 -05:00
</dependency>
2023-02-20 12:17:49 +00:00
2023-12-05 22:38:01 +01:00
<dependency >
<groupId > org.apache.httpcomponents.client5</groupId>
<artifactId > httpclient5</artifactId>
<version > ${lib.httpclient5.version}</version>
</dependency>
2018-05-23 21:51:50 -05:00
<dependency >
2023-02-20 12:17:49 +00:00
<groupId > oauth.signpost</groupId>
<artifactId > signpost-core</artifactId>
<version > ${lib.signpost-core.version}</version>
2017-09-28 21:26:30 -07:00
</dependency>
2023-02-20 12:17:49 +00:00
2024-03-18 11:51:07 +01:00
<dependency >
<groupId > org.brotli</groupId>
<artifactId > dec</artifactId>
2024-05-06 14:23:34 +02:00
<version > ${lib.brotli-decoder.version}</version>
2024-03-18 11:51:07 +01:00
</dependency>
2023-02-20 12:17:49 +00:00
<dependency >
<groupId > org.apache.httpcomponents</groupId>
<artifactId > httpmime</artifactId>
<version > ${lib.httpclient.version}</version>
</dependency>
2019-08-11 22:39:02 -05:00
<dependency >
<groupId > com.fasterxml.woodstox</groupId>
<artifactId > woodstox-core</artifactId>
2022-12-06 13:41:46 +01:00
<version > ${lib.woodstox.version}</version>
2019-08-11 22:39:02 -05:00
</dependency>
2023-02-20 12:17:49 +00:00
2020-10-13 21:53:59 +11:00
<dependency >
<groupId > org.apache.maven</groupId>
<artifactId > maven-artifact</artifactId>
2024-05-06 14:23:34 +02:00
<version > ${lib.maven-artifact.version}</version>
2020-10-13 21:53:59 +11:00
</dependency>
2024-02-22 11:32:02 +01:00
2021-01-25 21:44:41 -06:00
<dependency >
<groupId > com.microsoft.sqlserver</groupId>
<artifactId > mssql-jdbc</artifactId>
<version > ${lib.jdbc-driver.mssql.version}</version>
</dependency>
<dependency >
2024-05-15 21:54:07 +02:00
<groupId > com.mysql</groupId>
<artifactId > mysql-connector-j</artifactId>
2021-01-25 21:44:41 -06:00
<version > ${lib.jdbc-driver.mysql.version}</version>
2022-10-23 23:08:17 +02:00
<exclusions >
<!--
Protobuf is only required for MySQL X DevAPI, which we do not use.
https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-installing-maven.html
-->
<exclusion >
<groupId > com.google.protobuf</groupId>
<artifactId > protobuf-java</artifactId>
</exclusion>
</exclusions>
2021-01-25 21:44:41 -06:00
</dependency>
<dependency >
<groupId > org.postgresql</groupId>
<artifactId > postgresql</artifactId>
<version > ${lib.jdbc-driver.postgresql.version}</version>
</dependency>
2023-04-07 10:15:42 -07:00
<dependency >
<groupId > com.google.cloud.sql</groupId>
<artifactId > mysql-socket-factory-connector-j-8</artifactId>
2023-10-16 17:22:50 +02:00
<version > ${lib.cloud-sql-mysql-socket-factory-connector-j-8.version}</version>
2023-04-07 10:15:42 -07:00
</dependency>
<dependency >
<groupId > com.google.cloud.sql</groupId>
<artifactId > postgres-socket-factory</artifactId>
2023-10-16 17:22:50 +02:00
<version > ${lib.cloud-sql-postgres-socket-factory.version}</version>
2023-04-07 10:15:42 -07:00
</dependency>
<dependency >
<groupId > com.google.cloud.sql</groupId>
<artifactId > cloud-sql-connector-jdbc-sqlserver</artifactId>
2023-10-16 17:22:50 +02:00
<version > ${lib.cloud-sql-connector-jdbc-sqlserver.version}</version>
2023-04-07 10:15:42 -07:00
</dependency>
2024-02-22 11:32:02 +01:00
2021-05-29 17:46:39 -05:00
<dependency >
<groupId > org.apache.commons</groupId>
<artifactId > commons-compress</artifactId>
2024-02-22 11:32:02 +01:00
<version > ${lib.commons-compress.version}</version>
2021-05-29 17:46:39 -05:00
</dependency>
2024-02-22 11:32:02 +01:00
2024-05-15 22:16:11 +02:00
<dependency >
<groupId > org.apache.commons</groupId>
<artifactId > commons-text</artifactId>
<version > ${lib.commons-text.version}</version>
</dependency>
2022-10-28 06:26:26 +02:00
<dependency >
<groupId > io.github.resilience4j</groupId>
<artifactId > resilience4j-retry</artifactId>
<version > ${lib.resilience4j.version}</version>
</dependency>
<dependency >
<groupId > io.github.resilience4j</groupId>
<artifactId > resilience4j-ratelimiter</artifactId>
<version > ${lib.resilience4j.version}</version>
</dependency>
2022-11-01 11:24:23 +01:00
<dependency >
<groupId > io.github.resilience4j</groupId>
<artifactId > resilience4j-micrometer</artifactId>
<version > ${lib.resilience4j.version}</version>
</dependency>
2022-10-28 06:26:26 +02:00
2023-02-11 23:34:07 +01:00
<dependency >
<groupId > org.slf4j</groupId>
<artifactId > log4j-over-slf4j</artifactId>
<version > ${lib.log4j-over-slf4j.version}</version>
</dependency>
2023-10-20 16:57:43 +02:00
<dependency >
<groupId > org.kohsuke</groupId>
<artifactId > github-api</artifactId>
<version > ${lib.org-kohsuke-github-api.version}</version>
</dependency>
2025-04-03 21:41:28 +02:00
<dependency >
<groupId > com.asahaf.javacron</groupId>
<artifactId > javacron</artifactId>
<version > ${lib.com-asahaf-javacron.version}</version>
</dependency>
2018-12-27 17:49:33 -06:00
<!-- Test Dependencies -->
2018-12-28 18:00:56 -06:00
<dependency >
2025-04-25 20:16:13 +02:00
<groupId > org.junit.jupiter</groupId>
<artifactId > junit-jupiter</artifactId>
2022-02-23 23:34:04 -06:00
<version > ${lib.junit.version}</version>
<scope > test</scope>
</dependency>
2022-12-15 10:56:36 +01:00
<dependency >
2025-04-25 20:16:13 +02:00
<groupId > org.junit.jupiter</groupId>
<artifactId > junit-jupiter-api</artifactId>
<version > ${lib.junit.version}</version>
<scope > test</scope>
</dependency>
<dependency >
<groupId > org.junit.jupiter</groupId>
<artifactId > junit-jupiter-engine</artifactId>
<version > ${lib.junit.version}</version>
2024-05-06 14:23:34 +02:00
<scope > test</scope>
2022-12-15 10:56:36 +01:00
</dependency>
2022-02-23 23:34:04 -06:00
<dependency >
<groupId > org.glassfish.jersey.test-framework.providers</groupId>
<artifactId > jersey-test-framework-provider-grizzly2</artifactId>
<version > ${lib.jersey.version}</version>
2018-12-28 18:00:56 -06:00
<scope > test</scope>
2025-04-25 20:16:13 +02:00
<exclusions >
<exclusion >
<groupId > junit</groupId>
<artifactId > junit</artifactId>
</exclusion>
</exclusions>
2018-12-28 18:00:56 -06:00
</dependency>
2022-07-20 21:50:23 +02:00
<dependency >
<groupId > org.glassfish.jersey.connectors</groupId>
<artifactId > jersey-grizzly-connector</artifactId>
<version > ${lib.jersey.version}</version>
<scope > test</scope>
</dependency>
2018-12-28 23:38:14 -06:00
<dependency >
<groupId > org.mockito</groupId>
<artifactId > mockito-core</artifactId>
2022-02-23 23:34:04 -06:00
<version > ${lib.mockito.version}</version>
<scope > test</scope>
</dependency>
2024-02-22 11:32:02 +01:00
2022-02-23 23:34:04 -06:00
<dependency >
2023-02-20 12:17:49 +00:00
<groupId > com.github.tomakehurst</groupId>
2025-09-29 10:50:36 +02:00
<artifactId > wiremock-jre8-standalone</artifactId>
2024-05-06 14:23:34 +02:00
<version > ${lib.wiremock.version}</version>
2023-02-20 12:17:49 +00:00
<scope > test</scope>
</dependency>
<dependency >
2025-04-25 20:16:13 +02:00
<groupId > org.junit-pioneer</groupId>
<artifactId > junit-pioneer</artifactId>
<version > ${lib.junit-pioneer.version}</version>
2022-02-23 23:34:04 -06:00
<scope > test</scope>
</dependency>
<dependency >
<groupId > org.assertj</groupId>
<artifactId > assertj-core</artifactId>
<version > ${lib.assertj.version}</version>
<scope > test</scope>
</dependency>
2022-12-16 01:11:54 +01:00
<dependency >
<groupId > net.javacrumbs.json-unit</groupId>
<artifactId > json-unit-assertj</artifactId>
<version > ${lib.json-unit.version}</version>
<scope > test</scope>
</dependency>
2022-02-23 23:34:04 -06:00
<dependency >
<groupId > org.mock-server</groupId>
<artifactId > mockserver-netty</artifactId>
2024-02-22 11:32:02 +01:00
<version > ${lib.mockserver-netty.version}</version>
2018-12-28 23:38:14 -06:00
<scope > test</scope>
</dependency>
2023-08-20 20:37:52 +02:00
<dependency >
<groupId > org.awaitility</groupId>
<artifactId > awaitility</artifactId>
<version > ${lib.awaitility.version}</version>
<scope > test</scope>
</dependency>
2023-11-14 23:37:27 +01:00
<dependency >
<groupId > com.icegreen</groupId>
2025-04-25 20:16:13 +02:00
<artifactId > greenmail-junit5</artifactId>
2023-11-14 23:37:27 +01:00
<version > ${lib.greenmail.version}</version>
<scope > test</scope>
</dependency>
2024-02-24 18:11:34 +01:00
<dependency >
<groupId > org.testcontainers</groupId>
<artifactId > testcontainers</artifactId>
<version > ${lib.testcontainers.version}</version>
<scope > test</scope>
</dependency>
2016-10-14 00:12:59 -05:00
</dependencies>
<build >
2016-12-03 22:35:41 -06:00
<finalName > ${project.artifactId}</finalName>
2016-10-14 00:12:59 -05:00
<resources >
<resource >
<directory > src/main/resources</directory>
<filtering > false</filtering>
</resource>
<resource >
<directory > src/main/resources</directory>
<filtering > true</filtering>
<includes >
2017-11-08 12:43:36 -06:00
<include > application.version</include>
2024-05-17 20:05:51 +02:00
<include > openapi-configuration.yaml</include>
2016-10-14 00:12:59 -05:00
</includes>
</resource>
</resources>
2018-01-08 22:47:05 -06:00
<testResources >
<testResource >
<directory > src/test/resources</directory>
<filtering > false</filtering>
</testResource>
</testResources>
2024-08-14 21:35:53 +02:00
<pluginManagement >
<plugins >
<!--
Plugin invocation is inherited from alpine-parent.
Because this is an application, there's no point in attaching sources.
-->
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-source-plugin</artifactId>
<executions >
<execution >
<id > attach-sources</id>
<phase > none</phase>
</execution>
</executions>
</plugin>
<!--
Plugin invocation is inherited from alpine-parent.
Because this is an application, there's no point in attaching javadocs.
-->
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-javadoc-plugin</artifactId>
<executions >
<execution >
<id > attach-javadocs</id>
<phase > none</phase>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
2018-01-31 12:40:28 -06:00
<plugins >
2023-01-27 21:53:07 +01:00
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-checkstyle-plugin</artifactId>
2024-10-28 08:03:17 +00:00
<version > 3.6.0</version>
2023-01-27 21:53:07 +01:00
<configuration >
<configLocation > ${project.basedir}/.checkstyle.xml</configLocation>
2023-01-27 22:57:31 +01:00
<includeResources > false</includeResources>
<includeTestResources > false</includeTestResources>
2023-01-27 21:53:07 +01:00
</configuration>
<executions >
<execution >
<phase > validate</phase>
<goals >
<goal > check</goal>
</goals>
</execution>
</executions>
<dependencies >
<dependency >
<groupId > com.puppycrawl.tools</groupId>
<artifactId > checkstyle</artifactId>
2024-02-22 11:32:02 +01:00
<version > ${lib.checkstyle.version}</version>
2023-01-27 21:53:07 +01:00
</dependency>
</dependencies>
</plugin>
2024-09-01 19:42:31 +02:00
<plugin >
2025-05-03 13:37:43 +02:00
<groupId > io.github.ascopes</groupId>
<artifactId > protobuf-maven-plugin</artifactId>
2025-10-06 08:02:32 +00:00
<version > 3.10.1</version>
2025-05-03 13:37:43 +02:00
<configuration >
<protocVersion > ${lib.protobuf-java.version}</protocVersion>
<sourceDirectories >
<sourceDirectory > ${project.basedir}/src/main/proto</sourceDirectory>
</sourceDirectories>
</configuration>
2024-09-01 19:42:31 +02:00
<executions >
<execution >
<phase > generate-sources</phase>
<goals >
2025-05-03 13:37:43 +02:00
<goal > generate</goal>
2024-09-01 19:42:31 +02:00
</goals>
</execution>
</executions>
</plugin>
2023-02-27 12:56:45 +01:00
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-surefire-plugin</artifactId>
2024-05-06 19:53:12 +02:00
<configuration >
<systemProperties >
<property >
<name > java.util.logging.config.file</name>
<value > src/test/resources/logging.properties</value>
</property>
</systemProperties>
2025-04-29 18:19:03 +02:00
<reuseForks > true</reuseForks>
2024-05-06 19:53:12 +02:00
</configuration>
2023-02-27 12:56:45 +01:00
</plugin>
2024-09-01 18:51:00 +02:00
<plugin >
<groupId > org.jacoco</groupId>
<artifactId > jacoco-maven-plugin</artifactId>
<configuration >
<excludes >
<exclude > org/dependencytrack/upgrade/**/*</exclude>
2024-09-01 19:42:31 +02:00
<exclude > trivy/proto/**/*</exclude>
2024-09-01 18:51:00 +02:00
</excludes>
</configuration>
</plugin>
2024-09-01 20:16:19 +02:00
<plugin >
<groupId > org.cyclonedx</groupId>
<artifactId > cyclonedx-maven-plugin</artifactId>
<executions >
<execution >
<id > cyclonedx-aggregate</id>
<phase > prepare-package</phase>
<goals >
<goal > makeAggregateBom</goal>
</goals>
</execution>
</executions>
<configuration >
<projectType > application</projectType>
<schemaVersion > 1.5</schemaVersion>
<includeCompileScope > true</includeCompileScope>
<includeProvidedScope > true</includeProvidedScope>
<includeRuntimeScope > true</includeRuntimeScope>
<includeSystemScope > true</includeSystemScope>
<includeTestScope > false</includeTestScope>
<includeLicenseText > false</includeLicenseText>
<outputReactorProjects > true</outputReactorProjects>
<outputFormat > json</outputFormat>
2025-09-29 10:59:58 +02:00
<skipNotDeployed > false</skipNotDeployed>
2024-09-01 20:16:19 +02:00
<externalReferences >
<externalReference >
<type > advisories</type>
<url > https://github.com/DependencyTrack/dependency-track/security/advisories</url>
</externalReference>
<externalReference >
<type > chat</type>
<url > https://dependencytrack.org/slack</url>
</externalReference>
<externalReference >
<type > documentation</type>
<url > https://docs.dependencytrack.org/</url>
</externalReference>
<externalReference >
<type > release-notes</type>
<url > https://docs.dependencytrack.org/changelog/</url>
</externalReference>
<externalReference >
<type > security-contact</type>
<url > mailto:security@dependencytrack.org</url>
</externalReference>
<externalReference >
<type > social</type>
<url > https://www.linkedin.com/company/owasp-dependency-track</url>
</externalReference>
<externalReference >
<type > social</type>
<url > https://x.com/dependencytrack</url>
</externalReference>
</externalReferences>
</configuration>
</plugin>
2022-12-15 10:29:32 +01:00
<plugin >
<groupId > org.codehaus.mojo</groupId>
<artifactId > exec-maven-plugin</artifactId>
2025-10-06 08:02:15 +00:00
<version > 3.6.1</version>
2022-12-15 10:29:32 +01:00
<executions >
<execution >
<id > merge-services-bom</id>
<phase > prepare-package</phase>
<goals >
<goal > exec</goal>
</goals>
<configuration >
<executable > ${cyclonedx-cli.path}</executable>
<arguments >
<argument > merge</argument>
<argument > --input-files</argument>
<argument > ${project.build.directory}/bom.json</argument>
<argument > ${project.basedir}/src/main/resources/services.bom.json</argument>
<argument > --output-file</argument>
<argument > ${project.build.directory}/bom.json</argument>
</arguments>
<skip > ${services.bom.merge.skip}</skip>
</configuration>
</execution>
</executions>
</plugin>
2022-02-12 00:09:35 -06:00
<plugin >
<artifactId > maven-antrun-plugin</artifactId>
2022-04-24 06:41:12 +00:00
<version > 3.1.0</version>
2022-02-12 00:09:35 -06:00
<executions >
<execution >
<id > deploy-bom</id>
<phase > prepare-package</phase>
<configuration >
<target >
2022-04-09 00:40:38 +02:00
<copy file= "${project.build.directory}/bom.json"
tofile="${project.build.directory}/${project.artifactId}/.well-known/sbom"/>
2022-02-12 00:09:35 -06:00
</target>
</configuration>
<goals >
<goal > run</goal>
</goals>
</execution>
</executions>
</plugin>
2022-01-25 01:40:24 +00:00
<plugin >
2024-05-17 22:45:34 +02:00
<groupId > org.eclipse.jetty.ee10</groupId>
<artifactId > jetty-ee10-maven-plugin</artifactId>
2023-03-19 16:16:16 +01:00
<version > ${plugin.jetty.version}</version>
2022-01-25 01:40:24 +00:00
<configuration >
2025-02-13 23:49:26 +01:00
<systemProperties >
<dev.mode.enabled > true</dev.mode.enabled>
</systemProperties>
2022-01-25 01:40:24 +00:00
<webApp >
2024-09-09 20:39:26 +02:00
<!-- Disable classpath scanning. -->
<containerIncludeJarPattern > ^$</containerIncludeJarPattern>
<webInfIncludeJarPattern > ^$</webInfIncludeJarPattern>
2022-01-25 01:40:24 +00:00
</webApp>
</configuration>
</plugin>
2018-01-31 12:40:28 -06:00
</plugins>
2016-10-14 00:12:59 -05:00
</build>
2020-12-20 00:49:30 -06:00
<profiles >
2025-06-12 19:50:14 +02:00
<profile >
<id > quick</id>
<activation >
<property >
<name > quickly</name>
</property>
</activation>
<properties >
<checkstyle.skip > true</checkstyle.skip>
<jacoco.skip > true</jacoco.skip>
<maven.test.skip > true</maven.test.skip>
</properties>
</profile>
2020-12-20 17:19:03 -06:00
<profile >
<id > clean-exclude-wars</id>
<build >
<pluginManagement >
<plugins >
2024-08-14 21:35:53 +02:00
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-clean-plugin</artifactId>
2025-06-02 09:39:11 +00:00
<version > 3.5.0</version>
2024-08-14 21:35:53 +02:00
<configuration >
<excludeDefaultDirectories > true</excludeDefaultDirectories>
<filesets >
<fileset >
<directory > target</directory>
<followSymlinks > false</followSymlinks>
<useDefaultExcludes > false</useDefaultExcludes>
<includes >
<include > */</include>
</includes>
<excludes >
<exclude > dependency-track*.jar</exclude>
</excludes>
</fileset>
</filesets>
</configuration>
</plugin>
2020-12-20 17:19:03 -06:00
</plugins>
</pluginManagement>
</build>
</profile>
2020-12-20 00:49:30 -06:00
<profile >
<id > embedded-jetty</id>
<activation >
<property >
<name > env.ACTIVATE_EMBEDDED_JETTY</name>
<value > true</value>
</property>
</activation>
<properties >
<war-embedded-finalname > ${project.build.finalName}-apiserver</war-embedded-finalname>
</properties>
</profile>
2023-03-19 16:16:16 +01:00
<profile >
<id > h2-console</id>
<build >
<plugins >
<plugin >
2024-05-17 22:45:34 +02:00
<groupId > org.eclipse.jetty.ee10</groupId>
<artifactId > jetty-ee10-maven-plugin</artifactId>
2023-03-19 16:16:16 +01:00
<version > ${plugin.jetty.version}</version>
<configuration >
2025-02-13 23:49:26 +01:00
<systemProperties >
<dev.mode.enabled > true</dev.mode.enabled>
</systemProperties>
2023-03-19 16:16:16 +01:00
<webApp >
2024-09-09 20:39:26 +02:00
<!-- Disable classpath scanning. -->
<containerIncludeJarPattern > ^$</containerIncludeJarPattern>
<webInfIncludeJarPattern > ^$</webInfIncludeJarPattern>
2024-05-17 22:45:34 +02:00
<overrideDescriptor > src/test/webapp/WEB-INF/h2-console-web.xml</overrideDescriptor>
2023-03-19 16:16:16 +01:00
</webApp>
</configuration>
</plugin>
</plugins>
</build>
</profile>
2020-12-20 00:49:30 -06:00
<profile >
<id > bundle-ui</id>
<activation >
<property >
<name > env.ACTIVATE_BUNDLE_UI</name>
<value > true</value>
</property>
</activation>
<properties >
<war-embedded-finalname > ${project.build.finalName}-bundled</war-embedded-finalname>
</properties>
<build >
<plugins >
<plugin >
<artifactId > maven-antrun-plugin</artifactId>
2022-04-24 06:41:12 +00:00
<version > 3.1.0</version>
2020-12-20 00:49:30 -06:00
<executions >
<execution >
<id > frontend-download</id>
<phase > prepare-package</phase>
<configuration >
<target >
2022-01-28 16:23:28 +00:00
<get src= "https://github.com/DependencyTrack/frontend/releases/download/${frontend.version}/frontend-dist.zip" dest= "${project.build.directory}" verbose= "true" />
2020-12-20 00:49:30 -06:00
</target>
</configuration>
<goals >
<goal > run</goal>
</goals>
</execution>
<execution >
<id > frontend-extract</id>
<phase > prepare-package</phase>
<configuration >
<target >
2022-01-28 16:23:28 +00:00
<unzip src= "${project.build.directory}/frontend-dist.zip" dest= "${project.build.directory}/frontend" >
2020-12-20 00:49:30 -06:00
</unzip>
</target>
</configuration>
<goals >
<goal > run</goal>
</goals>
</execution>
<execution >
<id > frontend-resource-deploy</id>
<phase > prepare-package</phase>
<configuration >
<target >
<copy todir= "${project.build.directory}/${project.artifactId}" >
<fileset dir= "${project.build.directory}/frontend/dist" >
<include name= "**/*" />
</fileset>
</copy>
</target>
</configuration>
<goals >
<goal > run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
2019-09-01 00:16:30 -05:00
</project>