<?xml version="1.0" encoding="UTF-8"?>
<!--
    # Copyright 2014 WSO2 Inc. (http://wso2.org)
    #
    # 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/maven-v4_0_0.xsd">
    <parent>
        <groupId>org.wso2</groupId>
        <artifactId>wso2</artifactId>
        <version>5</version>
    </parent>

    <modelVersion>4.0.0</modelVersion>
    <groupId>org.wso2.carbon.metrics</groupId>
    <artifactId>carbon-metrics</artifactId>
    <version>2.3.7</version>
    <packaging>pom</packaging>
    <name>WSO2 Carbon Metrics</name>
    <description>WSO2 Carbon Metrics is an API for WSO2 Carbon Components to use Dropwizard Metrics library
    </description>
    <inceptionYear>2014</inceptionYear>
    <url>http://wso2.com</url>

    <prerequisites>
        <maven>3.0.5</maven>
    </prerequisites>

    <licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <scm>
        <url>https://github.com/wso2/carbon-metrics.git</url>
        <developerConnection>scm:git:https://github.com/wso2/carbon-metrics.git</developerConnection>
        <connection>scm:git:https://github.com/wso2/carbon-metrics.git</connection>
        <tag>v2.3.7</tag>
    </scm>

    <repositories>
        <repository>
            <id>jcenter</id>
            <name>bintray</name>
            <url>http://jcenter.bintray.com</url>
        </repository>
    </repositories>

    <modules>
        <module>components/org.wso2.carbon.metrics.jdbc.reporter</module>
        <module>components/org.wso2.carbon.metrics.das.capp</module>
        <module>components/org.wso2.carbon.metrics.das.reporter</module>
        <module>components/org.wso2.carbon.metrics.core</module>
        <module>components/org.wso2.carbon.metrics.jdbc.core</module>
        <module>components/org.wso2.carbon.metrics.das.core</module>
        <module>samples/org.wso2.carbon.metrics.sample.service</module>
        <module>samples/org.wso2.carbon.metrics.sample.consumer</module>
        <module>features/org.wso2.carbon.metrics.core.feature</module>
        <module>features/org.wso2.carbon.metrics.jdbc.core.feature</module>
        <module>features/org.wso2.carbon.metrics.das.core.feature</module>
        <module>distribution</module>
        <module>tests</module>
    </modules>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.wso2.carbon.metrics</groupId>
                <artifactId>org.wso2.carbon.metrics.core</artifactId>
                <version>${carbon.metrics.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.metrics</groupId>
                <artifactId>org.wso2.carbon.metrics.jdbc.reporter</artifactId>
                <version>${carbon.metrics.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.metrics</groupId>
                <artifactId>org.wso2.carbon.metrics.das.reporter</artifactId>
                <version>${carbon.metrics.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.metrics</groupId>
                <artifactId>org.wso2.carbon.metrics.jdbc.core</artifactId>
                <version>${carbon.metrics.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.metrics</groupId>
                <artifactId>org.wso2.carbon.metrics.das.core</artifactId>
                <version>${carbon.metrics.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.metrics</groupId>
                <artifactId>org.wso2.carbon.metrics.sample.service</artifactId>
                <version>${carbon.metrics.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.metrics</groupId>
                <artifactId>org.wso2.carbon.metrics.sample.consumer</artifactId>
                <version>${carbon.metrics.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>io.dropwizard.metrics</groupId>
                <artifactId>metrics-core</artifactId>
                <version>${metrics.version}</version>
            </dependency>
            <dependency>
                <groupId>io.dropwizard.metrics</groupId>
                <artifactId>metrics-jvm</artifactId>
                <version>${metrics.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hdrhistogram</groupId>
                <artifactId>HdrHistogram</artifactId>
                <version>${hdrhistogram.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.analytics-common</groupId>
                <artifactId>org.wso2.carbon.databridge.agent</artifactId>
                <version>${carbon.analytics.common.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>slf4j.wso2</groupId>
                        <artifactId>slf4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.eclipse.osgi</groupId>
                        <artifactId>org.eclipse.osgi</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.eclipse.osgi</groupId>
                        <artifactId>org.eclipse.osgi.services</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.thrift</groupId>
                        <artifactId>libthrift</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.analytics-common</groupId>
                <artifactId>org.wso2.carbon.databridge.commons</artifactId>
                <version>${carbon.analytics.common.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.wso2.carbon</groupId>
                        <artifactId>org.wso2.carbon.logging</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.eclipse.osgi</groupId>
                        <artifactId>org.eclipse.osgi</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>com.zaxxer</groupId>
                <artifactId>HikariCP</artifactId>
                <version>${hikaricp.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.datasources</groupId>
                <artifactId>org.wso2.carbon.datasource.core</artifactId>
                <version>${carbon.datasources.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.config</groupId>
                <artifactId>org.wso2.carbon.config</artifactId>
                <version>${carbon.config.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.utils</groupId>
                <artifactId>org.wso2.carbon.utils</artifactId>
                <version>${carbon.utils.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.secvault</groupId>
                <artifactId>org.wso2.carbon.secvault</artifactId>
                <version>${carbon.securevault.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.touchpoint</groupId>
                <artifactId>org.wso2.carbon.extensions.touchpoint</artifactId>
                <version>${carbon.touchpoint.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.config</groupId>
                <artifactId>org.wso2.carbon.config.feature</artifactId>
                <version>${carbon.config.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.utils</groupId>
                <artifactId>org.wso2.carbon.utils.feature</artifactId>
                <version>${carbon.utils.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.secvault</groupId>
                <artifactId>org.wso2.carbon.secvault.feature</artifactId>
                <version>${carbon.securevault.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.touchpoint</groupId>
                <artifactId>org.wso2.carbon.touchpoint.feature</artifactId>
                <version>${carbon.touchpoint.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>org.osgi.core</artifactId>
                <version>${osgi.core.api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon</groupId>
                <artifactId>org.wso2.carbon.tools.core</artifactId>
                <version>${carbon.kernel.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.eclipse.equinox</groupId>
                <artifactId>org.eclipse.equinox.app</artifactId>
                <version>${equinox.app.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.eclipse.equinox</groupId>
                <artifactId>org.eclipse.equinox.common</artifactId>
                <version>${equinox.common.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.eclipse.equinox</groupId>
                <artifactId>org.eclipse.equinox.concurrent</artifactId>
                <version>${equinox.concurrent.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.eclipse.equinox</groupId>
                <artifactId>org.eclipse.equinox.console</artifactId>
                <version>${equinox.console.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.eclipse.equinox</groupId>
                <artifactId>org.eclipse.equinox.ds</artifactId>
                <version>${equinox.ds.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.eclipse.equinox</groupId>
                <artifactId>org.eclipse.equinox.frameworkadmin</artifactId>
                <version>${equinox.frameworkadmin.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.eclipse.equinox</groupId>
                <artifactId>org.eclipse.equinox.frameworkadmin.equinox</artifactId>
                <version>${equinox.frameworkadmin.equinox.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.eclipse.equinox</groupId>
                <artifactId>org.eclipse.equinox.launcher</artifactId>
                <version>${equinox.launcher.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.eclipse.equinox</groupId>
                <artifactId>org.eclipse.equinox.preferences</artifactId>
                <version>${equinox.preferences.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.eclipse.equinox</groupId>
                <artifactId>org.eclipse.equinox.registry</artifactId>
                <version>${equinox.registry.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.eclipse.equinox</groupId>
                <artifactId>org.eclipse.equinox.simpleconfigurator.manipulator</artifactId>
                <version>${equinox.simpleconfigurator.manipulator.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.eclipse.equinox</groupId>
                <artifactId>org.eclipse.equinox.util</artifactId>
                <version>${equinox.util.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.eclipse.equinox</groupId>
                <artifactId>org.eclipse.equinox.cm</artifactId>
                <version>${org.eclipse.equinox.cm.version}</version>
            </dependency>
            <dependency>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
                <version>${testng.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-api</artifactId>
                <version>${log4j.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-core</artifactId>
                <version>${log4j.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-slf4j-impl</artifactId>
                <version>${log4j.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <version>${h2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>${mockito.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>${spring.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
                <version>${spring.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-tx</artifactId>
                <version>${spring.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.tomcat</groupId>
                <artifactId>tomcat-catalina</artifactId>
                <version>${tomcat.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.analytics-common</groupId>
                <artifactId>org.wso2.carbon.databridge.core</artifactId>
                <version>${carbon.analytics.common.version}</version>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>slf4j.wso2</groupId>
                        <artifactId>slf4j</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.analytics-common</groupId>
                <artifactId>org.wso2.carbon.databridge.receiver.thrift</artifactId>
                <version>${carbon.analytics.common.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>xerces</groupId>
                <artifactId>xercesImpl</artifactId>
                <version>${xerces.impl.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.metrics</groupId>
                <artifactId>org.wso2.carbon.metrics.jdbc.reporter</artifactId>
                <version>${carbon.metrics.version}</version>
                <type>test-jar</type>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.metrics</groupId>
                <artifactId>org.wso2.carbon.metrics.das.reporter</artifactId>
                <version>${carbon.metrics.version}</version>
                <type>test-jar</type>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.metrics</groupId>
                <artifactId>org.wso2.carbon.metrics.das.capp</artifactId>
                <version>${carbon.metrics.version}</version>
                <classifier>src</classifier>
                <type>zip</type>
                <scope>test</scope>
            </dependency>
            <!-- OSGi Test Dependencies - Start -->
            <dependency>
                <groupId>org.wso2.carbon.metrics</groupId>
                <artifactId>wso2carbon-metrics-test</artifactId>
                <version>${carbon.metrics.version}</version>
                <scope>test</scope>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon</groupId>
                <artifactId>org.wso2.carbon.container</artifactId>
                <version>${carbon.kernel.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam</artifactId>
                <version>${pax.exam.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-container-native</artifactId>
                <version>${pax.exam.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-testng</artifactId>
                <version>${pax.exam.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-link-mvn</artifactId>
                <version>${pax.exam.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-spi</artifactId>
                <version>${pax.exam.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.url</groupId>
                <artifactId>pax-url-aether</artifactId>
                <version>${pax.url.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.logging</groupId>
                <artifactId>pax-logging-api</artifactId>
                <version>${pax.logging.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.logging</groupId>
                <artifactId>pax-logging-log4j2</artifactId>
                <version>${pax.logging.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.ow2.spec.ee</groupId>
                <artifactId>ow2-jta-1.1-spec</artifactId>
                <version>${ow2.jta.spec.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>javax.inject</groupId>
                <artifactId>javax.inject</artifactId>
                <version>${javax.inject.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.jndi</groupId>
                <artifactId>org.wso2.carbon.jndi</artifactId>
                <version>${carbon.jndi.version}</version>
                <scope>test</scope>
            </dependency>
            <!-- OSGi Test Dependencies - End -->
            <!-- Distribution Dependencies - Start -->
            <dependency>
                <groupId>org.wso2.carbon.metrics</groupId>
                <artifactId>org.wso2.carbon.metrics.core.feature</artifactId>
                <version>${carbon.metrics.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.metrics</groupId>
                <artifactId>org.wso2.carbon.metrics.jdbc.core.feature</artifactId>
                <version>${carbon.metrics.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.metrics</groupId>
                <artifactId>org.wso2.carbon.metrics.das.core.feature</artifactId>
                <version>${carbon.metrics.version}</version>
                <type>zip</type>
            </dependency>
            <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.osgi.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.wso2.carbon</groupId>
                <artifactId>org.wso2.carbon.pax.exam.feature</artifactId>
                <version>${carbon.kernel.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.jndi</groupId>
                <artifactId>org.wso2.carbon.jndi.feature</artifactId>
                <version>${carbon.jndi.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.datasources</groupId>
                <artifactId>org.wso2.carbon.datasource.core.feature</artifactId>
                <version>${carbon.datasources.version}</version>
                <type>zip</type>
            </dependency>
            <!--Databridge related feature dependencies -->
            <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.analytics-common</groupId>
                <artifactId>org.wso2.carbon.databridge.commons.thrift.feature</artifactId>
                <version>${carbon.analytics.common.version}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon.analytics-common</groupId>
                <artifactId>org.wso2.carbon.databridge.commons.feature</artifactId>
                <version>${carbon.analytics.common.version}</version>
                <type>zip</type>
            </dependency>

            <!-- Distribution Dependencies - End -->
            <!-- Metrics DAS Core Feature Dependencies - Start -->
            <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.orbit.com.lmax</groupId>
                <artifactId>disruptor</artifactId>
                <version>${disruptor.orbit.version}</version>
            </dependency>
            <dependency>
                <groupId>libthrift.wso2</groupId>
                <artifactId>libthrift</artifactId>
                <version>${libthrift.wso2.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-io.wso2</groupId>
                <artifactId>commons-io</artifactId>
                <version>${commons-io.wso2.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-pool.wso2</groupId>
                <artifactId>commons-pool</artifactId>
                <version>${commons.pool.version}</version>
            </dependency>
            <dependency>
                <groupId>org.json.wso2</groupId>
                <artifactId>json</artifactId>
                <version>${org.wso2.json.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.code.gson</groupId>
                <artifactId>gson</artifactId>
                <version>${gson.version}</version>
            </dependency>
            <!-- Metrics DAS Core Feature Dependencies - End -->
            <!-- Metrics Test Distribution Dependencies - Start -->
            <dependency>
                <groupId>org.wso2.carbon.metrics</groupId>
                <artifactId>wso2carbon-metrics</artifactId>
                <version>${carbon.metrics.version}</version>
                <type>zip</type>
                <!-- This must be in the test scope.
                Otherwise, the build fails in offline mode when there are no artifacts in the Maven Repository for
                the Group ID: "org.wso2.carbon.metrics" -->
                <scope>test</scope>
            </dependency>
            <!-- Metrics Test Distribution Dependencies - End -->
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <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-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <compilerArgument>-Xlint:unchecked</compilerArgument>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>findbugs-maven-plugin</artifactId>
                <configuration>
                    <effort>Max</effort>
                    <threshold>Low</threshold>
                    <xmlOutput>true</xmlOutput>
                    <excludeFilterFile>${project.parent.basedir}/findbugs-exclude.xml</excludeFilterFile>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>${jacoco.version}</version>
                    <executions>
                        <!--
                            Prepares the property pointing to the JaCoCo runtime agent which
                            is passed as VM argument when Maven the Surefire plugin is executed.
                        -->
                        <execution>
                            <id>pre-unit-test</id>
                            <goals>
                                <goal>prepare-agent</goal>
                            </goals>
                        </execution>
                        <!--
                            Ensures that the code coverage report for unit tests is created after
                            unit tests have been run.
                        -->
                        <execution>
                            <id>post-unit-test</id>
                            <phase>test</phase>
                            <goals>
                                <goal>report</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${maven.surefire.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>${maven.source.plugin.version}</version>
                    <executions>
                        <execution>
                            <id>attach-sources</id>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>${maven.javadoc.plugin.version}</version>
                    <executions>
                        <execution>
                            <id>docs</id>
                            <phase>compile</phase>
                            <goals>
                                <goal>javadoc</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.wso2.carbon.maven</groupId>
                    <artifactId>carbon-feature-plugin</artifactId>
                    <version>${carbon.feature.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.ops4j.pax.exam</groupId>
                    <artifactId>maven-paxexam-plugin</artifactId>
                    <version>${maven.paxexam.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.wso2.carbon.config</groupId>
                    <artifactId>org.wso2.carbon.config.maven.plugin</artifactId>
                    <version>${carbon.config.version}</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>create-doc</goal>
                            </goals>
                            <phase>compile</phase>
                        </execution>
                    </executions>
                    <dependencies>
                        <dependency>
                            <groupId>io.dropwizard.metrics</groupId>
                            <artifactId>metrics-core</artifactId>
                            <version>${metrics.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.wso2.carbon.metrics</groupId>
                            <artifactId>org.wso2.carbon.metrics.core</artifactId>
                            <version>${carbon.metrics.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <profiles>
        <profile>
            <id>pedantic</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.rat</groupId>
                        <artifactId>apache-rat-plugin</artifactId>
                        <version>${apache.rat.plugin.version}</version>
                        <configuration>
                            <excludes>
                                <exclude>README.md</exclude>
                                <exclude>.travis.yml</exclude>
                                <exclude>**/*.json</exclude>
                                <exclude>**/images/*</exclude>
                                <exclude>**/plugins/**</exclude>
                                <exclude>**/META-INF/services/**</exclude>
                            </excludes>
                        </configuration>
                        <executions>
                            <execution>
                                <phase>verify</phase>
                                <goals>
                                    <goal>check</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <carbon.metrics.version>2.3.7</carbon.metrics.version>
        <!-- NOTE: Update package export version when updating the project version -->
        <carbon.metrics.package.export.version>2.3.0</carbon.metrics.package.export.version>
        <testng.version>6.12</testng.version>
        <metrics.version>3.2.5</metrics.version>
        <metrics.version.range>[3.2.0, 4.0.0)</metrics.version.range>
        <hdrhistogram.version>2.1.10</hdrhistogram.version>
        <maven.surefire.plugin.version>2.20.1</maven.surefire.plugin.version>
        <maven.source.plugin.version>3.0.1</maven.source.plugin.version>
        <maven.javadoc.plugin.version>2.10.4</maven.javadoc.plugin.version>
        <maven.dependency.plugin.version>3.0.2</maven.dependency.plugin.version>
        <maven.resources.plugin.version>3.0.2</maven.resources.plugin.version>
        <maven.assembly.plugin.version>3.1.0</maven.assembly.plugin.version>
        <apache.rat.plugin.version>0.12</apache.rat.plugin.version>
        <equinox.osgi.version>3.11.0.v20160603-1336</equinox.osgi.version>
        <equinox.osgi.services.version>3.5.100.v20160504-1419</equinox.osgi.services.version>
        <carbon.kernel.version>5.2.0</carbon.kernel.version>
        <carbon.touchpoint.version>1.1.1</carbon.touchpoint.version>
        <carbon.kernel.version.range>[5.2.0, 6.0.0)</carbon.kernel.version.range>
        <carbon.analytics.common.version>6.0.16</carbon.analytics.common.version>
        <carbon.analytics.common.version.range>[6.0.0, 7.0.0)</carbon.analytics.common.version.range>
        <carbon.config.version>2.1.4</carbon.config.version>
        <carbon.config.version.range>[2.1.0, 3.0.0)</carbon.config.version.range>
        <xerces.impl.version>2.11.0.SP5</xerces.impl.version>
        <slf4j.version>1.7.25</slf4j.version>
        <slf4j.version.range>[1.7.0,1.8.0)</slf4j.version.range>
        <log4j.version>2.9.1</log4j.version>
        <hikaricp.version>2.7.2</hikaricp.version>
        <h2.version>1.4.196</h2.version>
        <spring.version>5.0.1.RELEASE</spring.version>
        <mockito.version>2.11.0</mockito.version>
        <tomcat.version>9.0.1</tomcat.version>
        <jacoco.version>0.7.9</jacoco.version>
        <carbon.feature.plugin.version>3.1.4</carbon.feature.plugin.version>
        <pax.logging.version>1.10.1</pax.logging.version>
        <pax.exam.version>4.11.0</pax.exam.version>
        <pax.url.version>2.5.3</pax.url.version>
        <ow2.jta.spec.version>1.0.13</ow2.jta.spec.version>
        <maven.paxexam.plugin.version>1.2.4</maven.paxexam.plugin.version>
        <javax.inject.version>1</javax.inject.version>
        <carbon.jndi.version>1.0.5</carbon.jndi.version>
        <carbon.datasources.version>1.1.4</carbon.datasources.version>
        <carbon.datasources.version.range>[1.1.0, 2.0.0)</carbon.datasources.version.range>
        <disruptor.orbit.version>3.3.2.wso2v2</disruptor.orbit.version>
        <libthrift.wso2.version>0.9.2.wso2v1</libthrift.wso2.version>
        <commons-io.wso2.version>2.4.0.wso2v1</commons-io.wso2.version>
        <commons.pool.version>1.5.6.wso2v1</commons.pool.version>
        <carbon.securevault.version>5.0.10</carbon.securevault.version>
        <carbon.utils.version>2.0.4</carbon.utils.version>
        <osgi.core.api.version>6.0.0</osgi.core.api.version>
        <equinox.app.version>1.3.300.v20150423-1356</equinox.app.version>
        <equinox.common.version>3.8.0.v20160509-1230</equinox.common.version>
        <equinox.concurrent.version>1.1.0.v20130327-1442</equinox.concurrent.version>
        <equinox.console.version>1.1.200.v20150929-1405</equinox.console.version>
        <equinox.ds.version>1.4.400.v20160226-2036</equinox.ds.version>
        <equinox.frameworkadmin.version>2.0.300.v20160504-1450</equinox.frameworkadmin.version>
        <equinox.frameworkadmin.equinox.version>1.0.700.v20160102-2223</equinox.frameworkadmin.equinox.version>
        <equinox.launcher.version>1.3.200.v20160318-1642</equinox.launcher.version>
        <equinox.preferences.version>3.6.0.v20160120-1756</equinox.preferences.version>
        <equinox.registry.version>3.6.0.v20150318-1503</equinox.registry.version>
        <equinox.simpleconfigurator.manipulator.version>2.0.200.v20160504-1450
        </equinox.simpleconfigurator.manipulator.version>
        <equinox.util.version>1.0.500.v20130404-1337</equinox.util.version>
        <org.eclipse.equinox.cm.version>1.1.200.v20160324-1850</org.eclipse.equinox.cm.version>
        <org.wso2.json.version>3.0.0.wso2v1</org.wso2.json.version>
        <gson.version>2.8.2</gson.version>
    </properties>
</project>
