<?xml version="1.0" encoding="UTF-8"?> <!-- /********************************************************************* * Copyright (c) 2022 Kentyou and others * * This program and the accompanying materials are made * available under the terms of the Eclipse Public License 2.0 * which is available at https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 **********************************************************************/ --> <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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.eclipse.sensinact.gateway</groupId> <artifactId>sensinact-parent</artifactId> <version>0.0.2-SNAPSHOT</version> <packaging>pom</packaging> <url>https://projects.eclipse.org/projects/technology.sensinact</url> <inceptionYear>2017</inceptionYear> <mailingLists> <mailingList> <name>Eclipse sensiNact Development List</name> <post>sensinact-dev@eclipse.org</post> </mailingList> </mailingLists> <developers> <developer> <id>timothyjward</id> <name>Timothy Ward</name> <organization>Kentyou</organization> <organizationUrl>https://www.kentyou.com/</organizationUrl> </developer> <developer> <id>tcalmant</id> <name>Thomas Calmant</name> <organization>Kentyou</organization> <organizationUrl>https://www.kentyou.com/</organizationUrl> </developer> <developer> <id>juergen-albert</id> <name>Jürgen Albert</name> <organization>Data in Motion</organization> <organizationUrl>https://www.datainmotion.de/</organizationUrl> </developer> <developer> <id>stbischof</id> <name>Stefan Bischof</name> </developer> </developers> <contributors> <contributor> <name>Christophe Munilla</name> <organization>Kentyou</organization> </contributor> <contributor> <name>Etienne Gandrilee</name> <organization>CEA</organization> </contributor> <contributor> <name>Jander Botelho do Nascimento</name> <organization>CEA</organization> </contributor> <contributor> <name>Remi Druilhe</name> <organization>CEA</organization> </contributor> </contributors> <licenses> <license> <name>EPL 2.0</name> <url>http://www.eclipse.org/legal/epl-2.0</url> <distribution>repo</distribution> <comments>Except for 3rd party content and examples.</comments> </license> </licenses> <scm> <connection>scm:git:git@github.com:eclipse/org.eclipse.sensinact.gateway.git</connection> <developerConnection>scm:git:git@github.com:eclipse/org.eclipse.sensinact.gateway.git</developerConnection> <url>https://github.com/eclipse/org.eclipse.sensinact.gateway</url> <tag>HEAD</tag> </scm> <organization> <name>Eclipse Foundation</name> <url>https://www.eclipse.org/org/foundation/</url> </organization> <modules> <module>core</module> <module>southbound</module> <module>northbound</module> <module>examples</module> <module>sensinact-bom</module> <module>distribution</module> </modules> <properties> <!-- Build properties --> <maven.compiler.source>11</maven.compiler.source> <maven.compiler.target>11</maven.compiler.target> <maven.compiler.release>11</maven.compiler.release> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!-- compile dependency versions --> <osgi.core.version>7.0.0</osgi.core.version> <osgi.promise.version>1.3.0</osgi.promise.version> <osgi.function.version>1.1.0</osgi.function.version> <osgi.implementation.namespace.version>1.0.0</osgi.implementation.namespace.version> <osgi.ds.version>1.5.0</osgi.ds.version> <osgi.cm.version>1.6.1</osgi.cm.version> <osgi.pushstream.version>1.0.2</osgi.pushstream.version> <osgi.typedevent.version>1.0.0</osgi.typedevent.version> <osgi.feature.version>1.0.0</osgi.feature.version> <osgi.converter.version>1.0.9</osgi.converter.version> <gecko.emf.version>5.0.0</gecko.emf.version> <emf.common.version>2.28.0</emf.common.version> <emf.ecore.version>2.33.0</emf.ecore.version> <emf.ecore.xmi.version>2.18.0</emf.ecore.xmi.version> <slf4j.version>1.7.36</slf4j.version> <jackson.version>2.14.0</jackson.version> <jjwt.version>0.11.5</jjwt.version> <!-- runtime dependencies --> <felix.framework.version>7.0.3</felix.framework.version> <felix.scr.version>2.2.2</felix.scr.version> <felix.configadmin.version>1.9.24</felix.configadmin.version> <felix.cm.json.version>1.0.6</felix.cm.json.version> <felix.feature.version>1.0.0</felix.feature.version> <johnzon.version>1.2.19</johnzon.version> <aries.component-dsl.version>1.2.2</aries.component-dsl.version> <aries.typedevent.version>0.0.2-SNAPSHOT</aries.typedevent.version> <aries.spifly.version>1.3.6</aries.spifly.version> <felix.servlet.version>2.1.0</felix.servlet.version> <antlr.version>4.12.0</antlr.version> <metrics.version>4.2.19</metrics.version> <!-- test dependency versions --> <junit.version>5.9.0</junit.version> <mockito.version>4.7.0</mockito.version> <osgi.test.version>1.2.1</osgi.test.version> <!-- plugin dependency versions --> <bnd.version>7.0.0-SNAPSHOT</bnd.version> </properties> <repositories> <repository> <id>ossrh</id> <name>Sonatype Nexus Snapshots</name> <url>https://oss.sonatype.org/content/repositories/snapshots</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> <repository> <id>eclipse-sensinact</id> <name>Eclipse Nexus - sensiNact group</name> <url>https://repo.eclipse.org/content/groups/sensinact/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> <repository> <id>apache-snapshots</id> <name>Apache Snapshots</name> <url>https://repository.apache.org/snapshots/</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>bnd-snapshots</id> <name>bnd snapshot repository</name> <url>https://bndtools.jfrog.io/bndtools/update-snapshot</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> <pluginRepository> <id>eclipse-dash</id> <name>Eclipse Nexus</name> <url>https://repo.eclipse.org/content/repositories/dash-licenses-snapshots/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> <dependencyManagement> <dependencies> <!-- Compile --> <dependency> <groupId>org.osgi</groupId> <artifactId>osgi.core</artifactId> <version>${osgi.core.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>osgi.cmpn</artifactId> <version>${osgi.core.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>osgi.annotation</artifactId> <version>${osgi.core.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.namespace.implementation</artifactId> <version>${osgi.implementation.namespace.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.util.promise</artifactId> <version>${osgi.promise.version}</version> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.util.function</artifactId> <version>${osgi.function.version}</version> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.service.component</artifactId> <version>${osgi.ds.version}</version> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.service.component.annotations</artifactId> <version>${osgi.ds.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.service.cm</artifactId> <version>${osgi.cm.version}</version> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.service.typedevent</artifactId> <version>${osgi.typedevent.version}</version> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.service.feature</artifactId> <version>${osgi.feature.version}</version> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.util.converter</artifactId> <version>${osgi.converter.version}</version> </dependency> <dependency> <groupId>org.geckoprojects.emf</groupId> <artifactId>org.gecko.emf.osgi.api</artifactId> <version>${gecko.emf.version}</version> </dependency> <dependency> <groupId>org.geckoprojects.emf</groupId> <artifactId>org.gecko.emf.osgi.component</artifactId> <version>${gecko.emf.version}</version> </dependency> <dependency> <groupId>org.eclipse.emf</groupId> <artifactId>org.eclipse.emf.common</artifactId> <version>${emf.common.version}</version> </dependency> <dependency> <groupId>org.eclipse.emf</groupId> <artifactId>org.eclipse.emf.ecore</artifactId> <version>${emf.ecore.version}</version> </dependency> <dependency> <groupId>org.eclipse.emf</groupId> <artifactId>org.eclipse.emf.ecore.xmi</artifactId> <version>${emf.ecore.xmi.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>log4j-over-slf4j</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-api</artifactId> <version>${jjwt.version}</version> </dependency> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-jackson</artifactId> <version>${jjwt.version}</version> </dependency> <!-- Runtime --> <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.framework</artifactId> <version>${felix.framework.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.scr</artifactId> <version>${felix.scr.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.configadmin</artifactId> <version>${felix.configadmin.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.cm.json</artifactId> <version>${felix.cm.json.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.feature</artifactId> <version>${felix.feature.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.aries.component-dsl</groupId> <artifactId>org.apache.aries.component-dsl.component-dsl</artifactId> <version>${aries.component-dsl.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.aries.typedevent</groupId> <artifactId>org.apache.aries.typedevent.bus</artifactId> <version>${aries.typedevent.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.util.pushstream</artifactId> <version>${osgi.pushstream.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.aries.spifly</groupId> <artifactId>org.apache.aries.spifly.dynamic.framework.extension</artifactId> <version>${aries.spifly.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.johnzon</groupId> <artifactId>johnzon-core</artifactId> <version>${johnzon.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-json_1.1_spec</artifactId> <version>1.5</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>${slf4j.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.http.servlet-api</artifactId> <version>${felix.servlet.version}</version> <exclusions> <!-- This confuses the resolver for some tests --> <exclusion> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-servlet-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-impl</artifactId> <version>${jjwt.version}</version> <scope>runtime</scope> </dependency> <!-- Test --> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.test.bom</artifactId> <version>${osgi.test.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> <version>${junit.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>${mockito.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-junit-jupiter</artifactId> <version>${mockito.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.geckoprojects.emf</groupId> <artifactId>org.gecko.emf.osgi.codegen</artifactId> <version>${gecko.emf.version}</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-junit-jupiter</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.test.junit5</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <pluginManagement> <plugins> <plugin> <groupId>biz.aQute.bnd</groupId> <artifactId>bnd-maven-plugin</artifactId> <version>${bnd.version}</version> <executions> <execution> <goals> <goal>bnd-process</goal> </goals> <configuration> <bnd> <![CDATA[ Bundle-Copyright: Copyright (c) (${now;YYYY}) Contributors to the Eclipse Foundation. Bundle-Description: ${project.description} Bundle-SymbolicName: ${project.groupId}.${project.artifactId} Git-Descriptor: ${system-allow-fail;git describe --dirty --always --abbrev=9} Git-SHA: ${system-allow-fail;git rev-list -1 --no-abbrev-commit HEAD} -noextraheaders: true -reproducible: true ]]> </bnd> <bndfile>bnd.bnd</bndfile> </configuration> </execution> <execution> <id>bnd-process-tests</id> <phase>process-test-classes</phase> <goals> <goal>bnd-process-tests</goal> </goals> <configuration> <bnd> <![CDATA[ Bundle-SymbolicName: ${project.groupId}.${project.artifactId}-tests Fragment-Host: ${project.groupId}.${project.artifactId} Git-Descriptor: ${system-allow-fail;git describe --dirty --always --abbrev=9} Git-SHA: ${system-allow-fail;git rev-list -1 --no-abbrev-commit HEAD} Test-Cases: ${classes;HIERARCHY_INDIRECTLY_ANNOTATED;org.junit.platform.commons.annotation.Testable;CONCRETE;NAMED;*.integration.*} ]]> </bnd> <bndfile>tests.bnd</bndfile> <testCases>useTestCasesHeader</testCases> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.3.0</version> <configuration> <archive> <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile> </archive> <skipIfEmpty>true</skipIfEmpty> </configuration> <executions> <execution> <id>test-jar</id> <phase>package</phase> <goals> <goal>test-jar</goal> </goals> <configuration> <archive> <manifestFile>${project.build.testOutputDirectory}/META-INF/MANIFEST.MF</manifestFile> </archive> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.2</version> <configuration> <excludes> <exclude>**/integration/**</exclude> </excludes> </configuration> </plugin> <plugin> <groupId>biz.aQute.bnd</groupId> <artifactId>bnd-resolver-maven-plugin</artifactId> <version>${bnd.version}</version> <executions> <execution> <id>resolve-test</id> <phase>pre-integration-test</phase> <goals> <goal>resolve</goal> </goals> <configuration> <writeOnChanges>true</writeOnChanges> <failOnChanges>false</failOnChanges> <includeDependencyManagement>true</includeDependencyManagement> <scopes> <scope>compile</scope> <scope>runtime</scope> <scope>test</scope> </scopes> <bundles> <bundle>${project.build.directory}/${project.build.finalName}-tests.jar</bundle> </bundles> <bndruns> <include>*-test.bndrun</include> </bndruns> </configuration> </execution> <execution> <id>resolve</id> <goals> <goal>resolve</goal> </goals> <configuration> <writeOnChanges>true</writeOnChanges> <failOnChanges>false</failOnChanges> <includeDependencyManagement>true</includeDependencyManagement> <scopes> <scope>compile</scope> <scope>runtime</scope> </scopes> </configuration> </execution> </executions> </plugin> <plugin> <groupId>biz.aQute.bnd</groupId> <artifactId>bnd-testing-maven-plugin</artifactId> <version>${bnd.version}</version> <configuration> <resolve>false</resolve> <failOnChanges>false</failOnChanges> <includeDependencyManagement>true</includeDependencyManagement> <scopes> <scope>compile</scope> <scope>runtime</scope> <scope>test</scope> </scopes> <bundles> <bundle>${project.build.directory}/${project.build.finalName}-tests.jar</bundle> </bundles> <bndruns> <include>*-test.bndrun</include> </bndruns> </configuration> <executions> <execution> <goals> <goal>testing</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>3.3.0</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.10.1</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>3.0.0</version> </plugin> </plugins> </pluginManagement> </build> <profiles> <profile> <id>eclipse-licenses-check</id> <activation> <property> <name>licenses-check</name> <value>true</value> </property> </activation> <pluginRepositories> <pluginRepository> <id>dash-licenses-snapshots</id> <url>https://repo.eclipse.org/content/repositories/dash-licenses-snapshots/</url> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> <build> <plugins> <!-- https://github.com/eclipse/dash-licenses/blob/master/README.md#maven-plugin-options --> <plugin> <groupId>org.eclipse.dash</groupId> <artifactId>license-tool-plugin</artifactId> <version>0.0.1-SNAPSHOT</version> <executions> <execution> <id>license-check</id> <goals> <goal>license-check</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>dim-nexus</id> <distributionManagement> <repository> <id>dim_nexus</id> <uniqueVersion>false</uniqueVersion> <name>Dim Nexus</name> <url>https://devel.data-in-motion.biz/nexus/repository/sensinact/</url> <layout>default</layout> </repository> </distributionManagement> </profile> </profiles> </project>