<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ JBoss, Home of Professional Open Source.
  ~ Copyright 2021 Red Hat, Inc., and individual contributors
  ~ as indicated by the @author tags.
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~     http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<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">

    <parent>
        <groupId>org.wildfly.security.jakarta</groupId>
        <artifactId>elytron-ee</artifactId>
        <version>3.0.2.Final</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <modelVersion>4.0.0</modelVersion>

    <artifactId>jakarta-authentication</artifactId>

    <name>WildFly Elytron - Jakarta Authentication</name>
    <description>WildFly Security Jakarta Authentication Implementation</description>

    <build>
        <plugins>
            <plugin>
                <groupId>com.github.siom79.japicmp</groupId>
                <artifactId>japicmp-maven-plugin</artifactId>
                <version>0.13.0</version>
                <inherited>false</inherited>
                <configuration>
                    <oldVersion>
                        <dependency>
                            <groupId>org.wildfly.security</groupId>
                            <artifactId>wildfly-elytron-jaspi</artifactId>
                            <version>${compatibility-version}</version> <!-- When updating to next release, clear all exclusions. -->
                            <type>jar</type>
                        </dependency>
                    </oldVersion>
                    <parameter>
                        <ignoreMissingClasses>true</ignoreMissingClasses>
                        <skipPomModules>false</skipPomModules>
                        <breakBuildOnBinaryIncompatibleModifications>true</breakBuildOnBinaryIncompatibleModifications>
                        <breakBuildOnSourceIncompatibleModifications>true</breakBuildOnSourceIncompatibleModifications>
                        <overrideCompatibilityChangeParameters>
                            <overrideCompatibilityChangeParameter> allowing new method in interface if default impl provided
                                <compatibilityChange>METHOD_NEW_DEFAULT</compatibilityChange>
                                <binaryCompatible>true</binaryCompatible>
                                <sourceCompatible>true</sourceCompatible>
                            </overrideCompatibilityChangeParameter>
                        </overrideCompatibilityChangeParameters>
                        <includes>
                            <include>org.wildfly.security.auth.jaspi</include>
                        </includes>
                        <excludes>
                            <!-- These are temporarily added due to the package change. -->
                            <exclude>org.wildfly.security.auth.jaspi.DelegatingAuthConfigFactory</exclude>
                            <exclude>org.wildfly.security.auth.jaspi.ElytronAuthConfigFactory</exclude>
                            <exclude>org.wildfly.security.auth.jaspi.JaspiConfigurationBuilder</exclude>
                        </excludes>
                        <includeExclusively>true</includeExclusively>
                    </parameter>
                </configuration>
                <executions>
                    <execution>
                        <phase>verify</phase>
                        <goals>
                            <goal>cmp</goal>
                        </goals>
                    </execution>
                </executions>
           </plugin>        
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>org.wildfly.security</groupId>
            <artifactId>wildfly-elytron-auth</artifactId>
        </dependency>
        <dependency>
            <groupId>org.wildfly.security</groupId>
            <artifactId>wildfly-elytron-auth-server</artifactId>
        </dependency>
        <dependency>
            <groupId>org.wildfly.security</groupId>
            <artifactId>wildfly-elytron-credential</artifactId>
        </dependency>
        <dependency>
            <groupId>org.wildfly.security</groupId>
            <artifactId>wildfly-elytron-permission</artifactId>
        </dependency>
        <dependency>
            <groupId>org.wildfly.security</groupId>
            <artifactId>wildfly-elytron-realm</artifactId>
        </dependency>
        <dependency>
            <groupId>org.wildfly.security</groupId>
            <artifactId>wildfly-elytron-security-manager-action</artifactId>
        </dependency>
        
        <dependency>
            <groupId>org.jboss.logging</groupId>
            <artifactId>jboss-logging-annotations</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.logging</groupId>
            <artifactId>jboss-logging</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.logging</groupId>
            <artifactId>jboss-logging-processor</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>jakarta.authentication</groupId>
            <artifactId>jakarta.authentication-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>jakarta.servlet</groupId>
            <artifactId>jakarta.servlet-api</artifactId>
            <scope>provided</scope>
        </dependency>
        
        <dependency>
            <groupId>org.wildfly.common</groupId>
            <artifactId>wildfly-common</artifactId>
        </dependency>

        <!--Test scope-->
        <dependency>
            <groupId>org.wildfly.security</groupId>
            <artifactId>wildfly-elytron-password-impl</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    
</project>
