<?xml version="1.0" encoding="UTF-8"?>
<!-- See LICENSE.txt file in the root directory of this repository for the 
    copyright/license information. -->
<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>
        <artifactId>idp-plugin-oidc-op-parent</artifactId>
        <groupId>net.shibboleth.idp.plugin.oidc</groupId>
        <version>4.3.0</version>
    </parent>
    
    <artifactId>idp-plugin-oidc-op-api</artifactId>
    <description>OpenID Connect Provider plugin API.</description>
    <name>Shibboleth IdP :: Plugins :: OpenID Connect Provider API</name>
    <packaging>jar</packaging>

    <properties>
        <checkstyle.configLocation>${project.basedir}/../resources/checkstyle.xml</checkstyle.configLocation>
        <automatic.module.name>net.shibboleth.idp.plugin.oidc.op.api</automatic.module.name>
    </properties>
    
    <dependencies>
    
        <!-- Provided dependencies. -->
        <dependency>
            <groupId>${oidc-common.groupId}</groupId>
            <artifactId>oidc-common-metadata-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>${oidc-common.groupId}</groupId>
            <artifactId>oidc-common-crypto-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>${idp.groupId}</groupId>
            <artifactId>idp-admin-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>${idp.groupId}</groupId>
            <artifactId>idp-authn-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>${idp.groupId}</groupId>
            <artifactId>idp-profile-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>${idp.groupId}</groupId>
            <artifactId>idp-saml-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>${shib-profile.groupId}</groupId>
            <artifactId>shib-profile-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>${shib-attribute.groupId}</groupId>
            <artifactId>shib-attribute-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>${shib-attribute.groupId}</groupId>
            <artifactId>shib-attribute-resolver-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>${opensaml.groupId}</groupId>
            <artifactId>opensaml-messaging-api</artifactId>
        </dependency>
        <dependency>
            <groupId>${opensaml.groupId}</groupId>
            <artifactId>opensaml-profile-api</artifactId>
        </dependency>
        <dependency>
            <groupId>${shib-shared.groupId}</groupId>
            <artifactId>shib-security</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>${shib-shared.groupId}</groupId>
            <artifactId>shib-service</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>${shib-shared.groupId}</groupId>
            <artifactId>shib-spring</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>${shib-shared.groupId}</groupId>
            <artifactId>shib-support</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>${spring.groupId}</groupId>
            <artifactId>spring-core</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>${spring-webflow.groupId}</groupId>
            <artifactId>spring-webflow</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.nimbusds</groupId>
            <artifactId>nimbus-jose-jwt</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.nimbusds</groupId>
            <artifactId>oauth2-oidc-sdk</artifactId>
            <scope>provided</scope>
        </dependency>        
        <dependency>
            <groupId>net.minidev</groupId>
            <artifactId>json-smart</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.nimbusds</groupId>
            <artifactId>content-type</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <scope>provided</scope>
        </dependency>

        <!-- Test Dependencies -->
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>${shib-shared.groupId}</groupId>
            <artifactId>shib-testing</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>${idp.groupId}</groupId>
            <artifactId>idp-testing</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>jakarta.servlet</groupId>
            <artifactId>jakarta.servlet-api</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <index>true</index>
                         <manifestEntries>
                            <Automatic-Module-Name>${automatic.module.name}</Automatic-Module-Name>
                        </manifestEntries>
                        <manifestSections>
                            <manifestSection>
                                <name>net/shibboleth/idp/plugin/oidc/op/</name>
                                <manifestEntries>
                                    <Implementation-Title>${project.artifactId}</Implementation-Title>
                                    <Implementation-Version>${project.version}</Implementation-Version>
                                    <Implementation-Vendor>shibboleth.net</Implementation-Vendor>
                                </manifestEntries>
                            </manifestSection>
                        </manifestSections>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>


</project>
