<?org.wso2.uesxml 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/xsd/maven-4.0.0.xsd">

	<parent>
		<groupId>io.entgra.iot</groupId>
		<artifactId>entgra-iot-server-parent</artifactId>
		<version>4.1.1-SNAPSHOT</version>
		<relativePath>../../pom.xml</relativePath>
	</parent>

	<modelVersion>4.0.0</modelVersion>
	<artifactId>entgra-iot</artifactId>
	<packaging>pom</packaging>
	<name>Entgra IoT - Distribution</name>
	<description>Entgra IoT Distribution</description>

	<dependencies>
		<dependency>
			<groupId>com.h2database.wso2</groupId>
			<artifactId>h2-database-engine</artifactId>
		</dependency>
		<dependency>
			<groupId>org.wso2.carbon.privacy</groupId>
			<artifactId>org.wso2.carbon.privacy.forgetme.conf</artifactId>
		</dependency>
		<dependency>
			<groupId>org.wso2.carbon.privacy</groupId>
			<artifactId>org.wso2.carbon.privacy.forgetme.tool</artifactId>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>buildnumber-maven-plugin</artifactId>
				<version>${maven-buildnumber-plugin.version}</version>
				<configuration>
					<format>{0,date,dd MMM yyyy}</format>
					<items>
						<item>timestamp</item>
					</items>
					<doCheck>false</doCheck>
					<doUpdate>false</doUpdate>
				</configuration>
				<executions>
					<execution>
						<phase>validate</phase>
						<goals>
							<goal>create</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<inherited>false</inherited>
				<executions>
					<execution>
						<id>2-unpack-wso2carbon</id>
						<phase>prepare-package</phase>
						<goals>
							<goal>unpack</goal>
						</goals>
						<configuration>
							<artifactItems>
								<artifactItem>
									<groupId>org.wso2.carbon</groupId>
									<artifactId>wso2carbon-core</artifactId>
									<version>${carbon.kernel.version}</version>
									<type>zip</type>
									<overWrite>true</overWrite>
									<outputDirectory>target</outputDirectory>
								</artifactItem>
								<artifactItem>
									<groupId>org.wso2.carbon.privacy</groupId>
									<artifactId>org.wso2.carbon.privacy.forgetme.tool</artifactId>
									<version>${forgetme.tool.version}</version>
									<type>zip</type>
									<overWrite>true</overWrite>
									<outputDirectory>target/forget-me</outputDirectory>
								</artifactItem>
								<artifactItem>
									<groupId>org.wso2.carbon.privacy</groupId>
									<artifactId>org.wso2.carbon.privacy.forgetme.conf</artifactId>
									<version>${forgetme.tool.version}</version>
									<overWrite>true</overWrite>
									<outputDirectory>target/forget-me-conf</outputDirectory>
								</artifactItem>
							</artifactItems>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>com.google.code.maven-replacer-plugin</groupId>
				<artifactId>replacer</artifactId>
				<version>1.5.2</version>
				<executions>
					<!-- Replace Datasource, Scope mpl classes and OAuth callback class in identity.xml -->
					<execution>
						<id>replace-for-identity</id>
						<phase>package</phase>
						<goals>
							<goal>replace</goal>
						</goals>
						<configuration>
							<file>${basedir}/../p2-profile/iot-core-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/identity/identity.xml</file>
							<replacements>
								<replacement>
									<xpath>/Server/JDBCPersistenceManager/DataSource/Name</xpath>
									<token>(jdbc/WSO2CarbonDB)</token>
									<value>jdbc/WSO2AM_DB</value>
								</replacement>
								<replacement>
									<xpath>/Server/OAuth/SupportedGrantTypes/SupportedGrantType</xpath>
									<token>(org.wso2.carbon.identity.oauth2.token.handlers.grant.AuthorizationCodeGrantHandler)</token>
									<value>org.wso2.carbon.apimgt.keymgt.handlers.ExtendedAuthorizationCodeGrantHandler</value>
								</replacement>
								<replacement>
									<xpath>/Server/OAuth/SupportedGrantTypes/SupportedGrantType</xpath>
									<token>(org.wso2.carbon.identity.oauth2.token.handlers.grant.PasswordGrantHandler)</token>
									<value>org.wso2.carbon.apimgt.keymgt.handlers.ExtendedPasswordGrantHandler</value>
								</replacement>
								<replacement>
									<xpath>/Server/OAuth/SupportedGrantTypes/SupportedGrantType</xpath>
									<token>(org.wso2.carbon.identity.oauth2.token.handlers.grant.ClientCredentialsGrantHandler)</token>
									<value>org.wso2.carbon.apimgt.keymgt.handlers.ExtendedClientCredentialsGrantHandler</value>
								</replacement>
								<replacement>
									<xpath>/Server/OAuth/SupportedGrantTypes/SupportedGrantType</xpath>
									<token>(org.wso2.carbon.identity.oauth2.token.handlers.grant.saml.SAML2BearerGrantHandler)</token>
									<value>org.wso2.carbon.apimgt.keymgt.handlers.ExtendedSAML2BearerGrantHandler</value>
								</replacement>
								<replacement>
									<xpath>/Server/OAuth/SupportedGrantTypes/SupportedGrantType</xpath>
									<token>(org.wso2.carbon.identity.oauth2.token.handlers.grant.iwa.ntlm.NTLMAuthenticationGrantHandler)</token>
									<value>org.wso2.carbon.identity.oauth2.token.handlers.grant.iwa.ntlm.NTLMAuthenticationGrantHandlerWithHandshake</value>
								</replacement>
								<replacement>
									<xpath>/Server/OAuth/OAuthCallbackHandlers</xpath>
									<token>(org.wso2.carbon.identity.oauth.callback.DefaultCallbackHandler)</token>
									<value>org.wso2.carbon.apimgt.keymgt.util.APIManagerOAuthCallbackHandler</value>
								</replacement>
								<replacement>
									<xpath>/Server/SSOService/UseAuthenticatedUserDomainCrypto</xpath>
									<token>(false)</token>
									<value>true</value>
								</replacement>
							</replacements>
						</configuration>
					</execution>

					<!-- Replace Consent Mgt Datasource Confgs -->
					<execution>
						<id>replace-for-consent</id>
						<phase>package</phase>
						<goals>
							<goal>replace</goal>
						</goals>
						<configuration>
							<file>${basedir}/../p2-profile/iot-core-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/consent-mgt-config.xml</file>
							<replacements>
								<replacement>
									<xpath>/ConsentManager/DataSource/Name</xpath>
									<token>(jdbc/WSO2CarbonDB)</token>
									<value>jdbc/WSO2AM_DB</value>
								</replacement>
							</replacements>
						</configuration>
					</execution>

					<!-- Replace Datasource, Scope mpl classes and OAuth callback class in identity.xml -->

					<!-- Replace the Datasource in the thrift-authentication.xml file -->
					<execution>
						<id>replace-for-thrift</id>
						<phase>prepare-package</phase>
						<goals>
							<goal>replace</goal>
						</goals>
						<configuration>
							<file>${basedir}/../p2-profile/iot-core-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/identity/thrift-authentication.xml</file>
							<replacements>
								<replacement>
									<xpath>/Server/JDBCPersistenceManager/DataSource/Name</xpath>
									<token>(jdbc/WSO2CarbonDB)</token>
									<value>jdbc/WSO2AM_DB</value>
								</replacement>
							</replacements>
						</configuration>
					</execution>

					<!-- Replace the purge config in the analytics-co.xml file -->
					<execution>
						<id>replace-for-analytics-config</id>
						<phase>prepare-package</phase>
						<goals>
							<goal>replace</goal>
						</goals>
						<configuration>
							<file>${basedir}/../p2-profile/analytics-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/analytics/analytics-config.xml</file>
							<replacements>
								<replacement>
									<xpath>/analytics-dataservice-configuration/analytics-data-purging/purging-enable</xpath>
									<token>(false)</token>
									<value>true</value>
								</replacement>
								<replacement>
									<xpath>/analytics-dataservice-configuration/analytics-data-purging/purge-include-tables/table</xpath>
									<token>(.\*)</token>
									<value>IOT_PER_DEVICE_STREAM.*</value>
								</replacement>
								<replacement>
									<xpath>/analytics-dataservice-configuration/analytics-data-purging/data-retention-days</xpath>
									<token>(365)</token>
									<value>31</value>
								</replacement>
							</replacements>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<!-- Add the input and output adapter configs to the file -->
			<plugin>
				<groupId>com.google.code.maven-config-processor-plugin</groupId>
				<artifactId>config-processor-maven-plugin</artifactId>
				<version>2.6</version>
				<executions>
					<execution>
						<id>init-input-adapter-config</id>
						<phase>prepare-package</phase>
						<goals>
							<goal>process</goal>
						</goals>
						<configuration>
							<failOnMissingXpath>false</failOnMissingXpath>
							<transformations>
								<transformation>
									<input>${basedir}/../p2-profile/iot-core-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/input-event-adapters.xml</input>
									<output>../../p2-profile/iot-core-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/input-event-adapters.xml</output>
									<config>src/core/conf/input-adapter-change.xml</config>
								</transformation>
							</transformations>
						</configuration>
					</execution>
					<execution>
						<id>init-output-adapter-config</id>
						<phase>prepare-package</phase>
						<goals>
							<goal>process</goal>
						</goals>
						<configuration>
							<failOnMissingXpath>false</failOnMissingXpath>
							<transformations>
								<transformation>
									<input>${basedir}/../p2-profile/iot-core-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/output-event-adapters.xml</input>
									<output>../../p2-profile/iot-core-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/output-event-adapters.xml</output>
									<config>src/core/conf/output-adapter-change.xml</config>
								</transformation>
							</transformations>
						</configuration>
					</execution>
					<execution>
						<id>add-scope-validator</id>
						<phase>prepare-package</phase>
						<goals>
							<goal>process</goal>
						</goals>
						<configuration>
							<failOnMissingXpath>false</failOnMissingXpath>
							<transformations>
								<transformation>
									<input>${basedir}/../p2-profile/iot-core-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/identity/identity.xml</input>
									<output>../../p2-profile/iot-core-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/identity/identity.xml</output>
									<config>src/core/conf/identity_config_change.xml</config>
								</transformation>
							</transformations>
							<namespaceContexts>
								<s>http://wso2.org/projects/carbon/carbon.xml</s>
							</namespaceContexts>
						</configuration>
					</execution>
					<execution>
						<id>init-claim-manager</id>
						<phase>prepare-package</phase>
						<goals>
							<goal>process</goal>
						</goals>
						<configuration>
							<failOnMissingXpath>false</failOnMissingXpath>
							<transformations>
								<transformation>
									<input>${basedir}/../p2-profile/iot-core-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/user-mgt.xml</input>
									<output>../../p2-profile/iot-core-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/user-mgt.xml</output>
									<config>src/core/conf/user_mgt_config_change.xml</config>
								</transformation>
							</transformations>
						</configuration>
					</execution>
					<!--Analytics Configs-->
					<execution>
						<id>analytics-change-datasource-config</id>
						<phase>package</phase>
						<goals>
							<goal>process</goal>
						</goals>
						<configuration>
							<failOnMissingXpath>true</failOnMissingXpath>
							<transformations>
								<transformation>
									<input>${basedir}/../p2-profile/analytics-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/datasources/master-datasources.xml</input>
									<output>../../p2-profile/analytics-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/datasources/master-datasources.xml</output>
									<config>src/analytics/conf/datasource_config_change.xml</config>
								</transformation>
								<transformation>
									<input>${basedir}/../p2-profile/analytics-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/cdm-config.xml</input>
									<output>../../p2-profile/analytics-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/cdm-config.xml</output>
									<config>src/analytics/conf/cdm_config_change.xml</config>
								</transformation>
							</transformations>
						</configuration>
					</execution>
					<execution>
						<id>analytics-init-input-adapter-config</id>
						<phase>prepare-package</phase>
						<goals>
							<goal>process</goal>
						</goals>
						<configuration>
							<failOnMissingXpath>true</failOnMissingXpath>
							<transformations>
								<transformation>
									<input>${basedir}/../p2-profile/analytics-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/input-event-adapters.xml</input>
									<output>../../p2-profile/analytics-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/input-event-adapters.xml</output>
									<config>src/analytics/conf/input-adapter-change.xml</config>
								</transformation>
							</transformations>
						</configuration>
					</execution>
					<execution>
						<id>analytics-init-output-adapter-config</id>
						<phase>prepare-package</phase>
						<goals>
							<goal>process</goal>
						</goals>
						<configuration>
							<failOnMissingXpath>true</failOnMissingXpath>
							<transformations>
								<transformation>
									<input>${basedir}/../p2-profile/analytics-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/output-event-adapters.xml</input>
									<output>../../p2-profile/analytics-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/output-event-adapters.xml</output>
									<config>src/analytics/conf/output-adapter-change.xml</config>
								</transformation>
							</transformations>
						</configuration>
					</execution>
				</executions>
			</plugin>

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

					<execution>
						<!-- Creating Carbon schema -->
						<id>create-carbon-schema</id>
						<phase>package</phase>
						<goals>
							<goal>run</goal>
						</goals>
						<configuration>
							<tasks>
								<echo message="########### Create Carbon H2 Schema ###########" />

								<property name="db.dir" value="target/wso2carbon-core-${carbon.kernel.version}/repository/database" />
								<property name="userid" value="wso2carbon" />
								<property name="password" value="wso2carbon" />
								<property name="dbURL" value="jdbc:h2:file:${basedir}/${db.dir}/WSO2CARBON_DB;DB_CLOSE_ON_EXIT=FALSE;AUTO_SERVER=TRUE" />

								<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}/../distribution/src/core/resources/dbscripts/h2.sql" />
								</sql>
								<echo message="##################### END ####################" />
							</tasks>
						</configuration>
					</execution>

					<execution>
						<!-- Creating Device Management schema -->
						<id>copy-con</id>
						<phase>package</phase>
						<goals>
							<goal>run</goal>
						</goals>
						<configuration>
							<tasks>
								<echo message="########### Create Device Management H2 Schema ###########" />

								<property name="db.dir" value="target/wso2carbon-core-${carbon.kernel.version}/repository/database" />
								<property name="userid" value="wso2carbon" />
								<property name="password" value="wso2carbon" />
								<property name="dbURL" value="jdbc:h2:file:${basedir}/${db.dir}/WSO2DM_DB;DB_CLOSE_ON_EXIT=FALSE" />

								<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}/../p2-profile/iot-core-profile/target/wso2carbon-core-${carbon.kernel.version}/dbscripts/cdm/h2.sql" />
								</sql>
								<echo message="##################### END ####################" />
							</tasks>
						</configuration>
					</execution>

					<execution>
						<!-- Creating Device Management schema -->
						<id>create-device-mgt-schema</id>
						<phase>package</phase>
						<goals>
							<goal>run</goal>
						</goals>
						<configuration>
							<tasks>
								<echo message="########### Create Device Management H2 Schema ###########" />

								<property name="db.dir" value="target/wso2carbon-core-${carbon.kernel.version}/repository/database" />
								<property name="userid" value="wso2carbon" />
								<property name="password" value="wso2carbon" />
								<property name="dbURL" value="jdbc:h2:file:${basedir}/${db.dir}/WSO2DM_DB;DB_CLOSE_ON_EXIT=FALSE" />

								<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}/../p2-profile/iot-core-profile/target/wso2carbon-core-${carbon.kernel.version}/dbscripts/cdm/h2.sql" />
								</sql>
								<echo message="##################### END ####################" />
							</tasks>
						</configuration>
					</execution>
                    <execution>
                        <!-- Creating Certificate Management schema -->
                        <id>create-certificate-mgt-schema</id>
                        <phase>package</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <tasks>
                                <echo message="########### Create Certificate Management H2 Schema ###########" />

                                <property name="db.dir" value="target/wso2carbon-core-${carbon.kernel.version}/repository/database" />
                                <property name="userid" value="wso2carbon" />
                                <property name="password" value="wso2carbon" />
                                <property name="dbURL" value="jdbc:h2:file:${basedir}/${db.dir}/WSO2DM_DB;DB_CLOSE_ON_EXIT=FALSE" />

                                <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}/../p2-profile/iot-core-profile/target/wso2carbon-core-${carbon.kernel.version}/dbscripts/certMgt/h2.sql" />
                                </sql>
                                <echo message="##################### END ####################" />
                            </tasks>
                        </configuration>
                    </execution>
					<execution>
						<!-- Creating API Management schema -->
						<id>create-api-mgt-schema</id>
						<phase>package</phase>
						<goals>
							<goal>run</goal>
						</goals>
						<configuration>
							<tasks>
								<echo message="########### Create API Management H2 Schema ###########" />

								<property name="db.dir" value="target/wso2carbon-core-${carbon.kernel.version}/repository/database" />
								<property name="userid" value="wso2carbon" />
								<property name="password" value="wso2carbon" />
								<property name="dbURL" value="jdbc:h2:file:${basedir}/${db.dir}/WSO2AM_DB;DB_CLOSE_ON_EXIT=FALSE" />

								<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/core/resources/dbscripts/apimgt/h2.sql" />
								</sql>
								<echo message="##################### END ####################" />
							</tasks>
						</configuration>
					</execution>
					<execution>
						<!-- Creating API Management schema -->
						<id>create-user-consent-schema</id>
						<phase>package</phase>
						<goals>
							<goal>run</goal>
						</goals>
						<configuration>
							<tasks>
								<echo message="########### Create User Consent H2 Schema ###########" />

								<property name="db.dir" value="target/wso2carbon-core-${carbon.kernel.version}/repository/database" />
								<property name="userid" value="wso2carbon" />
								<property name="password" value="wso2carbon" />
								<property name="dbURL" value="jdbc:h2:file:${basedir}/${db.dir}/WSO2AM_DB;DB_CLOSE_ON_EXIT=FALSE" />

								<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}/../p2-profile/iot-core-profile/target/wso2carbon-core-${carbon.kernel.version}/dbscripts/consent/h2.sql" />
								</sql>
								<echo message="##################### END ####################" />
							</tasks>
						</configuration>
					</execution>
					<execution>
						<!-- Creating App Management schema -->
						<id>create-app-mgt-schema</id>
						<phase>package</phase>
						<goals>
							<goal>run</goal>
						</goals>
						<configuration>
							<tasks>
								<echo message="########### Create App Management H2 Schema ###########" />

								<property name="db.dir" value="target/wso2carbon-core-${carbon.kernel.version}/repository/database" />
								<property name="userid" value="wso2carbon" />
								<property name="password" value="wso2carbon" />
								<property name="dbURL" value="jdbc:h2:file:${basedir}/${db.dir}/WSO2DM_APPM_DB;DB_CLOSE_ON_EXIT=FALSE" />

								<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}/../p2-profile/iot-core-profile/target/wso2carbon-core-${carbon.kernel.version}/dbscripts/cdm/application-mgt/h2.sql" />
								</sql>
								<echo message="##################### END ####################" />
							</tasks>
						</configuration>
					</execution>

					<!--<execution>-->
                        <!--&lt;!&ndash; Creating JAGH2 schema &ndash;&gt;-->
                        <!--<id>create-JAGH2-schema</id>-->
                        <!--<phase>package</phase>-->
                        <!--<goals>-->
                            <!--<goal>run</goal>-->
                        <!--</goals>-->
                        <!--<configuration>-->
                            <!--<tasks>-->
                                <!--<echo message="########### Create JAGH2 Schema ###########" />-->

                                <!--<property name="db.dir" value="target/wso2carbon-core-${carbon.kernel.version}/repository/database" />-->
                                <!--<property name="userid" value="wso2carbon" />-->
                                <!--<property name="password" value="wso2carbon" />-->
                                <!--<property name="dbURL" value="jdbc:h2:file:${basedir}/${db.dir}/ES_STORAGE;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=60000" />-->
                                <!--&lt;!&ndash;<property name="dbURL" value="jdbc:h2:file:${basedir}/${db.dir}/WSO2DM_DB;DB_CLOSE_ON_EXIT=FALSE" />&ndash;&gt;-->

                                <!--<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}/../p2-profile/iot-core-profile/target/wso2carbon-core-${carbon.kernel.version}/dbscripts/storage/h2/h2.sql" />-->
                                <!--</sql>-->
                                <!--<echo message="##################### END ####################" />-->
                            <!--</tasks>-->
                        <!--</configuration>-->
                    <!--</execution>-->

                    <!--<execution>-->
                        <!--&lt;!&ndash; Creating Social DB schema &ndash;&gt;-->
                        <!--<id>create-social-db-schema</id>-->
                        <!--<phase>package</phase>-->
                        <!--<goals>-->
                            <!--<goal>run</goal>-->
                        <!--</goals>-->
                        <!--<configuration>-->
                            <!--<tasks>-->
                                <!--<echo message="########### Create Social Plugin H2 Schema ###########" />-->

                                <!--<property name="db.dir" value="target/wso2carbon-core-${carbon.kernel.version}/repository/database" />-->
                                <!--<property name="userid" value="wso2carbon" />-->
                                <!--<property name="password" value="wso2carbon" />-->
                                <!--<property name="dbURL" value="jdbc:h2:file:${basedir}/${db.dir}/WSO2_SOCIAL_DB;DB_CLOSE_ON_EXIT=FALSE" />-->

                                <!--<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}/../p2-profile/iot-core-profile/target/wso2carbon-core-${carbon.kernel.version}/dbscripts/social/h2/resource.sql" />-->
                                <!--</sql>-->
                                <!--<echo message="##################### END ####################" />-->
                            <!--</tasks>-->
                        <!--</configuration>-->
                    <!--</execution>-->
					<execution>
						<!-- Creating Android Mobile Plugin Management schema -->
						<id>create-mobile-android-plugin-mgt-schema</id>
						<phase>package</phase>
						<goals>
							<goal>run</goal>
						</goals>
						<configuration>
							<tasks>
								<echo message="########### Create ANDROID Mobile plugin Management H2 Schema ###########" />

								<property name="db.dir" value="target/wso2carbon-core-${carbon.kernel.version}/repository/database" />
								<property name="userid" value="wso2carbon" />
								<property name="password" value="wso2carbon" />
								<property name="dbURL" value="jdbc:h2:file:${basedir}/${db.dir}/WSO2MobileAndroid_DB;DB_CLOSE_ON_EXIT=FALSE" />

								<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}/../p2-profile/iot-core-profile/target/wso2carbon-core-${carbon.kernel.version}/dbscripts/cdm/plugins/android/h2.sql" />
								</sql>
								<echo message="##################### END ####################" />
							</tasks>
						</configuration>
					</execution>

					<execution>
						<id>3-extract-docs-from-components</id>
						<phase>package</phase>
						<goals>
							<goal>run</goal>
						</goals>
						<configuration>
							<tasks>
								<property name="tempdir" value="target/docs-temp" />
								<property name="jardir" value="target/jars" />
								<!--<property name="shindig.version" value="2.5.0-beta5" />-->

								<mkdir dir="${tempdir}" />
								<mkdir dir="${tempdir}/${project.artifactId}-${project.version}/wso2/components" />
								<mkdir dir="${tempdir}/${project.artifactId}-${project.version}/repository/deployment/server" />
								<mkdir dir="${tempdir}/${project.artifactId}-${project.version}/repository/deployment/server/webapps" />
								<unzip dest="${tempdir}">
									<fileset dir="target">
										<include name="${project.artifactId}-${project.version}.zip" />
									</fileset>
								</unzip>
								<copy todir="target/wso2carbon-core-${carbon.kernel.version}/wso2/components" overwrite="true">
									<fileset dir="${tempdir}/${project.artifactId}-${project.version}/wso2/components" />
								</copy>
								<!--testing -->
								<!--<unzip src="target/shindig/WEB-INF/lib/shindig-common-${shindig.version}.jar" dest="${jardir}/shindig-common-${shindig.version}">
									<patternset>
										<exclude name="**/shindig.properties" />
                                        <exclude name="**/shindig.properties" />
									</patternset>
								</unzip>
								<copy file="src/repository/conf/shindig.properties" todir="${jardir}/shindig-common-${shindig.version}" />
								<delete file="target/shindig/WEB-INF/lib/shindig-common-${shindig.version}.jar" />
								<zip destfile="target/shindig/WEB-INF/lib/shindig-common-${shindig.version}.jar" basedir="${jardir}/shindig-common-${shindig.version}" />
								<delete>
									<fileset dir="target/shindig/WEB-INF/lib" includes="slf4j*" />
								</delete>
								<copy file="src/repository/resources/shindig/index.jsp" todir="target/shindig" />-->

								<delete file="target/${project.artifactId}-${project.version}.zip" />
								<delete dir="${tempdir}" />
							</tasks>
						</configuration>
					</execution>

					<execution>
						<id>copy_modules_apps</id>
						<phase>package</phase>
						<configuration>
							<tasks>
								<mkdir dir="target/wso2carbon-core-${carbon.kernel.version}/repository/deployment/server/webapps" />
							</tasks>
						</configuration>
						<goals>
							<goal>run</goal>
						</goals>
					</execution>



					<execution>
						<id>clean_target</id>
						<phase>install</phase>
						<configuration>
							<tasks>
								<delete dir="target/jars" />
								<delete dir="target/*.xml" />
								<delete dir="target/archive-tmp" />
								<delete dir="target/dependency-maven-plugin-markers" />
								<delete dir="target/maven-archiver" />
								<delete dir="target/wso2carbon-core-${carbon.kernel.version}" />
								<delete dir="target/wso2carbon-core-${carbon.kernel.version}" />
								<delete file="target/${project.artifactId}-${project.version}.jar" />
								<delete dir="target/sources" />
								<delete dir="target/site" />
								<delete dir="target/antrun" />
								<delete dir="src/site" />
								<!--<delete dir="target/shindig" />-->
								<delete dir="target/jaxwebapps" />
								<delete dir="target/forget-me" />
								<delete dir="target/forget-me-conf" />
							</tasks>
						</configuration>
						<goals>
							<goal>run</goal>
						</goals>
					</execution>
					<execution>
                        <id>modify_entitlement_properties</id>
                        <phase>prepare-package</phase>
                        <configuration>
                            <tasks>
            			<replace token="PIP.AttributeDesignators.Designator.2=org.wso2.carbon.identity.application.authz.xacml.pip.AuthenticationContextAttributePIP" value="#PIP.AttributeDesignators.Designator.2=org.wso2.carbon.identity.application.authz.xacml.pip.AuthenticationContextAttributePIP" dir="${basedir}/../p2-profile/iot-core-profile/target/wso2carbon-core-${carbon.kernel.version}/wso2/conf/identity/">
              			   <include name="entitlement.properties" />
            			</replace>
                            </tasks>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>

				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-assembly-plugin</artifactId>
				<executions>
					<execution>
						<id>2-dist</id>
						<phase>package</phase>
						<goals>
							<goal>single</goal>
						</goals>
						<configuration>
							<appendAssemblyId>false</appendAssemblyId>
							<encoding>UTF-8</encoding>
							<filters>
								<filter>${basedir}/src/assembly/filter.properties</filter>
							</filters>
							<escapeString>\</escapeString>
							<descriptors>
								<descriptor>${basedir}/src/assembly/bin.xml</descriptor>
							</descriptors>
							<archiverConfig>
								<defaultDirectoryMode>0775</defaultDirectoryMode>
								<directoryMode>0775</directoryMode>
								<defaultFileMode>0644</defaultFileMode>
								<fileMode>0644</fileMode>
							</archiverConfig>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

</project>
