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

    <parent>
        <artifactId>keycloak-quarkus-parent</artifactId>
        <groupId>org.keycloak</groupId>
        <version>26.3.4</version>
        <relativePath>../pom.xml</relativePath>
    </parent>
    
    <name>Keycloak Quarkus Server App</name>
    <description>Keycloak Quarkus Server App</description>

    <artifactId>keycloak-quarkus-server-app</artifactId>

    <dependencies>
        <dependency>
            <groupId>org.keycloak</groupId>
            <artifactId>keycloak-quarkus-server</artifactId>
        </dependency>
        <!-- Only necessary for proper Maven build order - if explicitly added, deployment JARs will not be part of /lib/deployment folder -->
        <dependency>
            <groupId>org.keycloak</groupId>
            <artifactId>keycloak-quarkus-server-deployment</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
        </dependency>
        <dependency>
            <groupId>io.mvnpm</groupId>
            <artifactId>importmap</artifactId>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <properties>
        <!-- define this as a property, so it can still be overwritten on the CLI -->
        <!-- direct the auto-created files to the target folder, so they are cleaned by "mvn clean" -->
        <kc.home.dir>${project.build.directory}/kc</kc.home.dir>
    </properties>

    <build>
        <finalName>keycloak</finalName>
        <plugins>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>${version.surefire.plugin}</version>
                <configuration>
                    <systemProperties>
                        <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
                    </systemProperties>
                </configuration>
            </plugin>
            <plugin>
                <groupId>io.quarkus</groupId>
                <artifactId>quarkus-maven-plugin</artifactId>
                <version>${quarkus.build.version}</version>
                <configuration>
                    <finalName>keycloak</finalName>
                    <systemProperties>
                        <kc.home.dir>${kc.home.dir}</kc.home.dir>
                        <kc.db>dev-file</kc.db>
                        <java.util.concurrent.ForkJoinPool.common.threadFactory>io.quarkus.bootstrap.forkjoin.QuarkusForkJoinWorkerThreadFactory</java.util.concurrent.ForkJoinPool.common.threadFactory>
                    </systemProperties>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>build</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
