<!-- pom.xml for Parent POM -->
<project xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <!-- Important: change version also in dependencyManagement -->
    <version>4.0.7</version>
    <relativePath />
  </parent>

  <groupId>de.gematik.demis</groupId>
  <artifactId>spring-parent</artifactId>
  <version>4.0.6</version>
  <packaging>pom</packaging>
  <name>spring-parent</name>
  <description>This project serves as a parent POM for other demis spring boot based projects. It provides common dependency management and build plugin configurations for child projects.</description>
  <url>https://github.com/gematik/DEMIS-spring-parent</url>

  <licenses>
    <license>
      <name>EUPL-1.2</name>
      <url>https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12</url>
    </license>
  </licenses>

  <properties>
    <image.docker.registry>europe-west3-docker.pkg.dev/gematik-all-infra-prod/demis-dev</image.docker.registry>
    <image.docker.tag>${image.docker.registry}/${project.artifactId}:latest</image.docker.tag>
    <java.version>25</java.version>
    <maven.compiler.source>${java.version}</maven.compiler.source>
    <maven.compiler.target>${java.version}</maven.compiler.target>
    <logback.logstash.version>9.0</logback.logstash.version>
    <asm.version>9.9.1</asm.version>
    <nimbus-jose.version>10.9</nimbus-jose.version>
    <spring-cloud.version>2025.1.1</spring-cloud.version>
    <!--plugins-->
    <enforcer.plugin.version>3.6.2</enforcer.plugin.version>
    <jacoco.plugin.version>0.8.14</jacoco.plugin.version>
    <surefire.plugin.version>3.5.4</surefire.plugin.version>
    <fmt.maven.plugin.version>2.29</fmt.maven.plugin.version>
    <compiler.maven.plugin.version>3.14.1</compiler.maven.plugin.version>
    <version.maven.javadoc>3.12.0</version.maven.javadoc>
    <cyclonedx.maven.plugin.version>2.9.1</cyclonedx.maven.plugin.version>
    <!--DEMIS libraries-->
    <service-base.version>3.0.1</service-base.version>
    <notification.builder.version>9.2.8</notification.builder.version>
    <fhir.parser.version>2.7.0</fhir.parser.version>
    <!-- HAPI FHIR Framework -->
    <hapi.fhir.version>8.6.0</hapi.fhir.version>
    <!-- HAPI FHIR Core: Important, this must match the version declared in the Framework -->
    <hl7.version>6.6.7</hl7.version>
    <!--SpringDoc OpenApi  -->
    <springdoc.version>3.0.3</springdoc.version>
    <swagger-ui.version>5.31.2</swagger-ui.version>
    <openapi-generator-maven-plugin.version>7.19.0</openapi-generator-maven-plugin.version>
    <openapi-generator.inputSpec>target/spec/api-spec.yaml</openapi-generator.inputSpec>
    <openapi-generator.generatorName>markdown</openapi-generator.generatorName>
    <openapi-generator.outputDir>docs/api</openapi-generator.outputDir>
    <!-- Fix CVEs -->
    <!-- Needs to be removed if new spring-version/hapi-version is applied to check if a new version is there -->
    <central-publishing-maven-plugin.version>0.9.0</central-publishing-maven-plugin.version>
    <errorprone.version>2.46.0</errorprone.version>
    <commons.io.version>2.22.0</commons.io.version>
    <commons.fileupload.version>1.6.0</commons.fileupload.version>
    <commons.lang3.version>3.20.0</commons.lang3.version>
    <commons.text.version>1.15.0</commons.text.version>
    <dep.bouncycastle.version>1.84</dep.bouncycastle.version>
    <wiremock-integrations.spring-boot.version>4.2.1</wiremock-integrations.spring-boot.version>
  </properties>

  <dependencyManagement>
    <dependencies>
      <!-- Maven Rule: First dependency declaration wins. Thus, be very careful with the order.  -->
      <!--CVEs-->
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcpkix-jdk18on</artifactId>
        <version>${dep.bouncycastle.version}</version>
      </dependency>
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcprov-jdk18on</artifactId>
        <version>${dep.bouncycastle.version}</version>
      </dependency>
      <dependency>
          <groupId>org.apache.commons</groupId>
          <artifactId>commons-lang3</artifactId>
          <version>${commons.lang3.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-text</artifactId>
        <version>${commons.text.version}</version>
      </dependency>

      <!-- Nimbus -->
      <dependency>
        <groupId>com.nimbusds</groupId>
        <artifactId>nimbus-jose-jwt</artifactId>
        <version>${nimbus-jose.version}</version>
      </dependency>
        <!-- Commons -->
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${commons.io.version}</version>
      </dependency>
      <!-- Error Prone Annotations -->
      <dependency>
        <groupId>com.google.errorprone</groupId>
        <artifactId>error_prone_annotations</artifactId>
        <version>${errorprone.version}</version>
      </dependency>
      <!-- commons-fileupload -->
      <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>${commons.fileupload.version}</version>
      </dependency>

      <!-- Although we inherit from Spring-Parent, we have to list the dependency here again
          otherwise the spring versions will be overwritten by hapi fhir -->
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <!-- must match the parent pom version -->
        <version>4.0.7</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-dependencies</artifactId>
        <version>${spring-cloud.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>org.wiremock.integrations</groupId>
        <artifactId>wiremock-spring-boot</artifactId>
        <version>${wiremock-integrations.spring-boot.version}</version>
      </dependency>

      <!-- Add support for OpenAPI 3.1.0 -->
      <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>swagger-ui</artifactId>
        <version>${swagger-ui.version}</version>
      </dependency>

      <dependency>
        <groupId>net.logstash.logback</groupId>
        <artifactId>logstash-logback-encoder</artifactId>
        <version>${logback.logstash.version}</version>
      </dependency>

      <dependency>
        <groupId>de.gematik.demis</groupId>
        <artifactId>service-base</artifactId>
        <version>${service-base.version}</version>
      </dependency>

      <!--DEMIS
      FHIR stack-->

      <dependency>
        <groupId>ca.uhn.hapi.fhir</groupId>
        <artifactId>org.hl7.fhir.validation</artifactId>
        <version>${hl7.version}</version>
      </dependency>
      <dependency>
        <groupId>ca.uhn.hapi.fhir</groupId>
        <artifactId>org.hl7.fhir.convertors</artifactId>
        <version>${hl7.version}</version>
      </dependency>
      <dependency>
        <groupId>ca.uhn.hapi.fhir</groupId>
        <artifactId>org.hl7.fhir.utilities</artifactId>
        <version>${hl7.version}</version>
      </dependency>
      <dependency>
        <groupId>ca.uhn.hapi.fhir</groupId>
        <artifactId>org.hl7.fhir.r4</artifactId>
        <version>${hl7.version}</version>
      </dependency>
      <dependency>
        <groupId>ca.uhn.hapi.fhir</groupId>
        <artifactId>org.hl7.fhir.r5</artifactId>
        <version>${hl7.version}</version>
      </dependency>
      <dependency>
        <groupId>ca.uhn.hapi.fhir</groupId>
        <artifactId>hapi-fhir-bom</artifactId>
        <version>${hapi.fhir.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>de.gematik.demis</groupId>
        <artifactId>notification-builder-library</artifactId>
        <version>${notification.builder.version}</version>
      </dependency>
      <dependency>
        <groupId>de.gematik.demis</groupId>
        <artifactId>fhir-parser-library</artifactId>
        <version>${fhir.parser.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-validation</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-properties-migrator</artifactId>
      <scope>runtime</scope>
    </dependency>

    <dependency>
      <groupId>de.gematik.demis</groupId>
      <artifactId>service-base</artifactId>
    </dependency>

    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <scope>provided</scope>
    </dependency>

    <!--logback-->
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
    </dependency>
    <dependency>
      <groupId>net.logstash.logback</groupId>
      <artifactId>logstash-logback-encoder</artifactId>
    </dependency>

    <!-- TEST -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <finalName>${project.artifactId}</finalName>

    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
          <excludes>
            <exclude>
              <groupId>org.projectlombok</groupId>
              <artifactId>lombok</artifactId>
            </exclude>
          </excludes>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>${compiler.maven.plugin.version}</version>
        <executions>
          <execution>
            <id>default-compile</id>
            <configuration>
              <release>${maven.compiler.target}</release>
            </configuration>
          </execution>
        </executions>
        <configuration>
          <annotationProcessorPaths>
            <path>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-autoconfigure-processor</artifactId>
            </path>
            <path>
              <groupId>org.projectlombok</groupId>
              <artifactId>lombok</artifactId>
            </path>
          </annotationProcessorPaths>
          <encoding>${project.build.sourceEncoding}</encoding>
          <showDeprecation>true</showDeprecation>
          <showWarnings>true</showWarnings>
          <source>${maven.compiler.source}</source>
          <target>${maven.compiler.target}</target>
          <fork>true</fork>
          <meminitial>256</meminitial>
          <maxmem>512</maxmem>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>org.ow2.asm</groupId>
            <artifactId>asm</artifactId>
            <version>${asm.version}</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>${enforcer.plugin.version}</version>
        <executions>
          <execution>
            <id>enforce-maven</id>
            <phase>process-sources</phase>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <banDuplicatePomDependencyVersions />
                <dependencyConvergence />
                <reactorModuleConvergence />
                <requireJavaVersion>
                  <version>${java.version}</version>
                </requireJavaVersion>
                <requireMavenVersion>
                  <version>3.8</version>
                </requireMavenVersion>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>${jacoco.plugin.version}</version>
        <executions>
          <execution>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
          </execution>
          <execution>
            <id>generate-code-coverage-report</id>
            <phase>verify</phase>
            <goals>
              <goal>report</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>${surefire.plugin.version}</version>
        <configuration>
          <argLine>@{argLine} -Dfile.encoding=UTF-8</argLine>
          <includes>
            <include>**/Test*.java</include>
            <include>**/*Test.java</include>
            <include>**/*Tests.java</include>
            <include>**/*TestCase.java"</include>
            <include>**/*IT.java</include>
          </includes>
          <excludes>
            <exclude>**/*SystemTest.java</exclude>
            <exclude>**/*ST.java</exclude>
            <exclude>**/*ApplicationTests.java</exclude>
            <exclude>**/*ApplicationTest.java</exclude>
          </excludes>
          <systemPropertyVariables>
            <openapi_generator_inputSpec>${openapi-generator.inputSpec}</openapi_generator_inputSpec>
          </systemPropertyVariables>
        </configuration>
        <executions>
          <execution>
            <id>integration-test</id>
            <goals>
              <goal>test</goal>
            </goals>
            <phase>integration-test</phase>
            <configuration>
              <excludes>
                <exclude>none</exclude>
              </excludes>
              <includes>
                <include>**/*SystemTest.java</include>
                <include>**/*ST.java</include>
                <include>**/*ApplicationTests.java</include>
                <include>**/*ApplicationTest.java</include>
              </includes>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>com.spotify.fmt</groupId>
        <artifactId>fmt-maven-plugin</artifactId>
        <version>${fmt.maven.plugin.version}</version>
        <executions>
          <execution>
            <id>format-code</id>
            <phase>process-sources</phase>
            <goals>
              <goal>format</goal>
            </goals>
            <configuration>
              <sourceDirectory>src/main/java</sourceDirectory>
              <testSourceDirectory>src/test/java</testSourceDirectory>
              <verbose>false</verbose>
              <filesNamePattern>.*\.java</filesNamePattern>
              <skip>false</skip>
              <skipSortingImports>false</skipSortingImports>
              <style>google</style>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.jasig.maven</groupId>
        <artifactId>notice-maven-plugin</artifactId>
        <version>2.0.0</version>
        <configuration>
          <noticeTemplate>NOTICE.template</noticeTemplate>
          <outputDir>.</outputDir>
          <licenseMapping>license-mappings.xml</licenseMapping>
        </configuration>
        <executions>
          <execution>
            <id>notice-generation</id>
            <goals>
              <goal>generate</goal>
            </goals>
            <phase>generate-sources</phase>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.cyclonedx</groupId>
        <artifactId>cyclonedx-maven-plugin</artifactId>
        <version>${cyclonedx.maven.plugin.version}</version>
      </plugin>

      <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>license-maven-plugin</artifactId>
          <version>2.7.0</version>
          <configuration>
              <licenseName>eupl_v1_2</licenseName>
              <inceptionYear>2025</inceptionYear>
              <organizationName>gematik GmbH</organizationName>
              <licenseResolver>classpath://copyright-header/eupl-license</licenseResolver>
              <failOnMissingHeader>true</failOnMissingHeader>
              <failOnNotUptodateHeader>true</failOnNotUptodateHeader>
              <canUpdateCopyright>true</canUpdateCopyright>
              <licensesOutputDirectory>${project.basedir}/third-party-licenses</licensesOutputDirectory>
              <licensesOutputFile>${project.basedir}/third-party-licenses/licenses.xml</licensesOutputFile>
              <forceDownload>false</forceDownload>
              <includes>
                  <include>**/*.java</include>
                  <include>**/*.xml</include>
                  <include>**/*.ts</include>
              </includes>
              <excludes>
                  <exclude>**/generated/**</exclude>
              </excludes>
          </configuration>

          <dependencies>
              <dependency>
                  <groupId>de.gematik</groupId>
                  <artifactId>ospo-resources</artifactId>
                  <version>1.3.2</version>
              </dependency>
          </dependencies>

          <executions>
              <execution>
                  <id>download-licenses</id>
                  <goals>
                      <goal>download-licenses</goal>
                  </goals>
                  <phase>none</phase>
              </execution>
              <execution>
                  <id>update-file-header</id>
                  <goals>
                      <goal>update-file-header</goal>
                  </goals>
              </execution>
              <execution>
                  <id>check-file-header</id>
                  <goals>
                      <goal>check-file-header</goal>
                  </goals>
              </execution>
          </executions>
      </plugin>
    </plugins>
  </build>

  <profiles>
    <!-- Create Docker Image when profile is active -->
    <profile>
      <id>docker</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>${maven-antrun-plugin.version}</version>
            <executions>
              <execution>
                <id>create-docker-image</id>
                <phase>package</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                  <target name="build-service-docker-image"
                    description="Task to build services docker images">
                    <echo>####### Building '${image.docker.tag}'</echo>
                    <exec executable="docker" dir="${project.basedir}" failonerror="true">
                      <arg value="build" />
                      <arg value="--no-cache" />
                      <arg value="--tag" />
                      <arg value="${image.docker.tag}" />
                      <arg value="." />
                    </exec>
                  </target>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <!-- Dependencies Profiles -->
    <profile>
      <id>dependencies-webservice</id>
      <activation>
        <file>
          <exists>.mvn-profiles/dependencies-webservice</exists>
        </file>
      </activation>
      <dependencies>
        <!-- Spring Boot -->
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-webmvc</artifactId>
        </dependency>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-aspectj</artifactId>
        </dependency>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-micrometer-metrics</artifactId>
        </dependency>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-opentelemetry</artifactId>
          <exclusions>
            <exclusion>
              <groupId>io.micrometer</groupId>
              <artifactId>micrometer-registry-otlp</artifactId>
            </exclusion>
          </exclusions>
        </dependency>
        <dependency>
          <groupId>io.micrometer</groupId>
          <artifactId>micrometer-registry-prometheus</artifactId>
          <scope>runtime</scope>
        </dependency>

        <!-- OpenAPI Swagger -->
        <dependency>
          <groupId>org.springdoc</groupId>
          <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
          <version>${springdoc.version}</version>
        </dependency>
        <dependency>
          <groupId>org.springdoc</groupId>
          <artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
          <version>${springdoc.version}</version>
        </dependency>

        <!-- Test -->
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-webmvc-test</artifactId>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-resttestclient</artifactId>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-restclient</artifactId>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-micrometer-metrics-test</artifactId>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-micrometer-tracing-test</artifactId>
          <scope>test</scope>
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>generate-openapi-docs</id>
      <activation>
        <file>
          <exists>.mvn-profiles/generate-openapi-docs</exists>
        </file>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.openapitools</groupId>
            <artifactId>openapi-generator-maven-plugin</artifactId>
            <version>${openapi-generator-maven-plugin.version}</version>
            <executions>
              <execution>
                <id>generate-openapi-documentation</id>
                <goals>
                  <goal>generate</goal>
                </goals>
                <phase>post-integration-test</phase>
                <configuration>
                  <skip>${skipTests}</skip>
                  <inputSpec>${openapi-generator.inputSpec}</inputSpec>
                  <generatorName>${openapi-generator.generatorName}</generatorName>
                  <output>${openapi-generator.outputDir}</output>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>dependencies-feign</id>
      <activation>
        <file>
          <exists>.mvn-profiles/dependencies-feign</exists>
        </file>
      </activation>
      <dependencies>
        <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
        <dependency>
          <groupId>io.github.openfeign</groupId>
          <artifactId>feign-micrometer</artifactId>
        </dependency>
        <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-contract-wiremock</artifactId>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.wiremock.integrations</groupId>
          <artifactId>wiremock-spring-boot</artifactId>
          <scope>test</scope>
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>dependencies-database</id>
      <activation>
        <file>
          <exists>.mvn-profiles/dependencies-database</exists>
        </file>
      </activation>
      <dependencies>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
          <groupId>org.postgresql</groupId>
          <artifactId>postgresql</artifactId>
          <scope>runtime</scope>
        </dependency>
        <!-- Test dependencies including postgres testcontainer -->
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-data-jpa-test</artifactId>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-testcontainers</artifactId>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.testcontainers</groupId>
          <artifactId>testcontainers-junit-jupiter</artifactId>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.testcontainers</groupId>
          <artifactId>testcontainers-postgresql</artifactId>
          <scope>test</scope>
        </dependency>
      </dependencies>
    </profile>
    <profile>
        <id>generate-test-jar</id>
        <activation>
            <file>
            <exists>.mvn-profiles/dependencies-actuator</exists>
            </file>
        </activation>
      <dependencies>
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-web</artifactId>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-resttestclient</artifactId>
          <scope>test</scope>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>${compiler.maven.plugin.version}</version>
          <executions>
            <execution>
              <id>test-compile</id>
                <goals>
                    <goal>testCompile</goal>
                </goals>
              <configuration>
                <release>${maven.compiler.target}</release>
              </configuration>
            </execution>
          </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <executions>
              <execution>
                <goals>
                  <goal>test-jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>external</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>3.2.8</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
                <configuration>
                  <gpgArguments>
                    <arg>--pinentry-mode</arg>
                    <arg>loopback</arg>
                  </gpgArguments>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.sonatype.central</groupId>
            <artifactId>central-publishing-maven-plugin</artifactId>
            <version>${central-publishing-maven-plugin.version}</version>
            <extensions>true</extensions>
            <configuration>
              <publishingServerId>central</publishingServerId>
              <autoPublish>true</autoPublish>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>3.3.1</version>
            <executions>
              <execution>
                <id>attach-sources</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>${version.maven.javadoc}</version>
            <configuration>
              <doclint>none</doclint>
            </configuration>
            <executions>
              <execution>
                <id>attach-javadocs</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

  <scm>
    <url>https://github.com/gematik/DEMIS-spring-parent</url>
    <connection>scm:git:git://github.com/gematik/DEMIS-spring-parent.git</connection>
    <developerConnection>scm:git:ssh://git@github.com:gematik/DEMIS-spring-parent.git</developerConnection>
  </scm>

  <issueManagement>
    <system>GitHub</system>
    <url>https://github.com/gematik/DEMIS-spring-parent</url>
  </issueManagement>

  <organization>
    <name>gematik GmbH</name>
    <url>https://www.gematik.de</url>
  </organization>

  <developers>
    <developer>
      <name>gematik</name>
      <email>software-development@gematik.de</email>
      <url>https://gematik.github.io/</url>
      <organization>gematik GmbH</organization>
      <organizationUrl>https://www.gematik.de/</organizationUrl>
    </developer>
  </developers>
</project>
