blob: 7fd7b4d41c55ee653e69cb827cfd4da47f5b5ebf [file]
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF 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">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.unomi</groupId>
<artifactId>unomi-root</artifactId>
<version>3.1.0-SNAPSHOT</version>
</parent>
<artifactId>unomi</artifactId>
<version>3.1.0-SNAPSHOT</version>
<name>Apache Unomi :: Distribution Package</name>
<description>Packaged distributions of the Apache Unomi Context Server</description>
<packaging>pom</packaging>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.unomi</groupId>
<artifactId>unomi-bom</artifactId>
<version>${project.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<properties>
<appendedResourcesDirectory>${basedir}/../etc/appended-resources</appendedResourcesDirectory>
<maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format>
</properties>
<dependencies>
<!-- Standard Apache Karaf Features -->
<dependency>
<groupId>org.apache.karaf.features</groupId>
<artifactId>framework</artifactId>
<type>kar</type>
</dependency>
<dependency>
<groupId>org.apache.karaf.features</groupId>
<artifactId>framework</artifactId>
<classifier>features</classifier>
<type>xml</type>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.karaf.features</groupId>
<artifactId>standard</artifactId>
<classifier>features</classifier>
<type>xml</type>
</dependency>
<dependency>
<groupId>org.apache.karaf.features</groupId>
<artifactId>spring</artifactId>
<classifier>features</classifier>
<type>xml</type>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.karaf.features</groupId>
<artifactId>enterprise</artifactId>
<classifier>features</classifier>
<type>xml</type>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.karaf.features</groupId>
<artifactId>specs</artifactId>
<classifier>features</classifier>
<type>xml</type>
<scope>runtime</scope>
</dependency>
<!-- Additional Apache Unomi features -->
<dependency>
<groupId>org.apache.unomi</groupId>
<artifactId>unomi-kar</artifactId>
<classifier>features</classifier>
<type>xml</type>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.unomi</groupId>
<artifactId>unomi-router-karaf-feature</artifactId>
<classifier>features</classifier>
<type>xml</type>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.unomi</groupId>
<artifactId>unomi-groovy-actions</artifactId>
<classifier>features</classifier>
<type>xml</type>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.unomi</groupId>
<artifactId>cdp-graphql-feature</artifactId>
<classifier>features</classifier>
<type>xml</type>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.unomi</groupId>
<artifactId>unomi-distribution</artifactId>
<classifier>features</classifier>
<type>xml</type>
<scope>runtime</scope>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>${project.basedir}/..</directory>
<filtering>false</filtering>
<includes>
<include>README*</include>
<include>RELEASE*</include>
<include>DISCLAIMER*</include>
</includes>
</resource>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
<shortRevisionLength>8</shortRevisionLength>
<revisionOnScmFailure>unknown</revisionOnScmFailure>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>process-resources</id>
<goals>
<goal>resources</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>BUILD</include>
</includes>
</resource>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<filtering>false</filtering>
<excludes>
<exclude>BUILD</exclude>
</excludes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy</id>
<phase>package</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.apache.unomi</groupId>
<artifactId>unomi-web-servlets</artifactId>
<classifier>unomicfg</classifier>
<type>cfg</type>
<outputDirectory>${project.build.directory}/assembly/etc</outputDirectory>
<destFileName>org.apache.unomi.web.cfg</destFileName>
</artifactItem>
<artifactItem>
<groupId>org.apache.unomi</groupId>
<artifactId>unomi-persistence-elasticsearch-core</artifactId>
<classifier>elasticsearchcfg</classifier>
<type>cfg</type>
<outputDirectory>${project.build.directory}/assembly/etc</outputDirectory>
<destFileName>org.apache.unomi.persistence.elasticsearch.cfg</destFileName>
</artifactItem>
<artifactItem>
<groupId>org.apache.unomi</groupId>
<artifactId>unomi-persistence-opensearch-core</artifactId>
<version>${project.version}</version>
<classifier>opensearchcfg</classifier>
<type>cfg</type>
<outputDirectory>
${project.build.directory}/assembly/etc
</outputDirectory>
<destFileName>org.apache.unomi.persistence.opensearch.cfg</destFileName>
</artifactItem>
<artifactItem>
<groupId>org.apache.unomi</groupId>
<artifactId>unomi-services</artifactId>
<classifier>clustercfg</classifier>
<type>cfg</type>
<outputDirectory>${project.build.directory}/assembly/etc</outputDirectory>
<destFileName>org.apache.unomi.cluster.cfg</destFileName>
</artifactItem>
<artifactItem>
<groupId>org.apache.unomi</groupId>
<artifactId>unomi-services</artifactId>
<classifier>servicescfg</classifier>
<type>cfg</type>
<outputDirectory>${project.build.directory}/assembly/etc</outputDirectory>
<destFileName>org.apache.unomi.services.cfg</destFileName>
</artifactItem>
<artifactItem>
<groupId>org.apache.unomi</groupId>
<artifactId>unomi-plugins-request</artifactId>
<classifier>requestcfg</classifier>
<type>cfg</type>
<outputDirectory>${project.build.directory}/assembly/etc</outputDirectory>
<destFileName>org.apache.unomi.plugins.request.cfg</destFileName>
</artifactItem>
<artifactItem>
<groupId>org.apache.unomi</groupId>
<artifactId>unomi-plugins-base</artifactId>
<classifier>pluginsbasecfg</classifier>
<type>cfg</type>
<outputDirectory>${project.build.directory}/assembly/etc</outputDirectory>
<destFileName>org.apache.unomi.plugins.base.cfg</destFileName>
</artifactItem>
<artifactItem>
<groupId>org.apache.unomi</groupId>
<artifactId>unomi-groovy-actions-services</artifactId>
<classifier>groovyactionscfg</classifier>
<type>cfg</type>
<outputDirectory>${project.build.directory}/assembly/etc</outputDirectory>
<destFileName>org.apache.unomi.groovy.actions.cfg</destFileName>
</artifactItem>
<artifactItem>
<groupId>org.apache.unomi</groupId>
<artifactId>unomi-plugins-mail</artifactId>
<classifier>mailcfg</classifier>
<type>cfg</type>
<outputDirectory>${project.build.directory}/assembly/etc</outputDirectory>
<destFileName>org.apache.unomi.plugins.mail.cfg</destFileName>
</artifactItem>
<artifactItem>
<groupId>org.apache.unomi</groupId>
<artifactId>unomi-router-core</artifactId>
<classifier>routercfg</classifier>
<type>cfg</type>
<outputDirectory>${project.build.directory}/assembly/etc</outputDirectory>
<destFileName>org.apache.unomi.router.cfg</destFileName>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-remote-resources-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.karaf.tooling</groupId>
<artifactId>karaf-maven-plugin</artifactId>
<executions>
<execution>
<id>install-kar</id>
<phase>compile</phase>
<goals>
<goal>assembly</goal>
</goals>
</execution>
<execution>
<id>package</id>
<goals>
<goal>archive</goal>
</goals>
</execution>
<execution>
<id>verify-feature</id>
<phase>process-resources</phase>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
<configuration>
<startupBundles>
<bundle>mvn:org.apache.unomi/log4j-extension/${project.version}</bundle>
</startupBundles>
<startupFeatures>
<feature>eventadmin</feature>
</startupFeatures>
<bootFeatures>
<feature>wrap</feature>
<feature>shell</feature>
<feature>feature</feature>
<feature>jaas</feature>
<feature>ssh</feature>
<feature>bundle</feature>
<feature>config</feature>
<feature>deployer</feature>
<feature>diagnostic</feature>
<feature>instance</feature>
<feature>kar</feature>
<feature>log</feature>
<feature>package</feature>
<feature>service</feature>
<feature>system</feature>
<feature>http</feature>
<feature>war</feature>
<feature>http-whiteboard</feature>
<feature>cxf-jaxrs</feature>
<feature>aries-blueprint</feature>
<feature>shell-compat</feature>
<feature>unomi-base</feature>
<feature>unomi-startup</feature>
</bootFeatures>
<installedFeatures>
<feature>wrapper</feature>
<feature>cxf-commands</feature>
<feature>unomi-persistence-elasticsearch</feature>
<feature>unomi-persistence-opensearch</feature>
<feature>unomi-services</feature>
<feature>unomi-router-karaf-feature</feature>
<feature>unomi-groovy-actions</feature>
<feature>unomi-web-applications</feature>
<feature>unomi-rest-ui</feature>
<feature>unomi-healthcheck</feature>
<feature>cdp-graphql-feature</feature>
<feature>unomi-distribution-elasticsearch</feature>
<feature>unomi-distribution-opensearch</feature>
</installedFeatures>
<javase>17</javase>
</configuration>
</plugin>
<plugin>
<groupId>net.nicoulaj.maven.plugins</groupId>
<artifactId>checksum-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>package-release-checksum</id>
<goals>
<goal>files</goal>
</goals>
</execution>
</executions>
<configuration>
<algorithms>
<algorithm>SHA-512</algorithm>
</algorithms>
<csvSummary>false</csvSummary>
<fileSets>
<fileSet>
<directory>${project.build.directory}</directory>
<includes>
<include>${project.artifactId}-${project.version}.zip</include>
<include>${project.artifactId}-${project.version}.tar*</include>
</includes>
</fileSet>
</fileSets>
<failIfNoFiles>false</failIfNoFiles><!-- usually, no file to do checksum: don't consider error -->
</configuration>
</plugin>
<!-- Create a dummy JAR just for caching, this is a workaround to avoid Maven Build cache issues -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>create-dummy-jar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
</archive>
</configuration>
</execution>
</executions>
</plugin>
<!-- Ensure the dummy jar is NOT deployed -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>src</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>src</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>src/main/descriptors/src.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>