<!-- 
 ~  Copyright (c) 2022, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
 ~
 ~  WSO2 Inc. licenses this file to you 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">
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.wso2.km.ext.azure</groupId>
  <artifactId>client</artifactId>
  <version>1.1.0</version>

  <packaging>pom</packaging>

  <name>Client implementation to integrate with Azure AD</name>

  <parent>
    <groupId>org.wso2</groupId>
    <artifactId>wso2</artifactId>
    <version>1.2</version>
  </parent>

   <scm>
        <connection>scm:git:https://github.com/wso2-extensions/apim-km-azure-ad.git</connection>
        <url>https://github.com/wso2-extensions/apim-km-azure-ad.git</url>
        <developerConnection>scm:git:https://github.com/wso2-extensions/apim-km-azure-ad</developerConnection>
        <tag>v1.1.0</tag>
    </scm>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>

    <carbon.apimgt.version>9.32.48</carbon.apimgt.version>
    <carbon.apimgt.imp.pkg.version>[6.7.0, 10.0.0)</carbon.apimgt.imp.pkg.version>
    <json.simple.version>1.1.1</json.simple.version>
    <gson.version>2.10.1</gson.version>
    <carbon.p2.plugin.version>1.5.3</carbon.p2.plugin.version>
    <feign.version>13.2.1</feign.version>
    <mockito.version>4.7.0</mockito.version>
  </properties>

  <modules>
    <module>components/azure.key.manager</module>
    <module>features/azure.key.manager.feature</module>
  </modules>


  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.wso2.maven</groupId>
          <artifactId>carbon-p2-plugin</artifactId>
          <version>${carbon.p2.plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>${maven.checkstyle.plugin.version}</version>
          <executions>
            <execution>
              <id>validate</id>
              <phase>compile</phase>
              <configuration>
                <configLocation>checkstyle/checkstyle.xml</configLocation>
                <suppressionsLocation>checkstyle/suppressions.xml</suppressionsLocation>
                <encoding>UTF-8</encoding>
                <consoleOutput>true</consoleOutput>
                <failsOnError>true</failsOnError>
                <includeTestSourceDirectory>true</includeTestSourceDirectory>
              </configuration>
              <goals>
                <goal>check</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>com.github.spotbugs</groupId>
          <artifactId>spotbugs-maven-plugin</artifactId>
          <version>${maven.spotbugsplugin.version}</version>
          <configuration>
            <effort>Max</effort>
            <threshold>Low</threshold>
            <xmlOutput>true</xmlOutput>
            <spotbugsXmlOutputDirectory>${project.build.directory}/spotbugs</spotbugsXmlOutputDirectory>
            <!--Exclude sources-->
            <!--<excludeFilterFile>${maven.spotbugsplugin.exclude.file}</excludeFilterFile>-->
          </configuration>
          <executions>
            <execution>
              <id>analyze-compile</id>
              <phase>compile</phase>
              <goals>
                <goal>check</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.googlecode.json-simple</groupId>
        <artifactId>json-simple</artifactId>
        <version>${json.simple.version}</version>
      </dependency>
      <dependency>
        <groupId>org.wso2.carbon.apimgt</groupId>
        <artifactId>org.wso2.carbon.apimgt.impl</artifactId>
        <version>${carbon.apimgt.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>${gson.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.openfeign</groupId>
        <artifactId>feign-core</artifactId>
        <version>${feign.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.openfeign</groupId>
        <artifactId>feign-gson</artifactId>
        <version>${feign.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.openfeign</groupId>
        <artifactId>feign-okhttp</artifactId>
        <version>${feign.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.openfeign</groupId>
        <artifactId>feign-slf4j</artifactId>
        <version>${feign.version}</version>
      </dependency>
      <dependency>
        <groupId>org.wso2.km.ext.azure</groupId>
        <artifactId>azure.key.manager</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-inline</artifactId>
        <version>${mockito.version}</version>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-junit-jupiter</artifactId>
        <version>${mockito.version}</version>
        <scope>test</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <repositories>
    <repository>
      <id>wso2-nexus</id>
      <name>WSO2 internal Repository</name>
      <url>https://maven.wso2.org/nexus/content/groups/wso2-public/</url>
      <releases>
        <enabled>true</enabled>
        <updatePolicy>daily</updatePolicy>
        <checksumPolicy>ignore</checksumPolicy>
      </releases>
    </repository>
    <repository>
      <id>wso2.releases</id>
      <name>WSO2 internal Repository</name>
      <url>https://maven.wso2.org/nexus/content/repositories/releases/</url>
      <releases>
        <enabled>true</enabled>
        <updatePolicy>daily</updatePolicy>
        <checksumPolicy>ignore</checksumPolicy>
      </releases>
    </repository>
    <repository>
      <id>wso2.snapshots</id>
      <name>Apache Snapshot Repository</name>
      <url>https//maven.wso2.org/nexus/content/repositories/snapshots/</url>
      <snapshots>
        <enabled>true</enabled>
        <updatePolicy>daily</updatePolicy>
      </snapshots>
      <releases>
        <enabled>false</enabled>
      </releases>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <id>wso2.releases</id>
      <name>WSO2 internal Repository</name>
      <url>https://maven.wso2.org/nexus/content/repositories/releases/</url>
      <releases>
        <enabled>true</enabled>
        <updatePolicy>daily</updatePolicy>
        <checksumPolicy>ignore</checksumPolicy>
      </releases>
    </pluginRepository>

    <pluginRepository>
      <id>wso2.snapshots</id>
      <name>WSO2 Snapshot Repository</name>
      <url>https://maven.wso2.org/nexus/content/repositories/snapshots/</url>
      <snapshots>
        <enabled>true</enabled>
        <updatePolicy>daily</updatePolicy>
      </snapshots>
      <releases>
        <enabled>false</enabled>
      </releases>
    </pluginRepository>
    <pluginRepository>
      <id>wso2-nexus</id>
      <name>WSO2 internal Repository</name>
      <url>https://maven.wso2.org/nexus/content/groups/wso2-public/</url>
      <releases>
        <enabled>true</enabled>
        <updatePolicy>daily</updatePolicy>
        <checksumPolicy>ignore</checksumPolicy>
      </releases>
    </pluginRepository>
  </pluginRepositories>

  <distributionManagement>
    <repository>
      <id>nexus-releases</id>
      <name>WSO2 Release Distribution Repository</name>
      <url>https://maven.wso2.org/nexus/service/local/staging/deploy/maven2/</url>
    </repository>
    <snapshotRepository>
      <id>wso2.snapshots</id>
      <name>Apache Snapshot Repository</name>
      <url>https://maven.wso2.org/nexus/content/repositories/snapshots/</url>
    </snapshotRepository>
  </distributionManagement>
</project>
