<?xml version="1.0" encoding="UTF-8"?>
<!--
    # Copyright 2016 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.carbon.metrics</groupId>
        <artifactId>carbon-metrics</artifactId>
        <version>2.3.7</version>
        <relativePath>../../pom.xml</relativePath>
    </parent>

    <modelVersion>4.0.0</modelVersion>
    <artifactId>org.wso2.carbon.metrics.jdbc.core.feature</artifactId>
    <packaging>carbon-feature</packaging>
    <name>WSO2 Carbon Metrics JDBC Core Feature</name>
    <description>This feature contains the core bundles required by the Metrics JDBC Reporter</description>

    <dependencies>
        <dependency>
            <groupId>org.wso2.carbon.metrics</groupId>
            <artifactId>org.wso2.carbon.metrics.jdbc.reporter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.wso2.carbon.metrics</groupId>
            <artifactId>org.wso2.carbon.metrics.jdbc.core</artifactId>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <configuration>
                    <skipSource>true</skipSource>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <executions>
                    <execution>
                        <id>clean_target</id>
                        <phase>install</phase>
                        <configuration>
                            <target>
                                <delete dir="src/main/resources" />
                                <delete dir="src/main" />
                                <delete dir="src" />
                            </target>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>clean-metrics-h2-database</id>
                        <phase>initialize</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <target>
                                <delete file="resources/database/metrics.mv.db" />
                                <delete file="resources/database/metrics.trace.db" />
                            </target>
                        </configuration>
                    </execution>
                    <execution>
                        <id>create-carbon-metrics-database</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <target>
                                <path id="h2.classpath">
                                    <path refid="maven.compile.classpath" />
                                </path>
                                <echo message="########### Creating Carbon Metrics Database ##############" />
                                <sql driver="org.h2.Driver" url="jdbc:h2:${basedir}/resources/database/metrics;create=true" userid="wso2carbon" password="wso2carbon" autocommit="true" onerror="continue">
                                    <classpath>
                                        <path refid="h2.classpath" />
                                    </classpath>
                                    <fileset file="${basedir}/resources/sql/h2.sql" />
                                </sql>
                                <echo message="##################### END ########################" />
                            </target>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <executions>
                    <execution>
                        <id>prefilter-resources</id>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>src/main/resources</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>resources</directory>
                                    <includes>
                                        <include>config-docs/**</include>
                                        <include>sql/**</include>
                                        <include>database/**</include>
                                        <include>p2.inf</include>
                                    </includes>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.wso2.carbon.maven</groupId>
                <artifactId>carbon-feature-plugin</artifactId>
                <extensions>true</extensions>
                <executions>
                    <execution>
                        <id>1-p2-feature-generation</id>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <propertyFile>../etc/feature.properties</propertyFile>
                            <adviceFileContents>
                                <advice>
                                    <name>org.wso2.carbon.p2.category.type</name>
                                    <value>server</value>
                                </advice>
                                <advice>
                                    <name>org.eclipse.equinox.p2.type.group</name>
                                    <value>false</value>
                                </advice>
                            </adviceFileContents>
                            <bundles>
                                <bundle>
                                    <symbolicName>org.wso2.carbon.metrics.jdbc.reporter</symbolicName>
                                    <version>${carbon.metrics.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>org.wso2.carbon.metrics.jdbc.core</symbolicName>
                                    <version>${carbon.metrics.version}</version>
                                </bundle>
                                <bundle>
                                    <symbolicName>org.h2</symbolicName>
                                    <version>${h2.version}</version>
                                </bundle>
                            </bundles>
                            <importFeatures>
                                <feature>
                                    <id>org.wso2.carbon.metrics.core.feature</id>
                                    <version>${carbon.metrics.version}</version>
                                </feature>
                                <feature>
                                    <id>org.wso2.carbon.datasource.core.feature</id>
                                    <version>${carbon.datasources.version}</version>
                                </feature>
                                <feature>
                                    <id>org.wso2.carbon.jndi.feature</id>
                                    <version>${carbon.jndi.version}</version>
                                </feature>
                            </importFeatures>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
