<?xml version="1.0" encoding="utf-8"?>

<!--
  ~ Copyright (c) 2016, 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/maven-v4_0_0.xsd">

	<parent>
		<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
		<artifactId>virtual-fire-alarm-plugin-feature</artifactId>
		<version>2.1.0</version>
		<relativePath>../pom.xml</relativePath>
	</parent>

	<modelVersion>4.0.0</modelVersion>
	<artifactId>org.wso2.carbon.device.mgt.iot.virtualfirealarm.feature</artifactId>
	<packaging>pom</packaging>
	<name>WSO2 Carbon - IoT Server VirtualFireAlarm Feature</name>
	<url>http://wso2.org</url>
	<description>This feature contains the VirtualFireAlarm Device type specific implementations for the IoT Server
	</description>

	<dependencies>
		<dependency>
			<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
			<artifactId>org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin</artifactId>
		</dependency>
		<dependency>
			<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
			<artifactId>org.wso2.carbon.device.mgt.iot.virtualfirealarm.api</artifactId>
			<type>war</type>
		</dependency>
		<dependency>
			<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
			<artifactId>org.wso2.carbon.device.mgt.iot.virtualfirealarm.scep.api</artifactId>
			<type>war</type>
		</dependency>
		<dependency>
			<groupId>com.h2database.wso2</groupId>
			<artifactId>h2-database-engine</artifactId>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<artifactId>maven-resources-plugin</artifactId>
				<executions>
					<execution>
						<id>copy-resources</id>
						<phase>generate-resources</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<outputDirectory>src/main/resources</outputDirectory>
							<resources>
								<resource>
									<directory>resources</directory>
									<includes>
										<include>build.properties</include>
										<include>p2.inf</include>
									</includes>
								</resource>
							</resources>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>

				<executions>
					<execution>
						<id>unpack</id>
						<phase>package</phase>
						<goals>
							<goal>unpack</goal>
						</goals>
						<configuration>
							<artifactItems>
								<artifactItem>
									<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
									<artifactId>org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui
									</artifactId>
									<version>${project.version}</version>
									<type>zip</type>
									<overWrite>true</overWrite>
									<outputDirectory>
										${project.build.directory}/maven-shared-archive-resources/jaggeryapps/devicemgt
									</outputDirectory>
									<includes>**/*</includes>
								</artifactItem>
							</artifactItems>
						</configuration>
					</execution>
					<execution>
						<id>copy-jaxrs-war</id>
						<phase>package</phase>
						<goals>
							<goal>copy</goal>
						</goals>
						<configuration>
							<artifactItems>
								<artifactItem>
									<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
									<artifactId>org.wso2.carbon.device.mgt.iot.virtualfirealarm.api
									</artifactId>
									<type>war</type>
									<overWrite>true</overWrite>
									<outputDirectory>${project.build.directory}/maven-shared-archive-resources/webapps/</outputDirectory>
									<destFileName>virtual_firealarm.war</destFileName>
								</artifactItem>
								<artifactItem>
									<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
									<artifactId>org.wso2.carbon.device.mgt.iot.virtualfirealarm.scep.api
									</artifactId>
									<type>war</type>
									<overWrite>true</overWrite>
									<outputDirectory>${project.build.directory}/maven-shared-archive-resources/webapps/</outputDirectory>
									<destFileName>virtual_firealarm_scep.war</destFileName>
								</artifactItem>
							</artifactItems>
						</configuration>
					</execution>

					<execution>
						<id>copy-agent-jar</id>
						<phase>package</phase>
						<goals>
							<goal>copy</goal>
						</goals>
						<configuration>
							<artifactItems>
								<artifactItem>
									<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
									<artifactId>org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.impl
									</artifactId>
									<overWrite>true</overWrite>
									<outputDirectory>${project.build.directory}/maven-shared-archive-resources/agent/</outputDirectory>
									<destFileName>wso2-firealarm-virtual-agent.jar</destFileName>
								</artifactItem>
								<artifactItem>
									<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
									<artifactId>org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl
									</artifactId>
									<overWrite>true</overWrite>
									<outputDirectory>${project.build.directory}/maven-shared-archive-resources/advanced_agent/</outputDirectory>
									<destFileName>wso2-firealarm-virtual-agent-advanced.jar</destFileName>
								</artifactItem>
							</artifactItems>
						</configuration>
					</execution>

				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-antrun-plugin</artifactId>
				<executions>
					<execution>
						<!-- Creating Virtual Firealarm Plugin Management schema -->
						<id>create-virtual-firealarm-plugin-mgt-schema</id>
						<phase>package</phase>
						<goals>
							<goal>run</goal>
						</goals>
						<configuration>
							<tasks>
								<echo message="########### Create Virtual Firealarm plugin Management H2 Schema ###########" />
								<property name="db.dir" value="target/maven-shared-archive-resources/database" />
								<property name="userid" value="wso2carbon" />
								<property name="password" value="wso2carbon" />
								<property name="dbURL" value="jdbc:h2:file:${basedir}/${db.dir}/VirtualFireAlarmDM_DB;DB_CLOSE_ON_EXIT=FALSE" />

                                <mkdir dir="${basedir}/${db.dir}" />

								<sql driver="org.h2.Driver" url="${dbURL}" userid="${userid}" password="${password}" autocommit="true" onerror="continue">
									<classpath refid="maven.dependency.classpath" />
									<classpath refid="maven.compile.classpath" />
									<classpath refid="maven.runtime.classpath" />

									<fileset file="${basedir}/src/main/resources/dbscripts/h2.sql" />
								</sql>
								<echo message="##################### END ####################" />
							</tasks>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.wso2.maven</groupId>
				<artifactId>carbon-p2-plugin</artifactId>
				<version>${carbon.p2.plugin.version}</version>
				<executions>
					<execution>
						<id>p2-feature-generation</id>
						<phase>package</phase>
						<goals>
							<goal>p2-feature-gen</goal>
						</goals>
						<configuration>
							<id>org.wso2.carbon.device.mgt.iot.virtualfirealarm</id>
							<propertiesFile>../../../features/etc/feature.properties</propertiesFile>
							<adviceFile>
								<properties>
									<propertyDef>org.wso2.carbon.p2.category.type:server</propertyDef>
									<propertyDef>org.eclipse.equinox.p2.type.group:true</propertyDef>
								</properties>
							</adviceFile>
							<bundles>
								<bundleDef>
									org.wso2.carbon.devicemgt-plugins:org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin:${carbon.devicemgt.plugins.version}
								</bundleDef>
							</bundles>
							<importFeatures>
								<importFeatureDef>org.wso2.carbon.core.server:${carbon.kernel.version}
								</importFeatureDef>
								<importFeatureDef>org.wso2.carbon.device.mgt.server:${carbon.devicemgt.version}
								</importFeatureDef>
							</importFeatures>
							<includedFeatures>
								<includedFeatureDef>
									org.wso2.carbon.devicemgt-plugins:org.wso2.carbon.device.mgt.iot.analytics.feature:${carbon.devicemgt.plugins.version}
								</includedFeatureDef>
							</includedFeatures>
						</configuration>
					</execution>
				</executions>
			</plugin>

		</plugins>
	</build>
</project>