Skip to content
Snippets Groups Projects
pom.xml 57.76 KiB
<?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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>de.latlon.product.xplanbox</groupId>
  <artifactId>xplanbox</artifactId>
  <packaging>pom</packaging>
  <version>7.1-SNAPSHOT</version>
  <name>xPlanBox</name>
  <description>Software zur Verwaltung von XPlanGML Daten</description>
  <inceptionYear>2008</inceptionYear>
  <url>https://gitlab.opencode.de/diplanung/ozgxplanung</url>
  <organization>
    <url>https://www.lat-lon.de</url>
    <name>lat/lon GmbH, Bonn, Germany</name>
  </organization>

  <properties>
    <java.version>11</java.version>
    <maven.version>3.8.1</maven.version>
    <!-- version properties -->
    <deegree3.version>3.5.3.1</deegree3.version>
    <xplanung.regeln.version>1.1.6</xplanung.regeln.version>
    <xplanung.regeln.berlin.version>0.4</xplanung.regeln.berlin.version>
    <gwt.version>2.10.0</gwt.version>
    <geotools.version>29.2</geotools.version>
    <jacoco.argLine />
    <jacoco.skip>true</jacoco.skip>
    <jacoco.version>0.8.11</jacoco.version>
    <log4j.version>2.17.2</log4j.version>
    <slf4j.version>1.7.36</slf4j.version>
    <spring.version>5.3.31</spring.version>
    <spring-boot.version>2.7.18</spring-boot.version>
    <spring-batch.version>4.3.10</spring-batch.version>
    <spring-security.version>5.5.8</spring-security.version>
    <spring-data.version>2.7.18</spring-data.version>
    <hibernate.version>5.6.15.Final</hibernate.version>
    <jackson.version>2.16.0</jackson.version>
    <liquibase.version>4.25.0</liquibase.version>
    <postgresql.version>42.5.4</postgresql.version>
    <owasp.version>8.4.3</owasp.version>
    <!-- project properties -->
    <distribution.repo.id>gitlab-maven</distribution.repo.id>
    <distribution.repo.url>${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/maven</distribution.repo.url>
    <distribution.snapshotRepo.id>gitlab-maven</distribution.snapshotRepo.id>
    <distribution.snapshotRepo.url>${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/maven</distribution.snapshotRepo.url>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <tests.jvm.xmx>1000m</tests.jvm.xmx>
    <build.key /> <!-- can be set by build job -->
    <build-date-utc>${maven.build.timestamp}Z</build-date-utc>
    <maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format>
    <dependency-check.skip>true</dependency-check.skip>
    <docker-image.skip>true</docker-image.skip>
    <docker-image.skip-sources>${docker-image.skip}</docker-image.skip-sources>
  </properties>

  <modules>
    <module>xplan-api</module>
    <module>xplan-cli</module>
    <module>xplan-configuration</module>
    <module>xplan-core</module>
    <module>xplan-documentation</module>
    <module>xplan-resources</module>
    <module>xplan-tests</module>
    <module>xplan-webapps</module>
    <module>xplan-webservices</module>
    <module>xplan-workspaces</module>
  </modules>

  <profiles>
    <profile>
      <id>release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>3.1.0</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
                <configuration>
                  <keyname>${gpg.keyname}</keyname>
                  <passphraseServerId>${gpg.keyname}</passphraseServerId>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>distribution</id>
      <modules>
        <module>xplan-distribution</module>
      </modules>
    </profile>
    <profile>
      <id>licence</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>license-maven-plugin</artifactId>
            <version>2.2.0</version>
            <configuration>
              <canUpdateCopyright>true</canUpdateCopyright>
              <addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
              <inceptionYear>${project.inceptionYear}</inceptionYear>
              <organizationName>${project.organization.name}</organizationName>
              <projectName>${project.name} - ${project.description}</projectName>
              <copyrightOwners>Freie und Hansestadt Hamburg, developed by lat/lon gesellschaft für raumbezogene Informationssysteme mbH</copyrightOwners>
              <licenseName>agpl_v3</licenseName>
              <roots>
                <root>src/main</root>
                <root>src/test</root>
              </roots>
              <extraExtensions>
                <xq>xml</xq>
                <gfi>xml</gfi>
                <gml>xml</gml>
                <jrxml>xml</jrxml>
                <xjc>xml</xjc>
                <xsd>xml</xsd>
                <xslt>xml</xslt>
                <rules>properties</rules>
                <syn>properties</syn>
                <yaml>properties</yaml>
                <yuml>properties</yuml>
                <map>properties</map>
              </extraExtensions>
            </configuration>
            <executions>
              <execution>
                <id>javaAndOther</id>
                <goals>
                  <goal>update-file-header</goal>
                </goals>
                <phase>process-sources</phase>
                <configuration>
                  <encoding>UTF-8</encoding>
                  <excludes>
                    <exclude>*/codelists/**</exclude>
                    <exclude>*/appschemas/**</exclude>
                    <exclude>*/masterportal/**</exclude>
                    <exclude>*/xplanmgrweb/js/**</exclude>
                    <exclude>*/appschemas/XPlanGML_3_0/**</exclude>
                    <exclude>*/appschemas/XPlanGML_4_0/**</exclude>
                    <exclude>*/appschemas/XPlanGML_4_1/**</exclude>
                    <exclude>*/appschemas/XPlanGML_5_0/**</exclude>
                    <exclude>*/appschemas/XPlanGML_5_1/**</exclude>
                    <exclude>*/appschemas/XPlanGML_5_2/**</exclude>
                    <exclude>*/appschemas/XPlanGML_5_3/**</exclude>
                    <exclude>*/appschemas/XPlanGML_5_4/**</exclude>
                    <exclude>*/appschemas/XPlanGML_5_4/**</exclude>
                    <exclude>*/xplan-database-scripts/src/main/resource/**/*.yaml</exclude>
                    <exclude>*/xplan-tests-soapui/src/main/resource/xplan-api-manager/**</exclude>
                    <exclude>*/xplan-tests-soapui/src/main/resource/xplan-api-validator/**</exclude>
                    <exclude>*/xplan-tests-soapui/src/main/resource/xplan-webservices/**</exclude>
                    <exclude>*/xplan-workspaces/src/main/workspace/styles/xplansyn/symbols/**</exclude>
                    <exclude>**/*.json</exclude>
                    <exclude>**./.properties</exclude>
                  </excludes>
                  <includes>
                    <include>**/bbox_cache_gml.properties</include>
                    <include>**/bbox_cache_syn.properties</include>
                  </includes>
                </configuration>
              </execution>
              <execution>
                <id>properties</id>
                <goals>
                  <goal>update-file-header</goal>
                </goals>
                <phase>process-sources</phase>
                <configuration>
                  <encoding>ISO-8859-1</encoding>
                  <excludes>
                    <exclude>**/bbox_cache_gml.properties</exclude>
                    <exclude>**/bbox_cache_syn.properties</exclude>
                  </excludes>
                  <includes>
                    <include>**/*.properties</include>
                  </includes>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <!-- Workaround to replace XML comments with XQuery comments,
               since licence:update-file-header goal does not support xq files yet! -->
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
              <execution>
                <id>replace-xml-comment</id>
                <goals>
                  <goal>run</goal>
                </goals>
                <phase>process-sources</phase>
                <configuration>
                  <target>
                    <replace dir="${project.basedir}" value="(:">
                      <include name="**/*.xq" />
                      <replacetoken><![CDATA[<!--]]></replacetoken>
                    </replace>
                    <replace dir="${project.basedir}" value=":)">
                      <include name="**/*.xq" />
                      <replacetoken><![CDATA[-->]]></replacetoken>
                    </replace>
                  </target>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>docker</id>
      <properties>
        <docker-image.namePrefix>xplanbox</docker-image.namePrefix>
        <docker-image.name>${project.artifactId}</docker-image.name>
      </properties>
      <modules>
        <module>xplan-docker</module>
      </modules>
      <build>
        <plugins>
          <plugin>
            <groupId>io.fabric8</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <configuration>
              <skip>${docker-image.skip}</skip>
              <images>
                <image>
                  <name>${docker-image.namePrefix}/${docker-image.name}</name>
                  <build>
                    <dockerFileDir>${project.basedir}</dockerFileDir>
                    <args>
                      <BUILD_DATE>'${build-date-utc}'</BUILD_DATE>
                      <DOCKER_IMAGE_NAME>${docker-image.name}</DOCKER_IMAGE_NAME>
                      <GIT_REVISION>${git.commit.id}</GIT_REVISION>
                      <WEB_CONTEXT>${project.artifactId}</WEB_CONTEXT>
                      <XPLANBOX_VERSION>${project.version}</XPLANBOX_VERSION>
                      <XPLANBOX_IMAGE_NAME_PREFIX>${docker-image.namePrefix}</XPLANBOX_IMAGE_NAME_PREFIX>
                    </args>
                    <tags>
                      <tag>${project.version}</tag>
                    </tags>
                  </build>
                </image>
              </images>
            </configuration>
            <executions>
              <execution>
                <id>context-sources</id>
                <goals>
                  <goal>source</goal>
                </goals>
                <configuration>
                  <skip>${docker-image.skip-sources}</skip>
                </configuration>
              </execution>
              <execution>
                <id>default</id>
                <goals>
                  <goal>build</goal>
                  <goal>push</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>skipAll</id>
      <properties>
        <dependency-check.skip>true</dependency-check.skip> <!-- dependency-check-maven -->
        <enforcer.skip>true</enforcer.skip> <!-- maven-enforcer-plugin -->
        <skipTests>true</skipTests> <!-- surefire & failsafe -->
        <spring-javaformat.skip>true</spring-javaformat.skip> <!-- spring-javaformat-maven-plugin -->
      </properties>
    </profile>
  </profiles>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>3.4.5</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>3.6.0</version>
        <configuration>
          <doclint>none</doclint>
          <detectLinks>false</detectLinks>
          <detectOfflineLinks>false</detectOfflineLinks>
          <minmemory>512m</minmemory>
          <maxmemory>2g</maxmemory>
          <aggregate>false</aggregate>
          <failOnError>false</failOnError>
          <inherited>false</inherited>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
        <version>3.3.0</version>
      </plugin>
      <plugin>
        <groupId>com.github.spotbugs</groupId>
        <artifactId>spotbugs-maven-plugin</artifactId>
        <version>4.7.3.5</version>
        <configuration>
          <xmlOutput>true</xmlOutput>
          <spotbugsXmlOutput>true</spotbugsXmlOutput>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.owasp</groupId>
        <artifactId>dependency-check-maven</artifactId>
        <version>${owasp.version}</version>
      </plugin>
    </plugins>
  </reporting>
  <build>
    <plugins>
      <plugin>
        <groupId>io.spring.javaformat</groupId>
        <artifactId>spring-javaformat-maven-plugin</artifactId>
        <version>0.0.39</version>
        <executions>
          <execution>
            <phase>validate</phase>
            <inherited>true</inherited>
            <goals>
              <goal>validate</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>3.4.1</version>
        <executions>
          <execution>
            <id>enforce-versions</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireMavenVersion>
                  <version>${maven.version}</version>
                </requireMavenVersion>
                <requireJavaVersion>
                  <version>${java.version}</version>
                </requireJavaVersion>
              </rules>
            </configuration>
          </execution>
          <execution>
            <id>enforce-ban-duplicate-classes</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <banDuplicateClasses>
                  <ignoreClasses>
                    <ignoreClass>javax.activation.*</ignoreClass>
                    <ignoreClass>javax.xml.stream.*</ignoreClass>
                    <ignoreClass>org.aopalliance.*</ignoreClass>
                    <ignoreClass>org.apache.commons.logging.*</ignoreClass>
                    <ignoreClass>org.w3c.dom.*</ignoreClass>
                  </ignoreClasses>
                  <scopes>
                    <scope>compile</scope>
                    <scope>provided</scope>
                  </scopes>
                  <findAllDuplicates>true</findAllDuplicates>
                  <ignoreWhenIdentical>true</ignoreWhenIdentical>
                </banDuplicateClasses>
              </rules>
              <fail>true</fail>
            </configuration>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>extra-enforcer-rules</artifactId>
            <version>1.7.0</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <groupId>org.owasp</groupId>
        <artifactId>dependency-check-maven</artifactId>
        <version>${owasp.version}</version>
        <configuration>
          <formats>HTML,XML</formats>
          <cveValidForHours>24</cveValidForHours>
          <failBuildOnCVSS>10</failBuildOnCVSS>
          <knownExploitedEnabled>false</knownExploitedEnabled>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>io.github.git-commit-id</groupId>
        <artifactId>git-commit-id-maven-plugin</artifactId>
        <version>6.0.0</version>
        <executions>
          <execution>
            <id>get-the-git-infos</id>
            <goals>
              <goal>revision</goal>
            </goals>
            <phase>initialize</phase>
          </execution>
        </executions>
        <configuration>
          <includeOnlyProperties>
            <includeOnlyProperty>git.commit.id</includeOnlyProperty>
          </includeOnlyProperties>
          <skipPoms>false</skipPoms>
          <verbose>true</verbose>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <configuration>
          <includes>de.latlon.xplanbox.*</includes>
          <propertyName>jacoco.argLine</propertyName>
        </configuration>
        <executions>
          <execution>
            <id>default-prepare-agent</id>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
          </execution>
          <execution>
            <id>default-prepare-agent-integration</id>
            <goals>
              <goal>prepare-agent-integration</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <version>3.2.2</version>
        <configuration>
          <argLine>-Xmx${tests.jvm.xmx} @{jacoco.argLine}</argLine>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>integration-test</goal>
              <goal>verify</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.11.0</version>
          <configuration>
            <source>${java.version}</source>
            <target>${java.version}</target>
            <encoding>utf8</encoding>
            <parameters>true</parameters>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <version>3.0.1</version>
          <configuration>
            <preparationGoals>clean install</preparationGoals>
            <autoVersionSubmodules>true</autoVersionSubmodules>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>3.2.2</version>
          <configuration>
            <argLine>-Xmx${tests.jvm.xmx} @{jacoco.argLine}</argLine>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>appassembler-maven-plugin</artifactId>
          <version>2.1.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.4.0</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>gwt-maven-plugin</artifactId>
          <version>${gwt.version}</version>
          <configuration>
            <disableCastChecking>true</disableCastChecking>
            <disableClassMetadata>true</disableClassMetadata>
            <extraJvmArgs>-Xmx500M</extraJvmArgs>
            <module>${gwt.moduleName}</module>
            <runTarget>index.html</runTarget>
            <hostedWebapp>${project.build.directory}/${project.build.finalName}</hostedWebapp>
            <copyWebapp>true</copyWebapp>
          </configuration>
          <executions>
            <execution>
              <id>compile</id>
              <phase>test-compile</phase>
              <goals>
                <goal>compile</goal>
              </goals>
            </execution>
            <execution>
              <id>clean</id>
              <phase>clean</phase>
              <goals>
                <goal>clean</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>jaxb2-maven-plugin</artifactId>
          <version>2.5.0</version>
          <executions>
            <execution>
              <id>xjc</id>
              <goals>
                <goal>xjc</goal>
              </goals>
            </execution>
          </executions>
          <dependencies>
            <dependency>
              <groupId>jakarta.xml.bind</groupId>
              <artifactId>jakarta.xml.bind-api</artifactId>
              <version>2.3.3</version>
            </dependency>
            <dependency>
              <groupId>xerces</groupId>
              <artifactId>xercesImpl</artifactId>
              <version>2.12.2</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>3.4.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.3.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>3.6.0</version>
          <configuration>
            <failOnError>false</failOnError>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>3.1.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-source-plugin</artifactId>
          <version>3.3.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>3.6.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>3.6.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <version>3.12.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <plugin>
          <groupId>com.smartbear.soapui</groupId>
          <artifactId>soapui-maven-plugin</artifactId>
          <version>5.7.2</version>
        </plugin>
        <!-- asciidoc -->
        <plugin>
          <groupId>org.asciidoctor</groupId>
          <artifactId>asciidoctor-maven-plugin</artifactId>
          <version>2.2.4</version>
          <dependencies>
            <dependency>
              <groupId>org.asciidoctor</groupId>
              <artifactId>asciidoctorj-pdf</artifactId>
              <version>2.3.9</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>versions-maven-plugin</artifactId>
          <version>2.16.2</version>
        </plugin>
        <plugin>
          <groupId>org.jacoco</groupId>
          <artifactId>jacoco-maven-plugin</artifactId>
          <version>${jacoco.version}</version>
        </plugin>
        <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
          <version>${spring-boot.version}</version>
        </plugin>
        <plugin>
          <groupId>io.fabric8</groupId>
          <artifactId>docker-maven-plugin</artifactId>
          <version>0.43.4</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.0.1</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>javax.el</groupId>
        <artifactId>el-api</artifactId>
        <version>2.2.1-b04</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>jakarta.persistence</groupId>
        <artifactId>jakarta.persistence-api</artifactId>
        <version>2.2.3</version>
      </dependency>
      <!-- deegree -->
      <dependency>
        <groupId>de.latlon</groupId>
        <artifactId>deegree-core-commons</artifactId>
        <version>${deegree3.version}</version>
        <type>jar</type>
        <scope>compile</scope>
      </dependency>
      <dependency>
        <groupId>de.latlon</groupId>
        <artifactId>deegree-core-base</artifactId>
        <version>${deegree3.version}</version>
      </dependency>
      <dependency>
        <groupId>de.latlon</groupId>
        <artifactId>deegree-core-cs</artifactId>
        <version>${deegree3.version}</version>
      </dependency>
      <dependency>
        <groupId>de.latlon</groupId>
        <artifactId>deegree-featurestore-sql</artifactId>
        <version>${deegree3.version}</version>
      </dependency>
      <dependency>
        <groupId>de.latlon</groupId>
        <artifactId>deegree-featurestore-memory</artifactId>
        <version>${deegree3.version}</version>
      </dependency>
      <dependency>
        <groupId>de.latlon</groupId>
        <artifactId>deegree-core-theme</artifactId>
        <version>${deegree3.version}</version>
      </dependency>
      <dependency>
        <groupId>de.latlon</groupId>
        <artifactId>deegree-tilestore-geotiff</artifactId>
        <version>${deegree3.version}</version>
      </dependency>
      <dependency>
        <groupId>de.latlon</groupId>
        <artifactId>deegree-tilestore-gdal</artifactId>
        <version>${deegree3.version}</version>
      </dependency>
      <dependency>
        <groupId>de.latlon</groupId>
        <artifactId>deegree-layers-tile</artifactId>
        <version>${deegree3.version}</version>
      </dependency>
      <dependency>
        <groupId>de.latlon</groupId>
        <artifactId>deegree-core-layer</artifactId>
        <version>${deegree3.version}</version>
      </dependency>
      <dependency>
        <groupId>de.latlon</groupId>
        <artifactId>deegree-core-geometry</artifactId>
        <version>${deegree3.version}</version>
      </dependency>
      <dependency>
        <groupId>de.latlon</groupId>
        <artifactId>deegree-core-db</artifactId>
        <version>${deegree3.version}</version>
      </dependency>
      <dependency>
        <groupId>de.latlon</groupId>
        <artifactId>deegree-core-workspace</artifactId>
        <version>${deegree3.version}</version>
      </dependency>
      <dependency>
        <groupId>de.latlon</groupId>
        <artifactId>deegree-connectionprovider-datasource</artifactId>
        <version>${deegree3.version}</version>
      </dependency>
      <dependency>
        <groupId>de.latlon</groupId>
        <artifactId>deegree-layers-feature</artifactId>
        <version>${deegree3.version}</version>
      </dependency>
      <dependency>
        <groupId>de.latlon</groupId>
        <artifactId>deegree-services-wms</artifactId>
        <version>${deegree3.version}</version>
      </dependency>
      <dependency>
        <groupId>de.latlon</groupId>
        <artifactId>deegree-featurestore-commons</artifactId>
        <version>${deegree3.version}</version>
      </dependency>
      <dependency>
        <groupId>de.latlon</groupId>
        <artifactId>deegree-protocol-csw</artifactId>
        <version>${deegree3.version}</version>
      </dependency>
      <dependency>
        <groupId>de.latlon</groupId>
        <artifactId>deegree-protocol-wfs</artifactId>
        <version>${deegree3.version}</version>
      </dependency>
      <dependency>
        <groupId>de.latlon</groupId>
        <artifactId>deegree-sqldialect-postgis</artifactId>
        <version>${deegree3.version}</version>
      </dependency>
      <dependency>
        <groupId>de.latlon</groupId>
        <artifactId>deegree-services-config</artifactId>
        <version>${deegree3.version}</version>
      </dependency>
      <!--deegree webservices -->
      <dependency>
        <groupId>de.latlon</groupId>
        <artifactId>deegree-webservices</artifactId>
        <type>war</type>
        <version>${deegree3.version}</version>
      </dependency>
      <!-- gwt -->
      <dependency>
        <groupId>org.gwtproject</groupId>
        <artifactId>gwt-user</artifactId>
        <version>${gwt.version}</version>
      </dependency>
      <dependency>
        <groupId>org.gwtproject</groupId>
        <artifactId>gwt-dev</artifactId>
        <version>${gwt.version}</version>
      </dependency>
      <dependency>
        <groupId>org.gwtproject</groupId>
        <artifactId>gwt-servlet</artifactId>
        <version>${gwt.version}</version>
      </dependency>
      <!-- logging dependencies, delegate all to slf4j and use log4j 1.2 -->
      <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>jul-to-slf4j</artifactId>
        <version>${slf4j.version}</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-slf4j-impl</artifactId>
        <version>${log4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-web</artifactId>
        <version>${log4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-layout-template-json</artifactId>
        <version>${log4j.version}</version>
      </dependency>
      <!-- commons -->
      <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.5</version>
        <exclusions>
          <exclusion>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>commons-cli</groupId>
        <artifactId>commons-cli</artifactId>
        <version>1.2</version>
      </dependency>
      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.12</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-csv</artifactId>
        <version>1.6</version>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.7</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-dbcp2</artifactId>
        <version>2.9.0</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-text</artifactId>
        <version>1.10.0</version>
      </dependency>
      <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <version>2.1.214</version>
      </dependency>
      <dependency>
        <groupId>net.bytebuddy</groupId>
        <artifactId>byte-buddy</artifactId>
        <version>1.14.10</version>
      </dependency>
      <dependency>
        <groupId>org.objenesis</groupId>
        <artifactId>objenesis</artifactId>
        <version>2.6</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.hsqldb</groupId>
        <artifactId>hsqldb</artifactId>
        <version>2.7.2</version>
        <scope>test</scope>
      </dependency>
      <!-- xerces -->
      <dependency>
        <groupId>xerces</groupId>
        <artifactId>xercesImpl</artifactId>
        <version>2.12.2</version>
      </dependency>
      <!-- xslt -->
      <dependency>
        <groupId>xalan</groupId>
        <artifactId>xalan</artifactId>
        <version>2.7.3</version>
      </dependency>
      <dependency>
        <groupId>xalan</groupId>
        <artifactId>serializer</artifactId>
        <version>2.7.3</version>
      </dependency>
      <!-- xml stuff -->
      <dependency>
        <groupId>xml-apis</groupId>
        <artifactId>xml-apis</artifactId>
        <version>1.4.01</version>
      </dependency>
      <dependency>
        <groupId>org.apache.ws.commons.axiom</groupId>
        <artifactId>axiom-api</artifactId>
        <version>1.2.22</version>
      </dependency>
      <dependency>
        <groupId>org.apache.ws.commons.axiom</groupId>
        <artifactId>axiom-impl</artifactId>
        <version>1.2.22</version>
      </dependency>
      <dependency>
        <groupId>net.sf.saxon</groupId>
        <artifactId>Saxon-HE</artifactId>
        <version>9.9.1-8</version>
      </dependency>
      <!-- jaxb -->
      <dependency>
        <groupId>jakarta.xml.bind</groupId>
        <artifactId>jakarta.xml.bind-api</artifactId>
        <version>2.3.3</version>
      </dependency>
      <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-impl</artifactId>
        <version>2.3.9</version>
      </dependency>
      <dependency>
        <groupId>jakarta.annotation</groupId>
        <artifactId>jakarta.annotation-api</artifactId>
        <version>1.3.5</version>
      </dependency>
      <!-- geotools -->
      <dependency>
        <groupId>org.geotools</groupId>
        <artifactId>gt-shapefile</artifactId>
        <version>${geotools.version}</version>
      </dependency>
      <dependency>
        <groupId>org.geotools</groupId>
        <artifactId>gt-epsg-hsql</artifactId>
        <version>${geotools.version}</version>
        <exclusions>
          <exclusion>
            <groupId>it.geosolutions.jgridshift</groupId>
            <artifactId>jgridshift-core</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.inject</groupId>
            <artifactId>javax.inject</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.media</groupId>
            <artifactId>jai_core</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.geotools</groupId>
        <artifactId>gt-data</artifactId>
        <version>${geotools.version}</version>
      </dependency>
      <dependency>
        <groupId>org.geotools</groupId>
        <artifactId>gt-wfs</artifactId>
        <version>${geotools.version}</version>
      </dependency>
      <dependency>
        <groupId>org.gdal</groupId>
        <artifactId>gdal</artifactId>
        <version>3.0.0</version>
      </dependency>
      <dependency>
        <groupId>org.locationtech.jts</groupId>
        <artifactId>jts-core</artifactId>
        <version>1.19.0</version>
      </dependency>
      <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>2.3.2</version>
        <exclusions>
          <exclusion>
            <groupId>com.zaxxer</groupId>
            <artifactId>HikariCP-java7</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.liquibase</groupId>
        <artifactId>liquibase-core</artifactId>
        <version>${liquibase.version}</version>
        <exclusions>
          <exclusion>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.liquibase.ext</groupId>
        <artifactId>liquibase-postgresql</artifactId>
        <version>${liquibase.version}</version>
      </dependency>
      <!-- xplan-manager internal dependencies with version -->
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>xplan-api-commons</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>xplan-tests-resources</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>xplan-commons</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>xplan-commons</artifactId>
        <classifier>sources</classifier>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>xplan-commons-cli</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>xplan-commons-web</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>xplan-validator-core</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>xplan-validator-web-commons</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>xplan-core-job</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>xplan-manager-core</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>xplan-schemas</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>xplan-commons-webservices</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>xplan-inspireplu-transformation</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>xplan-synthesizer</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>xplan-core-manager-db</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>xplan-schemas</artifactId>
        <version>${project.version}</version>
        <type>zip</type>
      </dependency>
      <dependency>
        <groupId>de.xleitstelle.xplanung</groupId>
        <artifactId>regeln</artifactId>
        <version>${xplanung.regeln.version}</version>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>xplan-workspaces</artifactId>
        <classifier>xplan-manager-workspace</classifier>
        <version>${project.version}</version>
        <type>zip</type>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>xplan-benutzerhandbuch</artifactId>
        <version>${project.version}</version>
        <classifier>validator-html</classifier>
        <type>zip</type>
      </dependency>
      <!-- for tests -->
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.2</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter</artifactId>
        <version>5.10.1</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-params</artifactId>
        <version>5.10.1</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.assertj</groupId>
        <artifactId>assertj-core</artifactId>
        <version>3.24.2</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-all</artifactId>
        <version>1.3</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>5.4.0</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.xmlunit</groupId>
        <artifactId>xmlunit-core</artifactId>
        <version>2.9.1</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.xmlunit</groupId>
        <artifactId>xmlunit-matchers</artifactId>
        <version>2.9.1</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>com.jayway.jsonpath</groupId>
        <artifactId>json-path-assert</artifactId>
        <version>2.8.0</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>pl.pragmatists</groupId>
        <artifactId>JUnitParams</artifactId>
        <version>1.1.1</version>
        <scope>test</scope>
      </dependency>
      <!-- for map preview -->
      <dependency>
        <groupId>org.gwtopenmaps.openlayers</groupId>
        <artifactId>gwt-openlayers-client</artifactId>
        <version>1.1.0</version>
      </dependency>
      <!-- Spring Framework -->
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${spring.version}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${spring.version}</version>
        <!--
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
        -->
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-expression</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aop</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>${spring.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.springframework.batch</groupId>
        <artifactId>spring-batch-core</artifactId>
        <version>${spring-batch.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot</artifactId>
        <version>${spring-boot.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
        <version>${spring-boot.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>jul-to-slf4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>log4j-over-slf4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-to-slf4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
          </exclusion>
          <exclusion>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.yaml</groupId>
            <artifactId>snakeyaml</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-batch</artifactId>
        <version>${spring-boot.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>jul-to-slf4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>log4j-over-slf4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-to-slf4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
          </exclusion>
          <exclusion>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <!-- Spring Security -->
      <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-core</artifactId>
        <version>${spring-security.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-web</artifactId>
        <version>${spring-security.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-config</artifactId>
        <version>${spring-security.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-ldap</artifactId>
        <version>${spring-security.version}</version>
      </dependency>
      <!-- Spring Data -->
      <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-commons</artifactId>
        <version>${spring-data.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-jpa</artifactId>
        <version>${spring-data.version}</version>
      </dependency>
      <!-- reports -->
      <dependency>
        <groupId>net.sourceforge.dynamicreports</groupId>
        <artifactId>dynamicreports-core</artifactId>
        <version>6.12.1</version>
        <exclusions>
          <exclusion>
            <groupId>net.sf.barcode4j</groupId>
            <artifactId>barcode4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-text</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>net.sourceforge.dynamicreports</groupId>
        <artifactId>dynamicreports-adhoc</artifactId>
        <version>6.12.1</version>
      </dependency>
      <dependency>
        <groupId>net.sourceforge.dynamicreports</groupId>
        <artifactId>dynamicreports-googlecharts</artifactId>
        <version>6.12.1</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jdt.core.compiler</groupId>
        <artifactId>ecj</artifactId>
        <version>4.6.1</version>
      </dependency>
      <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.2.8</version>
      </dependency>
      <!-- rest -->
      <dependency>
        <groupId>org.fusesource.restygwt</groupId>
        <artifactId>restygwt</artifactId>
        <version>2.2.7</version>
      </dependency>
      <dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>jsr311-api</artifactId>
        <version>1.1.1</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind-joda</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-jaxrs-json-provider</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.module</groupId>
        <artifactId>jackson-module-jaxb-annotations</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-yaml</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hibernate.validator</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>6.1.7.Final</version>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>${hibernate.version}</version>
        <exclusions>
          <exclusion>
            <groupId>javax.persistence</groupId>
            <artifactId>javax.persistence-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.glassfish.jaxb</groupId>
            <artifactId>jaxb-runtime</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-spatial</artifactId>
        <version>${hibernate.version}</version>
      </dependency>
      <dependency>
        <groupId>jakarta.validation</groupId>
        <artifactId>jakarta.validation-api</artifactId>
        <version>2.0.2</version>
      </dependency>
      <dependency>
        <groupId>jakarta.validation</groupId>
        <artifactId>jakarta.validation-api</artifactId>
        <classifier>sources</classifier>
        <version>2.0.2</version>
      </dependency>
      <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <version>${postgresql.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tika</groupId>
        <artifactId>tika-core</artifactId>
        <version>2.8.0</version>
      </dependency>
      <dependency>
        <groupId>org.yaml</groupId>
        <artifactId>snakeyaml</artifactId>
        <version>1.33</version>
      </dependency>
      <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk-bom</artifactId>
        <version>1.12.599</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <!-- Profiles -->
      <dependency>
        <groupId>de.xleitstelle.xplanung</groupId>
        <artifactId>regeln-berlin</artifactId>
        <version>${xplanung.regeln.berlin.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <scm>
    <connection>scm:git:git@bitbucket.org:latlon/xplanbox.git</connection>
    <developerConnection>scm:git:git@bitbucket.org:latlon/xplanbox.git</developerConnection>
    <url>https://bitbucket.org/latlon/xplanbox</url>
    <tag>HEAD</tag>
  </scm>

  <repositories>
    <repository> <!-- better to try central first as long as most dependencies comes from there -->
      <id>central</id>
      <url>https://repo.maven.apache.org/maven2</url>
      <releases>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>opencode-xplan-deegree</id>
      <url>https://gitlab.opencode.de/api/v4/projects/622/packages/maven</url>
      <releases>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>deegree</id>
      <url>https://repo.deegree.org/repository/public/</url>
      <releases>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>xleitstelle-xplanung-validierungsregeln</id>
      <url>https://gitlab.opencode.de/api/v4/projects/398/packages/maven</url>
      <releases>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>xleitstelle-xplanung-validierungsregeln-berlin</id>
      <url>https://gitlab.opencode.de/api/v4/projects/397/packages/maven</url>
      <releases>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>jfrog-thirdparty</id>
      <url>https://jaspersoft.jfrog.io/artifactory/third-party-ce-artifacts/</url>
      <releases>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>geotools-releases</id>
      <url>https://repo.osgeo.org/repository/geotools-releases/</url>
      <releases>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository> <!-- better to try central first as long as most plugins come from there -->
      <id>central</id>
      <url>https://repo.maven.apache.org/maven2</url>
    </pluginRepository>
    <pluginRepository>
      <id>deegree</id>
      <url>https://repo.deegree.org/repository/public/</url>
    </pluginRepository>
    <pluginRepository>
      <id>SmartBearPluginRepository</id>
      <url>https://smartbearsoftware.com/repository/maven2</url>
    </pluginRepository>
  </pluginRepositories>


  <distributionManagement>
    <repository>
      <id>${distribution.repo.id}</id>
      <url>${distribution.repo.url}</url>
    </repository>
    <snapshotRepository>
      <id>${distribution.snapshotRepo.id}</id>
      <url>${distribution.snapshotRepo.url}</url>
    </snapshotRepository>
  </distributionManagement>

  <licenses>
    <license>
      <name>GNU Affero General Public License (AGPL), version 3</name>
      <url>https://www.gnu.org/licenses/agpl-3.0.html</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <issueManagement>
    <system>GitLab Issues</system>
    <url>https://gitlab.opencode.de/diplanung/ozgxplanung/-/issues</url>
  </issueManagement>

  <developers>
    <developer>
      <name>lat/lon Support</name>
      <email>support@lat-lon.de</email>
    </developer>
  </developers>
  <ciManagement>
    <system>GitLab CI</system>
    <url>https://gitlab.opencode.de/diplanung/ozgxplanung/-/pipelines</url>
  </ciManagement>
</project>

Consent

On this website, we use the web analytics service Matomo to analyze and review the use of our website. Through the collected statistics, we can improve our offerings and make them more appealing for you. Here, you can decide whether to allow us to process your data and set corresponding cookies for these purposes, in addition to technically necessary cookies. Further information on data protection—especially regarding "cookies" and "Matomo"—can be found in our privacy policy. You can withdraw your consent at any time.