blob: 7545f1d80b6732937c986781c09f80f18f7398d0 [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</groupId>
<artifactId>apache</artifactId>
<version>29</version>
<relativePath />
</parent>
<groupId>org.apache.unomi</groupId>
<artifactId>unomi-root</artifactId>
<name>Apache Unomi :: Root Project</name>
<description>Apache Unomi is a reference implementation of the OASIS Context Server specification currently being
worked on by the OASIS Context Server Technical Committee. It provides a high-performance user profile and
event tracking server.
</description>
<url>https://unomi.apache.org</url>
<version>3.1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>
<organization>
<name>Apache Software Foundation</name>
<url>https://www.apache.org</url>
</organization>
<issueManagement>
<system>JIRA</system>
<url>https://issues.apache.org/jira/browse/UNOMI</url>
</issueManagement>
<inceptionYear>2014</inceptionYear>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<encoding>UTF-8</encoding>
<java.version>17</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<maven.compiler.release>${java.version}</maven.compiler.release>
<karaf.version>4.4.11</karaf.version>
<elasticsearch.version>9.4.3</elasticsearch.version>
<elasticsearch.test.version>9.4.3</elasticsearch.test.version>
<opensearch.version>3.7.0</opensearch.version>
<opensearch.rest.client.version>3.9.0</opensearch.rest.client.version>
<httpclient5.version>5.2.1</httpclient5.version>
<aws.sdk.version>2.28.14</aws.sdk.version>
<javax-validation.version>1.1.0.Final</javax-validation.version>
<commons-lang3.version>3.18.0</commons-lang3.version>
<commons-io.version>2.20.0</commons-io.version>
<commons-csv.version>1.9.0</commons-csv.version>
<commons-beanutils.version>1.11.0</commons-beanutils.version>
<commons-collections.version>3.2.2</commons-collections.version>
<mvel2.version>2.5.2.Final</mvel2.version>
<snakeyaml.version>2.3</snakeyaml.version>
<opencsv.version>3.10</opencsv.version>
<log4j.version>2.24.0</log4j.version>
<!-- Used by unomi-api slf4j dependencies; single place to align SLF4J for the build -->
<slf4j.version>1.7.36</slf4j.version>
<lucene.version>9.12.2</lucene.version>
<failsafe.version>2.4.0</failsafe.version>
<joda-time.version>2.12.7</joda-time.version>
<ipaddress.version>4.3.0</ipaddress.version>
<btf.version>1.3</btf.version>
<msg-simple.version>1.2</msg-simple.version>
<json-patch.version>1.10</json-patch.version> <!-- Starting version 1.11 OSGI Export Package is wrong causing wiring problems -->
<jackson.version>2.18.3</jackson.version>
<jackson-coreutils.version>1.10</jackson-coreutils.version> <!-- Starting version 1.11 OSGI Export Package is wrong causing wiring problems -->
<guava.version>16.0.1</guava.version>
<guava.version>16.0.1</guava.version>
<org-json.version>20250517</org-json.version>
<jsr305.version>3.0.2</jsr305.version>
<jakarta-annotation-api.version>3.0.0</jakarta-annotation-api.version>
<jakarta-json-api.version>2.1.2</jakarta-json-api.version>
<swagger-ui.version>5.27.1</swagger-ui.version>
<cxf.version>3.6.8</cxf.version>
<openapi.enrich.version>0.2.0</openapi.enrich.version>
<rs-api.version>2.1</rs-api.version>
<groovy.version>4.0.28</groovy.version>
<httpclient-osgi.version>4.5.14</httpclient-osgi.version>
<httpcore-osgi.version>4.4.16</httpcore-osgi.version>
<junit.version>4.13.2</junit.version>
<junit-jupiter.version>5.8.2</junit-jupiter.version>
<mockito.version>4.5.1</mockito.version>
<awaitility.version>4.2.0</awaitility.version>
<kafka-client.version>2.6.3</kafka-client.version>
<st4.version>4.3.4</st4.version>
<commons-email.version>1.6.0</commons-email.version>
<commons-fileupload.version>1.3.1</commons-fileupload.version>
<geoip2.version>0.9.0</geoip2.version>
<antlr.version>3.5.3</antlr.version>
<antlr4.version>4.7.1</antlr4.version>
<stringtemplate.version>4.0.2</stringtemplate.version>
<java-dataloader.version>2.2.0</java-dataloader.version>
<reactive-stream.version>1.0.2</reactive-stream.version>
<yauaa.version>7.31.0</yauaa.version>
<bayeux-api.version>4.0.9</bayeux-api.version>
<comet-java-client.version>5.0.13</comet-java-client.version>
<commons-net.version>3.10.0</commons-net.version>
<reactivex.version>2.2.19</reactivex.version>
<graphql.java.version>14.0</graphql.java.version>
<graphql.java.annotations.version>21.5</graphql.java.annotations.version>
<graphql.java.extended.scalars.version>1.0</graphql.java.extended.scalars.version>
<jetty.version>9.4.58.v20250814</jetty.version>
<checker-compat-qual.version>2.0.0</checker-compat-qual.version>
<error_prone_annotations.version>2.50.0</error_prone_annotations.version>
<j2objc-annotations.version>1.1</j2objc-annotations.version>
<animal-sniffer-annotations.version>1.14</animal-sniffer-annotations.version>
<okhttp.version>3.2.0</okhttp.version>
<okio.version>1.6.0</okio.version>
<treelayout.version>1.0.3</treelayout.version>
<servlet.spec.groupId>javax.servlet</servlet.spec.groupId>
<servlet.spec.artifactId>javax.servlet-api</servlet.spec.artifactId>
<servlet.spec.version>3.1.0</servlet.spec.version>
<maven-bundle.plugin.version>5.1.9</maven-bundle.plugin.version>
<maven-compiler.plugin.version>3.14.0</maven-compiler.plugin.version>
<maven-release.plugin.version>3.1.0</maven-release.plugin.version>
<build-helper.plugin.version>3.6.0</build-helper.plugin.version>
<maven-javadoc.plugin.version>3.11.2</maven-javadoc.plugin.version>
<maven-surefire.plugin.version>3.5.3</maven-surefire.plugin.version>
<maven-failsafe.plugin.version>3.5.2</maven-failsafe.plugin.version>
<maven-assembly.plugin.version>3.7.1</maven-assembly.plugin.version>
<maven-dependency.plugin.version>3.8.1</maven-dependency.plugin.version>
<maven-scm-publish.plugin.version>3.2.1</maven-scm-publish.plugin.version>
<dependency-check.plugin.version>9.0.9</dependency-check.plugin.version>
<maven-site.plugin.version>3.21.0</maven-site.plugin.version>
<apache-rat.plugin.version>0.16.1</apache-rat.plugin.version>
<jgitflow.plugin.version>1.0-m5.1</jgitflow.plugin.version>
<buildnumber-maven-plugin.version>1.4</buildnumber-maven-plugin.version>
<depends-maven-plugin.version>1.4.0</depends-maven-plugin.version>
<download-maven-plugin.version>1.3.0</download-maven-plugin.version>
<maven-antrun-plugin.version>1.8</maven-antrun-plugin.version>
<exec-maven-plugin.version>3.1.0</exec-maven-plugin.version>
<maven-remote-resources-plugin.version>3.0.0</maven-remote-resources-plugin.version>
<docker-maven-plugin.version>0.48.0</docker-maven-plugin.version>
<jacoco-maven-plugin.version>0.8.13</jacoco-maven-plugin.version>
<maven-clean-plugin.version>3.1.0</maven-clean-plugin.version>
<frontend-maven-plugin.version>2.0.1</frontend-maven-plugin.version>
<asciidoctor-maven-plugin.version>3.2.0</asciidoctor-maven-plugin.version>
<checksum-maven-plugin.version>1.7</checksum-maven-plugin.version>
<maven-jar-plugin.version>3.2.2</maven-jar-plugin.version>
<maven-checkstyle-plugin.version>2.13</maven-checkstyle-plugin.version>
<maven-checkstyle-javadoc-plugin.version>3.6.0</maven-checkstyle-javadoc-plugin.version>
<license-maven-plugin.version>2.0.0</license-maven-plugin.version>
<maven-notice-plugin.version>1.0.6</maven-notice-plugin.version>
<node.version>v22.19.0</node.version>
<yarn.version>v1.22.22</yarn.version>
<release.arguments>-Papache-release,integration-tests</release.arguments>
<unomi.skip.unit.tests>false</unomi.skip.unit.tests>
</properties>
<mailingLists>
<mailingList>
<name>unomi-dev</name>
<subscribe>dev-subscribe@unomi.apache.org</subscribe>
<unsubscribe>dev-unsubscribe@unomi.apache.org</unsubscribe>
<post>dev@unomi.apache.org</post>
<archive>https://mail-archives.apache.org/mod_mbox/unomi-dev/</archive>
</mailingList>
<mailingList>
<name>unomi-commits</name>
<subscribe>commits-subscribe@unomi.apache.org</subscribe>
<unsubscribe>commits-unsubscribe@unomi.apache.org</unsubscribe>
<post>commits@unomi.apache.org</post>
<archive>https://mail-archives.apache.org/mod_mbox/unomi-commits/</archive>
</mailingList>
</mailingLists>
<scm>
<connection>scm:git:https://gitbox.apache.org/repos/asf/unomi.git</connection>
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/unomi.git</developerConnection>
<tag>HEAD</tag>
<url>https://gitbox.apache.org/repos/asf/unomi.git</url>
</scm>
<developers>
<developer>
<id>jbonofre</id>
<name>Jean-Baptiste Onofré</name>
<email>jbonofre@apache.org</email>
<timezone>+1</timezone>
<roles>
<role>champion</role>
<role>committer</role>
<role>PMC</role>
</roles>
<organization>Talend</organization>
<organizationUrl>https://www.talend.com</organizationUrl>
</developer>
<developer>
<id>shuber</id>
<name>Serge Huber</name>
<email>shuber@apache.org</email>
<timezone>+1</timezone>
<roles>
<role>committer</role>
<role>PMC Chair</role>
</roles>
<organization>Jahia</organization>
<organizationUrl>https://www.jahia.com</organizationUrl>
</developer>
<developer>
<id>bdelacretaz</id>
<name>Bertrand Delacretaz</name>
<email>bdelacretaz@apache.org</email>
<timezone>+1</timezone>
<roles>
<role>Retired(Mentor)</role>
<role>Retired(PPMC)</role>
</roles>
<organization>Adobe</organization>
</developer>
<developer>
<id>rvs</id>
<name>Roman Shaposhnik</name>
<email>rvs@apache.org</email>
<roles>
<role>Retired(Mentor)</role>
<role>Retired(PPMC)</role>
</roles>
<organization>Pivotal</organization>
</developer>
<developer>
<id>mattmann</id>
<name>Chris Mattmann</name>
<email>mattmann@apache.org</email>
<roles>
<role>Retired(Mentor)</role>
<role>Retired(PPMC)</role>
</roles>
<organization>NASA JPL</organization>
</developer>
<developer>
<id>draier</id>
<name>Thomas Draier</name>
<email>draier@apache.org</email>
<roles>
<role>committer</role>
<role>PMC</role>
</roles>
</developer>
<developer>
<name>Sergiy Shyrkov</name>
<roles>
<role>committer</role>
</roles>
</developer>
<developer>
<name>Kevan Jahanshahi</name>
<roles>
<role>committer</role>
<role>PMC</role>
</roles>
</developer>
<developer>
<name>Cédric Mailleux</name>
<roles>
<role>Retired(committer)</role>
<role>Retired(PPMC)</role>
</roles>
</developer>
<developer>
<name>Régis Mora</name>
<roles>
<role>Retired(committer)</role>
<role>Retired(PPMC)</role>
</roles>
</developer>
<developer>
<name>Quentin Lamerand</name>
<roles>
<role>committer</role>
</roles>
</developer>
<developer>
<id>metacosm</id>
<name>Chris Laprun</name>
<email>metacosm@apache.org</email>
<timezone>+1</timezone>
<roles>
<role>committer</role>
</roles>
<organization>RedHat</organization>
<organizationUrl>https://www.redhat.com</organizationUrl>
</developer>
<developer>
<name>David Griffon</name>
<roles>
<role>committer</role>
<role>PMC</role>
</roles>
</developer>
<developer>
<id>amidani</id>
<name>Abdelkader Midani</name>
<email>amidani@apache.org</email>
<timezone>+1</timezone>
<roles>
<role>committer</role>
</roles>
</developer>
<developer>
<id>dgaillard</id>
<name>Damien GAILLARD</name>
<email>dgaillard@apache.org</email>
<timezone>+1</timezone>
<roles>
<role>committer</role>
</roles>
</developer>
<developer>
<id>fpapon</id>
<name>Francois Papon</name>
<email>fpapon@apache.org</email>
<timezone>+4</timezone>
<roles>
<role>committer</role>
<role>PMC</role>
</roles>
<organization>Yupiik</organization>
<organizationUrl>https://www.yupiik.com</organizationUrl>
</developer>
<developer>
<id>jayblanc</id>
<name>Jérôme Blanchard</name>
<email>jblanchard@jahia.com</email>
<timezone>+2</timezone>
<roles>
<role>committer</role>
</roles>
<organization>Jahia</organization>
<organizationUrl>https://www.jahia.com</organizationUrl>
</developer>
</developers>
<distributionManagement>
<site>
<id>website</id>
<!-- we put a fake URL here for staging to work -->
<url>scp://www.mycompany.com/www/docs/project/</url>
</site>
</distributionManagement>
<repositories>
<repository>
<id>smx.m2</id>
<name>Apache ServiceMix M2</name>
<url>https://svn.apache.org/repos/asf/servicemix/m2-repo/</url>
</repository>
<!-- Apache snapshots -->
<repository>
<id>apache-snapshots</id>
<name>Apache Snapshots Repository</name>
<url>https://repository.apache.org/content/groups/snapshots-group</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<!-- OPS4J SNAPSHOT repository -->
<repository>
<id>ops4j.sonatype.snapshots.deploy</id>
<name>OPS4J snapshot repository</name>
<url>https://oss.sonatype.org/content/repositories/ops4j-snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<modules>
<module>bom</module>
<module>api</module>
<module>common</module>
<module>persistence-spi</module>
<module>scripting</module>
<module>metrics</module>
<module>lifecycle-watcher</module>
<module>persistence-elasticsearch</module>
<module>persistence-opensearch</module>
<module>services-common</module>
<module>services</module>
<module>tracing</module>
<!-- plugins -->
<module>plugins</module>
<module>plugins/baseplugin</module>
<module>plugins/hover-event</module>
<module>plugins/advanced-conditions</module>
<module>plugins/tracked-event</module>
<module>plugins/kafka-injector</module>
<module>plugins/mail</module>
<module>plugins/optimization-test</module>
<module>plugins/request</module>
<!-- root level extensions -->
<module>extensions</module>
<module>extensions/healthcheck</module>
<module>extensions/log4j-extension</module>
<module>extensions/geonames</module>
<module>extensions/json-schema</module>
<module>extensions/lists-extension</module>
<module>extensions/privacy-extension</module>
<module>extensions/web-tracker</module>
<module>tools</module>
<module>web-servlets</module>
<module>wab</module>
<module>rest</module>
<module>manual</module>
<module>kar</module>
<!-- other extensions -->
<module>extensions/groovy-actions</module>
<module>extensions/router</module>
<module>extensions/salesforce-connector</module>
<module>extensions/weather-update</module>
<module>graphql</module>
<module>samples</module>
<module>distribution</module>
<module>package</module>
</modules>
<profiles>
<profile>
<id>unit-tests</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<unomi.skip.unit.tests>false</unomi.skip.unit.tests>
</properties>
</profile>
<profile>
<id>skip-unit-tests</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<unomi.skip.unit.tests>true</unomi.skip.unit.tests>
</properties>
</profile>
<profile>
<id>integration-tests</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<modules>
<module>itests</module>
</modules>
</profile>
<profile>
<id>ci-build-itests</id>
<activation>
<property>
<name>maven.repo.local</name>
</property>
</activation>
<modules>
<module>itests</module>
</modules>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludes>
<exclude>MavenTest</exclude>
</excludes>
<systemPropertyVariables>
<org.ops4j.pax.url.mvn.localRepository>${maven.repo.local}</org.ops4j.pax.url.mvn.localRepository>
<org.ops4j.pax.logging.DefaultServiceLog.level>INFO</org.ops4j.pax.logging.DefaultServiceLog.level>
</systemPropertyVariables>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>checkstyle</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<executions>
<execution>
<id>verify-style</id>
<phase>process-classes</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<configuration>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
<logViolationsToConsole>true</logViolationsToConsole>
<checkstyleRules>
<module name="Checker">
<module name="TreeWalker">
<module name="JavadocType" />
<module name="JavadocMethod">
<property name="scope" value="public" />
<property name="allowMissingPropertyJavadoc" value="true" />
</module>
<module name="UnusedImports" />
<module name="ConstantName">
<property name="applyToProtected" value="false" />
<property name="applyToPackage" value="false" />
<property name="applyToPrivate" value="false" />
</module>
<module name="EmptyBlock">
<property name="option" value="text" />
</module>
<module name="NeedBraces" />
<module name="EqualsHashCode" />
<module name="MagicNumber">
<property name="ignoreNumbers" value=" -1, 0, 1, 2, 3, 17, 24, 31, 37, 60, 255, 256, 1000" />
</module>
<module name="SimplifyBooleanReturn" />
<module name="IllegalCatch">
<property name="illegalClassNames" value=" java.lang.Throwable" />
</module>
<module name="MultipleVariableDeclarations" />
<module name="OneStatementPerLine" />
<module name="RedundantModifier" />
</module>
</module>
</checkstyleRules>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>javadoc-tags-warn</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${maven-checkstyle-javadoc-plugin.version}</version>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>10.21.4</version>
</dependency>
</dependencies>
<configuration>
<configLocation>config/checkstyle-javadoc.xml</configLocation>
<consoleOutput>true</consoleOutput>
<failsOnError>false</failsOnError>
<failOnViolation>false</failOnViolation>
<logViolationsToConsole>true</logViolationsToConsole>
<violationSeverity>warning</violationSeverity>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>update-licenses</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<configuration>
<verbose>false</verbose>
<addSvnKeyWords>true</addSvnKeyWords>
<licenseName>apache_v2</licenseName>
</configuration>
<executions>
<execution>
<id>first</id>
<goals>
<goal>update-file-header</goal>
</goals>
<phase>process-sources</phase>
<configuration>
<excludes>
<exclude>**/*.json</exclude>
<exclude>**/beans.xml</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>rat</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<configuration>
<reportFile>${project.build.directory}/${project.build.finalName}.rat</reportFile>
<excludeSubProjects>false</excludeSubProjects>
<excludes>
<exclude>**/NOTICE.template</exclude>
<exclude>**/NOTICE-generated</exclude>
<exclude>**/DEPENDENCIES</exclude>
<exclude>**/target/**/*</exclude>
<!-- Github configuration files -->
<exclude>**/.github/**/*</exclude>
<!-- GIT files -->
<exclude>**/.git/**/*</exclude>
<!-- IDEA files -->
<exclude>**/.idea/**/*</exclude>
<exclude>**/*.iml</exclude>
<exclude>**/*.ipr</exclude>
<exclude>**/*.iws</exclude>
<!-- Eclipse files -->
<exclude>**/.*</exclude>
<exclude>**/eclipse-classes/**/*</exclude>
<exclude>**/dependency-reduced-pom.xml</exclude>
<exclude>**/.settings/**</exclude>
<exclude>**/bin/**</exclude>
<!-- resources file -->
<exclude>**/goal.txt</exclude>
<exclude>**/grep.txt</exclude>
<exclude>**/edit.txt</exclude>
<exclude>**/wc.txt</exclude>
<exclude>**/foo</exclude>
<exclude>**/org.ops4j.pax.exam.TestContainerFactory</exclude>
<exclude>**/maven-metadata-local.xml</exclude>
<exclude>**/src/test/resources/data/*.txt</exclude>
<!-- Test resources CSV -->
<exclude>**/src/test/resources/**/*.csv</exclude>
<exclude>**/keystore</exclude>
<!--manual resources -->
<exclude>**/*.css</exclude>
<exclude>**/*.less</exclude>
<exclude>**/*.ssp</exclude>
<exclude>**/*.conf</exclude>
<exclude>**/*.min.js</exclude>
<!-- test manifests -->
<exclude>**/*.mf</exclude>
<!-- test json files -->
<exclude>**/*.json</exclude>
<!-- nd json files -->
<exclude>**/*.ndjson</exclude>
<!-- SSH keys -->
<exclude>**/*.key</exclude>
<!-- For Jenkins, ignore the .repository -->
<exclude>.repository/**</exclude>
<!-- jar files -->
<exclude>**/*.jar</exclude>
<!-- Empty CDI descriptor file -->
<exclude>**/src/main/webapp/WEB-INF/beans.xml</exclude>
<!-- Web application robots.txt file -->
<exclude>**/src/main/webapp/robots.txt</exclude>
<!-- ignore generated log files -->
<exclude>**/*.log</exclude>
<!-- exclude node_modules directories and JS package manager files -->
<exclude>**/node_modules/**/*</exclude>
<exclude>**/node/**/*</exclude>
<exclude>**/yarn.lock</exclude>
<exclude>**/*.js.map</exclude>
<!-- Exclude dependency tree generated files -->
<exclude>**/dependency_tree.txt</exclude>
<!-- exclude Cursor IDE files -->
<exclude>.cursor/**</exclude>
<!-- local developer notes (not part of the release) -->
<exclude>**/.local-notes/**</exclude>
<!-- exclude ElasticSearch snapshots repository -->
<exclude>**/snapshots_repository/**/*</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>generate-notice</id>
<build>
<plugins>
<plugin>
<groupId>org.jasig.maven</groupId>
<artifactId>maven-notice-plugin</artifactId>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<fileName>NOTICE-generated</fileName>
<generateChildNotices>false</generateChildNotices>
<!-- The following options are only available in the fork here : https://github.com/Jasig/maven-notice-plugin/pull/4 . If it gets accepted we can reactivate -->
<!--licenseNameAliases>
<property>
<name>Apache License, Version 2.0</name>
<value>The Apache Software License, Version 2.0</value>
</property>
<property>
<name>Apache 2</name>
<value>The Apache Software License, Version 2.0</value>
</property>
<property>
<name>ALv2</name>
<value>The Apache Software License, Version 2.0</value>
</property>
<property>
<name>Apache 2.0 License</name>
<value>The Apache Software License, Version 2.0</value>
</property>
<property>
<name>Apache License 2.0</name>
<value>The Apache Software License, Version 2.0</value>
</property>
<property>
<name>Apache License Version 2.0</name>
<value>The Apache Software License, Version 2.0</value>
</property>
</licenseNameAliases>
<noticeMessage>\nThis product includes the software {0}.\nLicensed under the {1}.\n{7}</noticeMessage-->
<noticeTemplate>NOTICE.template</noticeTemplate>
<licenseMapping>
<param>https://source.jasig.org/licenses/license-mappings.xml</param>
<param>license-mappings.xml</param>
</licenseMapping>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>owasp</id>
<build>
<plugins>
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<inherited>false</inherited>
<executions>
<execution>
<goals>
<goal>aggregate</goal>
</goals>
<inherited>false</inherited>
</execution>
</executions>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<inherited>false</inherited>
<configuration>
<name>OWASP Dependency Check</name>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>aggregate</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
</profile>
<profile>
<id>apache-release</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>source-release-assembly</id>
<phase>none</phase>
</execution>
<execution>
<id>unomi-source-release-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
<descriptors>
<descriptor>src/main/resources/assemblies/source-release.xml</descriptor>
</descriptors>
<tarLongFileMode>posix</tarLongFileMode>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>docker</id>
<modules>
<module>docker</module>
</modules>
</profile>
</profiles>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>${maven-bundle.plugin.version}</version>
<extensions>true</extensions>
<configuration>
<instructions>
<_noimportjava>true</_noimportjava>
<Embed-Dependency>*;scope=compile|runtime</Embed-Dependency>
</instructions>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler.plugin.version}</version>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
<release>${maven.compiler.release}</release>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>${maven-release.plugin.version}</version>
<configuration>
<useReleaseProfile>false</useReleaseProfile>
<autoVersionSubmodules>true</autoVersionSubmodules>
<preparationGoals>clean install</preparationGoals>
<goals>deploy</goals>
<arguments>${release.arguments}</arguments>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>${build-helper.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.karaf.tooling</groupId>
<artifactId>karaf-maven-plugin</artifactId>
<version>${karaf.version}</version>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc.plugin.version}</version>
<configuration>
<!-- Generated site: public + protected members only (private omitted) -->
<show>protected</show>
<!-- Doclint: reference/syntax/html/accessibility only (see -missing note below) -->
<doclint>all,-missing</doclint>
<notimestamp>true</notimestamp>
<!-- Broken {@link}/HTML/syntax fail the build; missing @param/@return do not (use -Pjavadoc-tags-warn) -->
<failOnError>true</failOnError>
<failOnWarnings>false</failOnWarnings>
<!-- UNOMI-963: OpenAPI enrichment packs read @api.status / @api.example from source -->
<tags>
<tag>
<name>api.status</name>
<placement>a</placement>
<head>API Status:</head>
</tag>
<tag>
<name>api.example</name>
<placement>a</placement>
<head>API Example:</head>
</tag>
</tags>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven-failsafe.plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>${maven-assembly.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>${maven-dependency.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-publish-plugin</artifactId>
<version>${maven-scm-publish.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<version>${dependency-check.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>${buildnumber-maven-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.servicemix.tooling</groupId>
<artifactId>depends-maven-plugin</artifactId>
<version>${depends-maven-plugin.version}</version>
</plugin>
<plugin>
<groupId>com.googlecode.maven-download-plugin</groupId>
<artifactId>download-maven-plugin</artifactId>
<version>${download-maven-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>${maven-antrun-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${exec-maven-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-remote-resources-plugin</artifactId>
<version>${maven-remote-resources-plugin.version}</version>
</plugin>
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>${docker-maven-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco-maven-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>${maven-clean-plugin.version}</version>
</plugin>
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<version>${frontend-maven-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId>
<version>${asciidoctor-maven-plugin.version}</version>
</plugin>
<plugin>
<groupId>net.nicoulaj.maven.plugins</groupId>
<artifactId>checksum-maven-plugin</artifactId>
<version>${checksum-maven-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven-jar-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${maven-checkstyle-plugin.version}</version>
</plugin>
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>${license-maven-plugin.version}</version>
</plugin>
<plugin>
<groupId>dev.inoyu.openapi</groupId>
<artifactId>openapi-enrich-maven-plugin</artifactId>
<version>${openapi.enrich.version}</version>
<executions>
<execution>
<id>generate-openapi-doc</id>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jasig.maven</groupId>
<artifactId>maven-notice-plugin</artifactId>
<version>${maven-notice-plugin.version}</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
<release>${maven.compiler.release}</release>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>${maven-site.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<version>${apache-rat.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>${unomi.skip.unit.tests}</skip>
</configuration>
</plugin>
<plugin>
<groupId>external.atlassian.jgitflow</groupId>
<artifactId>jgitflow-maven-plugin</artifactId>
<version>${jgitflow.plugin.version}</version>
<configuration>
<flowInitContext>
<masterBranchName>production</masterBranchName>
<developBranchName>master</developBranchName>
<featureBranchPrefix>feature-</featureBranchPrefix>
<releaseBranchPrefix>release-</releaseBranchPrefix>
<hotfixBranchPrefix>hotfix-</hotfixBranchPrefix>
<versionTagPrefix>blither-</versionTagPrefix>
</flowInitContext>
<allowSnapshots>true</allowSnapshots>
<allowUntracked>true</allowUntracked>
<enableFeatureVersions>true</enableFeatureVersions>
<noFeatureBuild>true</noFeatureBuild>
<scmCommentPrefix>[jgitflow-maven-plugin] </scmCommentPrefix>
</configuration>
</plugin>
</plugins>
</build>
</project>