<?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">
  <parent>
    <artifactId>spring-boot-starter-parent</artifactId>
    <groupId>org.springframework.boot</groupId>
    <version>3.5.8</version>
    <relativePath>pom.xml</relativePath>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <groupId>de.invesdwin</groupId>
  <artifactId>invesdwin-nowicket-examples-mvp-bsgcoach</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build>
    <resources>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**</include>
        </includes>
        <excludes>
          <exclude>**/*.java</exclude>
        </excludes>
      </resource>
      <resource>
        <directory>src/main/resources</directory>
        <includes>
          <include>**</include>
        </includes>
      </resource>
    </resources>
    <testResources>
      <testResource>
        <directory>${basedir}/src/test/resources</directory>
      </testResource>
      <testResource>
        <directory>${basedir}/src/test/java</directory>
        <includes>
          <include>**/*</include>
        </includes>
        <excludes>
          <exclude>**/*.java</exclude>
        </excludes>
      </testResource>
    </testResources>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>${java.version}</source>
          <target>${java.version}</target>
          <complianceLevel>${java.version}</complianceLevel>
          <release>8</release>
          <compilerArgument>-proc:none</compilerArgument>
          <Xlint>ignore</Xlint>
          <verbose>false</verbose>
        </configuration>
      </plugin>
      <plugin>
        <groupId>de.invesdwin</groupId>
        <artifactId>invesdwin-maven-plugin</artifactId>
        <version>${project.version.invesdwin-maven-plugin}</version>
        <executions>
          <execution>
            <goals>
              <goal>initialize</goal>
              <goal>generate-sources</goal>
              <goal>compile</goal>
            </goals>
            <configuration>
              <useInvesdwinEclipseSettings>true</useInvesdwinEclipseSettings>
              <codeComplianceLevel>${java.version}</codeComplianceLevel>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.bsc.maven</groupId>
        <artifactId>maven-processor-plugin</artifactId>
        <version>${version.maven-processor-plugin}</version>
        <executions>
          <execution>
            <id>process</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>process</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/generated-sources/apt</outputDirectory>
              <failOnError>false</failOnError>
            </configuration>
          </execution>
          <execution>
            <id>process-test</id>
            <phase>generate-test-sources</phase>
            <goals>
              <goal>process-test</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/generated-test-sources/apt</outputDirectory>
              <failOnError>false</failOnError>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>add-source</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>${project.build.directory}/generated-sources/apt</source>
                <source>${project.build.directory}/generated-sources/invesdwin</source>
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-enforcer-plugin</artifactId>
        <executions>
          <execution>
            <id>enforce-banned-dependencies</id>
            <goals>
              <goal>enforce</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <fail>true</fail>
          <failFast>true</failFast>
          <rules>
            <requireUpperBoundDeps />
            <bannedDependencies>
              <excludes>
                <exclude>org.aspectj:aspectjrt</exclude>
                <exclude>javax.servlet:servlet-api</exclude>
                <exclude>javax.xml.soap:javax.xml.soap-api</exclude>
                <exclude>org.apache.geronimo.specs:geronimo-jaxb_2.1_spec</exclude>
                <exclude>javax.persistence:persistence-api</exclude>
                <exclude>javax.persistence:javax.persistence-api</exclude>
                <exclude>log4j:log4j</exclude>
                <exclude>org.slf4j:slf4j-log4j12</exclude>
                <exclude>javax.servlet.jsp:jsp-api</exclude>
                <exclude>net.sf.ehcache:ehcache-core</exclude>
                <exclude>javax.transaction:jta</exclude>
                <exclude>javax.enterprise:cdi-api</exclude>
                <exclude>net.jcip:jcip-annotations</exclude>
                <exclude>org.glassfish:javax.servlet</exclude>
                <exclude>org.hibernate:hibernate-c3p0</exclude>
                <exclude>org.hibernate.javax.persistence:hibernate-jpa-2.0-api</exclude>
                <exclude>org.hibernate.javax.persistence:hibernate-jpa-2.1-api</exclude>
                <exclude>org.hibernate.javax.persistence:hibernate-jpa-2.2-api</exclude>
              </excludes>
            </bannedDependencies>
          </rules>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <id>dist</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-shade-plugin</artifactId>
            <executions>
              <execution>
                <phase>package</phase>
                <goals>
                  <goal>shade</goal>
                </goals>
                <configuration>
                  <shadedArtifactAttached>true</shadedArtifactAttached>
                  <shadedClassifierName>standalone</shadedClassifierName>
                  <transformers>
                    <transformer />
                    <transformer />
                    <transformer />
                    <transformer>
                      <resource>META-INF/spring.handlers</resource>
                    </transformer>
                    <transformer>
                      <resource>META-INF/spring.schemas</resource>
                    </transformer>
                    <transformer>
                      <resource>META-INF/spring.tooling</resource>
                    </transformer>
                    <transformer>
                      <resource>META-INF/spring.factories</resource>
                    </transformer>
                    <transformer>
                      <resource>META-INF/cxf/bus-extensions.txt</resource>
                    </transformer>
                    <transformer>
                      <resource>META-INF/mime.types</resource>
                    </transformer>
                    <transformer>
                      <resource>META-INF/mailcap</resource>
                    </transformer>
                    <transformer>
                      <resource>jasperreports_extension.properties</resource>
                    </transformer>
                    <transformer>
                      <resource>ValidationMessages.*\\.properties</resource>
                    </transformer>
                    <transformer>
                      <resource>META-INF/web-fragment.xml</resource>
                    </transformer>
                    <transformer>
                      <resource>META-INF/web/web-fragment.xml</resource>
                    </transformer>
                    <transformer>
                      <resource>META-INF/aop.xml</resource>
                    </transformer>
                    <transformer>
                      <resource>META-INF/wsdl.plugin.xml</resource>
                    </transformer>
                    <transformer />
                    <transformer>
                      <manifestEntries>
                        <Multi-Release>true</Multi-Release>
                      </manifestEntries>
                    </transformer>
                  </transformers>
                </configuration>
              </execution>
            </executions>
            <dependencies>
              <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${version.spring-boot-maven-plugin}</version>
              </dependency>
              <dependency>
                <groupId>de.invesdwin</groupId>
                <artifactId>invesdwin-maven-plugin</artifactId>
                <version>${project.version.invesdwin-maven-plugin}</version>
              </dependency>
            </dependencies>
          </plugin>
        </plugins>
      </build>
      <properties>
        <os.detected.arch>x86_64</os.detected.arch>
        <os.detected.release.like.arch>true</os.detected.release.like.arch>
        <os.detected.classifier>linux-x86_64</os.detected.classifier>
        <os.detected.release>arch</os.detected.release>
        <os.detected.bitness>64</os.detected.bitness>
        <os.detected.name>linux</os.detected.name>
      </properties>
    </profile>
    <profile>
      <id>jacoco</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>${version.jacoco-maven-plugin}</version>
            <executions>
              <execution>
                <id>default-instrument</id>
                <goals>
                  <goal>instrument</goal>
                </goals>
              </execution>
              <execution>
                <id>default-restore-instrumented-classes</id>
                <phase>post-integration-test</phase>
                <goals>
                  <goal>restore-instrumented-classes</goal>
                </goals>
              </execution>
              <execution>
                <id>default-report</id>
                <goals>
                  <goal>report</goal>
                </goals>
              </execution>
              <execution>
                <id>default-report-integration</id>
                <goals>
                  <goal>report-integration</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>${version.maven-surefire-plugin}</version>
            <configuration>
              <systemPropertyVariables>
                <jacoco-agent.destfile>${project.build.directory}/jacoco.exec</jacoco-agent.destfile>
              </systemPropertyVariables>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <dependencies>
        <dependency>
          <groupId>org.jacoco</groupId>
          <artifactId>org.jacoco.agent</artifactId>
          <version>${version.jacoco-maven-plugin}</version>
          <classifier>runtime</classifier>
        </dependency>
      </dependencies>
    </profile>
  </profiles>
  <repositories>
    <repository>
      <id>invesdwin-oss</id>
      <url>https://invesdwin.de/repo/invesdwin-oss-remote</url>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <id>invesdwin-oss</id>
      <url>https://invesdwin.de/repo/invesdwin-oss-remote</url>
    </pluginRepository>
  </pluginRepositories>
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      <version>3.5.8</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <version>3.5.8</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>spring-boot-test</artifactId>
          <groupId>org.springframework.boot</groupId>
        </exclusion>
        <exclusion>
          <artifactId>spring-boot-test-autoconfigure</artifactId>
          <groupId>org.springframework.boot</groupId>
        </exclusion>
        <exclusion>
          <artifactId>json-path</artifactId>
          <groupId>com.jayway.jsonpath</groupId>
        </exclusion>
        <exclusion>
          <artifactId>json-smart</artifactId>
          <groupId>net.minidev</groupId>
        </exclusion>
        <exclusion>
          <artifactId>awaitility</artifactId>
          <groupId>org.awaitility</groupId>
        </exclusion>
        <exclusion>
          <artifactId>hamcrest</artifactId>
          <groupId>org.hamcrest</groupId>
        </exclusion>
        <exclusion>
          <artifactId>junit-jupiter</artifactId>
          <groupId>org.junit.jupiter</groupId>
        </exclusion>
        <exclusion>
          <artifactId>mockito-core</artifactId>
          <groupId>org.mockito</groupId>
        </exclusion>
        <exclusion>
          <artifactId>mockito-junit-jupiter</artifactId>
          <groupId>org.mockito</groupId>
        </exclusion>
        <exclusion>
          <artifactId>jsonassert</artifactId>
          <groupId>org.skyscreamer</groupId>
        </exclusion>
        <exclusion>
          <artifactId>spring-test</artifactId>
          <groupId>org.springframework</groupId>
        </exclusion>
        <exclusion>
          <artifactId>xmlunit-core</artifactId>
          <groupId>org.xmlunit</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>de.invesdwin</groupId>
      <artifactId>invesdwin-nowicket</artifactId>
      <version>1.0.4-SNAPSHOT</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>de.invesdwin</groupId>
      <artifactId>invesdwin-instrument</artifactId>
      <version>1.0.15-SNAPSHOT</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>jakarta.inject</groupId>
      <artifactId>jakarta.inject-api</artifactId>
      <version>2.0.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aspects</artifactId>
      <version>6.2.15</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-aspects</artifactId>
      <version>6.5.7</version>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <artifactId>aspectjrt</artifactId>
          <groupId>org.aspectj</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>de.invesdwin</groupId>
      <artifactId>invesdwin-aspects</artifactId>
      <version>1.0.5-SNAPSHOT</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-batch</artifactId>
      <version>3.5.8</version>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <artifactId>slf4j-api</artifactId>
          <groupId>org.slf4j</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-security</artifactId>
      <version>3.5.8</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.hsqldb</groupId>
      <artifactId>hsqldb</artifactId>
      <version>2.7.3</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-engine</artifactId>
      <version>6.0.2</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>junit-platform-engine</artifactId>
          <groupId>org.junit.platform</groupId>
        </exclusion>
        <exclusion>
          <artifactId>junit-jupiter-api</artifactId>
          <groupId>org.junit.jupiter</groupId>
        </exclusion>
        <exclusion>
          <artifactId>apiguardian-api</artifactId>
          <groupId>org.apiguardian</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.junit.platform</groupId>
      <artifactId>junit-platform-suite-engine</artifactId>
      <version>6.0.2</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>junit-platform-suite-api</artifactId>
          <groupId>org.junit.platform</groupId>
        </exclusion>
        <exclusion>
          <artifactId>junit-platform-launcher</artifactId>
          <groupId>org.junit.platform</groupId>
        </exclusion>
        <exclusion>
          <artifactId>junit-platform-engine</artifactId>
          <groupId>org.junit.platform</groupId>
        </exclusion>
        <exclusion>
          <artifactId>apiguardian-api</artifactId>
          <groupId>org.apiguardian</groupId>
        </exclusion>
      </exclusions>
    </dependency>
  </dependencies>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>de.invesdwin</groupId>
        <artifactId>invesdwin-bom</artifactId>
        <version>${project.version.invesdwin-bom}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>de.invesdwin</groupId>
        <artifactId>invesdwin-nowicket-parent</artifactId>
        <version>${project.version.invesdwin-nowicket}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>de.invesdwin</groupId>
        <artifactId>invesdwin-maven-plugin</artifactId>
        <version>${project.version.invesdwin-maven-plugin}</version>
      </dependency>
      <dependency>
        <groupId>com.zaxxer</groupId>
        <artifactId>HikariCP</artifactId>
        <exclusions>
          <exclusion>
            <artifactId>slf4j-api</artifactId>
            <groupId>org.slf4j</groupId>
          </exclusion>
        </exclusions>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <distributionManagement>
    <repository>
      <id>invesdwin-oss</id>
      <name>invesdwin-oss</name>
      <url>https://invesdwin.de/repo/invesdwin-oss</url>
    </repository>
    <snapshotRepository>
      <id>invesdwin-oss</id>
      <name>invesdwin-oss</name>
      <url>https://invesdwin.de/repo/invesdwin-oss</url>
    </snapshotRepository>
  </distributionManagement>
  <properties>
    <jakarta-xml-bind.version>4.0.4</jakarta-xml-bind.version>
    <glassfish-jaxb.version>4.0.6</glassfish-jaxb.version>
    <slf4j.version>2.0.18</slf4j.version>
    <version.spring-boot-maven-plugin>3.5.8</version.spring-boot-maven-plugin>
    <commons-lang3.version>3.20.0</commons-lang3.version>
    <jakarta-persistence.version>3.2.0</jakarta-persistence.version>
    <commons-codec.version>1.22.0</commons-codec.version>
    <caffeine.version>3.2.3</caffeine.version>
    <spring.version>6.1.13</spring.version>
    <version.maven-surefire-plugin>3.5.4</version.maven-surefire-plugin>
    <project.version.invesdwin-maven-plugin>1.0.14-SNAPSHOT</project.version.invesdwin-maven-plugin>
    <start-class>com.bsgcoach.Main</start-class>
    <project.version.invesdwin-bom>1.0.18-SNAPSHOT</project.version.invesdwin-bom>
    <version.maven-processor-plugin>5.1</version.maven-processor-plugin>
    <byte-buddy.version>1.18.2</byte-buddy.version>
    <spring-security.version>6.5.7</spring-security.version>
    <hibernate-validator.version>9.1.0.Final</hibernate-validator.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <aspectj.version>1.9.25.1</aspectj.version>
    <jakarta-validation.version>3.1.1</jakarta-validation.version>
    <micrometer.version>1.16.1</micrometer.version>
    <hibernate.version>7.1.11.Final</hibernate.version>
    <java.version>1.8</java.version>
    <okhttp3.version>4.12.0</okhttp3.version>
    <jakarta-servlet.version>6.1.0</jakarta-servlet.version>
    <project.version.invesdwin-nowicket>1.0.4-SNAPSHOT</project.version.invesdwin-nowicket>
    <version.jacoco-maven-plugin>0.8.14</version.jacoco-maven-plugin>
    <jakarta-activation.version>2.1.4</jakarta-activation.version>
    <commons-pool2.version>2.13.0</commons-pool2.version>
  </properties>
</project>
