<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright (c) 2017, WSO2 Inc. (http://wso2.com) 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">

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

    <modelVersion>4.0.0</modelVersion>
    <groupId>org.wso2.carbon.analytics-common</groupId>
    <artifactId>org.wso2.carbon.analytics-common.parent</artifactId>
    <packaging>pom</packaging>
    <version>6.0.2</version>
    <name>WSO2 Carbon Analytics Common - Parent</name>

    <modules>
        <module>components/data-bridge</module>
        <module>features/data-bridge</module>
    </modules>

    <build>
        <extensions>
            <extension>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-ssh</artifactId>
            </extension>
        </extensions>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.wso2.carbon.maven</groupId>
                    <artifactId>carbon-feature-plugin</artifactId>
                    <version>${carbon.feature.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-scr-plugin</artifactId>
                    <version>${maven.src.version}</version>
                </plugin>
            </plugins>
        </pluginManagement>

        <plugins>
            <!-- Disabling the Maven checkstyle and FindBugs plugins till the code could be fully migrated -->
            <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>
                                ${mavan.checkstyle.suppression.file}
                            </suppressionsLocation>
                            <encoding>UTF-8</encoding>
                            <consoleOutput>true</consoleOutput>
                            <failsOnError>true</failsOnError>
                            <includeTestSourceDirectory>true</includeTestSourceDirectory>
                            <!--Exclude generated sources-->
                            <excludes>**/parser/*</excludes>
                        </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>
                <version>${maven.findbugsplugin.version}</version>
                <configuration>
                    <effort>Max</effort>
                    <threshold>Medium</threshold>
                    <xmlOutput>true</xmlOutput>
                    <findbugsXmlOutputDirectory>${project.build.directory}/findbugs</findbugsXmlOutputDirectory>
                    <!--Exclude sources-->
                    <excludeFilterFile>${mavan.findbugsplugin.exclude.file}</excludeFilterFile>
                </configuration>
                <executions>
                    <execution>
                        <id>analyze-compile</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <configuration>
                    <preparationGoals>clean install</preparationGoals>
                    <autoVersionSubmodules>true</autoVersionSubmodules>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <!-- <inherited>false</inherited> -->
                <configuration>
                    <environmentVariables>
                        <testEnvironmentVariable>EnvironmentVariable</testEnvironmentVariable>
                    </environmentVariables>
                    <suiteXmlFiles>
                        <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile>
                    </suiteXmlFiles>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>default</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <modules>
            </modules>
        </profile>
        <profile>
            <id>builder</id>
            <activation>
                <property>
                    <name>builder</name>
                    <value>true</value>
                </property>
            </activation>
            <modules>
            </modules>
        </profile>
        <profile>
            <id>sonar-profile</id>
            <activation>
                <property>
                    <name>bamboo</name>
                    <value>sonar</value>
                </property>
            </activation>
            <modules>
            </modules>
        </profile>
    </profiles>

    <scm>
        <url>https://github.com/wso2/carbon-analytics-common.git</url>
        <developerConnection>scm:git:https://github.com/wso2/carbon-analytics-common.git</developerConnection>
        <connection>scm:git:https://github.com/wso2/carbon-analytics-common.git</connection>
        <tag>v6.0.2</tag>
    </scm>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.wso2.eclipse.equinox</groupId>
                <artifactId>org.eclipse.equinox.ds</artifactId>
                <version>${equinox.ds.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.analytics-common</groupId>
                <artifactId>org.wso2.carbon.databridge.commons</artifactId>
                <version>${carbon.analytics.common.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.analytics-common</groupId>
                <artifactId>org.wso2.carbon.databridge.core</artifactId>
                <version>${carbon.analytics.common.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.analytics-common</groupId>
                <artifactId>org.wso2.carbon.databridge.commons.binary</artifactId>
                <version>${carbon.analytics.common.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.analytics-common</groupId>
                <artifactId>org.wso2.carbon.databridge.commons.thrift</artifactId>
                <version>${carbon.analytics.common.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.analytics-common</groupId>
                <artifactId>org.wso2.carbon.databridge.receiver.binary</artifactId>
                <version>${carbon.analytics.common.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.analytics-common</groupId>
                <artifactId>org.wso2.carbon.databridge.receiver.thrift</artifactId>
                <version>${carbon.analytics.common.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.analytics-common</groupId>
                <artifactId>org.wso2.carbon.databridge.agent</artifactId>
                <version>${carbon.analytics.common.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.orbit.org.yaml</groupId>
                <artifactId>snakeyaml</artifactId>
                <version>${org.snakeyaml.version}</version>
            </dependency>
            <dependency>
                <groupId>libthrift.wso2</groupId>
                <artifactId>libthrift</artifactId>
                <version>${libthrift.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.orbit.org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${httpclient.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.directory.studio</groupId>
                <artifactId>org.apache.commons.io</artifactId>
                <version>${apache.commons.io.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-pool.wso2</groupId>
                <artifactId>commons-pool</artifactId>
                <version>${commons.pool.version}</version>
            </dependency>


            <!-- OSGi test -->
            <dependency>
                <groupId>org.ops4j.pax.logging</groupId>
                <artifactId>pax-logging-log4j2</artifactId>
                <version>${pax.logging.log4j2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jacoco</groupId>
                <artifactId>org.jacoco.ant</artifactId>
                <version>${org.jacoco.ant.version}</version>
            </dependency>
            <dependency>
                <groupId>slf4j.wso2</groupId>
                <artifactId>slf4j</artifactId>
                <version>${wso2.slf4j.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.gogo.command</artifactId>
                <version>${apache.felix.gogo.command.version}</version>
            </dependency>


            <!-- child module dependencies-->
            <dependency>
                <groupId>org.wso2.carbon</groupId>
                <artifactId>org.wso2.carbon.core</artifactId>
                <version>${carbon.kernel.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon</groupId>
                <artifactId>org.wso2.carbon.kernel.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.testng</groupId>
                <artifactId>testng</artifactId>
                <version>${testng.version}</version>
                <scope>test</scope>
            </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.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>com.google.code.gson</groupId>
                <artifactId>gson</artifactId>
                <version>${gson.version}</version>
            </dependency>
            <dependency>
                <groupId>org.json.wso2</groupId>
                <artifactId>json</artifactId>
                <version>${org.wso2.json.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.orbit.com.lmax</groupId>
                <artifactId>disruptor</artifactId>
                <version>${disruptor.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guava.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>${javax.servlet.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.logging</groupId>
                <artifactId>pax-logging-api</artifactId>
                <version>${pax.logging.api.version}</version>
            </dependency>
            <dependency>
                <groupId>findbugs</groupId>
                <artifactId>findbugs</artifactId>
                <version>1.0.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.log4j.wso2</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.17.wso2v1</version>
            </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>


            <!-- Latest Dependencies - after 5.2.0-m4 migration -->
            <dependency>
                <groupId>org.wso2.carbon.config</groupId>
                <artifactId>org.wso2.carbon.config</artifactId>
                <version>${carbon.config.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.secvault</groupId>
                <artifactId>org.wso2.carbon.secvault</artifactId>
                <version>${carbon.secvault.version}</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <properties>
        <carbon.analytics.common.version>6.0.2</carbon.analytics.common.version>
        <siddhi.version>4.0.0-M9</siddhi.version>
        <siddhi.bundle.version>4.0.0.M9</siddhi.bundle.version>

        <commons.io.version>2.4.0.wso2v1</commons.io.version>
        <commons.pool.version>1.5.6.wso2v1</commons.pool.version>
        <json.version>3.0.0.wso2v1</json.version>
        <libthrift.version>0.9.2.wso2v1</libthrift.version>

        <httpclient.version>4.3.2.wso2v1</httpclient.version>
        <apache.commons.io.version>2.4</apache.commons.io.version>
        <wso2.slf4j.version>1.5.10.wso2v1</wso2.slf4j.version>
        <equinox.osgi.services.version>3.4.0.v20140312-2051</equinox.osgi.services.version>

        <pax.logging.log4j2.version>1.8.5</pax.logging.log4j2.version>
        <org.jacoco.ant.version>0.7.5.201505241946</org.jacoco.ant.version>
        <apache.felix.gogo.command.version>0.10.0.v201209301215</apache.felix.gogo.command.version>
        <apache.felix.gogo.runtime.version>0.10.0.v201209301036</apache.felix.gogo.runtime.version>
        <apache.felix.gogo.shell.version>0.10.0.v201212101605</apache.felix.gogo.shell.version>
        <maven.src.version>1.21.0</maven.src.version>
        <equinox.app.version>1.3.200.v20130910-1609</equinox.app.version>
        <equinox.common.version>3.6.200.v20130402-1505</equinox.common.version>
        <equinox.concurrent.version>1.1.0.v20130327-1442</equinox.concurrent.version>
        <equinox.console.version>1.1.0.v20140131-1639</equinox.console.version>
        <equinox.ds.version>1.4.200.v20131126-2331</equinox.ds.version>
        <equinox.frameworkadmin.version>2.0.100.v20131209-2144</equinox.frameworkadmin.version>
        <equinox.frameworkadmin.equinox.version>1.0.500.v20131211-1531</equinox.frameworkadmin.equinox.version>
        <equinox.launcher.version>1.3.0.v20140415-2008</equinox.launcher.version>
        <equinox.preferences.version>3.5.200.v20140224-1527</equinox.preferences.version>
        <equinox.registry.version>3.5.400.v20140428-1507</equinox.registry.version>
        <equinox.simpleconfigurator.manipulator.version>2.0.0.v20131217-1203
        </equinox.simpleconfigurator.manipulator.version>
        <equinox.util.version>1.0.500.v20130404-1337</equinox.util.version>
        <org.eclipse.equinox.cm.version>1.1.0.v20131021-1936</org.eclipse.equinox.cm.version>
        <org.snakeyaml.version>1.16.0.wso2v1</org.snakeyaml.version>
        <org.wso2.eclipse.osgi.version>3.4.0.v20140312-2051</org.wso2.eclipse.osgi.version>

        <!-- Maven plugins -->
        <!--Bundle Plugin - Overridden from parent due to a bug in latest version related to capability providers-->
        <maven.bundle.plugin.version>2.5.4</maven.bundle.plugin.version>
        <maven.findbugsplugin.version.exclude>findbugs-exclude.xml</maven.findbugsplugin.version.exclude>

        <carbon.p2.plugin.version>1.5.4</carbon.p2.plugin.version>
        <carbon.feature.plugin.version>3.0.0</carbon.feature.plugin.version>

        <testng.version>6.9.4</testng.version>
        <plugin.version.antlr>4.5.1</plugin.version.antlr>

        <!-- OSGI -->
        <osgi.api.version>6.0.0</osgi.api.version>
        <equinox.osgi.version>3.11.0.v20160603-1336</equinox.osgi.version>
        <equinox.osgi.services.version>3.4.0.v20140312-2051</equinox.osgi.services.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.kernel.version>5.2.0-m4</carbon.kernel.version>
        <carbon.kernel.package.import.version.range>[5.0.0, 6.0.0)</carbon.kernel.package.import.version.range>
        <carbon.kernel.pax.version>5.2.0-m4</carbon.kernel.pax.version>
        <slf4j.version>1.7.5</slf4j.version>
        <disruptor.version>3.3.2.wso2v2</disruptor.version>
        <guava.version>20.0</guava.version>
        <guava.bundle.version>20.0.0</guava.bundle.version>
        <gson.version>2.5</gson.version>
        <pax.logging.api.version>1.8.5</pax.logging.api.version>
        <javax.servlet.version>3.1.0</javax.servlet.version>

        <project.scm.id>my-scm-server</project.scm.id>
        <libthrift.wso2.imp.pkg.version.range>[0.9.2.wso2v1, 1.0.0)</libthrift.wso2.imp.pkg.version.range>
        <databridge.version.range>[6.0.0, 7.0.0)</databridge.version.range>
        <disruptor.version.range>[2.10.0,3.4)</disruptor.version.range>
        <org.wso2.json.version>3.0.0.wso2v1</org.wso2.json.version>

        <!-- Latest Dependencies -->
        <carbon.config.version>2.0.5</carbon.config.version>
        <carbon.secvault.version>5.0.8</carbon.secvault.version>
        <mavan.checkstyle.suppression.file>checkstyle-suppressions.xml</mavan.checkstyle.suppression.file>
        <mavan.findbugsplugin.exclude.file>findbugs-exclude.xml</mavan.findbugsplugin.exclude.file>

    </properties>

</project>
