<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ /*
  ~ * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
  ~ *
  ~ * 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">
    <modelVersion>4.0.0</modelVersion>

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

    <groupId>org.wso2.am</groupId>
    <artifactId>am-parent</artifactId>
    <packaging>pom</packaging>
    <version>3.0.0</version>
    <name>WSO2 API Manager - Aggregator Module</name>

    <scm>
        <url>https://github.com/wso2/product-apim.git</url>
        <developerConnection>scm:git:https://github.com/wso2/product-apim.git</developerConnection>
        <connection>scm:git:https://github.com/wso2/product-apim.git</connection>
        <tag>v3.0.0</tag>
    </scm>

    <pluginRepositories>
        <pluginRepository>
            <id>wso2-maven2-repository-1</id>
            <url>http://dist.wso2.org/maven2</url>
        </pluginRepository>
        <pluginRepository>
            <id>wso2-maven2-repository-2</id>
            <url>http://dist.wso2.org/snapshots/maven2</url>
        </pluginRepository>
    </pluginRepositories>

    <build>
        <pluginManagement>
            <plugins>
                <plugin><!-- Overridden from parent pom to exclude generated sources -->
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>validate</id>
                            <phase>validate</phase>
                            <configuration>
                                <configLocation>
                                    https://raw.githubusercontent.com/wso2/code-quality-tools/master/checkstyle/checkstyle.xml
                                </configLocation>
                                <suppressionsLocation>
                                    https://raw.githubusercontent.com/wso2/code-quality-tools/master/checkstyle/suppressions.xml
                                </suppressionsLocation>
                                <encoding>UTF-8</encoding>
                                <consoleOutput>true</consoleOutput>
                                <failsOnError>true</failsOnError>
                                <includeTestSourceDirectory>true</includeTestSourceDirectory>
                                <!--Exclude generated sources-->
                                <excludes>**/gen/**/*</excludes>
                                <!--skip for generated resources-->
                                <skip>true</skip>
                            </configuration>
                            <goals>
                                <goal>check</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin><!-- Overridden from parent pom to exclude generated sources -->
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>findbugs-maven-plugin</artifactId>
                    <configuration>
                        <effort>Max</effort>
                        <threshold>Low</threshold>
                        <xmlOutput>true</xmlOutput>
                        <findbugsXmlOutputDirectory>${project.build.directory}/findbugs
                        </findbugsXmlOutputDirectory>
                        <skip>true</skip>
                        <!--<excludeFilterFile>findbugs_exclude.xml</excludeFilterFile>-->
                        <!--Exclude generated sources-->
                    </configuration>
                    <version>${maven.findbugsplugin.version}</version>
                    <executions>
                        <execution>
                            <id>analyze-compile</id>
                            <phase>compile</phase>
                            <goals>
                                <goal>check</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>versions-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.wso2.carbon</groupId>
                <artifactId>org.wso2.carbon.launcher</artifactId>
                <version>${carbon.kernel.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon</groupId>
                <artifactId>org.wso2.carbon.server.feature</artifactId>
                <version>${carbon.kernel.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon</groupId>
                <artifactId>org.wso2.carbon.runtime.feature</artifactId>
                <version>${carbon.kernel.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>org.osgi.core</artifactId>
                <version>${osgi.api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.eclipse.osgi</groupId>
                <artifactId>org.eclipse.osgi</artifactId>
                <version>${equinox.osgi.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.eclipse.osgi</groupId>
                <artifactId>org.eclipse.osgi.services</artifactId>
                <version>${equinox.osgi.services.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.orbit.org.antlr</groupId>
                <artifactId>antlr4-runtime</artifactId>
                <version>${antlr4.runtime.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.messaging</groupId>
                <artifactId>org.wso2.carbon.messaging</artifactId>
                <version>${carbon.messaging.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon</groupId>
                <artifactId>org.wso2.carbon.core</artifactId>
                <version>${carbon.kernel.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.deployment</groupId>
                <artifactId>org.wso2.carbon.deployment.engine</artifactId>
                <version>${carbon.deployment.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.uis</groupId>
                <artifactId>org.wso2.carbon.uis.feature</artifactId>
                <version>${carbon.uis.version}</version>
                <type>zip</type>
            </dependency>

            <!-- APIM Auth -->
            <dependency>
                <groupId>org.wso2.carbon.auth</groupId>
                <artifactId>org.wso2.carbon.auth.core.feature</artifactId>
                <version>${carbon.auth.version}</version>
                <type>zip</type>
            </dependency>

            <dependency>
                <groupId>org.wso2.carbon.auth</groupId>
                <artifactId>org.wso2.carbon.auth.client.registration.rest.api.feature</artifactId>
                <version>${carbon.auth.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.auth</groupId>
                <artifactId>org.wso2.carbon.auth.oauth.rest.api.feature</artifactId>
                <version>${carbon.auth.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.auth</groupId>
                <artifactId>org.wso2.carbon.auth.user.mgt.rest.api.feature</artifactId>
                <version>${carbon.auth.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.auth</groupId>
                <artifactId>org.wso2.carbon.auth.user.store.feature</artifactId>
                <version>${carbon.auth.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.auth</groupId>
                <artifactId>org.wso2.carbon.auth.token.introspection.rest.api.feature</artifactId>
                <version>${carbon.auth.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.auth</groupId>
                <artifactId>org.wso2.carbon.auth.scope.registration.rest.api.feature</artifactId>
                <version>${carbon.auth.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.auth</groupId>
                <artifactId>org.wso2.carbon.auth.rest.api.commons.feature</artifactId>
                <version>${carbon.auth.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.auth</groupId>
                <artifactId>org.wso2.carbon.auth.scim.rest.api.feature</artifactId>
                <version>${carbon.auth.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.analytics-common</groupId>
                <artifactId>org.wso2.carbon.databridge.feature</artifactId>
                <version>${carbon.analytics-common.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.analytics</groupId>
                <artifactId>org.wso2.carbon.stream.processor.statistics.feature</artifactId>
                <version>${carbon.analytics.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.analytics</groupId>
                <artifactId>org.wso2.carbon.stream.processor.statistics.feature</artifactId>
                <version>${carbon.analytics.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.analytics</groupId>
                <artifactId>org.wso2.carbon.siddhi.metrics.core.feature</artifactId>
                <version>${carbon.analytics.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.analytics</groupId>
                <artifactId>org.wso2.carbon.event.simulator.core.feature</artifactId>
                <version>${carbon.analytics.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.analytics</groupId>
                <artifactId>org.wso2.siddhi.feature</artifactId>
                <version>${carbon.analytics.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.analytics</groupId>
                <artifactId>org.wso2.carbon.analytics.msf4j.interceptor.common.feature</artifactId>
                <version>${carbon.analytics.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.analytics-common</groupId>
                <artifactId>org.wso2.carbon.analytics.idp.client.feature</artifactId>
                <version>${carbon.analytics-common.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.caching</groupId>
                <artifactId>org.wso2.carbon.caching.feature</artifactId>
                <version>${carbon.cache.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.analytics-common</groupId>
                <artifactId>org.wso2.carbon.databridge.agent.feature</artifactId>
                <version>${carbon.analytics-common.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.uiserver</groupId>
                <artifactId>org.wso2.carbon.uiserver.feature</artifactId>
                <version>${carbon.uis.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>io.ballerina.messaging</groupId>
                <artifactId>io.ballerina.messaging.broker.feature</artifactId>
                <version>${broker.version}</version>
                <type>zip</type>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <properties>
        <carbon.apimgt.version>7.0.141</carbon.apimgt.version>
        <carbon.auth.version>1.0.37</carbon.auth.version>
        <product.apim.version>3.0.0-SNAPSHOT</product.apim.version>
        <!-- Maven plugins -->
        <maven.checkstyleplugin.version>2.16</maven.checkstyleplugin.version>
        <maven.findbugsplugin.version>3.0.3</maven.findbugsplugin.version>

        <!-- Dependencies -->
        <carbon.kernel.version>5.2.6</carbon.kernel.version>
        <carbon.kernel.package.import.version.range>[5.2.0, 6.0.0)</carbon.kernel.package.import.version.range>
        <carbon.config.version>2.1.5</carbon.config.version>
        <carbon.utils.version>2.0.4</carbon.utils.version>
        <carbon.secvault.version>5.0.10</carbon.secvault.version>
        <osgi.api.version>6.0.0</osgi.api.version>
        <equinox.osgi.version>3.10.2.v20150203-1939</equinox.osgi.version>
        <equinox.osgi.services.version>3.4.0.v20140312-2051</equinox.osgi.services.version>
        <carbon.touchpoint.version>1.1.1</carbon.touchpoint.version>

        <!-- Siddhi related dependency versins-->

        <carbon.coordination.version>2.0.12</carbon.coordination.version>
        <carbon.analytics-common.version>6.0.52</carbon.analytics-common.version>
        <carbon.analytics.version>2.0.250</carbon.analytics.version>

        <slf4j.version>1.7.5</slf4j.version>
        <slf4j.logging.package.import.version.range>[1.7.1, 2.0.0)</slf4j.logging.package.import.version.range>
        <!--TODO: Check why we need to depend on SNAPSHOT -->

        <carbon.transport.version>6.0.64</carbon.transport.version>
        <carbon.transport.package.import.version.range>[6.0.0, 7.0.0)</carbon.transport.package.import.version.range>

        <carbon.messaging.version>3.0.2</carbon.messaging.version>

        <osgi.framework.import.version.range>[1.8.0, 2.0.0)</osgi.framework.import.version.range>
        <osgi.service.tracker.import.version.range>[1.5.1, 2.0.0)</osgi.service.tracker.import.version.range>
        <carbon.p2.plugin.version>1.5.4</carbon.p2.plugin.version>
        <carbon.feature.plugin.version>3.1.3</carbon.feature.plugin.version>
        <!--<gateway.type-converters.version>1.0.0-SNAPSHOT</gateway.type-converters.version>-->

        <antlr4.runtime.version>4.5.1.wso2v1</antlr4.runtime.version>
        <plugin.version.antlr>4.5.1</plugin.version.antlr>

        <carbon.datasources.version>1.1.4</carbon.datasources.version>
        <carbon.jndi.version>1.0.5</carbon.jndi.version>
        <carbon.metrics.version>2.3.7</carbon.metrics.version>
        <wso2.msf4j.version>2.5.2</wso2.msf4j.version>
        <carbon.uuf.version>1.0.0-m14</carbon.uuf.version>
        <carbon.cache.version>1.1.3</carbon.cache.version>
        <javax.cache-api.version>1.0.0</javax.cache-api.version>
        <carbon.lcm.version>1.2.0</carbon.lcm.version>
        <carbon.deployment.version>5.2.0</carbon.deployment.version>
        <carbon.analytics.common.version>6.0.52</carbon.analytics.common.version>
        <carbon.uis.version>0.19.3</carbon.uis.version>
        <broker.version>0.1.44</broker.version>
    </properties>

    <modules>
        <module>modules/distribution</module>
        <module>modules/gateway</module>
        <module>modules/integration-tests</module>
    </modules>
</project>
