openvidu/pom.xml

315 lines
9.3 KiB
XML

<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>
<groupId>io.openvidu</groupId>
<artifactId>openvidu-parent</artifactId>
<version>2.0.0</version>
<packaging>pom</packaging>
<name>OpenVidu</name>
<description>OpenVidu parent pom: versioning, dependencies and plugins for all OpenVidu artifacts</description>
<url>https://openvidu.io</url>
<licenses>
<license>
<name>Apache 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0</url>
<distribution>repo</distribution>
</license>
</licenses>
<organization>
<name>OpenVidu</name>
<url>https://openvidu.io</url>
</organization>
<scm>
<url>https://github.com/OpenVidu/openvidu.git</url>
<connection>scm:git:https://github.com/OpenVidu/openvidu.git</connection>
<developerConnection>scm:git:https://github.com/OpenVidu/openvidu.git</developerConnection>
<tag>develop</tag>
</scm>
<developers>
<developer>
<id>openvidu.io</id>
<name>-openvidu.io Community</name>
<organization>openvidu.io</organization>
<organizationUrl>https://openvidu.io</organizationUrl>
</developer>
</developers>
<properties>
<version.spring-boot>3.5.7</version.spring-boot>
<version.kurento>7.3.0</version.kurento>
<version.openvidu.java.client>2.32.0</version.openvidu.java.client>
<version.openvidu.client>1.1.0</version.openvidu.client>
<version.openvidu.test.browsers>1.1.0</version.openvidu.test.browsers>
<version.openvidu.test.e2e>1.1.1</version.openvidu.test.e2e>
<version.junit>5.12.2</version.junit>
<version.selenium>4.38.0</version.selenium>
<version.mockito.core>5.20.0</version.mockito.core>
<version.janino>3.1.12</version.janino>
<version.dockerjava>3.6.0</version.dockerjava>
<!-- When upgrading also upgrade in openvidu-java-client pom.xml -->
<version.slf4j>2.0.17</version.slf4j>
<!-- When upgrading also upgrade in openvidu-java-client pom.xml -->
<version.gson>2.13.2</version.gson>
<version.jcodec>0.2.5</version.jcodec>
<version.testcontainers>2.0.2</version.testcontainers>
<version.appium>10.0.0</version.appium>
<version.stringsimilarity>2.0.0</version.stringsimilarity>
<version.logback>1.5.20</version.logback>
<version.jackson>3.0.2</version.jackson>
<version.jackson-annotations>2.20</version.jackson-annotations>
<version.compiler.plugin>3.14.1</version.compiler.plugin>
<version.enforcer.plugin>3.6.2</version.enforcer.plugin>
<version.extra.enforcer.rules.plugin>1.11.0</version.extra.enforcer.rules.plugin>
<version.source.plugin>3.3.1</version.source.plugin>
<version.assembly.plugin>3.7.1</version.assembly.plugin>
<version.surefire.plugin>3.5.4</version.surefire.plugin>
<version.gpg.plugin>3.2.8</version.gpg.plugin>
<version.sonatype.central.plugin>0.9.0</version.sonatype.central.plugin>
<version.exec.plugin>3.6.2</version.exec.plugin>
<version.javadoc.plugin>3.12.0</version.javadoc.plugin>
<version.maven.artifact>3.9.11</version.maven.artifact>
<openvidu.scm.url>https://github.com/OpenVidu/openvidu</openvidu.scm.url>
<openvidu.scm.connection>git@github.com:OpenVidu/openvidu.git</openvidu.scm.connection>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- ************** -->
<!-- Build settings -->
<!-- ************** -->
<!-- Cross plugins settings -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- Require JDK 25 for building, but emit bytecode compatible with Java 17 -->
<java.build.version>25</java.build.version>
<java.version>17</java.version>
<!-- maven-compiler-plugin -->
<maven.compiler.release>${java.version}</maven.compiler.release>
<!-- maven-enforcer-plugin -->
<maven.min.version>3.9.0</maven.min.version>
</properties>
<distributionManagement>
<snapshotRepository>
<id>ossrh</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
<repository>
<id>ossrh</id>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${version.compiler.plugin}</version>
<configuration>
<showWarnings>true</showWarnings>
<compilerArgs>
<arg>-Werror</arg>
<arg>-Xlint:all</arg>
<arg>-Xlint:-this-escape</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<!-- Check for the minimum version of Java and Maven. Runs during the
validate phase. -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>${version.enforcer.plugin}</version>
<executions>
<execution>
<id>enforce-java-version</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<message>To build this project JDK ${java.build.version} (or greater)
is required. Please install it.</message>
<version>${java.build.version}</version>
</requireJavaVersion>
</rules>
</configuration>
</execution>
<execution>
<id>enforce-maven-version</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<message>To build this project Maven ${maven.min.version} (or
greater) is required. Please install it.</message>
<version>${maven.min.version}</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
<execution>
<id>enforce-bytecode-version</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<enforceBytecodeVersion>
<maxJdkVersion>${java.version}</maxJdkVersion>
</enforceBytecodeVersion>
</rules>
<fail>true</fail>
</configuration>
</execution>
<execution>
<id>enforce-ban-duplicate-classes</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<banDuplicateClasses>
<findAllDuplicates>true</findAllDuplicates>
</banDuplicateClasses>
</rules>
<fail>false</fail>
</configuration>
</execution>
<execution>
<id>enforce-ban-circular-dependencies</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<banCircularDependencies />
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>extra-enforcer-rules</artifactId>
<version>${version.extra.enforcer.rules.plugin}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<modules>
<module>openvidu-server</module>
<module>openvidu-client</module>
<module>openvidu-test-e2e</module>
<module>openvidu-test-browsers</module>
<module>openvidu-java-client</module>
</modules>
</profile>
<profile>
<id>release-sign-artifacts</id>
<activation>
<property>
<name>performRelease</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${version.source.plugin}</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>${version.gpg.plugin}</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>${version.sonatype.central.plugin}</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>ossrh</publishingServerId>
<autoPublish>true</autoPublish>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.openvidu</groupId>
<artifactId>openvidu-server</artifactId>
</dependency>
<dependency>
<groupId>io.openvidu</groupId>
<artifactId>openvidu-client</artifactId>
</dependency>
<dependency>
<groupId>io.openvidu</groupId>
<artifactId>openvidu-test-e2e</artifactId>
</dependency>
<dependency>
<groupId>io.openvidu</groupId>
<artifactId>openvidu-test-browsers</artifactId>
</dependency>
<dependency>
<groupId>io.openvidu</groupId>
<artifactId>openvidu-java-client</artifactId>
</dependency>
</dependencies>
</dependencyManagement>
</project>