<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.dlsc.workbenchfx</groupId>
    <artifactId>workbenchfx-parent</artifactId>
    <version>11.3.0</version>
    <packaging>pom</packaging>

    <parent>
        <groupId>com.dlsc</groupId>
        <artifactId>dlsc-maven-parent</artifactId>
        <version>1.0.0</version>
    </parent>

    <properties>
        <ikonli.version>12.2.0</ikonli.version>
        <java.version>11</java.version>
        <javafx.version>17.0.1</javafx.version>
        <junit.version>4.13.2</junit.version>
        <junit.jupiter.version>5.8.2</junit.jupiter.version>
        <junit.vintage.version>5.8.2</junit.vintage.version>
        <sonar.projectKey>dlsc-software-consulting-gmbh_WorkbenchFX</sonar.projectKey>
        <sonar.organization>dlsc-software-consulting-gmbh</sonar.organization>
        <sonar.host.url>https://sonarcloud.io</sonar.host.url>
        <sonar.moduleKey>${project.artifactId}</sonar.moduleKey>
        <maven.deploy.skip>true</maven.deploy.skip>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <modules>
        <module>workbenchfx-core</module>
        <module>workbenchfx-demo</module>
    </modules>

    <dependencyManagement>
        <dependencies>

            <dependency>
                <groupId>org.kordamp.ikonli</groupId>
                <artifactId>ikonli-core</artifactId>
                <version>${ikonli.version}</version>
            </dependency>

            <dependency>
                <groupId>org.kordamp.ikonli</groupId>
                <artifactId>ikonli-javafx</artifactId>
                <version>${ikonli.version}</version>
            </dependency>

            <dependency>
                <groupId>org.kordamp.ikonli</groupId>
                <artifactId>ikonli-fontawesome-pack</artifactId>
                <version>${ikonli.version}</version>
            </dependency>

            <dependency>
                <groupId>org.kordamp.ikonli</groupId>
                <artifactId>ikonli-materialdesign-pack</artifactId>
                <version>${ikonli.version}</version>
            </dependency>

            <dependency>
                <groupId>org.openjfx</groupId>
                <artifactId>javafx-base</artifactId>
                <version>17.0.1</version>
            </dependency>

            <dependency>
                <groupId>org.openjfx</groupId>
                <artifactId>javafx-web</artifactId>
                <version>17.0.1</version>
            </dependency>

            <dependency>
                <groupId>org.openjfx</groupId>
                <artifactId>javafx-swing</artifactId>
                <version>17.0.1</version>
            </dependency>

            <dependency>
                <groupId>org.openjfx</groupId>
                <artifactId>javafx-controls</artifactId>
                <version>17.0.1</version>
            </dependency>

            <dependency>
                <groupId>org.openjfx</groupId>
                <artifactId>javafx-fxml</artifactId>
                <version>17.0.1</version>
            </dependency>

            <dependency>
                <groupId>org.openjfx</groupId>
                <artifactId>javafx-graphics</artifactId>
                <version>17.0.1</version>
            </dependency>

            <dependency>
                <groupId>org.openjfx</groupId>
                <artifactId>javafx-media</artifactId>
                <version>17.0.1</version>
            </dependency>

            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>31.0.1-jre</version>
            </dependency>

            <!-- Logging -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.7.32</version>
            </dependency>

            <!-- *** Test *** -->
            <!-- JUnit 5 Testing Framework -->
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-api</artifactId>
                <version>${junit.jupiter.version}</version>
            </dependency>

            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
            </dependency>

            <dependency>
                <groupId>org.junit.platform</groupId>
                <artifactId>junit-platform-engine</artifactId>
                <version>1.8.2</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-engine</artifactId>
                <version>${junit.jupiter.version}</version>
            </dependency>

            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest</artifactId>
                <version>2.2</version>
            </dependency>

            <!-- JUnit 4 Engine for JUnit 5, is needed for Spock to work -->
            <dependency>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
                <version>${junit.vintage.version}</version>
            </dependency>

            <!-- Spock Testing Framework -->
            <dependency>
                <groupId>org.spockframework</groupId>
                <artifactId>spock-core</artifactId>
                <version>2.0-groovy-3.0</version>
            </dependency>

            <dependency> <!-- enables mocking of classes (in addition to interfaces) -->
                <groupId>net.bytebuddy</groupId>
                <artifactId>byte-buddy</artifactId>
                <version>1.12.4</version>
            </dependency>

            <dependency> <!-- enables mocking of classes without default constructor (together with CGLIB) -->
                <groupId>org.objenesis</groupId>
                <artifactId>objenesis</artifactId>
                <version>3.2</version>
            </dependency>

            <!-- TestFX for JavaFX Testing -->
            <dependency>
                <groupId>org.testfx</groupId>
                <artifactId>testfx-core</artifactId>
                <version>4.0.16-alpha</version>
            </dependency>

            <dependency>
                <groupId>org.testfx</groupId>
                <artifactId>testfx-junit5</artifactId>
                <version>4.0.16-alpha</version>
            </dependency>

            <dependency>
                <groupId>org.testfx</groupId>
                <artifactId>testfx-spock</artifactId>
                <version>4.0.16-alpha</version>
            </dependency>

            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>4.2.0</version>
            </dependency>

            <dependency>
                <groupId>org.assertj</groupId>
                <artifactId>assertj-core</artifactId>
                <version>3.21.0</version>
            </dependency>

            <dependency>
                <groupId>org.awaitility</groupId>
                <artifactId>awaitility</artifactId>
                <version>4.1.1</version>
            </dependency>

            <!-- Logging -->
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-core</artifactId>
                <version>2.17.1</version>
            </dependency>

            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-api</artifactId>
                <version>2.17.1</version>
            </dependency>

            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-slf4j-impl</artifactId>
                <version>2.17.1</version>
            </dependency>

            <dependency>
                <groupId>com.license4j</groupId>
                <artifactId>license4j</artifactId>
                <version>1.4.0</version>
            </dependency>

            <!-- Libraries -->
            <dependency>
                <groupId>com.dlsc.workbenchfx</groupId>
                <artifactId>workbenchfx-core</artifactId>
                <version>11.3.0</version>
            </dependency>

            <dependency>
                <groupId>com.dlsc</groupId>
                <artifactId>GMapsFX</artifactId>
                <version>11.0.6</version>
            </dependency>

            <dependency>
                <groupId>com.calendarfx</groupId>
                <artifactId>view</artifactId>
                <version>11.8.3</version>
            </dependency>

            <dependency>
                <groupId>com.dlsc.preferencesfx</groupId>
                <artifactId>preferencesfx-core</artifactId>
                <version>11.9.0</version>
            </dependency>

            <dependency>
                <groupId>org.controlsfx</groupId>
                <artifactId>controlsfx</artifactId>
                <version>11.1.1</version>
            </dependency>
        </dependencies>

    </dependencyManagement>
</project>
