<?xml version="1.0" encoding="utf-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
>
    <modelVersion>4.0.0</modelVersion>
    <groupId>de.hft.stuttgart</groupId>
    <artifactId>CityDoctorParent</artifactId>
    <version>3.16.0</version>
    <packaging>pom</packaging>
    <name>CityDoctorParent</name>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <log4j.version>2.18.0</log4j.version>
        <revision>${project.version}</revision>
        <nonMavenLibsPath>${project.baseUri}../non-maven-libs</nonMavenLibsPath>
        <jre-version-short>17.0.10</jre-version-short>
        <jre-version>${jre-version-short}+13</jre-version>
        <jfx-version>17.0.12</jfx-version>
    </properties>
    <repositories>
        <repository>
            <id>non-maven-libs</id>
            <url>${nonMavenLibsPath}</url>
        </repository>
        <repository>
            <id>sonartype</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
        </repository>
    </repositories>
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.22.0</version>
                    <configuration>
                        <testFailureIgnore>false</testFailureIgnore>
                        <excludes>
                            <exclude>**/SolidSelfIntCheckFalsePositiveBigMeshTest.java</exclude>
                        </excludes>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.13.0</version>
                <configuration>
                    <showWarnings>true</showWarnings>
                    <showDeprecation>true</showDeprecation>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.plexus</groupId>
                <artifactId>plexus-compiler-api</artifactId>
                <version>2.15.0</version>
            </plugin>
            <plugin>
                <groupId>org.codehaus.plexus</groupId>
                <artifactId>plexus-compiler-manager</artifactId>
                <version>2.15.0</version>
            </plugin>
            <plugin>
                <groupId>org.codehaus.plexus</groupId>
                <artifactId>plexus-compiler-eclipse</artifactId>
                <version>2.15.0</version>
            </plugin>
            <plugin>
                <groupId>org.openjfx</groupId>
                <artifactId>javafx-maven-plugin</artifactId>
                <version>0.0.8</version>
            </plugin>
        </plugins>
    </build>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.openjfx</groupId>
                <artifactId>javafx-controls</artifactId>
                <version>${jfx-version}</version>
            </dependency>
            <dependency>
                <groupId>org.openjfx</groupId>
                <artifactId>javafx-fxml</artifactId>
                <version>${jfx-version}</version>
            </dependency>
            <dependency>
                <groupId>org.openjfx</groupId>
                <artifactId>javafx-swing</artifactId>
                <version>${jfx-version}</version>
            </dependency>
            <dependency>
                <groupId>de.hft.stuttgart</groupId>
                <artifactId>CityDoctorModel</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>de.hft.stuttgart</groupId>
                <artifactId>CityDoctorAutoPro</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>de.hft.stuttgart</groupId>
                <artifactId>CityDoctorValidation</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>de.hft.stuttgart</groupId>
                <artifactId>CityDoctorGUI</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>de.hft.stuttgart</groupId>
                <artifactId>CityDoctorEdge</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>de.hft.stuttgart</groupId>
                <artifactId>CityDoctorCheckResult</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>de.hft.stuttgart</groupId>
                <artifactId>CityDoctorHealer</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>net.sf.saxon</groupId>
                <artifactId>Saxon-HE</artifactId>
                <version>12.2</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
                <version>5.6.9.Final</version>
            </dependency>
            <dependency>
                <groupId>org.citygml4j</groupId>
                <artifactId>citygml4j-core</artifactId>
                <version>3.2.0</version>
            </dependency>
            <dependency>
                <groupId>org.citygml4j</groupId>
                <artifactId>citygml4j-xml</artifactId>
                <version>3.2.0</version>
            </dependency>
            <dependency>
                <groupId>de.hft.stuttgart</groupId>
                <artifactId>citygml4j-quality-ade</artifactId>
                <version>3.2.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>fop</artifactId>
                <version>2.7</version>
            </dependency>
            <dependency>
                <groupId>org.jdom</groupId>
                <artifactId>jdom2</artifactId>
                <version>2.0.6.1</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.13.2</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jogamp.gluegen</groupId>
                <artifactId>gluegen-rt-main</artifactId>
                <version>2.3.2</version>
            </dependency>
            <dependency>
                <groupId>gov.nist.math</groupId>
                <artifactId>jama</artifactId>
                <version>1.0.3</version>
            </dependency>
            <dependency>
                <groupId>org.jogamp.jogl</groupId>
                <artifactId>jogl-all-main</artifactId>
                <version>2.3.2</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-api</artifactId>
                <version>${log4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-core</artifactId>
                <version>${log4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-jul</artifactId>
                <version>${log4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.yaml</groupId>
                <artifactId>snakeyaml</artifactId>
                <version>2.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-slf4j18-impl</artifactId>
                <version>${log4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.locationtech.proj4j</groupId>
                <artifactId>proj4j</artifactId>
                <version>1.1.5</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-orm</artifactId>
                <version>5.11.9.Final</version>
            </dependency>
            <dependency>
                <groupId>org.locationtech.jts</groupId>
                <artifactId>jts-core</artifactId>
                <version>1.19.0</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.bind</groupId>
                <artifactId>jaxb-impl</artifactId>
                <version>2.3.3</version>
            </dependency>
            <dependency>
                <groupId>jakarta.xml.bind</groupId>
                <artifactId>jakarta.xml.bind-api</artifactId>
                <version>2.3.3</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>4.6.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>${jfx-version}</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-fxml</artifactId>
            <version>${jfx-version}</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-swing</artifactId>
            <version>${jfx-version}</version>
        </dependency>
    </dependencies>
    <modules>
        <!--CityDoctor2 Core Modules-->
        <module>CityDoctorModel</module>
        <module>CityDoctorValidation</module>
        <module>CityDoctorEdge</module>
        <module>CityDoctorCheckResult</module>

        <!--CityDoctor2 Extension Modules-->
        <module>Extensions/CityDoctorGUI</module>
        <!--
        <module>Extensions/CityDoctorAutoPro</module>
        <module>Extensions/CityDoctorHealer</module>
        <module>Extensions/CityDoctorHealerGenetic</module>
        <module>Extensions/CityDoctorHealerGUI</module>
        <module>Extensions/CityDoctorWebService</module>
        -->
    </modules>
</project>