You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
product-iots/modules/core/distribution/pom.xml

461 lines
19 KiB

<?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>org.wso2.iot</groupId>
<artifactId>wso2iot-core-parent</artifactId>
<version>3.0.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wso2iot-core</artifactId>
<packaging>pom</packaging>
<name>WSO2 IoT - Core - Distribution</name>
<description>WSO2 IoT Core Distribution</description>
<dependencies>
<dependency>
<groupId>com.h2database.wso2</groupId>
<artifactId>h2-database-engine</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>package</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.wso2.carbon</groupId>
<artifactId>wso2carbon-core</artifactId>
<version>${carbon.kernel.version.iotcore}</version>
<type>zip</type>
<overWrite>true</overWrite>
<outputDirectory>target</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<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.iotcore}/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-gen/target/wso2carbon-core-${carbon.kernel.version.iotcore}/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.iotcore}/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-gen/target/wso2carbon-core-${carbon.kernel.version.iotcore}/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.iotcore}/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-gen/target/wso2carbon-core-${carbon.kernel.version.iotcore}/dbscripts/apimgt/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.iotcore}/repository/database" />
<property name="userid" value="wso2carbon" />
<property name="password" value="wso2carbon" />
<property name="dbURL" value="jdbc:h2:file:${basedir}/${db.dir}/WSO2APPM_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-gen/target/wso2carbon-core-${carbon.kernel.version.iotcore}/dbscripts/appmgt/h2.sql" />
</sql>
<echo message="##################### END ####################" />
</tasks>
</configuration>
</execution>
<execution>
<!-- Creating JAGH2 schema -->
<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.iotcore}/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" />
<!--<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-gen/target/wso2carbon-core-${carbon.kernel.version.iotcore}/dbscripts/storage/h2/h2.sql" />
</sql>
<echo message="##################### END ####################" />
</tasks>
</configuration>
</execution>
<execution>
<!-- Creating Social DB schema -->
<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.iotcore}/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-gen/target/wso2carbon-core-${carbon.kernel.version.iotcore}/dbscripts/social/h2/resource.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}/repository/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.iotcore}/repository/components" overwrite="true">
<fileset dir="${tempdir}/${project.artifactId}-${project.version}/repository/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.iotcore}/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.iotcore}" />
<delete dir="target/wso2carbon-core-${carbon.kernel.version.iotcore}" />
<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" />
</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-gen/target/wso2carbon-core-${carbon.kernel.version.iotcore}/repository/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>1-pre-dist</id>
<phase>test</phase>
<!--we are creating a temporary carbon distribution for document extracting purposes during the test phase-->
<goals>
<goal>single</goal>
</goals>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<encoding>UTF-8</encoding>
<filters>
<filter>${basedir}/src/assembly/filter.properties</filter>
</filters>
<descriptors>
<descriptor>${basedir}/src/assembly/dist.xml</descriptor>
</descriptors>
</configuration>
</execution>
<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>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</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-api-manager</id>
<phase>prepare-package</phase>
<goals>
<goal>replace</goal>
</goals>
<configuration>
<file>
${basedir}/../p2-profile-gen/target/wso2carbon-core-${carbon.kernel.version.iotcore}/repository/conf/api-manager.xml
</file>
<replacements>
<replacement>
<xpath>/APIManager/GatewayType</xpath>
<token>Synapse</token>
<value>None</value>
</replacement>
</replacements>
</configuration>
</execution>
<execution>
<id>replace-for-api-store</id>
<phase>prepare-package</phase>
<goals>
<goal>replace</goal>
</goals>
<configuration>
<file>
${basedir}/../p2-profile-gen/target/wso2carbon-core-${carbon.kernel.version.iotcore}/repository/deployment/server/jaggeryapps/api-store/site/conf/site.json
</file>
<replacements>
<replacement>
<token>(/store)</token>
<value>/api-store</value>
</replacement>
</replacements>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>